From 0630bf9a6254de8ec69ef144d11d9ed4a432453c Mon Sep 17 00:00:00 2001 From: Robert Stepinski Date: Wed, 6 Mar 2019 21:45:37 -0500 Subject: Fix rsqrt intrinsic for GLSL (#881) * Add support for glsl inversesqrt intrinsic * fixup for test failure --- source/slang/hlsl.meta.slang | 14 +++++++++++--- source/slang/hlsl.meta.slang.h | 14 +++++++++++--- 2 files changed, 22 insertions(+), 6 deletions(-) (limited to 'source') diff --git a/source/slang/hlsl.meta.slang b/source/slang/hlsl.meta.slang index 4135a9051..4044600aa 100644 --- a/source/slang/hlsl.meta.slang +++ b/source/slang/hlsl.meta.slang @@ -1156,9 +1156,17 @@ __generic vector round(vector< __generic matrix round(matrix x); // Reciprocal of square root -__generic T rsqrt(T x); -__generic vector rsqrt(vector x); -__generic matrix rsqrt(matrix x); +__generic +__target_intrinsic(glsl, "inversesqrt($0)") +T rsqrt(T x); + +__generic +__target_intrinsic(glsl, "inversesqrt($0)") +vector rsqrt(vector x); + +__generic +__target_intrinsic(glsl, "inversesqrt($0)") +matrix rsqrt(matrix x); // Clamp value to [0,1] range __generic diff --git a/source/slang/hlsl.meta.slang.h b/source/slang/hlsl.meta.slang.h index 67d8d3cc0..94e42b045 100644 --- a/source/slang/hlsl.meta.slang.h +++ b/source/slang/hlsl.meta.slang.h @@ -1232,9 +1232,17 @@ SLANG_RAW("__generic vector ro SLANG_RAW("__generic matrix round(matrix x);\n") SLANG_RAW("\n") SLANG_RAW("// Reciprocal of square root\n") -SLANG_RAW("__generic T rsqrt(T x);\n") -SLANG_RAW("__generic vector rsqrt(vector x);\n") -SLANG_RAW("__generic matrix rsqrt(matrix x);\n") +SLANG_RAW("__generic\n") +SLANG_RAW("__target_intrinsic(glsl, \"inversesqrt($0)\")\n") +SLANG_RAW("T rsqrt(T x);\n") +SLANG_RAW("\n") +SLANG_RAW("__generic\n") +SLANG_RAW("__target_intrinsic(glsl, \"inversesqrt($0)\")\n") +SLANG_RAW("vector rsqrt(vector x);\n") +SLANG_RAW("\n") +SLANG_RAW("__generic\n") +SLANG_RAW("__target_intrinsic(glsl, \"inversesqrt($0)\")\n") +SLANG_RAW("matrix rsqrt(matrix x);\n") SLANG_RAW("\n") SLANG_RAW("// Clamp value to [0,1] range\n") SLANG_RAW("__generic\n") -- cgit v1.2.3