| // Covers row_major/column_major layouts on direct heap matrix members. |
| #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(column_major, heap_offset = 2048) resourceheap MatrixHeap { |
| layout(row_major) mat4x3 rowMajorMatrix; |
| mat3x4 columnMajorMatrix; |
| texture2D textureDescriptor; |
| } matrixHeap; |
| |
| layout(binding = 0, std430) buffer Result { |
| vec3 rowMajorValue; |
| vec4 columnMajorValue; |
| } resultBuffer; |
| |
| void main() |
| { |
| resultBuffer.rowMajorValue = matrixHeap.rowMajorMatrix[0]; |
| resultBuffer.columnMajorValue = matrixHeap.columnMajorMatrix[0]; |
| } |