Signed-off-by: Giovanni Mascellani gmascellani@codeweavers.com --- Makefile.am | 1 + tests/matrix-semantics.shader_test | 71 ++++++++++++++++++++++++++++++ 2 files changed, 72 insertions(+) create mode 100644 tests/matrix-semantics.shader_test
diff --git a/Makefile.am b/Makefile.am index 2742e77c..d66f13a7 100644 --- a/Makefile.am +++ b/Makefile.am @@ -107,6 +107,7 @@ vkd3d_shader_tests = \ tests/hlsl-vector-indexing-uniform.shader_test \ tests/logic-operations.shader_test \ tests/math.shader_test \ + tests/matrix-semantics.shader_test \ tests/nointerpolation.shader_test \ tests/pow.shader_test \ tests/preproc-if.shader_test \ diff --git a/tests/matrix-semantics.shader_test b/tests/matrix-semantics.shader_test new file mode 100644 index 00000000..7106eb86 --- /dev/null +++ b/tests/matrix-semantics.shader_test @@ -0,0 +1,71 @@ +[pixel shader] +float4x1 main() : sv_target +{ + return float4(1.0, 2.0, 3.0, 4.0); +} + +[test] +todo draw quad +probe all rgba (1.0, 2.0, 3.0, 4.0) + +[pixel shader] +row_major float1x4 main() : sv_target +{ + return float4(1.0, 2.0, 3.0, 4.0); +} + +[test] +todo draw quad +probe all rgba (1.0, 2.0, 3.0, 4.0) + +[require] +shader model >= 4.0 + +[pixel shader] +row_major float4x1 main() : sv_target +{ + return float4(1.0, 2.0, 3.0, 4.0); +} + +[test] +todo draw quad +probe all r 1.0 + +[pixel shader] +float1x4 main() : sv_target +{ + return float4(1.0, 2.0, 3.0, 4.0); +} + +[test] +todo draw quad +probe all r 1.0 + +[pixel shader] +void main(out row_major float1x4 x : sv_target0, out float1x4 y : sv_target1) +{ + x = float4(1.0, 2.0, 3.0, 4.0); + y = float4(5.0, 6.0, 7.0, 8.0); +} + +[test] +todo draw quad +probe all rgba (1.0, 2.0, 3.0, 4.0) + +[pixel shader fail todo] +void main(out float1x4 x : sv_target0, out float1x4 y : sv_target1) +{ + x = float4(1.0, 2.0, 3.0, 4.0); + y = float4(5.0, 6.0, 7.0, 8.0); +} + +[pixel shader] +void main(out float1x4 x : sv_target0, out float1x4 y : sv_target4) +{ + x = float4(1.0, 2.0, 3.0, 4.0); + y = float4(5.0, 6.0, 7.0, 8.0); +} + +[test] +todo draw quad +probe all r 1.0