Merge pull request #3031 from rg3igalia/sub-group-size-arb-flat-fix
[platform/upstream/glslang.git] / Test / nonuniform.frag
1 #version 450\r
2 \r
3 int nonuniformEXT;\r
4 \r
5 #extension GL_EXT_nonuniform_qualifier : enable\r
6 \r
7 nonuniformEXT in vec4 nu_inv4;\r
8 nonuniformEXT float nu_gf;\r
9 \r
10 nonuniformEXT out vec4 nu_outv4;           // ERROR, out\r
11 nonuniformEXT uniform vec4 nu_uv4;         // ERROR, uniform\r
12 nonuniformEXT const float nu_constf = 1.0; // ERROR, const\r
13 \r
14 nonuniformEXT int foo(nonuniformEXT int nupi, nonuniformEXT out int f)\r
15 {\r
16     return nupi;\r
17 }\r
18 \r
19 void main()\r
20 {\r
21     nonuniformEXT int nu_li;\r
22     nonuniformEXT const int nu_ci = 2; // ERROR, const\r
23 \r
24     foo(nu_li, nu_li);\r
25     int table[5];\r
26     int a;\r
27     nu_li = nonuniformEXT(a) + nonuniformEXT(a * 2);\r
28     nu_li = nonuniformEXT(a, a);       // ERROR, too many arguments\r
29     nu_li = nonuniformEXT();           // ERROR, no arguments\r
30     nu_li = table[nonuniformEXT(3)];\r
31 }\r
32 layout(location=1) in struct S { float a; nonuniformEXT float b; } ins;  // ERROR, not on member\r
33 layout(location=3) in inbName { float a; nonuniformEXT float b; } inb;   // ERROR, not on member\r