summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJay Kwak <82421531+jkwak-work@users.noreply.github.com>2024-06-20 07:32:48 -0700
committerGitHub <noreply@github.com>2024-06-20 07:32:48 -0700
commitc3c1cb6776eacdc01ea5bc197b635471960994e4 (patch)
tree03f1abbb08983a000017b7058589759f11d06d6f
parent8c778870aa29853a28a350bdac6f0107e19a139f (diff)
Disambiguate int type matrix multiply (#4425)
Closes #4414
-rw-r--r--source/slang/hlsl.meta.slang1
-rw-r--r--tests/bugs/gh-4414.slang10
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);
+}