dawn-cmake/test/layout/storage/mat2x2/f32.wgsl.expected.msl
Ben Clayton 97668c8c37 reader/spirv: Handle the MatrixStride decoration
Add `transform::DecomposeStridedMatrix`, which replaces matrix members of storage or uniform buffer structures, that have a [[stride]] decoration, into an array
of N column vectors.

This is required to correctly handle `mat2x2` matrices in UBOs, as std140 rules will expect a default stride of 16 bytes, when in WGSL the default structure layout expects a stride of 8 bytes.

Bug: tint:1047
Change-Id: If5ca3c6ec087bbc1ac31a8d9a657b99bf34042a4
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/59840
Reviewed-by: David Neto <dneto@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2021-07-27 08:17:29 +00:00

14 lines
198 B
Plaintext

#include <metal_stdlib>
using namespace metal;
struct SSBO {
/* 0x0000 */ float2x2 m;
};
kernel void f(device SSBO& ssbo [[buffer(0)]]) {
float2x2 const v = ssbo.m;
ssbo.m = v;
return;
}