#version 450 #if defined(GL_ARB_gpu_shader_int64) #extension GL_ARB_gpu_shader_int64 : require #else #error No extension available for 64-bit integers. #endif #extension GL_EXT_buffer_reference : require #extension GL_EXT_buffer_reference_uvec2 : require layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in; layout(buffer_reference) buffer SomeBuffer; layout(buffer_reference, buffer_reference_align = 16, std430) buffer SomeBuffer { vec4 v; uint64_t a; uvec2 b; }; layout(push_constant, std430) uniform Registers { uint64_t address; uvec2 address2; } registers; void main() { SomeBuffer _44 = SomeBuffer(registers.address); SomeBuffer _45 = SomeBuffer(registers.address); SomeBuffer _46 = SomeBuffer(registers.address2); _44.v = vec4(1.0, 2.0, 3.0, 4.0); _45.v = vec4(1.0, 2.0, 3.0, 4.0); _46.v = vec4(1.0, 2.0, 3.0, 4.0); _44.a = uint64_t(_44); _45.a = uint64_t(_45); _46.b = uvec2(_46); }