writer/hlsl: Fix continuing block emission

Inline the `continuing` block in the places where `continue` is called.

Simplifies the emission, and fixes emission of `let` statements in the loop.

Also fix random indenting of intrinsic functions.

Fixed: tint:744
Fixed: tint:818
Change-Id: I06994dbc724bc646e0435a1035b00760eaf5f5ab
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/51784
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: David Neto <dneto@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
This commit is contained in:
Ben Clayton
2021-05-20 21:31:37 +00:00
committed by Tint LUCI CQ
parent 0c978e9bbb
commit ada560b289
16 changed files with 2009 additions and 202 deletions

View File

@@ -1 +1,7 @@
SKIP: Failed to generate: error: pointers not supported in HLSL
[numthreads(1, 1, 1)]
void main() {
int i = 123;
const int use = (i + 1);
return;
}

View File

@@ -1 +1,8 @@
SKIP: Failed to generate: error: pointers not supported in HLSL
static int i = 123;
[numthreads(1, 1, 1)]
void main() {
const int use = (i + 1);
return;
}

View File

@@ -1 +1,12 @@
SKIP: Failed to generate: error: pointers not supported in HLSL
struct S {
int a;
};
ConstantBuffer<S> v : register(b0, space0);
[numthreads(1, 1, 1)]
void main() {
const int use = (v.a + 1);
return;
}

View File

@@ -1 +1,9 @@
SKIP: Failed to generate: error: pointers not supported in HLSL
groupshared int i;
[numthreads(1, 1, 1)]
void main() {
i = 123;
const int use = (i + 1);
return;
}