dawn-cmake/test/tint/builtins/gen/var/frexp/5f47bf.wgsl.expected.dxc.hlsl
Antonio Maiorano 52cd8caa07 tint/hlsl: fix frexp always returning positive values for fractional part
Bug: tint:1876
Change-Id: Ic56b37918fd1a2a42442b517985a49f10d85159d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/124501
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-03-16 21:31:15 +00:00

43 lines
885 B
HLSL

struct frexp_result_vec2_f16 {
vector<float16_t, 2> fract;
int2 exp;
};
frexp_result_vec2_f16 tint_frexp(vector<float16_t, 2> param_0) {
vector<float16_t, 2> exp;
vector<float16_t, 2> fract = sign(param_0) * frexp(param_0, exp);
frexp_result_vec2_f16 result = {fract, int2(exp)};
return result;
}
void frexp_5f47bf() {
vector<float16_t, 2> arg_0 = (float16_t(1.0h)).xx;
frexp_result_vec2_f16 res = tint_frexp(arg_0);
}
struct tint_symbol {
float4 value : SV_Position;
};
float4 vertex_main_inner() {
frexp_5f47bf();
return (0.0f).xxxx;
}
tint_symbol vertex_main() {
const float4 inner_result = vertex_main_inner();
tint_symbol wrapper_result = (tint_symbol)0;
wrapper_result.value = inner_result;
return wrapper_result;
}
void fragment_main() {
frexp_5f47bf();
return;
}
[numthreads(1, 1, 1)]
void compute_main() {
frexp_5f47bf();
return;
}