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,10 +1,13 @@
SKIP: FAILED
#version 310 es
@group(0) @binding(0) var<storage, read_write> a : array<u32>;
fn main() {
a[1]++;
layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
void unused_entry_point() {
return;
}
layout(binding = 0, std430) buffer a_block_1 {
uint inner[];
} a;
void tint_symbol() {
a.inner[1] = (a.inner[1] + 1u);
}
Failed to generate: error: unknown statement type: tint::ast::IncrementDecrementStatement