yum-mirror/glslang
git clone https://git.yummers.dev/yum-mirror/glslang
799ea066
main
1// Covers heap buffer layout qualifiers for inline buffer references and buffer types. 2#version 460 3#extension GL_EXT_descriptor_heap : require 4#extension GL_EXT_structured_descriptor_heap : require 5#extension GL_EXT_buffer_reference : require 6#extension GL_EXT_buffer_reference2 : require 7#extension GL_EXT_scalar_block_layout : require 8 9layout(local_size_x = 1) in; 10 11layout(buffer_type, std140) buffer Std140Type { 12 vec4 v; 13 uint x; 14}; 15 16layout(buffer_type, std430) buffer Std430Type { 17 vec4 v; 18 uint x; 19}; 20 21layout(buffer_type, scalar) buffer ScalarType { 22 vec3 v; 23 uint x; 24}; 25 26layout(heap_offset = 512) resourceheap LayoutHeap { 27 layout(buffer_reference, std140) buffer { 28 vec4 v; 29 uint x; 30 } inlineStd140; 31 layout(buffer_reference, std430) buffer { 32 vec4 v; 33 uint x; 34 } inlineStd430; 35 layout(buffer_reference, scalar) buffer { 36 vec3 v; 37 uint x; 38 } inlineScalar; 39 Std140Type typeStd140; 40 Std430Type typeStd430; 41 ScalarType typeScalar; 42} layoutHeap; 43 44layout(binding = 0, std430) buffer Result { 45 uint value; 46} resultBuffer; 47 48void main() 49{ 50 resultBuffer.value = layoutHeap.inlineStd140.x + 51 layoutHeap.inlineStd430.x + 52 layoutHeap.inlineScalar.x + 53 layoutHeap.typeStd140.x + 54 layoutHeap.typeStd430.x + 55 layoutHeap.typeScalar.x; 56}