mirror of
				https://gitlab.winehq.org/wine/vkd3d.git
				synced 2025-09-12 18:50:22 -07:00 
			
		
		
		
	On shader_test files, now resources should be declared this way:
    [texture n]       -> [srv n]
    [srv buffer n]    -> [srv n]
    [uav n]           -> [uav n]
    [uav buffer n]    -> [uav n]
    [vertex buffer n] -> [vb n]
    [render target n] -> [rtv n]
The dimension (buffer or 2D) is now specified as an additional parameter
in the "size" directive:
  For 2D resources:
  size (n, m)         -> size (2d, n, m)
  For buffers:
  size (n, 1)         -> size (buffer, n)
		
	
		
			
				
	
	
		
			103 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			103 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| [require]
 | |
| shader model >= 4.0
 | |
| 
 | |
| [pixel shader]
 | |
| float4x1 main() : sv_target
 | |
| {
 | |
|     return float4(1.0, 2.0, 3.0, 4.0);
 | |
| }
 | |
| 
 | |
| [test]
 | |
| draw quad
 | |
| probe all rgba (1.0, 2.0, 3.0, 4.0)
 | |
| 
 | |
| [pixel shader]
 | |
| row_major float1x4 main() : sv_target
 | |
| {
 | |
|     return float4(1.0, 2.0, 3.0, 4.0);
 | |
| }
 | |
| 
 | |
| [test]
 | |
| draw quad
 | |
| probe all rgba (1.0, 2.0, 3.0, 4.0)
 | |
| 
 | |
| [rtv 0]
 | |
| format r32 float
 | |
| size (2d, 640, 480)
 | |
| 
 | |
| [rtv 1]
 | |
| format r32 float
 | |
| size (2d, 640, 480)
 | |
| 
 | |
| [rtv 2]
 | |
| format r32 float
 | |
| size (2d, 640, 480)
 | |
| 
 | |
| [rtv 3]
 | |
| format r32 float
 | |
| size (2d, 640, 480)
 | |
| 
 | |
| [pixel shader fail(sm>=6)]
 | |
| row_major float4x1 main() : sv_target
 | |
| {
 | |
|     return float4(1.0, 2.0, 3.0, 4.0);
 | |
| }
 | |
| 
 | |
| [test]
 | |
| todo(sm>=6) draw quad
 | |
| probe render target 0 all r (1.0)
 | |
| probe render target 1 all r (2.0)
 | |
| probe render target 2 all r (3.0)
 | |
| probe render target 3 all r (4.0)
 | |
| 
 | |
| [pixel shader fail(sm>=6)]
 | |
| float1x4 main() : sv_target
 | |
| {
 | |
|     return float4(1.0, 2.0, 3.0, 4.0);
 | |
| }
 | |
| 
 | |
| [test]
 | |
| todo(sm>=6) draw quad
 | |
| probe render target 0 all r (1.0)
 | |
| probe render target 1 all r (2.0)
 | |
| probe render target 2 all r (3.0)
 | |
| probe render target 3 all r (4.0)
 | |
| 
 | |
| [pixel shader fail]
 | |
| void main(out float1x2 x : sv_target0, out float1x2 y : sv_target1)
 | |
| {
 | |
|     x = float2(1.0, 2.0);
 | |
|     y = float2(5.0, 6.0);
 | |
| }
 | |
| 
 | |
| [pixel shader fail(sm>=6)]
 | |
| void main(out float1x2 x : sv_target0, out float1x2 y : sv_target2)
 | |
| {
 | |
|     x = float2(1.0, 2.0);
 | |
|     y = float2(5.0, 6.0);
 | |
| }
 | |
| 
 | |
| [test]
 | |
| todo(sm>=6) draw quad
 | |
| probe render target 0 all r (1.0)
 | |
| probe render target 1 all r (2.0)
 | |
| probe render target 2 all r (5.0)
 | |
| probe render target 3 all r (6.0)
 | |
| 
 | |
| [rtv 0]
 | |
| format r32g32b32a32 float
 | |
| size (2d, 640, 480)
 | |
| 
 | |
| [pixel shader fail(sm>=6)]
 | |
| void main(out row_major float1x4 x : sv_target0, out float1x2 y : sv_target1)
 | |
| {
 | |
|     x = float4(1.0, 2.0, 3.0, 4.0);
 | |
|     y = float2(5.0, 6.0);
 | |
| }
 | |
| 
 | |
| [test]
 | |
| todo(sm>=6) draw quad
 | |
| probe render target 0 all rgba (1.0, 2.0, 3.0, 4.0)
 | |
| probe render target 1 all r (5.0)
 | |
| probe render target 2 all r (6.0)
 |