diff options
Diffstat (limited to 'source/slang/core.meta.slang')
| -rw-r--r-- | source/slang/core.meta.slang | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/source/slang/core.meta.slang b/source/slang/core.meta.slang index 267f7b2d4..da1b47e13 100644 --- a/source/slang/core.meta.slang +++ b/source/slang/core.meta.slang @@ -603,6 +603,7 @@ void static_assert(constexpr bool condition, NativeString errorMessage); /// /// __magic_type(DifferentiableType) +[KnownBuiltin("IDifferentiable")] interface IDifferentiable { // Note: the compiler implementation requires the `Differential` associated type to be defined @@ -645,6 +646,7 @@ interface IDifferentiable /// @remarks Support for this interface is still experimental and subject to change. /// __magic_type(DifferentiablePtrType) +[KnownBuiltin("IDifferentiablePtr")] interface IDifferentiablePtrType { __builtin_requirement($( (int)BuiltinRequirementKind::DifferentialPtrType) ) @@ -2598,20 +2600,20 @@ for(auto fixity : kIncDecFixities) $(fixity.qual) __generic<T : __BuiltinArithmeticType> [__unsafeForceInlineEarly] -T operator$(op.name)(in out T value) -{$(fixity.bodyPrefix) value = value $(op.binOp) T(1); return $(fixity.returnVal); } +T operator$(op.name)( in out T value) +{ $(fixity.bodyPrefix) value = value $(op.binOp) __builtin_cast<T>(1); return $(fixity.returnVal); } $(fixity.qual) __generic<T : __BuiltinArithmeticType, let N : int> [__unsafeForceInlineEarly] vector<T,N> operator$(op.name)(in out vector<T,N> value) -{$(fixity.bodyPrefix) value = value $(op.binOp) T(1); return $(fixity.returnVal); } +{$(fixity.bodyPrefix) value = value $(op.binOp) __builtin_cast<T>(1); return $(fixity.returnVal); } $(fixity.qual) __generic<T : __BuiltinArithmeticType, let R : int, let C : int, let L : int> [__unsafeForceInlineEarly] matrix<T,R,C> operator$(op.name)(in out matrix<T,R,C,L> value) -{$(fixity.bodyPrefix) value = value $(op.binOp) T(1); return $(fixity.returnVal); } +{$(fixity.bodyPrefix) value = value $(op.binOp) __builtin_cast<T>(1); return $(fixity.returnVal); } $(fixity.qual) __generic<T, let addrSpace : uint64_t> |
