From 3186d6659687069e8c0030deeff602550579ed42 Mon Sep 17 00:00:00 2001 From: Giovanni Mascellani Date: Fri, 11 Apr 2025 22:25:46 +0200 Subject: [PATCH] tests/hlsl: Do not test dst() on integer arguments with SM6. That seems to hit a DXC bug we're not interested into. --- tests/hlsl/distance.shader_test | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/tests/hlsl/distance.shader_test b/tests/hlsl/distance.shader_test index 7f6924a12..9eda2658c 100644 --- a/tests/hlsl/distance.shader_test +++ b/tests/hlsl/distance.shader_test @@ -44,8 +44,14 @@ float4 main() : SV_TARGET } [test] -todo(sm>=6) draw quad -probe (0, 0) rgba (1.0, 80.0, 3.0, 80.0) +% DXC generates very strange code here, the first component is emitted with: +% call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 0, +% float sitofp (ppc_fp128 0xM3FF00000000000000000000000000000 to float)) +% I don't know what's going on here, but the downstream compilers clearly don't +% like it: NVIDIA fails to create the PSO, AMD returns zero (instead of expected +% one) and WARP loses the device; it's not our bug, we can ignore it. +if(sm<6) draw quad +if(sm<6) probe (0, 0) rgba(1.0, 80.0, 3.0, 80.0) [pixel shader] float4 main() : SV_TARGET