mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2024-11-21 16:46:41 -08:00
22c47e57f5
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.
75 lines
1.2 KiB
Plaintext
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
|