Merge pull request #2892 from greg-lunarg/mb
[platform/upstream/glslang.git] / Test / spv.8bitstorage_Error-int.frag
1 #version 450 core\r
2 \r
3 #extension GL_EXT_shader_8bit_storage : enable\r
4 \r
5 struct S\r
6 {\r
7     int8_t  x;\r
8     i8vec2    y;\r
9     i8vec3    z;\r
10 };\r
11 \r
12 layout(column_major, std140) uniform B1\r
13 {\r
14     int8_t  a;\r
15     i8vec2    b;\r
16     i8vec3    c;\r
17     int8_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     int8_t  o;\r
26     i8vec2    p;\r
27     i8vec3    q;\r
28     int8_t  r[2];\r
29     S          u;\r
30     S          v[2];\r
31     int8_t  w[];\r
32 } b2;\r
33 \r
34 struct S2 {\r
35     mat4x4 x;\r
36     int8_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(int8_t a) {\r
62     return 0;\r
63 }\r
64 \r
65 struct S4 {\r
66     int x;\r
67     int8_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     int8_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 = i8vec2(3, 4);\r
89     i8vec2[2](i8vec2(ivec2(1,2)), i8vec2(ivec2(3,4)));\r
90     // NOT ERRORING YET\r
91     b3.x;\r
92     S4(0, int8_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     i8mat2x3  e;\r
100 } b6;\r
101 \r