38 lines
964 B
Plaintext
38 lines
964 B
Plaintext
|
#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);
|
||
|
}
|
||
|
|