dawn-cmake/test/var/uses/workgroup.wgsl.expected.glsl
Stephen White 0b3dfef469 GLSL: call renamer transform from GLSL transform.
This significantly simplifies the calling code from Dawn.
It does require moving the SingleEntryPoint transform above the
renamer, since we need to call SEP with the original name. That is
probably also an optimization, since we do the subsequent transforms
with a culled AST.

Bug: tint:1268
Change-Id: I1f48ec0238ea76310742c60b119311747dd3dbac
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/80020
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
2022-02-10 16:22:28 +00:00

99 lines
1.2 KiB
GLSL

#version 310 es
shared int a;
void uses_a() {
a = (a + 1);
}
void main1(uint local_invocation_index) {
{
a = 0;
}
barrier();
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
shared int b;
void uses_b() {
b = (b * 2);
}
void main2(uint local_invocation_index) {
{
b = 0;
}
barrier();
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
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) {
{
a = 0;
b = 0;
}
barrier();
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
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;
}