diff options
Diffstat (limited to 'source/slang/slang-stdlib.cpp')
| -rw-r--r-- | source/slang/slang-stdlib.cpp | 90 |
1 files changed, 72 insertions, 18 deletions
diff --git a/source/slang/slang-stdlib.cpp b/source/slang/slang-stdlib.cpp index 09958ddab..bcc87b201 100644 --- a/source/slang/slang-stdlib.cpp +++ b/source/slang/slang-stdlib.cpp @@ -399,29 +399,83 @@ __generic<T : __BuiltinArithmeticType> __intrinsic vector<T,3> cross(vector<T,3> __intrinsic int4 D3DCOLORtoUBYTE4(float4 x); // Partial-difference derivatives -__generic<T : __BuiltinFloatingPointType> __intrinsic T ddx(T x); -__generic<T : __BuiltinFloatingPointType, let N : int> __intrinsic vector<T,N> ddx(vector<T,N> x); -__generic<T : __BuiltinFloatingPointType, let N : int, let M : int> __intrinsic matrix<T,N,M> ddx(matrix<T,N,M> x); +__generic<T : __BuiltinFloatingPointType> +__intrinsic(glsl, dFdx) +__intrinsic +T ddx(T x); +__generic<T : __BuiltinFloatingPointType, let N : int> +__intrinsic(glsl, dFdx) +__intrinsic +vector<T,N> ddx(vector<T,N> x); +__generic<T : __BuiltinFloatingPointType, let N : int, let M : int> +__intrinsic(glsl, dFdx) +__intrinsic +matrix<T,N,M> ddx(matrix<T,N,M> x); -__generic<T : __BuiltinFloatingPointType> __intrinsic T ddx_coarse(T x); -__generic<T : __BuiltinFloatingPointType, let N : int> __intrinsic vector<T,N> ddx_coarse(vector<T,N> x); -__generic<T : __BuiltinFloatingPointType, let N : int, let M : int> __intrinsic matrix<T,N,M> ddx_coarse(matrix<T,N,M> x); +__generic<T : __BuiltinFloatingPointType> +__intrinsic(glsl, dFdxCoarse) +__intrinsic +T ddx_coarse(T x); +__generic<T : __BuiltinFloatingPointType, let N : int> +__intrinsic(glsl, dFdxCoarse) +__intrinsic +vector<T,N> ddx_coarse(vector<T,N> x); +__generic<T : __BuiltinFloatingPointType, let N : int, let M : int> +__intrinsic(glsl, dFdxCoarse) +__intrinsic +matrix<T,N,M> ddx_coarse(matrix<T,N,M> x); -__generic<T : __BuiltinFloatingPointType> __intrinsic T ddx_fine(T x); -__generic<T : __BuiltinFloatingPointType, let N : int> __intrinsic vector<T,N> ddx_fine(vector<T,N> x); -__generic<T : __BuiltinFloatingPointType, let N : int, let M : int> __intrinsic matrix<T,N,M> ddx_fine(matrix<T,N,M> x); +__generic<T : __BuiltinFloatingPointType> +__intrinsic(glsl, dFdxFine) +__intrinsic +T ddx_fine(T x); +__generic<T : __BuiltinFloatingPointType, let N : int> +__intrinsic(glsl, dFdxFine) +__intrinsic +vector<T,N> ddx_fine(vector<T,N> x); +__generic<T : __BuiltinFloatingPointType, let N : int, let M : int> +__intrinsic(glsl, dFdxFine) +__intrinsic +matrix<T,N,M> ddx_fine(matrix<T,N,M> x); -__generic<T : __BuiltinFloatingPointType> __intrinsic T ddy(T x); -__generic<T : __BuiltinFloatingPointType, let N : int> __intrinsic vector<T,N> ddy(vector<T,N> x); -__generic<T : __BuiltinFloatingPointType, let N : int, let M : int> __intrinsic matrix<T,N,M> ddy(matrix<T,N,M> x); +__generic<T : __BuiltinFloatingPointType> +__intrinsic(glsl, dFdy) +__intrinsic +T ddy(T x); +__generic<T : __BuiltinFloatingPointType, let N : int> +__intrinsic(glsl, dFdy) +__intrinsic +vector<T,N> ddy(vector<T,N> x); +__generic<T : __BuiltinFloatingPointType, let N : int, let M : int> +__intrinsic(glsl, dFdy) +__intrinsic + matrix<T,N,M> ddy(matrix<T,N,M> x); -__generic<T : __BuiltinFloatingPointType> __intrinsic T ddy_coarse(T x); -__generic<T : __BuiltinFloatingPointType, let N : int> __intrinsic vector<T,N> ddy_coarse(vector<T,N> x); -__generic<T : __BuiltinFloatingPointType, let N : int, let M : int> __intrinsic matrix<T,N,M> ddy_coarse(matrix<T,N,M> x); +__generic<T : __BuiltinFloatingPointType> +__intrinsic(glsl, dFdyCoarse) +__intrinsic +T ddy_coarse(T x); +__generic<T : __BuiltinFloatingPointType, let N : int> +__intrinsic(glsl, dFdyCoarse) +__intrinsic +vector<T,N> ddy_coarse(vector<T,N> x); +__generic<T : __BuiltinFloatingPointType, let N : int, let M : int> +__intrinsic(glsl, dFdyCoarse) +__intrinsic +matrix<T,N,M> ddy_coarse(matrix<T,N,M> x); -__generic<T : __BuiltinFloatingPointType> __intrinsic T ddy_fine(T x); -__generic<T : __BuiltinFloatingPointType, let N : int> __intrinsic vector<T,N> ddy_fine(vector<T,N> x); -__generic<T : __BuiltinFloatingPointType, let N : int, let M : int> __intrinsic matrix<T,N,M> ddy_fine(matrix<T,N,M> x); +__generic<T : __BuiltinFloatingPointType> +__intrinsic(glsl, dFdyFine) +__intrinsic +T ddy_fine(T x); +__generic<T : __BuiltinFloatingPointType, let N : int> +__intrinsic(glsl, dFdyFine) +__intrinsic +vector<T,N> ddy_fine(vector<T,N> x); +__generic<T : __BuiltinFloatingPointType, let N : int, let M : int> +__intrinsic(glsl, dFdyFine) +__intrinsic +matrix<T,N,M> ddy_fine(matrix<T,N,M> x); // Radians to degrees |
