Signed-off-by: Francisco Casas fcasas@codeweavers.com --- Makefile.am | 4 ++ .../hlsl-initializer-local-array.shader_test | 36 ++++++++++++++++++ .../hlsl-initializer-static-array.shader_test | 38 +++++++++++++++++++ 3 files changed, 78 insertions(+) create mode 100644 tests/hlsl-initializer-local-array.shader_test create mode 100644 tests/hlsl-initializer-static-array.shader_test
diff --git a/Makefile.am b/Makefile.am index 20fee06d..efe99124 100644 --- a/Makefile.am +++ b/Makefile.am @@ -68,6 +68,8 @@ vkd3d_shader_tests = \ tests/hlsl-duplicate-modifiers.shader_test \ tests/hlsl-for.shader_test \ tests/hlsl-function-overload.shader_test \ + tests/hlsl-initializer-local-array.shader_test \ + tests/hlsl-initializer-static-array.shader_test \ tests/hlsl-invalid.shader_test \ tests/hlsl-majority-pragma.shader_test \ tests/hlsl-majority-typedef.shader_test \ @@ -289,6 +291,8 @@ XFAIL_TESTS = \ tests/cast-to-uint.shader_test \ tests/conditional.shader_test \ tests/hlsl-array-dimension.shader_test \ + tests/hlsl-initializer-local-array.shader_test \ + tests/hlsl-initializer-static-array.shader_test \ tests/hlsl-bool-cast.shader_test \ tests/hlsl-duplicate-modifiers.shader_test \ tests/hlsl-for.shader_test \ diff --git a/tests/hlsl-initializer-local-array.shader_test b/tests/hlsl-initializer-local-array.shader_test new file mode 100644 index 00000000..9ea35d52 --- /dev/null +++ b/tests/hlsl-initializer-local-array.shader_test @@ -0,0 +1,36 @@ +[pixel shader] +float4 main() : SV_TARGET +{ + float4 array_loc[3] = { + 11, 12, 13, 14, + 21, 22, 23, 24, + 31, 32, 33, 34 + }; + return array_loc[1]; +} + +[test] +draw quad +probe all rgba (21, 22, 23, 24) + + +[pixel shader] +float4 main() : SV_TARGET +{ + float4 array_loc[2][4] = { + 11, 12, 13, 14, + 21, 22, 23, 24, + 31, 32, 33, 34, + 41, 42, 43, 44, + 51, 52, 53, 54, + 61, 62, 63, 64, + 71, 72, 73, 74, + 81, 82, 83, 84, + }; + return array_loc[1][2]; +} + +[test] +draw quad +probe all rgba (71, 72, 73, 74) + diff --git a/tests/hlsl-initializer-static-array.shader_test b/tests/hlsl-initializer-static-array.shader_test new file mode 100644 index 00000000..bcddc524 --- /dev/null +++ b/tests/hlsl-initializer-static-array.shader_test @@ -0,0 +1,38 @@ +[pixel shader] +static const float4 array_st[3] = { + 11, 12, 13, 14, + 21, 22, 23, 24, + 31, 32, 33, 34 +}; + +float4 main() : SV_TARGET +{ + return array_st[1]; +} + +[test] +draw quad +probe all rgba (21, 22, 23, 24) + + +[pixel shader] +static const float4 array_st[4][2] = { + 11, 12, 13, 14, + 21, 22, 23, 24, + 31, 32, 33, 34, + 41, 42, 43, 44, + 51, 52, 53, 54, + 61, 62, 63, 64, + 71, 72, 73, 74, + 81, 82, 83, 84, +}; + +float4 main() : SV_TARGET +{ + return array_st[2][1]; +} + +[test] +draw quad +probe all rgba (61, 62, 63, 64) +