diff options
| author | Jay Kwak <82421531+jkwak-work@users.noreply.github.com> | 2024-06-20 07:32:48 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-06-20 07:32:48 -0700 |
| commit | c3c1cb6776eacdc01ea5bc197b635471960994e4 (patch) | |
| tree | 03f1abbb08983a000017b7058589759f11d06d6f | |
| parent | 8c778870aa29853a28a350bdac6f0107e19a139f (diff) | |
Disambiguate int type matrix multiply (#4425)
Closes #4414
| -rw-r--r-- | source/slang/hlsl.meta.slang | 1 | ||||
| -rw-r--r-- | tests/bugs/gh-4414.slang | 10 |
2 files changed, 11 insertions, 0 deletions
diff --git a/source/slang/hlsl.meta.slang b/source/slang/hlsl.meta.slang index 24bbf1429..c01265369 100644 --- a/source/slang/hlsl.meta.slang +++ b/source/slang/hlsl.meta.slang @@ -10877,6 +10877,7 @@ vector<T,N> mul(matrix<T,N,M> left, vector<T,M> right) } __generic<T : __BuiltinLogicalType, let N : int, let M : int> [__readNone] +[OverloadRank(-1)] [require(cpp_cuda_glsl_hlsl_metal_spirv, sm_4_0_version)] vector<T,N> mul(matrix<T,N,M> left, vector<T,M> right) { diff --git a/tests/bugs/gh-4414.slang b/tests/bugs/gh-4414.slang new file mode 100644 index 000000000..99d537089 --- /dev/null +++ b/tests/bugs/gh-4414.slang @@ -0,0 +1,10 @@ +//TEST:SIMPLE(filecheck=CHK):-target hlsl -entry main -stage vertex + +void main() +{ + int2x2 a; + int4 b; + + //CHK-NOT:error 39999: ambiguous call + b.zw = mul(a, b.yx); +} |
