mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-07-15 17:45:58 +00:00
And remove the u32 overload of frexp (it's not in the spec). Brings the number of failing tint end to end tests for MSL down to 19/1098. The WG still haven't found consensus on reworking these two intrinsics. It's very likely that their signature will change so that they return a structure instead of returning a value and outputing another as a pointer. Until the WG makes a decision, let's implement these according to the current spec. Some overloads are still failing due to MSL missing overloads of the pointer parameter being in the `threadgroup` address space. I'm holding off fixing these until we know what's happening with these intrinsics. See also: https://github.com/gpuweb/gpuweb/issues/1480 https://github.com/gpuweb/gpuweb/issues/1846 Change-Id: Ib6764e6659d840db41bc65fed2b8b283d1056c3d Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/57421 Commit-Queue: Ben Clayton <bclayton@chromium.org> Commit-Queue: Ben Clayton <bclayton@google.com> Kokoro: Ben Clayton <bclayton@google.com> Reviewed-by: James Price <jrprice@google.com>
29 lines
448 B
Plaintext
29 lines
448 B
Plaintext
#include <metal_stdlib>
|
|
|
|
using namespace metal;
|
|
struct tint_symbol {
|
|
float4 value [[position]];
|
|
};
|
|
|
|
void modf_a54eca() {
|
|
float2 arg_1 = 0.0f;
|
|
float2 res = modf(float2(), *(&(arg_1)));
|
|
}
|
|
|
|
vertex tint_symbol vertex_main() {
|
|
modf_a54eca();
|
|
tint_symbol const tint_symbol_1 = {.value=float4()};
|
|
return tint_symbol_1;
|
|
}
|
|
|
|
fragment void fragment_main() {
|
|
modf_a54eca();
|
|
return;
|
|
}
|
|
|
|
kernel void compute_main() {
|
|
modf_a54eca();
|
|
return;
|
|
}
|
|
|