3
#extension GL_EXT_buffer_reference : enable
4
layout (push_constant, std430) uniform Block { int identity[32]; } pc;
5
layout(r32ui, set = 3, binding = 0) uniform uimage2D image0_0;
6
layout(buffer_reference) buffer T1;
7
layout(set = 3, binding = 1, buffer_reference) buffer T1 {
8
layout(offset = 0) int a[2]; // stride = 4 for std430, 16 for std140
9
layout(offset = 32) int b;
10
layout(offset = 48) T1 c[2]; // stride = 8 for std430, 16 for std140
11
layout(offset = 80) T1 d;
17
accum |= x.a[pc.identity[1]] - 1;
19
accum |= x.c[0].a[0] - 3;
20
accum |= x.c[0].a[pc.identity[1]] - 4;
21
accum |= x.c[0].b - 5;
22
accum |= x.c[pc.identity[1]].a[0] - 6;
23
accum |= x.c[pc.identity[1]].a[pc.identity[1]] - 7;
24
accum |= x.c[pc.identity[1]].b - 8;
25
accum |= x.d.a[0] - 9;
26
accum |= x.d.a[pc.identity[1]] - 10;
28
uvec4 color = (accum != 0) ? uvec4(0,0,0,0) : uvec4(1,0,0,1);
29
imageStore(image0_0, ivec2(gl_FragCoord.x, gl_FragCoord.y), color);
b'\\ No newline at end of file'