1#version 450 2 3int nonuniformEXT; 4 5#extension GL_EXT_nonuniform_qualifier : enable 6 7nonuniformEXT in vec4 nu_inv4; 8nonuniformEXT float nu_gf; 9 10nonuniformEXT out vec4 nu_outv4; // ERROR, out 11nonuniformEXT uniform vec4 nu_uv4; // ERROR, uniform 12nonuniformEXT const float nu_constf = 1.0; // ERROR, const 13 14nonuniformEXT int foo(nonuniformEXT int nupi, nonuniformEXT out int f) 15{ 16 return nupi; 17} 18 19void main() 20{ 21 nonuniformEXT int nu_li; 22 nonuniformEXT const int nu_ci = 2; // ERROR, const 23 24 foo(nu_li, nu_li); 25 int table[5]; 26 int a; 27 nu_li = nonuniformEXT(a) + nonuniformEXT(a * 2); 28 nu_li = nonuniformEXT(a, a); // ERROR, too many arguments 29 nu_li = nonuniformEXT(); // ERROR, no arguments 30 nu_li = table[nonuniformEXT(3)]; 31} 32layout(location=1) in struct S { float a; nonuniformEXT float b; } ins; // ERROR, not on member 33layout(location=3) in inbName { float a; nonuniformEXT float b; } inb; // ERROR, not on member 34