tests: Test invalid number of arguments on initializers.

Signed-off-by: Francisco Casas <fcasas@codeweavers.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Francisco Casas 2022-02-03 23:44:19 +01:00 committed by Alexandre Julliard
parent 40c9799d34
commit 053f5354cc
2 changed files with 109 additions and 0 deletions

View File

@ -68,6 +68,7 @@ vkd3d_shader_tests = \
tests/hlsl-function-overload.shader_test \
tests/hlsl-gather-offset.shader_test \
tests/hlsl-gather.shader_test \
tests/hlsl-initializer-invalid-arg-count.shader_test \
tests/hlsl-initializer-local-array.shader_test \
tests/hlsl-initializer-static-array.shader_test \
tests/hlsl-initializer-struct.shader_test \
@ -298,6 +299,7 @@ XFAIL_TESTS = \
tests/cast-to-int.shader_test \
tests/cast-to-uint.shader_test \
tests/hlsl-array-dimension.shader_test \
tests/hlsl-initializer-invalid-arg-count.shader_test \
tests/hlsl-initializer-local-array.shader_test \
tests/hlsl-initializer-static-array.shader_test \
tests/hlsl-initializer-struct.shader_test \

View File

@ -0,0 +1,107 @@
[pixel shader]
float4 main() : sv_target
{
float4 color[2][3] =
{
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24
};
return color[1][1];
}
[test]
draw quad
probe all rgba (17, 18, 19, 20)
[pixel shader fail]
float4 main() : sv_target
{
float4 color[2][3] =
{
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23
};
return color[1][1];
}
[pixel shader fail]
float4 main() : sv_target
{
float4 color[2][3] =
{
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25
};
return color[1][1];
}
[pixel shader]
struct stu
{
struct
{
int bar;
float4 foo;
} bbb[2];
int2 aaa;
};
float4 main() : sv_target
{
struct stu val =
{
11, 12, 13, 14, 25,
21, 22, 23, 24, 25,
31, 32,
};
return val.bbb[1].foo;
}
[test]
draw quad
probe all rgba (22, 23, 24, 25)
[pixel shader fail]
struct stu
{
struct
{
int bar;
float4 foo;
} bbb[2];
int2 aaa;
};
float4 main() : sv_target
{
struct stu val =
{
11, 12, 13, 14, 25,
21, 22, 23, 24, 25,
31, 32, 33,
};
return val.bbb[1].foo;
}
[pixel shader fail]
struct stu
{
struct
{
int bar;
float4 foo;
} bbb[2];
int2 aaa;
};
float4 main() : sv_target
{
struct stu val =
{
11, 12, 13, 14, 25,
21, 22, 23, 24, 25,
31,
};
return val.bbb[1].foo;
}