1617a3babSopenharmony_ci#version 450 2617a3babSopenharmony_ci 3617a3babSopenharmony_ci#extension GL_ARB_gpu_shader_int64 : enable 4617a3babSopenharmony_ci#extension GL_EXT_buffer_reference : enable 5617a3babSopenharmony_ci 6617a3babSopenharmony_cilayout(buffer_reference, std430) buffer blockType { 7617a3babSopenharmony_ci layout(offset = 0) int a; 8617a3babSopenharmony_ci layout(offset = 4) int b; 9617a3babSopenharmony_ci layout(offset = 8) int c; 10617a3babSopenharmony_ci layout(offset = 12) int d; 11617a3babSopenharmony_ci layout(offset = 16) int e; 12617a3babSopenharmony_ci}; 13617a3babSopenharmony_ci 14617a3babSopenharmony_cilayout(std430) buffer t2 { 15617a3babSopenharmony_ci blockType f; 16617a3babSopenharmony_ci blockType g; 17617a3babSopenharmony_ci} t; 18617a3babSopenharmony_ci 19617a3babSopenharmony_ciflat in uint64_t h, i; 20617a3babSopenharmony_ci 21617a3babSopenharmony_civoid main() { 22617a3babSopenharmony_ci 23617a3babSopenharmony_ci blockType b1[2] = blockType[2](blockType(h), blockType(i)); 24617a3babSopenharmony_ci b1[0].a = b1[1].b; 25617a3babSopenharmony_ci blockType b2 = blockType(h); 26617a3babSopenharmony_ci blockType b3 = blockType(i); 27617a3babSopenharmony_ci b2.a = b3.b; 28617a3babSopenharmony_ci uint64_t j = uint64_t(b2); 29617a3babSopenharmony_ci b2 = blockType(j+256); 30617a3babSopenharmony_ci} 31