diff options
| author | Tim Foley <tfoleyNV@users.noreply.github.com> | 2019-07-03 13:58:35 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-07-03 13:58:35 -0700 |
| commit | 691ebae763e29327249735d67fbb231c75b17840 (patch) | |
| tree | 56a96dc8abbadccd21e1ec129ac79a861f8dc7bc /source | |
| parent | 714b0881974965e8fcfbc57b452ef648290d14a1 (diff) | |
Fix declaration of scalar sincos() function. (#996)
The function was accidentally defined with a generic `int` parameter copy-pasted from the vector definition, but that made the scalar version impossible to call with inferred generic arguments, because there wasn't a way to infer `N` when it isn't used in the parameter list.
Includes a simple test case to confirm that the front-end no longer chokes on calls to scalar `sincos()`.
Diffstat (limited to 'source')
| -rw-r--r-- | source/slang/hlsl.meta.slang | 2 | ||||
| -rw-r--r-- | source/slang/hlsl.meta.slang.h | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/source/slang/hlsl.meta.slang b/source/slang/hlsl.meta.slang index e2d79e073..7c7c2c7fc 100644 --- a/source/slang/hlsl.meta.slang +++ b/source/slang/hlsl.meta.slang @@ -1231,7 +1231,7 @@ __generic<T : __BuiltinFloatingPointType, let N : int> vector<T,N> sin(vector<T, __generic<T : __BuiltinFloatingPointType, let N : int, let M : int> matrix<T,N,M> sin(matrix<T,N,M> x); // Sine and cosine -__generic<T : __BuiltinFloatingPointType, let N : int> void sincos(T x, out T s, out T c); +__generic<T : __BuiltinFloatingPointType> void sincos(T x, out T s, out T c); __generic<T : __BuiltinFloatingPointType, let N : int> void sincos(vector<T,N> x, out vector<T,N> s, out vector<T,N> c); __generic<T : __BuiltinFloatingPointType, let N : int, let M : int> void sincos(matrix<T,N,M> x, out matrix<T,N,M> s, out matrix<T,N,M> c); diff --git a/source/slang/hlsl.meta.slang.h b/source/slang/hlsl.meta.slang.h index fa018189c..84778f876 100644 --- a/source/slang/hlsl.meta.slang.h +++ b/source/slang/hlsl.meta.slang.h @@ -1307,7 +1307,7 @@ SLANG_RAW("__generic<T : __BuiltinFloatingPointType, let N : int> vector<T,N> si SLANG_RAW("__generic<T : __BuiltinFloatingPointType, let N : int, let M : int> matrix<T,N,M> sin(matrix<T,N,M> x);\n") SLANG_RAW("\n") SLANG_RAW("// Sine and cosine\n") -SLANG_RAW("__generic<T : __BuiltinFloatingPointType, let N : int> void sincos(T x, out T s, out T c);\n") +SLANG_RAW("__generic<T : __BuiltinFloatingPointType> void sincos(T x, out T s, out T c);\n") SLANG_RAW("__generic<T : __BuiltinFloatingPointType, let N : int> void sincos(vector<T,N> x, out vector<T,N> s, out vector<T,N> c);\n") SLANG_RAW("__generic<T : __BuiltinFloatingPointType, let N : int, let M : int> void sincos(matrix<T,N,M> x, out matrix<T,N,M> s, out matrix<T,N,M> c);\n") SLANG_RAW("\n") |
