xref: /aosp_15_r20/external/angle/third_party/glslang/src/Test/spv.bufferhandleUvec2.frag (revision 8975f5c5ed3d1c378011245431ada316dfb6f244)
1#version 450
2
3#extension GL_EXT_buffer_reference_uvec2 : enable
4
5layout(buffer_reference, std430) buffer blockType {
6    layout(offset = 0)  int a;
7    layout(offset = 4)  int b;
8    layout(offset = 8)  int c;
9    layout(offset = 12) int d;
10    layout(offset = 16) int e;
11};
12
13layout(std430) buffer t2 {
14    blockType f;
15    blockType g;
16} t;
17
18flat in uvec2 h, i;
19
20void main() {
21
22    blockType b1[2] = blockType[2](blockType(h), blockType(i));
23    b1[0].a = b1[1].b;
24    blockType b2 = blockType(h);
25    blockType b3 = blockType(i);
26    b2.a = b3.b;
27    uvec2 j = uvec2(b2);
28    uint carry;
29    j.x = uaddCarry(j.x, 256, carry);
30    j.y += carry;
31    b2 = blockType(j);
32}
33