#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. | |
} |