mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2024-11-21 16:46:41 -08:00
d3ba810c98
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).
199 lines
3.4 KiB
Plaintext
199 lines
3.4 KiB
Plaintext
[pixel shader todo(sm<4)]
|
|
uniform float2 a;
|
|
|
|
float4 main() : SV_TARGET
|
|
{
|
|
int x = a.x;
|
|
int y = a.y;
|
|
return float4(x + y, x - y, x * y, x / y);
|
|
}
|
|
|
|
[test]
|
|
uniform 0 float4 5.0 16.0 0.0 0.0
|
|
todo(sm<4 | glsl) draw quad
|
|
probe (0, 0) rgba (21.0, -11.0, 80.0, 0.0)
|
|
|
|
[pixel shader todo(sm<4)]
|
|
uniform float2 a;
|
|
|
|
float4 main() : SV_TARGET
|
|
{
|
|
int x = a.x;
|
|
int y = a.y;
|
|
return float4(x % y, +x, -x, y / x);
|
|
}
|
|
|
|
[test]
|
|
uniform 0 float4 5.0 16.0 0.0 0.0
|
|
todo(sm<4 | glsl) draw quad
|
|
probe (0, 0) rgba (5.0, 5.0, -5.0, 3.0)
|
|
|
|
[pixel shader todo(sm<4)]
|
|
uniform float2 a;
|
|
|
|
float4 main() : SV_TARGET
|
|
{
|
|
int x = a.x;
|
|
int y = a.y;
|
|
return float4(x / y, -x / y, x / -y, -x / -y);
|
|
}
|
|
|
|
[test]
|
|
uniform 0 float4 42.0 5.0 0.0 0.0
|
|
todo(sm<4 | glsl) draw quad
|
|
probe (0, 0) rgba (8.0, -8.0, -8.0, 8.0)
|
|
|
|
[pixel shader todo(sm<4)]
|
|
uniform float2 a;
|
|
|
|
float4 main() : SV_TARGET
|
|
{
|
|
int x = a.x;
|
|
int y = a.y;
|
|
return float4(x % y, -x % y, x % -y, -x % -y);
|
|
}
|
|
|
|
[test]
|
|
uniform 0 float4 42.0 5.0 0.0 0.0
|
|
todo(sm<4 | glsl) draw quad
|
|
probe (0, 0) rgba (2.0, -2.0, 2.0, -2.0)
|
|
|
|
[pixel shader todo(sm<4)]
|
|
uniform float2 a;
|
|
|
|
float4 main() : SV_TARGET
|
|
{
|
|
int x = a.x;
|
|
int y = a.y;
|
|
return float4(x / y, -x / y, x / -y, -x / -y);
|
|
}
|
|
|
|
[test]
|
|
uniform 0 float4 45.0 5.0 0.0 0.0
|
|
todo(sm<4 | glsl) draw quad
|
|
probe (0, 0) rgba (9.0, -9.0, -9.0, 9.0)
|
|
|
|
[pixel shader todo(sm<4)]
|
|
uniform float2 a;
|
|
|
|
float4 main() : SV_TARGET
|
|
{
|
|
int x = a.x;
|
|
int y = a.y;
|
|
return float4(x % y, -x % y, x % -y, -x % -y);
|
|
}
|
|
|
|
[test]
|
|
uniform 0 float4 45.0 5.0 0.0 0.0
|
|
todo(sm<4 | glsl) draw quad
|
|
probe (0, 0) rgba (0.0, 0.0, 0.0, 0.0)
|
|
|
|
[pixel shader]
|
|
uniform float4 a;
|
|
|
|
float4 main() : SV_TARGET
|
|
{
|
|
return abs(int4(a));
|
|
}
|
|
|
|
[test]
|
|
uniform 0 float4 5.0 -7.0 0.0 -10.0
|
|
todo(glsl) draw quad
|
|
probe (0, 0) rgba (5.0, 7.0, 0.0, 10.0)
|
|
|
|
[pixel shader todo(sm<4)]
|
|
uniform float4 a;
|
|
uniform float4 b;
|
|
|
|
float4 main() : sv_target
|
|
{
|
|
int2 x = a.xz;
|
|
int2 y = a.yw;
|
|
int2 z = b.xy;
|
|
int2 w = b.zw;
|
|
return float4(x / y, z % w);
|
|
}
|
|
|
|
[test]
|
|
uniform 0 float4 45.0 5.0 50.0 10.0
|
|
uniform 4 float4 3.0 8.0 2.0 5.0
|
|
todo(sm<4 | glsl) draw quad
|
|
probe (0, 0) rgba (9.0, 5.0, 1.0, 3.0)
|
|
|
|
[require]
|
|
shader model >= 6.0
|
|
int64
|
|
|
|
[pixel shader]
|
|
uniform int64_t2 a;
|
|
|
|
float4 main() : SV_TARGET
|
|
{
|
|
int64_t x = a.x;
|
|
int64_t y = a.y;
|
|
return float4(x + y, x - y, x * (y >> 4), x / y);
|
|
}
|
|
|
|
[test]
|
|
uniform 0 int64_t2 5000000000 16000000000
|
|
draw quad
|
|
probe (0, 0) rgba (21.0e9, -11.0e9, 5.0e18, 0.0) 1
|
|
|
|
[pixel shader]
|
|
uniform int64_t2 a;
|
|
|
|
float4 main() : SV_TARGET
|
|
{
|
|
int64_t x = a.x;
|
|
int64_t y = a.y;
|
|
return float4(x % y, +x, -x, y / x);
|
|
}
|
|
|
|
[test]
|
|
uniform 0 int64_t2 5000000000 16000000000
|
|
draw quad
|
|
probe (0, 0) rgba (5.0e9, 5.0e9, -5.0e9, 3.0)
|
|
|
|
[pixel shader]
|
|
uniform int64_t2 a;
|
|
|
|
float4 main() : SV_TARGET
|
|
{
|
|
int64_t x = a.x;
|
|
int64_t y = a.y;
|
|
return float4(x / y, -x / y, x / -y, -x / -y);
|
|
}
|
|
|
|
[test]
|
|
uniform 0 int64_t2 42000000000 5000000000
|
|
draw quad
|
|
probe (0, 0) rgba (8.0, -8.0, -8.0, 8.0)
|
|
|
|
[pixel shader]
|
|
uniform int64_t2 a;
|
|
|
|
float4 main() : SV_TARGET
|
|
{
|
|
int64_t x = a.x;
|
|
int64_t y = a.y;
|
|
return float4(x % y, -x % y, x % -y, -x % -y);
|
|
}
|
|
|
|
[test]
|
|
uniform 0 int64_t2 42000000000 5000000000
|
|
draw quad
|
|
probe (0, 0) rgba (2.0e9, -2.0e9, 2.0e9, -2.0e9)
|
|
|
|
[pixel shader]
|
|
uniform int64_t2 a;
|
|
|
|
float4 main() : SV_TARGET
|
|
{
|
|
return float4(abs(a), 0, 0);
|
|
}
|
|
|
|
[test]
|
|
uniform 0 int64_t2 5000000000 -7000000000
|
|
draw quad
|
|
probe (0, 0) rgba (5.0e9, 7.0e9, 0.0, 0.0)
|