XShaderCompiler
XShaderCompiler copied to clipboard
Known Issues
Here is a brief overview of some known bugs:
- [ ] Intrinsic argument type matching: Type matching is incomplete for intrinsic function calls.
- [ ] Struct used as input and ouput: Structures can currently not be used for shader input and output semantics simultaneously.
- [ ] Unicode: The compiler uses the C++ ASCII file streams, that are not aware of unicode characters, neither in the file contents, nor in their filenames.
- [ ] Texture
Operator[]
: The bracket operator is currently not translated for Texture objects, neitherOperator[]
normips.Operator[][]
. - [ ]
GetDimensions(...)
: Cannot be translated propery (for all texture types) -> use cbuffer to pass dimension data. - [ ] Boolean in
lerp
/mix
: Third argument inlerp
/mix
intrinsic must not be casted to floating-points. - [ ]
sampler
as local variables: Sampler states for Vulkan can only appear as global uniforms or parameters and must be somehow removed when they appear as local variables in HLSL. - [ ] Static member variables: Definition of static member variables in HLSL can appear after the struct declaration, but in GLSL they must be moved upwards before the struct declaration.