blob: 03205ee8276e0d4c0044b5dded6d0023de108c5c [file] [log] [blame]
#version 450
struct RowMajor
{
mat4 B;
};
struct NestedRowMajor
{
RowMajor rm;
};
layout(set = 0, binding = 0, row_major) uniform UBO
{
mat4 A;
layout(column_major) mat4 C; // This should also be worked around.
};
layout(set = 0, binding = 1, row_major) uniform UBO2
{
RowMajor rm;
};
layout(set = 0, binding = 2, row_major) uniform UBO3
{
NestedRowMajor rm2;
};
layout(set = 0, binding = 3) uniform UBONoWorkaround
{
mat4 D;
};
layout(location = 0) in vec4 Clip;
layout(location = 0) out vec4 FragColor;
void main()
{
NestedRowMajor rm2_loaded = rm2;
FragColor = rm2_loaded.rm.B * rm.B * A * C * Clip;
FragColor += D * Clip;
FragColor += A[1] * Clip;
}