| // 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]; | |
| } |