From: Giovanni Mascellani Subject: Re: [PATCH vkd3d v2 1/8] tests: Test array initializers. Message-Id: Date: Fri, 21 Jan 2022 11:24:49 +0100 In-Reply-To: <20220120141016.67283-1-fcasas@codeweavers.com> References: <20220120141016.67283-1-fcasas@codeweavers.com> Signed-off-by: Giovanni Mascellani Il 20/01/22 15:10, Francisco Casas ha scritto: > Signed-off-by: Francisco Casas > --- > Makefile.am | 4 ++ > .../hlsl-initializer-local-array.shader_test | 35 ++++++++++++++++++ > .../hlsl-initializer-static-array.shader_test | 37 +++++++++++++++++++ > 3 files changed, 76 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 a3ec6850..3545d74b 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-intrinsic-override.shader_test \ > tests/hlsl-invalid.shader_test \ > tests/hlsl-majority-pragma.shader_test \ > @@ -289,6 +291,8 @@ XFAIL_TESTS = \ > tests/cast-to-int.shader_test \ > tests/cast-to-uint.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..0862d4c9 > --- /dev/null > +++ b/tests/hlsl-initializer-local-array.shader_test > @@ -0,0 +1,35 @@ > +[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..57733502 > --- /dev/null > +++ b/tests/hlsl-initializer-static-array.shader_test > @@ -0,0 +1,37 @@ > +[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)