yum-mirror/glslang

git clone https://git.yummers.dev/yum-mirror/glslang

spencer-lunargFix Buffer Reference having zero alignment1c7030f0

main
879 B52 linesraw
1#version 460
2#extension GL_EXT_shader_explicit_arithmetic_types_int64 : require
3#extension GL_EXT_buffer_reference2 : require
4
5layout(buffer_reference) buffer MyBuffer;
6
7struct A {
8    uint64_t a;
9    uint b;
10};
11struct B {
12    A a;
13};
14
15struct S1 { uint64_t x; };
16struct S2 { float x; };
17struct S3 { uvec3 x; };
18struct S4 { uvec3 x[3][3][2][1][2]; };
19struct S5 { mat3x3 x; };
20struct S6 { MyBuffer x; };
21struct S7 { B x; };
22
23layout(set = 0, binding = 1) restrict readonly buffer SSBO {
24	S1 s1;
25	S2 s2;
26	S3 s3;
27	S4 s4;
28	S5 s5;
29	S6 s6;
30	S7 s7;
31} InBuffer;
32
33layout(buffer_reference) buffer MyBuffer {
34	S1 s1;
35	S2 s2;
36	S3 s3;
37	S4 s4;
38	S5 s5;
39	S6 s6;
40	S7 s7;
41};
42
43void main() {
44	MyBuffer payload;
45	payload.s1 = InBuffer.s1;
46	payload.s2 = InBuffer.s2;
47	payload.s3 = InBuffer.s3;
48	payload.s4 = InBuffer.s4;
49	payload.s5 = InBuffer.s5;
50	payload.s6 = InBuffer.s6;
51	payload.s7 = InBuffer.s7;
52}