Ben Clayton 7103f51603 writer/msl: Fix swizzling on packed vectors
Metal 1.x does not support swizzling on packed_vec types.
Use array-index for single element selection (permitted on LHS and RHS of assignment)
Cast the packed_vec to a vec for multiple element swizzles (not permitted as the LHS of an assignment).

Fixed: tint:1249
Change-Id: I70cbb0c22a935b06b3905d24484bdc2edfb95fc2
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/67060
Commit-Queue: Ben Clayton <bclayton@google.com>
Kokoro: Ben Clayton <bclayton@google.com>
Reviewed-by: James Price <jrprice@google.com>
2021-10-20 16:12:33 +00:00

14 lines
240 B
HLSL

[numthreads(1, 1, 1)]
void unused_entry_point() {
return;
}
RWByteAddressBuffer U : register(u0, space0);
void f() {
U.Store3(0u, asuint(int3(1, 2, 3)));
U.Store(0u, asuint(1));
U.Store(4u, asuint(2));
U.Store(8u, asuint(3));
}