Open mmostajab opened 6 years ago
It's triggered by using the m._m03_m13_m23
syntax to extract a float3
out of float4x4
. It can handle that syntax for individual components or full columns, but not odder subsets than those.
Instead, you can use float3(m.[0][3], m.[1][3], m.[2][3])
or whatever the correct equivalent really is.
(Glslang cannot do that itself, because the expression could turn into an l-value, but the constructor can only make an r-value. So, glslang needs full support for an "l-value subset of matrix" operator.)
There is an existing issue for it, but good to know also a new case of bumping into it.
Glslang tries to report the missing functionality, but something downstream crashes it before the message comes out. That could perhaps be somewhat improved, especially by modifying the SpvBuildLogger
, which you might be able to customize for your environment.
See also #1240 and #844.
I am having a crash in glslangValidator when compiling TerrainVS.hlsl.txt (Please rename it to TerrainVS.hlsl) and ZPrePassVS.hlsl.txt (Please rename it to ZPrePassVS.hlsl). The command line I use to compile the shader is as follows: