mirror of
				https://gitlab.winehq.org/wine/vkd3d.git
				synced 2025-09-12 18:50:22 -07:00 
			
		
		
		
	
		
			
	
	
		
			47 lines
		
	
	
		
			759 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			47 lines
		
	
	
		
			759 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|   | % The ternary operator works differently in sm6. | ||
|  | % It now shortcuts, and is no longer per-component. | ||
|  | 
 | ||
|  | [require] | ||
|  | shader model >= 6.0 | ||
|  | 
 | ||
|  | [pixel shader] | ||
|  | uniform float4 x; | ||
|  | 
 | ||
|  | float4 main() : sv_target | ||
|  | { | ||
|  |     return x.x ? x : x - 1; | ||
|  | } | ||
|  | 
 | ||
|  | [test] | ||
|  | uniform 0 float4 2.0 3.0 4.0 5.0 | ||
|  | todo draw quad | ||
|  | probe all rgba (2.0, 3.0, 4.0, 5.0) | ||
|  | uniform 0 float4 0.0 10.0 11.0 12.0 | ||
|  | todo draw quad | ||
|  | probe all rgba (-1.0, 9.0, 10.0, 11.0) | ||
|  | 
 | ||
|  | 
 | ||
|  | [pixel shader] | ||
|  | float4 f; | ||
|  | 
 | ||
|  | float4 main() : sv_target | ||
|  | { | ||
|  |     float f1 = 0.1, f2 = 0.2, f3; | ||
|  |     f3 = f.x ? (f1 = 0.5) + 0.2 : (f2 = 0.6); | ||
|  |     return float4(f1, f2, f3, 0.0); | ||
|  | } | ||
|  | 
 | ||
|  | [test] | ||
|  | uniform 0 float4 1.0 0.0 0.0 0.0 | ||
|  | draw quad | ||
|  | probe all rgba (0.5, 0.2, 0.7, 0.0) | ||
|  | 
 | ||
|  | 
 | ||
|  | [pixel shader fail] | ||
|  | float4 x, y, z; | ||
|  | 
 | ||
|  | float4 main() : sv_target | ||
|  | { | ||
|  |     return x ? y : z; | ||
|  | } |