1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
|
#version 450 core
#extension GL_KHR_memory_scope_semantics : enable
#extension GL_EXT_long_vector : enable
#extension GL_EXT_shader_explicit_arithmetic_types : enable
#extension GL_EXT_buffer_reference : enable
#extension GL_EXT_scalar_block_layout : enable
layout (local_size_x = 64, local_size_y = 1, local_size_z = 1) in;
layout(constant_id = 0) const uint32_t c0 = 0;
layout(set = 0, binding = 0, std140) buffer Buf140 {
vector<uint32_t, 5> v5[2];
vector<uint32_t, 7> v7;
vector<uint32_t, 1> v1[2];
} buf140;
layout(set = 0, binding = 0, std430) buffer Buf430 {
vector<uint32_t, 5> v5[2];
vector<uint32_t, 7> v7;
vector<uint32_t, 1> v1[2];
} buf430;
layout(set = 0, binding = 0, scalar) buffer BufScalar {
vector<uint32_t, 5> v5[2];
vector<uint32_t, 7> v7;
vector<uint32_t, 1> v1[2];
} bufScalar;
layout(set = 0, binding = 1) uniform UBO {
vector<uint32_t, 5> v5[2];
vector<uint32_t, 7> v7;
vector<uint32_t, 1> v1[2];
} ubo;
layout (push_constant, scalar) uniform PC {
layout(offset = 0) vector<uint32_t, 5> v5;
layout(offset = 28) vector<uint32_t, 7> v7;
} pc;
layout(scalar, buffer_reference) buffer BufScalarRef {
vector<uint32_t, 5> v5[2];
vector<uint32_t, 7> v7;
vector<uint32_t, 1> v1[2];
};
shared vector<uint32_t, 9> s9;
shared vector<float, c0> s5;
void main()
{
vector<uint32_t, 1> v1;
vector<uint32_t, 5> v5;
vector<uint32_t, 7> v7;
vector<uint32_t, 9> v9;
vector<float, c0> vc;
BufScalarRef ref;
v1 = buf140.v1[0];
v1 = buf430.v1[1];
v1 = bufScalar.v1[1];
v1 = ubo.v1[1];
v1 = ref.v1[1];
v5 = buf140.v5[1];
v5 = buf430.v5[1];
v5 = bufScalar.v5[1];
v5 = ubo.v5[1];
v5 = pc.v5;
v5 = ref.v5[1];
v7 = buf140.v7;
v7 = buf430.v7;
v7 = bufScalar.v7;
v7 = ubo.v7;
v7 = pc.v7;
v7 = ref.v7;
v9 = s9;
vc = s5;
}
|