mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-05-14 03:11:29 +00:00
Use the new semantic constant value information to significantly reduce the complex indexing logic emitted for UBO accesses. This will dramatically reduce the number of `for` loops that are decayed to `while` loops. Change-Id: I1b0adb5edde2b4ed39c6beafc2e28106b86e0edd Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/57701 Kokoro: Kokoro <noreply+kokoro@google.com> Reviewed-by: James Price <jrprice@google.com>
34 lines
524 B
WebGPU Shading Language
34 lines
524 B
WebGPU Shading Language
struct Inner {
|
|
x : i32;
|
|
};
|
|
|
|
[[block]]
|
|
struct S {
|
|
a : vec3<i32>;
|
|
b : i32;
|
|
c : vec3<u32>;
|
|
d : u32;
|
|
e : vec3<f32>;
|
|
f : f32;
|
|
g : mat2x3<f32>;
|
|
h : mat3x2<f32>;
|
|
i : Inner;
|
|
j : [[stride(16)]] array<Inner, 4>;
|
|
};
|
|
|
|
[[binding(0), group(0)]] var<storage, read> s : S;
|
|
|
|
[[stage(compute), workgroup_size(1)]]
|
|
fn main() {
|
|
let a = s.a;
|
|
let b = s.b;
|
|
let c = s.c;
|
|
let d = s.d;
|
|
let e = s.e;
|
|
let f = s.f;
|
|
let g = s.g;
|
|
let h = s.h;
|
|
let i = s.i;
|
|
let j = s.j;
|
|
}
|