vkd3d/tests/hlsl/calculate-lod.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

89 lines
2.6 KiB
Plaintext

[require]
shader model >= 4.1
[sampler 0]
filter linear linear linear
address clamp clamp clamp
[srv 0]
size (2d, 4, 4)
levels 3
0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
[pixel shader todo]
sampler s;
Texture2D t;
float4 main(float4 pos : sv_position) : sv_target
{
return float4(t.CalculateLevelOfDetail(s, pos.xy),
t.CalculateLevelOfDetail(s, float2(0.5 * pos.x, 0.5 * pos.y)),
t.CalculateLevelOfDetail(s, float2(0.25 * pos.x, 0.25 * pos.y)),
floor(10.0 * t.CalculateLevelOfDetail(s, float2(0.1 * pos.x, 0.7 * pos.y))));
}
[test]
todo(sm<6) draw quad
probe (0, 0, 640, 480) rgba (2.0, 1.0, 0.0, 14.0)
[pixel shader todo]
sampler s;
Texture2D t;
float4 main(float4 pos : sv_position) : sv_target
{
return float4(t.CalculateLevelOfDetail(s, float2(3.0 * pos.x, 5.0 * pos.y)),
t.CalculateLevelOfDetail(s, float2(10.0 * pos.x, 10.0 * pos.y)),
t.CalculateLevelOfDetail(s, float2(0.1 * pos.x, 0.02 * pos.y)),
t.CalculateLevelOfDetail(s, float2(0.01 * pos.x, 0.01 * pos.y)));
}
[test]
todo(sm<6) draw quad
probe (0, 0, 640, 480) rgba (2.0, 2.0, 0.0, 0.0)
[pixel shader todo]
sampler s;
Texture2D t;
float4 main(float4 pos : sv_position) : sv_target
{
return float4(t.CalculateLevelOfDetailUnclamped(s, pos.xy),
t.CalculateLevelOfDetailUnclamped(s, float2(0.5 * pos.x, 0.5 * pos.y)),
t.CalculateLevelOfDetailUnclamped(s, float2(0.25 * pos.x, 0.25 * pos.y)),
floor(10.0 * t.CalculateLevelOfDetailUnclamped(s, float2(0.1 * pos.x, 0.7 * pos.y))));
}
[test]
todo(sm<6) draw quad
probe (0, 0, 640, 480) rgba (2.0, 1.0, 0.0, 14.0)
[pixel shader todo]
sampler s;
Texture2D t;
float4 main(float4 pos : sv_position) : sv_target
{
return float4(floor(10.0 * t.CalculateLevelOfDetailUnclamped(s, float2(3.0 * pos.x, 6.0 * pos.y))),
floor(10.0 * t.CalculateLevelOfDetailUnclamped(s, float2(8.0 * pos.x, 8.0 * pos.y))),
floor(10.0 * t.CalculateLevelOfDetailUnclamped(s, float2(0.1 * pos.x, 0.02 * pos.y))),
floor(10.0 * t.CalculateLevelOfDetailUnclamped(s, float2(0.01 * pos.x, 0.01 * pos.y))));
}
[test]
todo(sm<6) draw quad
probe (0, 0, 640, 480) rgba (45.0, 50.0, -14.0, -47.0)