dawn-cmake/test/tint/builtins/gen/extractBits/e04f5d.wgsl.expected.msl
Ben Clayton cb6ddd2aa6 tint/writer/msl: Inline constant expressions
This is required to handle materialized values, and for constant
expressions.

Bug: tint:1504
Change-Id: Ic3ac62317241fa6f7009360128f222aeb56f62e4
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/92083
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
2022-06-01 10:08:29 +00:00

40 lines
758 B
Plaintext

#include <metal_stdlib>
using namespace metal;
int3 tint_extract_bits(int3 v, uint offset, uint count) {
uint const s = min(offset, 32u);
uint const e = min(32u, (s + count));
return extract_bits(v, s, (e - s));
}
void extractBits_e04f5d() {
int3 res = tint_extract_bits(int3(0), 1u, 1u);
}
struct tint_symbol {
float4 value [[position]];
};
float4 vertex_main_inner() {
extractBits_e04f5d();
return float4(0.0f);
}
vertex tint_symbol vertex_main() {
float4 const inner_result = vertex_main_inner();
tint_symbol wrapper_result = {};
wrapper_result.value = inner_result;
return wrapper_result;
}
fragment void fragment_main() {
extractBits_e04f5d();
return;
}
kernel void compute_main() {
extractBits_e04f5d();
return;
}