From c15e7ade4e27e1649d5b98f5854e9e52bb9e60ae Mon Sep 17 00:00:00 2001 From: Yong He Date: Fri, 2 Feb 2024 22:04:40 -0800 Subject: Atomics+Wave ops intrinsics fixes. (#3542) * Fix atomics intrinsics, increase kMaxDescriptorSets. * Add SPIRVASM to known non-differentiable insts. * Support fp16 wave ops when targeting glsl. * Fixes. * Fix vk validation errors. * Fix. * Add to allowed failures. --- source/slang/core.meta.slang | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'source/slang/core.meta.slang') diff --git a/source/slang/core.meta.slang b/source/slang/core.meta.slang index 3df11fffe..3ebb77f03 100644 --- a/source/slang/core.meta.slang +++ b/source/slang/core.meta.slang @@ -217,6 +217,9 @@ attribute_syntax [Differentiable(order:int = 0)] : BackwardDifferentiableAttribu __intrinsic_op($(kIROp_RequirePrelude)) void __requirePrelude(constexpr String preludeText); +__intrinsic_op($(kIROp_RequireGLSLExtension)) +void __requireGLSLExtension(constexpr String preludeText); + /// Interface to denote types as differentiable. /// Allows for user-specified differential types as /// well as automatic generation, for when the associated type @@ -2254,6 +2257,10 @@ __generic __intrinsic_op($(kIROp_IsFloat)) bool __isFloat_impl(T t); +__generic +__intrinsic_op($(kIROp_IsHalf)) +bool __isHalf_impl(T t); + __generic [__unsafeForceInlineEarly] bool __isFloat() @@ -2261,6 +2268,13 @@ bool __isFloat() return __isFloat_impl(__declVal()); } +__generic +[__unsafeForceInlineEarly] +bool __isHalf() +{ + return __isHalf_impl(__declVal()); +} + __generic __intrinsic_op($(kIROp_IsUnsignedInt)) bool __isUnsignedInt_impl(T t); -- cgit v1.2.3