James Price f6e5cc03bf Deprecate the @stride attribute
Update validation error for invalid uniform array element alignment.

Update tests to either remove the @stride attribute or use a different
element type.

Bug: tint:1381
Change-Id: I50b52cd78a34d9cd162fa5f2171a5fd35dcf3b79
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/77560
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2022-01-20 22:11:07 +00:00

31 lines
655 B
WebGPU Shading Language

struct Inner {
a : vec3<i32>;
b : i32;
c : vec3<u32>;
d : u32;
e : vec3<f32>;
f : f32;
g : mat2x3<f32>;
h : mat3x2<f32>;
i : array<vec4<i32>, 4>;
};
struct S {
arr : array<Inner>;
};
@binding(0) @group(0) var<storage, read_write> s : S;
@stage(compute) @workgroup_size(1)
fn main(@builtin(local_invocation_index) idx : u32) {
s.arr[idx].a = vec3<i32>();
s.arr[idx].b = i32();
s.arr[idx].c = vec3<u32>();
s.arr[idx].d = u32();
s.arr[idx].e = vec3<f32>();
s.arr[idx].f = f32();
s.arr[idx].g = mat2x3<f32>();
s.arr[idx].h = mat3x2<f32>();
s.arr[idx].i = array<vec4<i32>, 4>();
}