mirror of
				https://gitlab.winehq.org/wine/vkd3d.git
				synced 2025-09-12 18:50:22 -07:00 
			
		
		
		
	
		
			
				
	
	
		
			91 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			91 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| [require]
 | |
| shader model >= 4.0
 | |
| shader model < 6.0
 | |
| 
 | |
| [effect]
 | |
| // Annotations on techniques
 | |
| technique10 t1 < int a = 1; > {}
 | |
| technique10 t2 < int a = 2; int t1 = 3; int t2 = 4; > {}
 | |
| 
 | |
| [effect todo]
 | |
| // Annotations on passes
 | |
| technique10 t1 < int a = 1; >
 | |
| {
 | |
|     pass < int t1 = 2; > {}
 | |
| }
 | |
| 
 | |
| [effect todo]
 | |
| // Using names from the global scope
 | |
| float a;
 | |
| 
 | |
| technique10 t1 < int a = 1; >
 | |
| {
 | |
|     pass < int a = 2; > {}
 | |
| }
 | |
| 
 | |
| [effect]
 | |
| // Evaluated literal constant expression for initial values
 | |
| technique10 < int a = 1+2; > {}
 | |
| 
 | |
| [effect]
 | |
| // Using constant variables in the initializer
 | |
| static const int b = 123;
 | |
| technique10 < int a = b; > {}
 | |
| 
 | |
| [effect]
 | |
| // Implicitly sized array
 | |
| technique10 < float a[] = {1, 2}; > {}
 | |
| 
 | |
| [effect]
 | |
| // Nested braces
 | |
| technique10 < float4 a = {1, {{{2, {3}}, 4}}}; > {}
 | |
| 
 | |
| [effect]
 | |
| // Flattening
 | |
| technique10 < float4 a = {1, float2(2, 3), 4}; > {}
 | |
| 
 | |
| [effect]
 | |
| // Comma separated initializers
 | |
| technique10 < int a = 1, b = 2; > {}
 | |
| 
 | |
| [effect]
 | |
| // Majority modifier
 | |
| technique10 < row_major float3x2 m = {1, 2, 3, 4, 5, 6}; > {}
 | |
| 
 | |
| [effect fail]
 | |
| // Without closing semicolon
 | |
| technique10 t1 < int a = 1 > {}
 | |
| 
 | |
| [effect fail]
 | |
| // Redefinition
 | |
| technique10 < int a = 0; float a = 1.0; > {}
 | |
| 
 | |
| [effect fail]
 | |
| technique10
 | |
| {
 | |
|     pass < int a = 0; float a = 1.0; > {}
 | |
| }
 | |
| 
 | |
| [effect fail todo]
 | |
| // Without initializer
 | |
| technique10 < int a; > {}
 | |
| 
 | |
| [effect fail]
 | |
| // Only numeric types and strings are allowed
 | |
| technique10 < DepthStencilState ds = { 0 }; > {}
 | |
| 
 | |
| [effect fail todo]
 | |
| // Type declarations are not allowed
 | |
| technique10 < struct s { int a; } var = { 2 }; > {}
 | |
| 
 | |
| [effect fail todo]
 | |
| // Static modifier is not allowed
 | |
| technique10 < static int a = 5; > {}
 | |
| 
 | |
| [effect fail todo]
 | |
| // Initializer should not depend on other annotations
 | |
| technique10 < int a = 1, b = a; > {}
 | |
| 
 | |
| [effect fail todo]
 | |
| technique10 < int a = 1; int b = a; > {}
 |