Files
vkd3d/tests/hlsl/sampler.shader_test
Giovanni Mascellani e6267dd6b4 tests/hlsl: Do not test for overflowing 16-bit texture sampling.
The behavior is not uniform across drivers; in my tests AMD
performs as expected by the test, but WARP and NVIDIA return
infinity.
2025-05-27 17:45:09 +02:00

188 lines
3.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);
}
[srv 0]
size (2d, 3, 3)
0.0 0.0 0.0 1.0 1.0 0.0 0.0 1.0 2.0 0.0 0.0 1.0
0.0 1.0 0.0 1.0 1.0 1.0 0.0 1.0 2.0 1.0 0.0 1.0
0.0 2.0 0.0 1.0 1.0 2.0 0.0 1.0 2.0 2.0 0.0 1.0
[pixel shader fail(sm>=5.1) todo(sm>=5.1)]
sampler s;
float4 f;
float4 main() : sv_target
{
return tex2Dproj(s, f);
}
[test]
uniform 0 float4 50.0 50.0 42.0 100
todo(msl) draw quad
probe (0, 0) rgba(1.0, 1.0, 0, 1.0)
uniform 0 float4 0.075 0.025 -42.0 0.1
todo(msl) draw quad
probe (0, 0) rgba(1.75, 0.25, 0, 1.0)
uniform 0 float4 0.5 1.5 0.0 2.0
todo(msl) draw quad
probe (0, 0) rgba(0.25, 1.75, 0, 1.0)
uniform 0 float4 1.0 1.0 0.0 0.0
todo(msl) draw quad
probe (0, 0) rgba(2.0, 2.0, 0, 1.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)
[require]
shader model >= 6.2
native-16-bit
[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 2621.0 0.0 -2621.0 0.0
[pixel shader]
sampler s;
Texture2D<half4> t;
float4 main() : sv_target
{
return t.Sample(s, float2(0.5, 0.5));
}
[test]
draw quad
probe (0, 0) rgba(655.0, 0, -655.0, 0)