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).
307 lines
5.2 KiB
Plaintext
307 lines
5.2 KiB
Plaintext
[require]
|
|
shader model >= 4.0
|
|
|
|
[pixel shader]
|
|
float4 main() : SV_TARGET
|
|
{
|
|
int x = 5;
|
|
int y = 15;
|
|
|
|
return float4(x >> y, y >> x, x << y, y << x);
|
|
}
|
|
|
|
[test]
|
|
todo(glsl) draw quad
|
|
probe (0, 0) rgba (0.0, 0.0, 163840.0, 480.0)
|
|
|
|
[pixel shader]
|
|
float4 main() : sv_target
|
|
{
|
|
int x = 1;
|
|
int y = -1;
|
|
int z = 34;
|
|
uint x2 = 1;
|
|
|
|
return float4(x << y, x << z, x2 << y, x2 << z);
|
|
}
|
|
|
|
[test]
|
|
todo(glsl) draw quad
|
|
probe (0, 0) rgba (-2147483648.0, 4.0, 2147483650.0, 4.0)
|
|
|
|
[pixel shader]
|
|
float4 main() : sv_target
|
|
{
|
|
int x = 2147483647;
|
|
int y = -1;
|
|
int z = 34;
|
|
uint x2 = 4294967295;
|
|
|
|
return float4(x >> y, x >> z, x2 >> y, x2 >> z);
|
|
}
|
|
|
|
[test]
|
|
todo(glsl) draw quad
|
|
probe (0, 0) rgba (0.0, 536870912.0, 1.0, 1073741824.0)
|
|
|
|
[pixel shader]
|
|
float4 main() : SV_TARGET
|
|
{
|
|
int x = 5;
|
|
int y = 15;
|
|
|
|
return float4(x & y, x | y, x ^ y, ~x);
|
|
}
|
|
|
|
[test]
|
|
todo(glsl) draw quad
|
|
probe (0, 0) rgba (5.0, 15.0, 10.0, -6.0)
|
|
|
|
[pixel shader]
|
|
float4 main() : SV_TARGET
|
|
{
|
|
int zero = 0;
|
|
int one = 1;
|
|
|
|
return float4(zero & zero, zero & one, one & zero, one & one);
|
|
}
|
|
|
|
[test]
|
|
todo(glsl) draw quad
|
|
probe (0, 0) rgba (0.0, 0.0, 0.0, 1.0)
|
|
|
|
[pixel shader]
|
|
float4 main() : SV_TARGET
|
|
{
|
|
int zero = 0;
|
|
int one = 1;
|
|
|
|
return float4(zero | zero, zero | one, one | zero, one | one);
|
|
}
|
|
|
|
[test]
|
|
todo(glsl) draw quad
|
|
probe (0, 0) rgba (0.0, 1.0, 1.0, 1.0)
|
|
|
|
[pixel shader]
|
|
float4 main() : SV_TARGET
|
|
{
|
|
int zero = 0;
|
|
int one = 1;
|
|
|
|
return float4(zero ^ zero, zero ^ one, one ^ zero, one ^ one);
|
|
}
|
|
|
|
[test]
|
|
todo(glsl) draw quad
|
|
probe (0, 0) rgba (0.0, 1.0, 1.0, 0.0)
|
|
|
|
[pixel shader]
|
|
float4 main() : SV_TARGET
|
|
{
|
|
int a = 0;
|
|
int b = 0;
|
|
int c = 1;
|
|
int d = 1;
|
|
|
|
a ^= 0;
|
|
b ^= 1;
|
|
c ^= 0;
|
|
d ^= 1;
|
|
|
|
return float4(a, b, c, d);
|
|
}
|
|
|
|
[test]
|
|
todo(glsl) draw quad
|
|
probe (0, 0) rgba (0.0, 1.0, 1.0, 0.0)
|
|
|
|
[pixel shader]
|
|
float4 main() : SV_TARGET
|
|
{
|
|
uint x = 5;
|
|
uint y = 15;
|
|
|
|
return float4(x >> y, y >> x, x << y, y << x);
|
|
}
|
|
|
|
[test]
|
|
todo(glsl) draw quad
|
|
probe (0, 0) rgba (0.0, 0.0, 163840.0, 480.0)
|
|
|
|
[pixel shader]
|
|
float4 main() : SV_TARGET
|
|
{
|
|
uint x = 5;
|
|
uint y = 15;
|
|
|
|
return float4(x & y, x | y, x ^ y, ~x);
|
|
}
|
|
|
|
[test]
|
|
todo(glsl) draw quad
|
|
probe (0, 0) rgba (5.0, 15.0, 10.0, 4294967296.0)
|
|
|
|
[pixel shader]
|
|
float4 main() : SV_TARGET
|
|
{
|
|
uint zero = 0;
|
|
uint one = 1;
|
|
|
|
return float4(zero & zero, zero & one, one & zero, one & one);
|
|
}
|
|
|
|
[test]
|
|
todo(glsl) draw quad
|
|
probe (0, 0) rgba (0.0, 0.0, 0.0, 1.0)
|
|
|
|
[pixel shader]
|
|
float4 main() : SV_TARGET
|
|
{
|
|
uint zero = 0;
|
|
uint one = 1;
|
|
|
|
return float4(zero | zero, zero | one, one | zero, one | one);
|
|
}
|
|
|
|
[test]
|
|
todo(glsl) draw quad
|
|
probe (0, 0) rgba (0.0, 1.0, 1.0, 1.0)
|
|
|
|
[pixel shader]
|
|
float4 main() : SV_TARGET
|
|
{
|
|
uint zero = 0;
|
|
uint one = 1;
|
|
|
|
return float4(zero ^ zero, zero ^ one, one ^ zero, one ^ one);
|
|
}
|
|
|
|
[test]
|
|
todo(glsl) draw quad
|
|
probe (0, 0) rgba (0.0, 1.0, 1.0, 0.0)
|
|
|
|
[pixel shader todo]
|
|
uint u;
|
|
int i;
|
|
|
|
uint4 main() : sv_target
|
|
{
|
|
return uint4(countbits(u), firstbitlow(u), firstbithigh(u), firstbithigh(i));
|
|
}
|
|
|
|
[test]
|
|
uniform 0 uint4 0 0 0 0
|
|
todo(sm<6) draw quad
|
|
probe (0, 0) rgbaui (0, 0xffffffff, 0xffffffff, 0xffffffff)
|
|
uniform 0 uint4 0xffffffff 0xffffffff 0 0
|
|
todo(sm<6) draw quad
|
|
probe (0, 0) rgbaui (32, 0, 31, 0xffffffff)
|
|
uniform 0 uint4 0xcccccccc 0xcccccccc 0 0
|
|
todo(sm<6) draw quad
|
|
probe (0, 0) rgbaui (16, 2, 31, 29)
|
|
|
|
[require]
|
|
shader model >= 6.0
|
|
int64
|
|
|
|
[pixel shader]
|
|
int64_t2 a;
|
|
int2 s;
|
|
|
|
float4 main() : sv_target
|
|
{
|
|
int64_t x = a.x;
|
|
int64_t y = a.y;
|
|
int z = s.x;
|
|
int w = s.y;
|
|
|
|
return float4(x >> y, x >> -y, x >> z, x >> w);
|
|
}
|
|
|
|
[test]
|
|
uniform 0 int64_t2 9223372036854775807 -1
|
|
uniform 4 int4 34 66 0 0
|
|
draw quad
|
|
probe (0, 0) rgba (0.0, 4.611686018e18, 536870912.0, 2.305843009e18) 1
|
|
uniform 0 int64_t2 -1 -1
|
|
uniform 4 int4 34 66 0 0
|
|
draw quad
|
|
probe (0, 0) rgba (-1.0, -1.0, -1.0, -1.0) 1
|
|
|
|
[pixel shader]
|
|
uint64_t2 a;
|
|
uint2 s;
|
|
|
|
float4 main() : sv_target
|
|
{
|
|
uint64_t x = a.x;
|
|
uint64_t y = a.y;
|
|
uint z = s.x;
|
|
uint w = s.y;
|
|
|
|
return float4(x >> y, x >> -y, x >> z, x >> w);
|
|
}
|
|
|
|
[test]
|
|
uniform 0 uint64_t2 0xffffffffffffffff 1
|
|
uniform 4 uint4 34 66 0 0
|
|
draw quad
|
|
probe (0, 0) rgba (9.223372036e18, 1.0, 1073741823.0, 4.611686018e18) 1
|
|
|
|
[pixel shader]
|
|
uint64_t2 a;
|
|
uint2 s;
|
|
|
|
float4 main() : sv_target
|
|
{
|
|
uint64_t x = a.x;
|
|
uint64_t y = a.y;
|
|
uint z = s.x;
|
|
uint w = s.y;
|
|
|
|
return float4(x << y, x << -y, x << z, x << w);
|
|
}
|
|
|
|
[test]
|
|
uniform 0 uint64_t2 0x83 1
|
|
uniform 4 uint4 34 66 0 0
|
|
draw quad
|
|
probe (0, 0) rgba (262.0, 9.223372036e18, 2250562863104.0, 524.0) 1
|
|
|
|
[pixel shader]
|
|
uint64_t2 a;
|
|
|
|
float4 main() : sv_target
|
|
{
|
|
uint64_t x = a.x;
|
|
uint64_t y = a.y;
|
|
|
|
return float4(x ^ y, x & y, x | y, ~x);
|
|
}
|
|
|
|
[test]
|
|
uniform 0 uint64_t2 0x300000000 0x500000000
|
|
draw quad
|
|
probe (0, 0) rgba (25769803776.0, 4294967296.0, 30064771072.0, 1.844674404e19) 1
|
|
|
|
[pixel shader]
|
|
uint64_t u;
|
|
int64_t i;
|
|
|
|
uint4 main() : sv_target
|
|
{
|
|
return uint4(0, firstbitlow(u), firstbithigh(u), firstbithigh(i));
|
|
}
|
|
|
|
[test]
|
|
uniform 0 uint64_t2 0 0
|
|
todo draw quad
|
|
probe (0, 0) rgbaui (0, 0xffffffff, 0xffffffff, 0xffffffff)
|
|
uniform 0 int64_t2 -1 -1
|
|
todo draw quad
|
|
probe (0, 0) rgbaui (64, 0, 63, 0xffffffff)
|
|
uniform 0 uint64_t2 0xcccccccccccccccc 0xcccccccccccccccc
|
|
todo draw quad
|
|
probe (0, 0) rgbaui (32, 2, 63, 61)
|