vkd3d-shader/hlsl: Lower matrix swizzles.
As @nsivov pointed out, we are currently parsing matrix swizzles (e.g. mat._m12_m32) and creating an hlsl_ir_swizzle for the matrix itself. We are currently allowing shaders that use these to compile even though they are not working.
While our compilation passes don't expect hlsl_ir_swizzles with matrix values, turns out we need them as a parse-time construct because we don't know if they will be used as the lhs of an assignment during parsing, similarly to hlsl_ir_indexes.
This patch adds tests and a pass to lower these matrix swizzles.
Implementing assignments with matrix swizzles is still pending.
Merge request reports
Activity
Note: Got to remember that lower_matrix_swizzles() could use lower_ir() like in !334 (merged), if that gets upstreamed first.
Edited by Francisco CasasNote: Got to remember that lower_matrix_swizzles() could use lower_ir() like in !334 (merged), if that gets upstreamed first.
IIRC lower_ir() already exists, so you could rebase this now; I just forgot about it since it's new :-)
added 21 commits
-
999fd38a...cab1f57e - 19 commits from branch
wine:master
- 60a32793 - tests: Test matrix swizzles.
- 39563aa5 - vkd3d-shader/hlsl: Lower matrix swizzles.
-
999fd38a...cab1f57e - 19 commits from branch