#version 310 es | |
struct mat4x2_f32 { | |
vec2 col0; | |
vec2 col1; | |
vec2 col2; | |
vec2 col3; | |
}; | |
layout(binding = 0, std140) uniform u_block_std140_ubo { | |
mat4x2_f32 inner[4]; | |
} u; | |
mat4x2 conv_mat4x2_f32(mat4x2_f32 val) { | |
return mat4x2(val.col0, val.col1, val.col2, val.col3); | |
} | |
void f() { | |
mat2x4 t = transpose(conv_mat4x2_f32(u.inner[2u])); | |
float l = length(u.inner[0u].col1.yx); | |
float a = abs(u.inner[0u].col1.yx[0u]); | |
} | |
layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in; | |
void main() { | |
f(); | |
return; | |
} |