mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-05-28 18:21:22 +00:00
This transform breaks up matNx2<f32> matrices used in uniform buffers into column vectors, which fixes std140 layout rules. Used by the SPIR-V and GLSL backends. Re-enable tests that were disabled for these cases. Bug: tint:1632 Change-Id: I596d016582b4189a0b413d762b3e7eabd3504b22 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/100907 Kokoro: Kokoro <noreply+kokoro@google.com> Reviewed-by: Dan Sinclair <dsinclair@chromium.org> Commit-Queue: Ben Clayton <bclayton@chromium.org>
23 lines
344 B
WebGPU Shading Language
23 lines
344 B
WebGPU Shading Language
struct S {
|
|
before : i32,
|
|
m : mat4x2<f32>,
|
|
after : i32,
|
|
}
|
|
|
|
@group(0) @binding(0) var<uniform> u : array<S, 4>;
|
|
|
|
fn a(a : array<S, 4>) {}
|
|
fn b(s : S) {}
|
|
fn c(m : mat4x2<f32>) {}
|
|
fn d(v : vec2<f32>) {}
|
|
fn e(f : f32) {}
|
|
|
|
@compute @workgroup_size(1)
|
|
fn f() {
|
|
a(u);
|
|
b(u[2]);
|
|
c(u[2].m);
|
|
d(u[0].m[1].yx);
|
|
e(u[0].m[1].yx.x);
|
|
}
|