From 535bbfa6f8aa3b41bf7d667866859eaf416a7e67 Mon Sep 17 00:00:00 2001 From: Francisco Casas Date: Fri, 22 Apr 2022 12:25:04 +0200 Subject: [PATCH] tests: Test matrix initialization. Signed-off-by: Francisco Casas Signed-off-by: Giovanni Mascellani Signed-off-by: Zebediah Figura Signed-off-by: Henri Verbeet Signed-off-by: Alexandre Julliard --- Makefile.am | 1 + tests/hlsl-initializer-matrix.shader_test | 72 +++++++++++++++++++++++ 2 files changed, 73 insertions(+) create mode 100644 tests/hlsl-initializer-matrix.shader_test diff --git a/Makefile.am b/Makefile.am index 3e113dc7..26aa3f84 100644 --- a/Makefile.am +++ b/Makefile.am @@ -79,6 +79,7 @@ vkd3d_shader_tests = \ tests/hlsl-initializer-local-array.shader_test \ tests/hlsl-initializer-nested.shader_test \ tests/hlsl-initializer-numeric.shader_test \ + tests/hlsl-initializer-matrix.shader_test \ tests/hlsl-initializer-static-array.shader_test \ tests/hlsl-initializer-struct.shader_test \ tests/hlsl-intrinsic-override.shader_test \ diff --git a/tests/hlsl-initializer-matrix.shader_test b/tests/hlsl-initializer-matrix.shader_test new file mode 100644 index 00000000..c4fafea7 --- /dev/null +++ b/tests/hlsl-initializer-matrix.shader_test @@ -0,0 +1,72 @@ +[pixel shader] +float4 main() : SV_TARGET +{ + float4x3 mat = {11, 12, 13, 21, 22, 23, 31, 32, 33, 41, 42, 43}; + return float4(mat[1], 0); +} + +[test] +todo draw quad +probe all rgba (21, 22, 23, 0) + + +[pixel shader] +float4 main() : SV_TARGET +{ + row_major float4x3 mat = {11, 12, 13, 21, 22, 23, 31, 32, 33, 41, 42, 43}; + return float4(mat[1], 0); +} + +[test] +todo draw quad +probe all rgba (21, 22, 23, 0) + + +[pixel shader] +float4 main() : SV_TARGET +{ + float3x4 mat = {11, 12, 13, 14, 21, 22, 23, 24, 31, 32, 33, 34}; + return float4(mat[1]); +} + +[test] +todo draw quad +probe all rgba (21, 22, 23, 24) + + +[pixel shader] +float4 main() : SV_TARGET +{ + row_major float3x2 mat = {11, 12, 21, 22, 31, 32}; + return float4(mat[1], mat[2]); +} + +[test] +todo draw quad +probe all rgba (21, 22, 31, 32) + + +[pixel shader] +float4 main() : SV_TARGET +{ + row_major float3x2 mat; + mat = float3x2(11, 12, 21, 22, 31, 32); + return float4(mat[1], mat[2]); +} + +[test] +todo draw quad +probe all rgba (21, 22, 31, 32) + + +[pixel shader] +float4 main() : SV_TARGET +{ + float4 x = float4(12, 21, 22, 31); + float3x2 mat = float3x2(11, x, 32); + return float4(mat[1], mat[2]); +} + +[test] +todo draw quad +probe all rgba (21, 22, 31, 32)