mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-08-05 03:35:56 +00:00
And call these helpers instead of inlining complex statements. Cleans up output, and helps prevent for-loops decaying to while loops. Change-Id: I6ac31b18ce6c5fac0e54e982f7db3bb298f7edb2 Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/58060 Auto-Submit: Ben Clayton <bclayton@google.com> Kokoro: Kokoro <noreply+kokoro@google.com> Commit-Queue: Ben Clayton <bclayton@chromium.org> Reviewed-by: David Neto <dneto@google.com>
28 lines
645 B
HLSL
28 lines
645 B
HLSL
float3 tint_frexp(float3 param_0, inout int3 param_1) {
|
|
float3 float_exp;
|
|
float3 significand = frexp(param_0, float_exp);
|
|
param_1 = int3(float_exp);
|
|
return significand;
|
|
}
|
|
|
|
groupshared int3 arg_1;
|
|
|
|
void frexp_40fc9b() {
|
|
float3 res = tint_frexp(float3(0.0f, 0.0f, 0.0f), arg_1);
|
|
}
|
|
|
|
struct tint_symbol_1 {
|
|
uint local_invocation_index : SV_GroupIndex;
|
|
};
|
|
|
|
[numthreads(1, 1, 1)]
|
|
void compute_main(tint_symbol_1 tint_symbol) {
|
|
const uint local_invocation_index = tint_symbol.local_invocation_index;
|
|
if ((local_invocation_index == 0u)) {
|
|
arg_1 = int3(0, 0, 0);
|
|
}
|
|
GroupMemoryBarrierWithGroupSync();
|
|
frexp_40fc9b();
|
|
return;
|
|
}
|