vkd3d/tests/hlsl/depth-out.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

111 lines
1.9 KiB
Plaintext

[require]
shader model >= 4.0
[dsv]
size (2d, 640, 480)
[pixel shader]
float depth;
float main() : SV_Depth
{
return depth;
}
[test]
uniform 0 float 0.0
clear dsv 1.0
depth less
todo(glsl) draw quad
probe dsv (0,0) r (0.0)
uniform 0 float 0.75
clear dsv 1.0
todo(glsl) draw quad
probe dsv (0,0) r (0.75)
clear dsv 0.5
depth greater
todo(glsl) draw quad
probe dsv (0,0) r (0.75)
depth less
clear dsv 0.5
todo(glsl) draw quad
probe dsv (0,0) r (0.5)
[require]
shader model >= 5.0
[rtv 0]
format r32g32b32a32 float
size (2d, 640, 480)
[vertex shader]
float2 depth;
void main(float4 in_position : POSITION, out float4 out_position : SV_Position)
{
out_position = in_position;
out_position.z = depth.x;
}
[pixel shader todo]
float2 depth;
float4 main(out float out_depth : SV_DepthLessEqual) : SV_Target
{
out_depth = depth.y;
return float4(0.0f, 1.0f, 0.0f, 1.0f);
}
[test]
uniform 0 float4 0.75 0.75 0.0 0.0
clear rtv 0 1.0 1.0 1.0 1.0
clear dsv 0.5
depth greater equal
todo(sm<6) draw quad
probe (0, 0) rgba (0.0, 1.0, 0.0, 1.0)
probe dsv (0,0) r (0.75)
uniform 0 float4 0.75 0.375 0.0 0.0
clear rtv 0 1.0 1.0 1.0 1.0
clear dsv 0.5
todo(sm<6) draw quad
probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0)
probe dsv (0,0) r (0.5)
[pixel shader todo]
float2 depth;
float4 main(out float out_depth : SV_DepthGreaterEqual) : SV_Target
{
out_depth = depth.y;
return float4(0.0f, 1.0f, 0.0f, 1.0f);
}
[test]
uniform 0 float4 0.75 0.75 0.0 0.0
clear rtv 0 1.0 1.0 1.0 1.0
clear dsv 0.5
depth greater equal
todo(sm<6) draw quad
probe (0, 0) rgba (0.0, 1.0, 0.0, 1.0)
probe dsv (0,0) r (0.75)
uniform 0 float4 0.375 0.625 0.0 0.0
clear rtv 0 1.0 1.0 1.0 1.0
clear dsv 0.5
todo(sm<6) draw quad
probe (0, 0) rgba (0.0, 1.0, 0.0, 1.0)
probe dsv (0,0) r (0.625)
uniform 0 float4 0.375 0.375 0.0 0.0
clear rtv 0 1.0 1.0 1.0 1.0
clear dsv 0.5
todo(sm<6) draw quad
probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0)
probe dsv (0,0) r (0.5)