vkd3d/tests/hlsl/initializer-numeric.shader_test
Francisco Casas 22c47e57f5 tests/shader-runner: Introduce "if" qualifier.
When the "if" qualifier is added to a directive, the directive is
skipped if the shader->minimum_shader_model is not included in the
range.

This can be used on the "probe" directives for tests that have different
expected results on different shader models, without having to resort to
[require] blocks.
2024-02-13 22:51:22 +01:00

75 lines
1.2 KiB
Plaintext

[pixel shader]
float4 main() : sv_target
{
int4 aa = {1, 2, 3, 4};
return aa;
}
[test]
draw quad
probe all rgba (1.0, 2.0, 3.0, 4.0) 4
[pixel shader]
float4 main() : sv_target
{
float4 aa = {1, 2, 3, 4};
return aa;
}
[test]
draw quad
probe all rgba (1.0, 2.0, 3.0, 4.0) 4
[pixel shader]
float4 main() : sv_target
{
float3 aa = {1, 2, 3};
float4 bb = {aa.x, aa.y, aa.z, 4.0};
return bb;
}
[test]
draw quad
probe all rgba (1.0, 2.0, 3.0, 4.0) 4
[pixel shader]
float4 main() : sv_target
{
float4 aa = { 1e1, 1e-1, 1., 2.f };
float4 bb = { .1, .1e1, .2f, 1.e-1f };
return aa + bb;
}
[test]
draw quad
probe all rgba (10.1, 1.1, 1.2, 2.1) 4
[pixel shader]
float4 main() : sv_target
{
float4 aa = { 3U, 0xfau, 020u, -1u};
return aa;
}
[test]
draw quad
probe all rgba (3.0, 250.0, 16.0, 4.2949673e+009) 4
[pixel shader]
float4 main() : sv_target
{
// 3000000000 is -1294967296 when it doesn't have the 'u' suffix, except in SM6.
float2 aa = {3000000000, 3000000000U};
return float4(aa, 0.0, 0.0);
}
[test]
draw quad
if(sm<6) probe all rgba (-1294967296.0, 3000000000.0, 0.0, 0.0) 4
if(sm>=6) probe all rgba (3000000000.0, 3000000000.0, 0.0, 0.0) 4