59 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			GLSL
		
	
	
	
	
	
			
		
		
	
	
			59 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			GLSL
		
	
	
	
	
	
| #version 300 es
 | |
| 
 | |
| precision mediump float;
 | |
| 
 | |
| struct S {
 | |
|     vec4 u;
 | |
|     uvec4 v;
 | |
|     lowp isampler3D sampler;
 | |
|     vec3 w;
 | |
|     struct T1 {           // ERROR
 | |
|         int a;
 | |
|     } t;
 | |
| };
 | |
| 
 | |
| uniform S s;
 | |
| 
 | |
| uniform fooBlock {
 | |
|     uvec4 bv;
 | |
|     uniform mat2 bm2;
 | |
|     lowp isampler2D sampler;   // ERROR
 | |
|     struct T2 {                // ERROR
 | |
|         int a;
 | |
|     } t;
 | |
|     S fbs;                     // ERROR, contains a sampler
 | |
| };
 | |
| 
 | |
| uniform barBlock {
 | |
|     uvec4 nbv;
 | |
|     int ni;
 | |
| } inst;
 | |
| 
 | |
| uniform barBlockArray {
 | |
|     uvec4 nbv;
 | |
|     int ni;
 | |
| } insts[4];
 | |
| 
 | |
| uniform unreferenced {
 | |
|     float f;
 | |
|     uint u;
 | |
| };
 | |
| 
 | |
| void main()
 | |
| {
 | |
|     texture(s.sampler, vec3(inst.ni, bv.y, insts[2].nbv.z));
 | |
|     insts[s.v.x];         // ERROR
 | |
|     fooBlock;             // ERROR
 | |
|     mat4(s);              // ERROR
 | |
|     int insts;
 | |
|     float barBlock;
 | |
|     mat4(barBlock);
 | |
|     mat4(unreferenced);   // ERROR, bad type
 | |
|     ++s;                  // ERROR
 | |
|     inst - 1;             // ERROR
 | |
|     ++barBlock;
 | |
|     2 * barBlockArray;    // ERROR
 | |
| }
 | |
| 
 | |
| int fooBlock;             // ERROR, redef.
 | 
