| // Covers buffer_type descriptors nested in a structured resourceheap. |
| #version 460 |
| #extension GL_EXT_descriptor_heap : require |
| #extension GL_EXT_structured_descriptor_heap : require |
| #extension GL_EXT_scalar_block_layout : require |
| |
| layout(local_size_x = 1) in; |
| |
| layout(buffer_type, scalar) buffer DataBuffer { |
| uint data0; |
| uint data1; |
| }; |
| |
| struct Material { |
| vec4 data0; |
| DataBuffer dataBuffer; |
| }; |
| |
| layout(heap_offset = 1024) resourceheap BufferHeap { |
| uint count; |
| DataBuffer dataBuffer; |
| Material materials[]; |
| } bufferHeap; |
| |
| void main() |
| { |
| bufferHeap.dataBuffer.data1 = bufferHeap.materials[3].dataBuffer.data1; |
| } |