2cc374a0c8
Buffer objects can contain arbitrary pointers to blocks. We can also implement ConvertPtrToU and ConvertUToPtr. The latter can cast a uint64_t to any type as it pleases, so we will need to generate fake buffer reference blocks to be able to cast the type.
22 lines
399 B
Plaintext
22 lines
399 B
Plaintext
#version 450
|
|
#extension GL_ARB_gpu_shader_int64 : require
|
|
#extension GL_EXT_buffer_reference : require
|
|
layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
|
|
|
|
layout(buffer_reference) buffer uint0_Pointer
|
|
{
|
|
uint value[];
|
|
};
|
|
|
|
layout(push_constant, std430) uniform _6_14
|
|
{
|
|
uint64_t _m0;
|
|
} _14;
|
|
|
|
void main()
|
|
{
|
|
uint0_Pointer _5 = uint0_Pointer(_14._m0);
|
|
_5.value[10] = 20u;
|
|
}
|
|
|