mojoshader
mojoshader copied to clipboard
Use Direct3D shaders with other 3D rendering APIs.
Samples : [Samples.zip](https://github.com/icculus/mojoshader/files/7115256/Samples.zip) Code to reproduce the error : ``` std::ifstream shaderInFile("TestFpo2.shd", std::ios::in); if (!shaderInFile.is_open()) { std::cout output_len); return 0; ``` TestFpo.shd gives the following errors :  TestFpo2.sh gives...
Definitely a large project so it would need a big motivator... but it's within our reach: Existing implementation in 9on12: - [Converter](https://github.com/microsoft/D3D9On12/tree/main/ShaderConverter) - [Runtime (includes linker)](https://github.com/microsoft/D3D9On12/blob/main/src/9on12Shader.cpp) Signing can be done...
The original header file contains a warning for 'unpublished proprietary source code', which is quite dangerous at first glance. However, this can be safely replaced with the header from the...
I'm pretty sure we noticed this the first time around, but it came up again while we were using Flotilla as an experiment for NativeAOT support. Simply put, GLSL/SPIR-V both...
This is a follow-up issue for https://github.com/FNA-XNA/FNA/issues/124. From that issue... The problem gets introduced when clip() is done directly on an input value, such as the TEXCOORD5 value in the...
This might be an upstream bug. ```hlsl // FIXME: MojoShader workaround if (0) { value = saturate(value); } else { value = float3(saturate(value.r), saturate(value.g), saturate(value.b)); } ```
Issue migrated from https://github.com/FNA-XNA/FNA/issues/255 CC @kg
In some specific cases, fxc will emit the ```mova``` instruction, which moves a float or int value into the ```a0``` address register (which is an integer). So the source assembly...
```discard``` in HLSL explicitly is specified as *not* terminating execution (https://docs.microsoft.com/en-us/windows/win32/direct3dhlsl/discard--sm4---asm-). In GLSL, it is apparently unspecified, and while NVIDIA continues execution AMD does not. In comparison, SPIR-V says that...
Just a note for posterity that, like in every other backend before it, the spir-v backend seems to have a partially or completely broken implementation for local const arrays. static...