dawn-cmake/test/intrinsics/gen/select/8fa62c.wgsl.expected.msl
James Price 077fe64b11 intrinsics: Add missing select() overload
WGSL supports select() with vectors, where the condition is a
scalar. To support this in SPIR-V versions older than 1.4, we need to
splat the condition operand to a vector of the same size as the
objects.

Fixed: tint:933
Change-Id: I571af46e74cd7bb24093524ccfed25a3ed612676
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/56340
Auto-Submit: James Price <jrprice@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-06-29 08:45:34 +00:00

28 lines
434 B
Plaintext

#include <metal_stdlib>
using namespace metal;
struct tint_symbol {
float4 value [[position]];
};
void select_8fa62c() {
int3 res = select(int3(), int3(), bool());
}
vertex tint_symbol vertex_main() {
select_8fa62c();
tint_symbol const tint_symbol_1 = {.value=float4()};
return tint_symbol_1;
}
fragment void fragment_main() {
select_8fa62c();
return;
}
kernel void compute_main() {
select_8fa62c();
return;
}