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

356 lines
7.1 KiB
Plaintext

[pixel shader]
float4 main() : sv_target
{
float x = 1.0;
float y = 2.0;
return float4(x + y, 0.0, 0.0, 0.0);
}
[test]
todo(glsl) draw quad
probe (0, 0) rgba (3.0, 0.0, 0.0, 0.0)
[pixel shader]
float4 main() : sv_target
{
float1 x = float1(1.0);
float2 y = float2(1.0, 2.0);
return float4(x + y, 0.0, 0.0);
}
[test]
todo(glsl) draw quad
probe (0, 0) rgba (2.0, 3.0, 0.0, 0.0)
[pixel shader]
float4 main() : sv_target
{
float1 x = float1(1.0);
float4 y = float4(1.0, 2.0, 3.0, 4.0);
return x + y;
}
[test]
todo(glsl) draw quad
probe (0, 0) rgba (2.0, 3.0, 4.0, 5.0)
[pixel shader]
float4 main() : sv_target
{
float2 x = float2(1.0, 2.0);
float4 y = float4(1.0, 2.0, 3.0, 4.0);
return float4(x + y, 0.0, 0.0);
}
[test]
todo(glsl) draw quad
probe (0, 0) rgba (2.0, 4.0, 0.0, 0.0)
[pixel shader]
float4 main() : sv_target
{
float x = 1.0;
float1 y = float1(1.0);
return float4(x + y, y + x, 0.0, 0.0);
}
[test]
todo(glsl) draw quad
probe (0, 0) rgba (2.0, 2.0, 0.0, 0.0)
[pixel shader]
float4 main() : sv_target
{
float x = 1.0;
float4 y = float4(1.0, 2.0, 3.0, 4.0);
return x + y;
}
[test]
todo(glsl) draw quad
probe (0, 0) rgba (2.0, 3.0, 4.0, 5.0)
[pixel shader]
float4 main() : sv_target
{
float4 x = float4(1.0, 2.0, 3.0, 4.0);
float y = 1.0;
return x + y;
}
[test]
todo(glsl) draw quad
probe (0, 0) rgba (2.0, 3.0, 4.0, 5.0)
[pixel shader]
float4 main() : sv_target
{
float2x2 x = float2x2(1.0, 2.0,
3.0, 4.0);
float2x3 y = float2x3(1.0, 2.0, 3.0,
4.0, 5.0, 6.0);
return x + y;
}
[test]
todo(glsl) draw quad
probe (0, 0) rgba (2.0, 4.0, 7.0, 9.0)
[pixel shader]
float4 main() : sv_target
{
float2x3 x = float2x3(1.0, 2.0, 3.0,
4.0, 5.0, 6.0);
float2x2 y = float2x2(1.0, 2.0,
3.0, 4.0);
return x + y;
}
[test]
todo(glsl) draw quad
probe (0, 0) rgba (2.0, 4.0, 7.0, 9.0)
[pixel shader]
float4 main() : sv_target
{
float1x4 x = float1x4(1.0, 2.0, 3.0, 4.0);
float4x4 y = float4x4(1.0, 2.0, 3.0, 4.0,
5.0, 6.0, 7.0, 8.0,
9.0, 10.0, 11.0, 12.0,
13.0, 14.0, 15.0, 16.0);
return x + y;
}
[test]
todo(glsl) draw quad
probe (0, 0) rgba (2.0, 4.0, 6.0, 8.0)
[pixel shader]
float4 main() : sv_target
{
float4x4 x = float4x4(1.0, 2.0, 3.0, 4.0,
5.0, 6.0, 7.0, 8.0,
9.0, 10.0, 11.0, 12.0,
13.0, 14.0, 15.0, 16.0);
float1x4 y = float1x4(1.0, 2.0, 3.0, 4.0);
return x + y;
}
[test]
todo(glsl) draw quad
probe (0, 0) rgba (2.0, 4.0, 6.0, 8.0)
[pixel shader]
float4 main() : sv_target
{
float4x1 x = float4x1(1.0, 2.0, 3.0, 4.0);
float4x4 y = float4x4(1.0, 2.0, 3.0, 4.0,
5.0, 6.0, 7.0, 8.0,
9.0, 10.0, 11.0, 12.0,
13.0, 14.0, 15.0, 16.0);
return x + y;
}
[test]
todo(glsl) draw quad
probe (0, 0) rgba (2.0, 7.0, 12.0, 17.0)
[pixel shader]
float4 main() : sv_target
{
float4x4 x = float4x4(1.0, 2.0, 3.0, 4.0,
5.0, 6.0, 7.0, 8.0,
9.0, 10.0, 11.0, 12.0,
13.0, 14.0, 15.0, 16.0);
float4x1 y = float4x1(1.0, 2.0, 3.0, 4.0);
return x + y;
}
[test]
todo(glsl) draw quad
probe (0, 0) rgba (2.0, 7.0, 12.0, 17.0)
[pixel shader]
float4 main() : sv_target
{
float4x4 x = float4x4(1.0, 2.0, 3.0, 4.0,
5.0, 6.0, 7.0, 8.0,
9.0, 10.0, 11.0, 12.0,
13.0, 14.0, 15.0, 16.0);
float2x3 y = float2x3(1.0, 2.0, 3.0,
4.0, 5.0, 6.0);
return float4((x + y)[0], 0.0);
}
[test]
todo(glsl) draw quad
probe (0, 0) rgba (2.0, 4.0, 6.0, 0.0)
[pixel shader]
float4 main() : sv_target
{
float2x3 x = float2x3(1.0, 2.0, 3.0,
4.0, 5.0, 6.0);
float4x4 y = float4x4(1.0, 2.0, 3.0, 4.0,
5.0, 6.0, 7.0, 8.0,
9.0, 10.0, 11.0, 12.0,
13.0, 14.0, 15.0, 16.0);
return float4((x + y)[1], 0.0);
}
[test]
todo(glsl) draw quad
probe (0, 0) rgba (9.0, 11.0, 13.0, 0.0)
[pixel shader]
float4 main() : sv_target
{
float4 x = float4(1.0, 2.0, 3.0, 4.0);
float1x4 y = float1x4(1.0, 2.0, 3.0, 4.0);
return x + y;
}
[test]
todo(glsl) draw quad
probe (0, 0) rgba (2.0, 4.0, 6.0, 8.0)
[pixel shader]
float4 main() : sv_target
{
float1x4 x = float1x4(1.0, 2.0, 3.0, 4.0);
float4 y = float4(1.0, 2.0, 3.0, 4.0);
return x + y;
}
[test]
todo(glsl) draw quad
probe (0, 0) rgba (2.0, 4.0, 6.0, 8.0)
[pixel shader]
float4 main() : sv_target
{
float4 x = float4(1.0, 2.0, 3.0, 4.0);
float4x1 y = float4x1(1.0, 2.0, 3.0, 4.0);
return x + y;
}
[test]
todo(glsl) draw quad
probe (0, 0) rgba (2.0, 4.0, 6.0, 8.0)
[pixel shader]
float4 main() : sv_target
{
float4x1 x = float4x1(1.0, 2.0, 3.0, 4.0);
float4 y = float4(1.0, 2.0, 3.0, 4.0);
return x + y;
}
[test]
todo(glsl) draw quad
probe (0, 0) rgba (2.0, 4.0, 6.0, 8.0)
[pixel shader]
float4 main() : sv_target
{
float4 x = float4(1.0, 2.0, 3.0, 4.0);
float2x2 y = float2x2(1.0, 2.0,
3.0, 4.0);
return x + y;
}
[test]
todo(glsl) draw quad
probe (0, 0) rgba (2.0, 4.0, 6.0, 8.0)
[pixel shader]
float4 main() : sv_target
{
float2x2 x = float2x2(1.0, 2.0,
3.0, 4.0);
float4 y = float4(1.0, 2.0, 3.0, 4.0);
return x + y;
}
[test]
todo(glsl) draw quad
probe (0, 0) rgba (2.0, 4.0, 6.0, 8.0)
[pixel shader]
float4 main() : sv_target
{
float1 x = float1(1.0);
float1x4 y = float1x4(1.0, 2.0, 3.0, 4.0);
return x + y;
}
[test]
todo(glsl) draw quad
probe (0, 0) rgba (2.0, 3.0, 4.0, 5.0)
[pixel shader]
float4 main() : sv_target
{
float1x4 x = float1x4(1.0, 2.0, 3.0, 4.0);
float1 y = float1(1.0);
return x + y;
}
[test]
todo(glsl) draw quad
probe (0, 0) rgba (2.0, 3.0, 4.0, 5.0)
[pixel shader]
float4 main() : sv_target
{
float2 x = float2(1.0, 2.0);
float4x1 y = float4x1(1.0, 2.0, 3.0, 4.0);
return float4(x + y, 0.0, 0.0);
}
[test]
todo(glsl) draw quad
probe (0, 0) rgba (2.0, 4.0, 0.0, 0.0)
[pixel shader]
float4 main() : sv_target
{
float4x1 x = float4x1(1.0, 2.0, 3.0, 4.0);
float2 y = float2(1.0, 2.0);
return float4(x + y, 0.0, 0.0);
}
[test]
todo(glsl) draw quad
probe (0, 0) rgba (2.0, 4.0, 0.0, 0.0)
[pixel shader]
float4 main() : sv_target
{
float x = 1.0;
float4x4 y = float4x4(1.0, 2.0, 3.0, 4.0,
5.0, 6.0, 7.0, 8.0,
9.0, 10.0, 11.0, 12.0,
13.0, 14.0, 15.0, 16.0);
return (x + y)[0];
}
[test]
todo(glsl) draw quad
probe (0, 0) rgba (2.0, 3.0, 4.0, 5.0)
[pixel shader]
float4 main() : sv_target
{
float4x4 x = float4x4(1.0, 2.0, 3.0, 4.0,
5.0, 6.0, 7.0, 8.0,
9.0, 10.0, 11.0, 12.0,
13.0, 14.0, 15.0, 16.0);
float y = 1.0;
return (x + y)[1];
}
[test]
todo(glsl) draw quad
probe (0, 0) rgba (6.0, 7.0, 8.0, 9.0)