Merge pull request #3031 from rg3igalia/sub-group-size-arb-flat-fix
[platform/upstream/glslang.git] / Test / spv.16bitstorage_Error-int.frag
1 #version 450 core\r
2 \r
3 #extension GL_EXT_shader_16bit_storage : enable\r
4 \r
5 struct S\r
6 {\r
7     int16_t  x;\r
8     i16vec2    y;\r
9     i16vec3    z;\r
10 };\r
11 \r
12 layout(column_major, std140) uniform B1\r
13 {\r
14     int16_t  a;\r
15     i16vec2    b;\r
16     i16vec3    c;\r
17     int16_t  d[2];\r
18     S          g;\r
19     S          h[2];\r
20     int        j;\r
21 } b1;\r
22 \r
23 layout(row_major, std430) buffer B2\r
24 {\r
25     int16_t  o;\r
26     i16vec2    p;\r
27     i16vec3    q;\r
28     int16_t  r[2];\r
29     S          u;\r
30     S          v[2];\r
31     int16_t  w[];\r
32 } b2;\r
33 \r
34 struct S2 {\r
35     mat4x4 x;\r
36     int16_t y;\r
37     int z;\r
38 };\r
39 \r
40 struct S3 {\r
41     S2 x;\r
42 };\r
43 \r
44 layout(row_major, std430) buffer B3\r
45 {\r
46     S2 x;\r
47 } b3;\r
48 \r
49 layout(column_major, std430) buffer B4\r
50 {\r
51     S2 x;\r
52 } b4;\r
53 \r
54 void func3(S2 x) {\r
55 }\r
56 \r
57 S2 func4() {\r
58     return b4.x;\r
59 }\r
60 \r
61 int func(int16_t a) {\r
62     return 0;\r
63 }\r
64 \r
65 struct S4 {\r
66     int x;\r
67     int16_t y;\r
68 };\r
69 \r
70 int func2(int a) { return 0; }\r
71 \r
72 void main()\r
73 {\r
74     b2.o = b2.q[1];\r
75     b2.p = b2.q.xy;\r
76     b2.o = max(b1.a, b1.a);\r
77     bvec2 bv = lessThan(b2.p, b2.p);\r
78     b2.o = b1.a + b1.a;\r
79     b2.o = -b1.a;\r
80     b2.o = b1.a + 1;\r
81     b2.p = b2.p.yx;\r
82     b4.x = b3.x;\r
83     int16_t f0;\r
84     S2 f1;\r
85     S3 f2;\r
86     if (b1.a == b1.a) {}\r
87     b2.r = b2.r;\r
88     b2.p = i16vec2(3, 4);\r
89     i16vec2[2](i16vec2(ivec2(1,2)), i16vec2(ivec2(3,4)));\r
90     // NOT ERRORING YET\r
91     b3.x;\r
92     S4(0, int16_t(0));\r
93     func2(b1.a);\r
94 }\r
95 \r
96 \r
97 layout(column_major, std140) uniform B6\r
98 {\r
99     i16mat2x3  e;\r
100 } b6;\r
101 \r