mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-07-12 16:15:55 +00:00
Add a transform that pushes these into the entry point and then passes them by pointer to any functions that need them. Since WGSL does not allow non-function storage class at function-scope, add a DisableValidation attribute to bypass this check. Fixed: tint/726 Change-Id: Ic1f4cd691a54c19e77a60e8ba178508e4249bfd9 Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/51962 Kokoro: Kokoro <noreply+kokoro@google.com> Commit-Queue: James Price <jrprice@google.com> Auto-Submit: James Price <jrprice@google.com> Reviewed-by: Ben Clayton <bclayton@google.com>
55 lines
514 B
HLSL
55 lines
514 B
HLSL
static int a;
|
|
|
|
static 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();
|
|
}
|
|
|
|
[numthreads(1, 1, 1)]
|
|
void main1() {
|
|
a = 42;
|
|
uses_a();
|
|
return;
|
|
}
|
|
|
|
[numthreads(1, 1, 1)]
|
|
void main2() {
|
|
b = 7;
|
|
uses_b();
|
|
return;
|
|
}
|
|
|
|
[numthreads(1, 1, 1)]
|
|
void main3() {
|
|
outer();
|
|
no_uses();
|
|
return;
|
|
}
|
|
|
|
[numthreads(1, 1, 1)]
|
|
void main4() {
|
|
no_uses();
|
|
return;
|
|
}
|
|
|