From c3c1cb6776eacdc01ea5bc197b635471960994e4 Mon Sep 17 00:00:00 2001 From: Jay Kwak <82421531+jkwak-work@users.noreply.github.com> Date: Thu, 20 Jun 2024 07:32:48 -0700 Subject: Disambiguate int type matrix multiply (#4425) Closes #4414 --- source/slang/hlsl.meta.slang | 1 + tests/bugs/gh-4414.slang | 10 ++++++++++ 2 files changed, 11 insertions(+) create mode 100644 tests/bugs/gh-4414.slang 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 mul(matrix left, vector right) } __generic [__readNone] +[OverloadRank(-1)] [require(cpp_cuda_glsl_hlsl_metal_spirv, sm_4_0_version)] vector mul(matrix left, vector 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); +} -- cgit v1.2.3