mirror of
				https://gitlab.winehq.org/wine/vkd3d.git
				synced 2025-09-12 18:50:22 -07:00 
			
		
		
		
	The location of dxcompiler should be set during configuration with 'DXCOMPILER_LIBS=-L/path/to/dxcompiler', and then at runtime with LD_LIBRARY_PATH, WINEPATH or PATH as applicable. A new 'fail(sm<6)' decoration is needed on many shader declarations because dxcompiler succeeds on many shaders which fail with fxc. The opposite case is less common and is flagged with 'fail(sm>=6)'. A few tests cause dxcompiler to crash or hang, so these are avoided using [require], which now skips tests until reset instead of exiting. Also, 'todo(sm<6)' and 'todo(sm>=6)' are used to separate checking of results.
		
			
				
	
	
		
			58 lines
		
	
	
		
			935 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			58 lines
		
	
	
		
			935 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| [require]
 | |
| shader model >= 4.0
 | |
| 
 | |
| [texture 0]
 | |
| size (2, 3)
 | |
| 
 | |
| 1.0 0.0 1.0 0.0     1.0 0.0 1.0 0.0     1.0 0.0 1.0 0.0
 | |
| 1.0 0.0 1.0 0.0     1.0 0.0 1.0 0.0     1.0 0.0 1.0 0.0
 | |
| 
 | |
| [pixel shader]
 | |
| Texture2D t : register(t0);
 | |
| 
 | |
| float4 main() : sv_target
 | |
| {
 | |
|     uint u1, u2;
 | |
|     float f1, f2;
 | |
|     float4 ret;
 | |
| 
 | |
|     t.GetDimensions(u1, u2);
 | |
|     t.GetDimensions(f1, f2);
 | |
|     ret.x = u1;
 | |
|     ret.y = f2;
 | |
|     t.GetDimensions(u1, f2);
 | |
|     ret.z = u1;
 | |
|     t.GetDimensions(f1, u2);
 | |
|     ret.w = u2;
 | |
|     return ret;
 | |
| }
 | |
| 
 | |
| [test]
 | |
| todo(sm>=6) draw quad
 | |
| probe all rgba (2.0, 3.0, 2.0, 3.0)
 | |
| 
 | |
| [texture 1]
 | |
| size (2, 2)
 | |
| levels 2
 | |
| 
 | |
| 1.0 0.0 1.0 0.0     1.0 0.0 1.0 0.0
 | |
| 1.0 0.0 1.0 0.0     1.0 0.0 1.0 0.0
 | |
| 
 | |
| 0.0 0.0 1.0 0.0
 | |
| 
 | |
| [pixel shader]
 | |
| Texture2D t : register(t1);
 | |
| 
 | |
| float4 main() : sv_target
 | |
| {
 | |
|     float4 ret;
 | |
| 
 | |
|     t.GetDimensions(ret.x, ret.y);
 | |
|     t.GetDimensions(1, ret.z, ret.z, ret.w);
 | |
|     return ret;
 | |
| }
 | |
| 
 | |
| [test]
 | |
| todo(sm>=6) draw quad
 | |
| probe all rgba (2.0, 2.0, 1.0, 2.0)
 |