| #version 310 es | |
| layout(push_constant, std430) uniform PushMe | |
| { | |
| mat4 MVP; | |
| mat2 Rot; // The MatrixStride will be 8 here. | |
| float Arr[4]; | |
| } registers; | |
| layout(location = 0) in vec2 Rot; | |
| layout(location = 1) in vec4 Pos; | |
| layout(location = 0) out vec2 vRot; | |
| void main() | |
| { | |
| gl_Position = registers.MVP * Pos; | |
| vRot = registers.Rot * Rot + registers.Arr[2]; // Constant access should work even if array stride is just 4 here. | |
| } |