blob: b6a26967c23a768c27432c76ada3613dc58e3f44 [file] [log] [blame]
#version 310 es
#extension GL_AMD_gpu_shader_half_float : require
struct S {
int before;
f16mat4x2 m;
uint pad;
uint pad_1;
uint pad_2;
uint pad_3;
uint pad_4;
uint pad_5;
uint pad_6;
uint pad_7;
uint pad_8;
uint pad_9;
uint pad_10;
int after;
uint pad_11;
uint pad_12;
uint pad_13;
uint pad_14;
uint pad_15;
uint pad_16;
uint pad_17;
uint pad_18;
uint pad_19;
uint pad_20;
uint pad_21;
uint pad_22;
uint pad_23;
uint pad_24;
uint pad_25;
};
struct S_std140 {
int before;
f16vec2 m_0;
f16vec2 m_1;
f16vec2 m_2;
f16vec2 m_3;
uint pad;
uint pad_1;
uint pad_2;
uint pad_3;
uint pad_4;
uint pad_5;
uint pad_6;
uint pad_7;
uint pad_8;
uint pad_9;
uint pad_10;
int after;
uint pad_11;
uint pad_12;
uint pad_13;
uint pad_14;
uint pad_15;
uint pad_16;
uint pad_17;
uint pad_18;
uint pad_19;
uint pad_20;
uint pad_21;
uint pad_22;
uint pad_23;
uint pad_24;
uint pad_25;
};
layout(binding = 0, std140) uniform u_block_std140_ubo {
S_std140 inner[4];
} u;
shared S w[4];
S conv_S(S_std140 val) {
return S(val.before, f16mat4x2(val.m_0, val.m_1, val.m_2, val.m_3), val.pad, val.pad_1, val.pad_2, val.pad_3, val.pad_4, val.pad_5, val.pad_6, val.pad_7, val.pad_8, val.pad_9, val.pad_10, val.after, val.pad_11, val.pad_12, val.pad_13, val.pad_14, val.pad_15, val.pad_16, val.pad_17, val.pad_18, val.pad_19, val.pad_20, val.pad_21, val.pad_22, val.pad_23, val.pad_24, val.pad_25);
}
S[4] conv_arr4_S(S_std140 val[4]) {
S arr[4] = S[4](S(0, f16mat4x2(0.0hf, 0.0hf, 0.0hf, 0.0hf, 0.0hf, 0.0hf, 0.0hf, 0.0hf), 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u), S(0, f16mat4x2(0.0hf, 0.0hf, 0.0hf, 0.0hf, 0.0hf, 0.0hf, 0.0hf, 0.0hf), 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u), S(0, f16mat4x2(0.0hf, 0.0hf, 0.0hf, 0.0hf, 0.0hf, 0.0hf, 0.0hf, 0.0hf), 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u), S(0, f16mat4x2(0.0hf, 0.0hf, 0.0hf, 0.0hf, 0.0hf, 0.0hf, 0.0hf, 0.0hf), 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u));
{
for(uint i = 0u; (i < 4u); i = (i + 1u)) {
arr[i] = conv_S(val[i]);
}
}
return arr;
}
f16mat4x2 load_u_inner_2_m() {
return f16mat4x2(u.inner[2u].m_0, u.inner[2u].m_1, u.inner[2u].m_2, u.inner[2u].m_3);
}
void f(uint local_invocation_index) {
{
for(uint idx = local_invocation_index; (idx < 4u); idx = (idx + 1u)) {
uint i = idx;
S tint_symbol = S(0, f16mat4x2(f16vec2(0.0hf), f16vec2(0.0hf), f16vec2(0.0hf), f16vec2(0.0hf)), 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u);
w[i] = tint_symbol;
}
}
barrier();
w = conv_arr4_S(u.inner);
w[1] = conv_S(u.inner[2u]);
w[3].m = load_u_inner_2_m();
w[1].m[0] = u.inner[0u].m_1.yx;
}
layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
void main() {
f(gl_LocalInvocationIndex);
return;
}