vkd3d/tests/hlsl/sample-cmp.shader_test
Francisco Casas 19c23ca6f2 tests/shader_runner: Replace spaces with dashes in format names.
Probably good if we want to allow specifying several formats in the same
line, separated by spaces.

While at it, rename "r32g32 int" to "r32g32-sint".
2024-08-22 16:01:37 +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)