Add support for increment/decrement statements

Refactor the ExpandCompoundAssignment transform to handle these
statements, which delivers support for all of the non-WGSL backends.

Fixed: tint:1488
Change-Id: I96cdc31851c61f6d92d296447d0b0637907d5fe5
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/86004
Reviewed-by: Ben Clayton <bclayton@google.com>
This commit is contained in:
James Price
2022-04-07 13:42:45 +00:00
parent b02fe31e46
commit d68d3a9809
76 changed files with 2052 additions and 838 deletions

View File

@@ -1,11 +1,13 @@
SKIP: FAILED
@group(0) @binding(0) var<storage, read_write> i : u32;
fn main() {
for(i++; (i < 10u); ) {
}
[numthreads(1, 1, 1)]
void unused_entry_point() {
return;
}
Failed to generate: error: cannot modify value of type 'u32'
RWByteAddressBuffer i : register(u0, space0);
void main() {
{
[loop] for(i.Store(0u, asuint((i.Load(0u) + 1u))); (i.Load(0u) < 10u); ) {
}
}
}