vkd3d/tests/hlsl/sampler.shader_test
Elizabeth Figura 8fcbbfb8b1 tests/shader_runner: Test versions where the compilation result changes.
Adjust the algorithm for deciding for which profiles to test compilation.

We first ensure that if the compilation result changes (most often as the result
of a feature introduced in a specific version), we test the versions immediately
on either side of the change, to validate that vkd3d-shader is emulating the
same version behaviour.

We then ensure that we are testing at least one version from each set of sm1,
sm4, and sm6.
2024-12-17 16:35:09 +01:00

138 lines
2.0 KiB
Plaintext

[sampler 0]
filter linear linear linear
address clamp clamp clamp
[srv 0]
size (2d, 2, 2)
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 1.0 0.0 1.0 0.0
[pixel shader]
sampler s;
Texture2D t;
float4 main() : sv_target
{
return t.Sample(s, float2(0.5, 0.5));
}
[test]
todo(msl) draw quad
probe (0, 0) rgba (0.25, 0, 0.25, 0)
[pixel shader]
SamplerState s;
Texture2D t;
float4 main() : sv_target
{
return t.Sample(s, float2(0.5, 0.5));
}
[test]
todo(msl) draw quad
probe (0, 0) rgba (0.25, 0, 0.25, 0)
[pixel shader fail]
sampler2D s;
float4 main() : sv_target
{
return tex3D(s, float3(0.0, 0.0, 0.0));
}
[pixel shader fail]
sampler s;
float4 main() : sv_target
{
return tex2D(s, float2(0.0, 0.0)) + tex3D(s, float3(0.0, 0.0, 0.0));
}
[require]
options: backcompat
[pixel shader fail(sm>=5.1) todo(sm>=5.1)]
samplerCUBE s;
float4 main() : sv_target
{
return texCUBE(s, float3(0.0, 0.0, 0.0));
}
[pixel shader fail(sm>=5.1) todo(sm>=5.1)]
sampler1D s;
float4 main() : sv_target
{
return tex1D(s, 0.0);
}
[sampler 0]
filter linear linear linear
address clamp clamp clamp
[sampler 1]
filter linear linear linear
address clamp clamp clamp
[sampler 2]
filter linear linear linear
address clamp clamp clamp
[sampler 3]
filter linear linear linear
address clamp clamp clamp
[sampler 4]
filter linear linear linear
address clamp clamp clamp
[sampler 5]
filter linear linear linear
address clamp clamp clamp
[srv 0]
size (2d, 1, 1)
0.0 0.0 0.0 1.0
[srv 1]
size (2d, 1, 1)
1.0 1.0 1.0 1.0
[srv 2]
size (2d, 1, 1)
2.0 2.0 2.0 1.0
[srv 3]
size (2d, 1, 1)
3.0 3.0 3.0 1.0
[srv 4]
size (2d, 1, 1)
4.0 4.0 4.0 1.0
[srv 5]
size (2d, 1, 1)
5.0 5.0 5.0 1.0
[pixel shader fail(sm>=5.1) todo(sm>=5.1)]
sampler samA;
sampler samB[2];
sampler samC[3];
float4 main() : sv_target
{
return 100 * tex2D(samC[2], float2(0, 0))
+ 10 * tex2D(samB[0], float2(0, 0))
+ tex2D(samA, float2(0, 0));
}
[test]
todo(msl) draw quad
if(sm<4) probe (0, 0) rgba(243, 243, 243, 111)
if(sm>=4) probe (0, 0) rgba(234, 234, 234, 111)