From b4023f715885ada9a2777ea3b0d6d9739860b39b Mon Sep 17 00:00:00 2001 From: Ellie Hermaszewska Date: Sat, 11 Oct 2025 01:42:43 +0900 Subject: implement dot products for 1 vectors (#8599) Closes https://github.com/shader-slang/slang/issues/8378 --- source/slang/hlsl.meta.slang | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'source') diff --git a/source/slang/hlsl.meta.slang b/source/slang/hlsl.meta.slang index 86e77c650..73bdee96e 100644 --- a/source/slang/hlsl.meta.slang +++ b/source/slang/hlsl.meta.slang @@ -8884,6 +8884,12 @@ __generic [require(cpp_cuda_glsl_hlsl_metal_spirv_wgsl, sm_4_0_version)] T dot(vector x, vector y) { + // Handle 1-vector case explicitly since many backends don't support it natively + if (N == 1) + { + return x[0] * y[0]; + } + __target_switch { case glsl: __intrinsic_asm "dot"; @@ -8906,6 +8912,12 @@ __generic [require(cpp_cuda_glsl_hlsl_metal_spirv_wgsl, sm_4_0_version)] T dot(vector x, vector y) { + // Handle 1-vector case explicitly since many backends don't support it natively + if (N == 1) + { + return x[0] * y[0]; + } + __target_switch { case hlsl: __intrinsic_asm "dot"; -- cgit v1.2.3