From 41e17d370d67a584fbac9bbbe435c057c18715f4 Mon Sep 17 00:00:00 2001 From: Ellie Hermaszewska Date: Fri, 27 Oct 2023 06:03:34 +0800 Subject: Make the exponent return value from frexp int (#3284) * Make the exponent return value from frexp int Fixes https://github.com/shader-slang/slang/issues/3282 * Update slang-llvm. --------- Co-authored-by: Yong He --- source/slang/hlsl.meta.slang | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'source') diff --git a/source/slang/hlsl.meta.slang b/source/slang/hlsl.meta.slang index 1d5c68a0d..92ccbe9c5 100644 --- a/source/slang/hlsl.meta.slang +++ b/source/slang/hlsl.meta.slang @@ -2888,18 +2888,20 @@ matrix frac(matrix x) // Split float into mantissa and exponent __generic +__target_intrinsic(cpp, "$P_frexp($0, $1)") +__target_intrinsic(cuda, "$P_frexp($0, $1)") __target_intrinsic(hlsl) __target_intrinsic(glsl) __target_intrinsic(spirv, "OpExtInst resultType resultId glsl450 Frexp _0 _1") [__readNone] -T frexp(T x, out T exp); +T frexp(T x, out int exp); __generic __target_intrinsic(hlsl) __target_intrinsic(glsl) __target_intrinsic(spirv, "OpExtInst resultType resultId glsl450 Frexp _0 _1") [__readNone] -vector frexp(vector x, out vector exp) +vector frexp(vector x, out vector exp) { VECTOR_MAP_BINARY(T, N, frexp, x, exp); } @@ -2907,7 +2909,7 @@ vector frexp(vector x, out vector exp) __generic __target_intrinsic(hlsl) [__readNone] -matrix frexp(matrix x, out matrix exp) +matrix frexp(matrix x, out matrix exp) { MATRIX_MAP_BINARY(T, N, M, frexp, x, exp); } -- cgit v1.2.3