mirror of
				https://gitlab.winehq.org/wine/vkd3d.git
				synced 2025-09-12 18:50:22 -07:00 
			
		
		
		
	
		
			
				
	
	
		
			248 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			248 lines
		
	
	
		
			3.9 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]
 | |
| draw quad
 | |
| probe all 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]
 | |
| draw quad
 | |
| probe all 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]
 | |
| draw quad
 | |
| probe all 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]
 | |
| draw quad
 | |
| probe all 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]
 | |
| draw quad
 | |
| probe all 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]
 | |
| draw quad
 | |
| probe all 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]
 | |
| draw quad
 | |
| probe all 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]
 | |
| draw quad
 | |
| probe all 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]
 | |
| draw quad
 | |
| probe all 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]
 | |
| draw quad
 | |
| probe all 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]
 | |
| draw quad
 | |
| probe all 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]
 | |
| draw quad
 | |
| probe all rgba (0.0, 1.0, 1.0, 0.0)
 | |
| 
 | |
| 
 | |
| [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 all 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 all 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 all 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 all 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 all rgba (25769803776.0, 4294967296.0, 30064771072.0, 1.844674404e19) 1
 |