dan sinclair 5ac2a365d9 Add const-eval for pack and unpack of 2x16float.
This CL adds const-eval for pack and unpack of 2x16 float values.

Bug: tint:1581
Change-Id: I59a1925148124e628c3771ca96d309fad045f27d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/109280
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
2022-11-09 20:04:37 +00:00

34 lines
597 B
Plaintext

#include <metal_stdlib>
using namespace metal;
void unpack2x16float_32a5cf() {
float2 res = float2(5.96046448e-08f, 0.0f);
}
struct tint_symbol {
float4 value [[position]];
};
float4 vertex_main_inner() {
unpack2x16float_32a5cf();
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() {
unpack2x16float_32a5cf();
return;
}
kernel void compute_main() {
unpack2x16float_32a5cf();
return;
}