vkd3d/tests/hlsl/matrix-semantics.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

103 lines
1.8 KiB
Plaintext

[require]
shader model >= 4.0
[pixel shader]
float4x1 main() : sv_target
{
return float4(1.0, 2.0, 3.0, 4.0);
}
[test]
todo(glsl) draw quad
probe (0, 0) rgba (1.0, 2.0, 3.0, 4.0)
[pixel shader]
row_major float1x4 main() : sv_target
{
return float4(1.0, 2.0, 3.0, 4.0);
}
[test]
todo(glsl) draw quad
probe (0, 0) rgba (1.0, 2.0, 3.0, 4.0)
[rtv 0]
format r32 float
size (2d, 640, 480)
[rtv 1]
format r32 float
size (2d, 640, 480)
[rtv 2]
format r32 float
size (2d, 640, 480)
[rtv 3]
format r32 float
size (2d, 640, 480)
[pixel shader fail(sm>=6)]
row_major float4x1 main() : sv_target
{
return float4(1.0, 2.0, 3.0, 4.0);
}
[test]
todo(sm>=6 | glsl) draw quad
probe rtv 0 (0,0) r (1.0)
probe rtv 1 (0,0) r (2.0)
probe rtv 2 (0,0) r (3.0)
probe rtv 3 (0,0) r (4.0)
[pixel shader fail(sm>=6)]
float1x4 main() : sv_target
{
return float4(1.0, 2.0, 3.0, 4.0);
}
[test]
todo(sm>=6 | glsl) draw quad
probe rtv 0 (0,0) r (1.0)
probe rtv 1 (0,0) r (2.0)
probe rtv 2 (0,0) r (3.0)
probe rtv 3 (0,0) r (4.0)
[pixel shader fail]
void main(out float1x2 x : sv_target0, out float1x2 y : sv_target1)
{
x = float2(1.0, 2.0);
y = float2(5.0, 6.0);
}
[pixel shader fail(sm>=6)]
void main(out float1x2 x : sv_target0, out float1x2 y : sv_target2)
{
x = float2(1.0, 2.0);
y = float2(5.0, 6.0);
}
[test]
todo(sm>=6 | glsl) draw quad
probe rtv 0 (0,0) r (1.0)
probe rtv 1 (0,0) r (2.0)
probe rtv 2 (0,0) r (5.0)
probe rtv 3 (0,0) r (6.0)
[rtv 0]
format r32g32b32a32 float
size (2d, 640, 480)
[pixel shader fail(sm>=6)]
void main(out row_major float1x4 x : sv_target0, out float1x2 y : sv_target1)
{
x = float4(1.0, 2.0, 3.0, 4.0);
y = float2(5.0, 6.0);
}
[test]
todo(sm>=6 | glsl) draw quad
probe rtv 0 (0,0) rgba (1.0, 2.0, 3.0, 4.0)
probe rtv 1 (0,0) r (5.0)
probe rtv 2 (0,0) r (6.0)