#version 310 es precision mediump float; shared int a; void uses_a() { a = (a + 1); } struct tint_symbol_1 { uint local_invocation_index; }; void main1_inner(uint local_invocation_index) { { a = 0; } memoryBarrierShared(); a = 42; uses_a(); } struct tint_symbol_3 { uint local_invocation_index_1; }; struct tint_symbol_5 { uint local_invocation_index_2; }; layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in; void main1(tint_symbol_1 tint_symbol) { main1_inner(tint_symbol.local_invocation_index); return; } void main() { tint_symbol_1 inputs; inputs.local_invocation_index = uint(gl_LocalInvocationIndex); main1(inputs); } #version 310 es precision mediump float; shared int b; void uses_b() { b = (b * 2); } struct tint_symbol_1 { uint local_invocation_index; }; struct tint_symbol_3 { uint local_invocation_index_1; }; void main2_inner(uint local_invocation_index_1) { { b = 0; } memoryBarrierShared(); b = 7; uses_b(); } struct tint_symbol_5 { uint local_invocation_index_2; }; layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in; void main2(tint_symbol_3 tint_symbol_2) { main2_inner(tint_symbol_2.local_invocation_index_1); return; } void main() { tint_symbol_3 inputs; inputs.local_invocation_index_1 = uint(gl_LocalInvocationIndex); main2(inputs); } #version 310 es precision mediump float; shared int a; shared int b; void uses_a() { a = (a + 1); } void uses_b() { b = (b * 2); } void uses_a_and_b() { b = a; } void no_uses() { } void outer() { a = 0; uses_a(); uses_a_and_b(); uses_b(); no_uses(); } struct tint_symbol_1 { uint local_invocation_index; }; struct tint_symbol_3 { uint local_invocation_index_1; }; struct tint_symbol_5 { uint local_invocation_index_2; }; void main3_inner(uint local_invocation_index_2) { { a = 0; b = 0; } memoryBarrierShared(); outer(); no_uses(); } layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in; void main3(tint_symbol_5 tint_symbol_4) { main3_inner(tint_symbol_4.local_invocation_index_2); return; } void main() { tint_symbol_5 inputs; inputs.local_invocation_index_2 = uint(gl_LocalInvocationIndex); main3(inputs); } #version 310 es precision mediump float; void no_uses() { } struct tint_symbol_1 { uint local_invocation_index; }; struct tint_symbol_3 { uint local_invocation_index_1; }; struct tint_symbol_5 { uint local_invocation_index_2; }; layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in; void main4() { no_uses(); return; } void main() { main4(); }