vkd3d/tests/hlsl/sample-cmp.shader_test
Elizabeth Figura d3ba810c98 tests: Stop probing all pixels when drawing a uniform colour.
This is simply unnecessary and wastes time.

As part of this, simply remove the "all" directive. Only for a couple of tests
is it even potentially interesting to validate all pixels (e.g.
nointerpolation.shader_test), and for those "all" is replaced with an explicit
(0, 0, 640, 480) rect.

In all other cases we just probe (0, 0).
2024-06-13 23:55:31 +02:00

145 lines
2.7 KiB
Plaintext

[require]
shader model >= 4.0
[sampler 0]
filter linear linear linear
address clamp clamp clamp
comparison never
[srv 0]
format r32 float shadow
size (2d, 2, 2)
0.5 0.5
0.5 0.5
[pixel shader]
Texture2D<float> t : register(t0);
SamplerComparisonState s : register(s0);
float4 main() : sv_target
{
float ref = 0.5, delta = 0.00000007;
return float4(
t.SampleCmpLevelZero(s, float2(0.5, 0.5), ref - delta),
t.SampleCmpLevelZero(s, float2(0.5, 0.5), ref),
t.SampleCmpLevelZero(s, float2(0.5, 0.5), ref + delta),
1.0);
}
[test]
todo(glsl) draw quad
probe (0, 0) rgba (0.0, 0.0, 0.0, 1.0)
[sampler 0]
filter linear linear linear
address clamp clamp clamp
comparison less
[test]
todo(glsl) draw quad
probe (0, 0) rgba (1.0, 0.0, 0.0, 1.0)
[sampler 0]
filter linear linear linear
address clamp clamp clamp
comparison equal
[test]
todo(glsl) draw quad
probe (0, 0) rgba (0.0, 1.0, 0.0, 1.0)
[sampler 0]
filter linear linear linear
address clamp clamp clamp
comparison less equal
[test]
todo(glsl) draw quad
probe (0, 0) rgba (1.0, 1.0, 0.0, 1.0)
[sampler 0]
filter linear linear linear
address clamp clamp clamp
comparison greater
[test]
todo(glsl) draw quad
probe (0, 0) rgba (0.0, 0.0, 1.0, 1.0)
[sampler 0]
filter linear linear linear
address clamp clamp clamp
comparison not equal
[test]
todo(glsl) draw quad
probe (0, 0) rgba (1.0, 0.0, 1.0, 1.0)
[sampler 0]
filter linear linear linear
address clamp clamp clamp
comparison greater equal
[test]
todo(glsl) draw quad
probe (0, 0) rgba (0.0, 1.0, 1.0, 1.0)
[sampler 0]
filter linear linear linear
address clamp clamp clamp
comparison always
[test]
todo(glsl) draw quad
probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0)
[sampler 0]
filter linear linear linear
address clamp clamp clamp
comparison greater
% Non-constant ref
[pixel shader]
Texture2D<float> t : register(t0);
SamplerComparisonState s : register(s0);
float ref, delta;
float4 main() : sv_target
{
return float4(
t.SampleCmpLevelZero(s, float2(0.5, 0.5), ref - delta),
t.SampleCmpLevelZero(s, float2(0.5, 0.5), ref),
t.SampleCmpLevelZero(s, float2(0.5, 0.5), ref + delta),
1.0);
}
[test]
uniform 0 float 0.5
uniform 1 float 0.00000007
todo(glsl) draw quad
probe (0, 0) rgba (0.0, 0.0, 1.0, 1.0)
[pixel shader]
Texture2D<float> t : register(t0);
SamplerComparisonState s : register(s0);
float ref;
float4 main() : sv_target
{
float delta = 0.00000007;
return float4(
t.SampleCmp(s, float2(0.5, 0.5), ref - delta),
t.SampleCmp(s, float2(0.5, 0.5), 0.5),
t.SampleCmp(s, float2(0.5, 0.5), ref + delta),
1.0);
}
[test]
uniform 0 float 0.5
todo(glsl) draw quad
probe (0, 0) rgba (0.0, 0.0, 1.0, 1.0)