33 lines
		
	
	
		
			783 B
		
	
	
	
		
			GLSL
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			783 B
		
	
	
	
		
			GLSL
		
	
	
	
	
	
| 
 | |
| // array size from initializer
 | |
| static float g_array [ ] = { 1, 2, 3, 4, 5 };
 | |
| 
 | |
| // Unused: array size from initializer
 | |
| static float g_array_unused [ ] = { 1, 2, 3, 4, 5, 6, 7 };
 | |
| 
 | |
| // Test initializer sizing for arrayed structs
 | |
| static struct mystruct {
 | |
|     int i;
 | |
|     float f;
 | |
| } g_mystruct[] = {
 | |
|     { 1, 2.0 },
 | |
|     { 3, 4.0 },
 | |
| };
 | |
| 
 | |
| struct PS_OUTPUT { float4 color : SV_Target0; };
 | |
| 
 | |
| // INVALID: implicit size requires an initializer expression.
 | |
| // uniform float bad[];
 | |
| 
 | |
| // INVALID: function parameters cannot be implicitly sized
 | |
| // void BadFunction(int a[]) { }
 | |
| 
 | |
| void main(out PS_OUTPUT ps_output)
 | |
| {
 | |
|     // local array sized from initializers
 | |
|     float l_array[] = { 1, 2, 3 };
 | |
|     int idx;
 | |
| 
 | |
|     ps_output.color = g_array[0] + g_array[4] + l_array[1] + g_mystruct[0].f + g_array[idx];
 | |
| }
 | 
