Ben Clayton 657e61d43d tint: Add and use new Std140 transform
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>
2022-09-01 22:12:19 +00:00

15 lines
254 B
WebGPU Shading Language

struct S {
before : i32,
m : mat4x2<f32>,
after : i32,
}
@group(0) @binding(0) var<uniform> u : array<S, 4>;
@compute @workgroup_size(1)
fn f() {
let t = transpose(u[2].m);
let l = length(u[0].m[1].yx);
let a = abs(u[0].m[1].yx.x);
}