34 lines
		
	
	
		
			1013 B
		
	
	
	
		
			GLSL
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			1013 B
		
	
	
	
		
			GLSL
		
	
	
	
	
	
#version 450
 | 
						|
 | 
						|
int nonuniformEXT;
 | 
						|
 | 
						|
#extension GL_EXT_nonuniform_qualifier : enable
 | 
						|
 | 
						|
nonuniformEXT in vec4 nu_inv4;
 | 
						|
nonuniformEXT float nu_gf;
 | 
						|
 | 
						|
nonuniformEXT out vec4 nu_outv4;           // ERROR, out
 | 
						|
nonuniformEXT uniform vec4 nu_uv4;         // ERROR, uniform
 | 
						|
nonuniformEXT const float nu_constf = 1.0; // ERROR, const
 | 
						|
 | 
						|
nonuniformEXT int foo(nonuniformEXT int nupi, nonuniformEXT out int f)
 | 
						|
{
 | 
						|
    return nupi;
 | 
						|
}
 | 
						|
 | 
						|
void main()
 | 
						|
{
 | 
						|
    nonuniformEXT int nu_li;
 | 
						|
    nonuniformEXT const int nu_ci = 2; // ERROR, const
 | 
						|
 | 
						|
    foo(nu_li, nu_li);
 | 
						|
    int table[5];
 | 
						|
    int a;
 | 
						|
    nu_li = nonuniformEXT(a) + nonuniformEXT(a * 2);
 | 
						|
    nu_li = nonuniformEXT(a, a);       // ERROR, too many arguments
 | 
						|
    nu_li = nonuniformEXT();           // ERROR, no arguments
 | 
						|
    nu_li = table[nonuniformEXT(3)];
 | 
						|
}
 | 
						|
layout(location=1) in struct S { float a; nonuniformEXT float b; } ins;  // ERROR, not on member
 | 
						|
layout(location=3) in inbName { float a; nonuniformEXT float b; } inb;   // ERROR, not on member
 |