103 lines
1.3 KiB
GLSL
103 lines
1.3 KiB
GLSL
#version 310 es
|
|
precision mediump float;
|
|
|
|
shared int a;
|
|
void uses_a() {
|
|
a = (a + 1);
|
|
}
|
|
|
|
void main1(uint local_invocation_index) {
|
|
{
|
|
a = 0;
|
|
}
|
|
memoryBarrierShared();
|
|
a = 42;
|
|
uses_a();
|
|
}
|
|
|
|
layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
|
|
void main() {
|
|
main1(gl_LocalInvocationIndex);
|
|
return;
|
|
}
|
|
#version 310 es
|
|
precision mediump float;
|
|
|
|
shared int b;
|
|
void uses_b() {
|
|
b = (b * 2);
|
|
}
|
|
|
|
void main2(uint local_invocation_index_1) {
|
|
{
|
|
b = 0;
|
|
}
|
|
memoryBarrierShared();
|
|
b = 7;
|
|
uses_b();
|
|
}
|
|
|
|
layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
|
|
void main() {
|
|
main2(gl_LocalInvocationIndex);
|
|
return;
|
|
}
|
|
#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();
|
|
}
|
|
|
|
void main3(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 main() {
|
|
main3(gl_LocalInvocationIndex);
|
|
return;
|
|
}
|
|
#version 310 es
|
|
precision mediump float;
|
|
|
|
void no_uses() {
|
|
}
|
|
|
|
void main4() {
|
|
no_uses();
|
|
}
|
|
|
|
layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
|
|
void main() {
|
|
main4();
|
|
return;
|
|
}
|