mirror of
				https://gitlab.winehq.org/wine/vkd3d.git
				synced 2025-09-12 18:50:22 -07:00 
			
		
		
		
	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).
		
			
				
	
	
		
			73 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			73 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| [require]
 | |
| shader model >= 4.0
 | |
| 
 | |
| 
 | |
| [pixel shader]
 | |
| float4 main() : sv_target
 | |
| {
 | |
|     min16float4 a = {0, 1, 2, 3};
 | |
|     min10float2 b = {4, 5};
 | |
|     min16int3 c = {6.4, 7, 8};
 | |
|     min12int d = 9.4;
 | |
|     min16uint4x2 e = {14.4, 15, 16, 17, 18, 19, 20, 21};
 | |
|     vector<min10float, 3> g = {22, 23, 24};
 | |
|     matrix<min16uint, 3, 2> h = {25.4, 26, 27, 28, 29, 30};
 | |
| 
 | |
|     return mul(e, b) + a + c.xyzx + d + g.xxyz + h[2].xyxy;
 | |
| }
 | |
| 
 | |
| [test]
 | |
| todo(glsl) draw quad
 | |
| probe (0, 0) rgba (197.0, 218.0, 238.0, 257.0)
 | |
| 
 | |
| 
 | |
| [pixel shader]
 | |
| uniform min16uint2 u;
 | |
| 
 | |
| uint4 main() : sv_target
 | |
| {
 | |
|     min16uint i = 0x7fff, j = 0xffff;
 | |
|     return uint4(u.x + i, u.y + j, 0, 0);
 | |
| }
 | |
| 
 | |
| [require]
 | |
| shader model >= 4.0
 | |
| shader model < 6.0
 | |
| 
 | |
| [test]
 | |
| uniform 0 uint4 0 0 0 0
 | |
| todo(glsl) draw quad
 | |
| probe (0, 0) rgbaui (0x7fff, 0xffff, 0, 0)
 | |
| 
 | |
| [require]
 | |
| shader model >= 6.0
 | |
| 
 | |
| [test]
 | |
| uniform 0 uint4 0 0 0 0
 | |
| draw quad
 | |
| probe (0, 0) rgbaui (0x7fff, 0xffffffff, 0, 0)
 | |
| 
 | |
| 
 | |
| % The code d3dcompiler_47 produces for this appears correct, but the result
 | |
| % is still zero in Windows.
 | |
| 
 | |
| [pixel shader]
 | |
| uniform min16uint4 u;
 | |
| uniform uint i;
 | |
| 
 | |
| uint4 main() : sv_target
 | |
| {
 | |
|     min16uint arr[4] = {1, 2, 0x7fff, 0xffff};
 | |
|     return uint4(u.x + arr[i], u.y + arr[i + 1], 0, 0);
 | |
| }
 | |
| 
 | |
| [test]
 | |
| uniform 0 uint4 0 0 0 0
 | |
| uniform 4 uint 2
 | |
| draw quad
 | |
| probe (0, 0) rgbaui (0x7fff, 0xffffffff, 0, 0)
 | |
| uniform 0 uint4 0 0 0 0
 | |
| uniform 4 uint 0
 | |
| draw quad
 | |
| probe (0, 0) rgbaui (1, 2, 0, 0)
 |