mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-07-03 03:35:59 +00:00
Similar to the handling of packed values in the arithmetic operators the shift operators need to cast to the unpacked type before doing the as_type casts. Bug: tint:1542 Change-Id: I4289c45ab0a067ce122f61675fe5e251a83b6f8b Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/105720 Kokoro: Kokoro <noreply+kokoro@google.com> Reviewed-by: Ben Clayton <bclayton@google.com> Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
12 lines
224 B
Plaintext
12 lines
224 B
Plaintext
#include <metal_stdlib>
|
|
|
|
using namespace metal;
|
|
struct S {
|
|
/* 0x0000 */ int4 a;
|
|
};
|
|
|
|
void foo(device S* const tint_symbol) {
|
|
(*(tint_symbol)).a = as_type<int4>((as_type<uint4>(int4((*(tint_symbol)).a)) << uint4(2u)));
|
|
}
|
|
|