From 7826d7c486828d5208877452450ea875794f2e66 Mon Sep 17 00:00:00 2001 From: Faith Ekstrand Date: Tue, 6 May 2025 17:10:36 -0400 Subject: [PATCH] nak: Set lower_pack_64_4x16 Otherwise, these can cause infinite loops in optimization because there aren't _split variants and the optimizer tries to combine and split things infinitely. Reviewed-by: Mel Henning Cc: mesa-stable Part-of: (cherry picked from commit efd1cddbe90f4af26716adfb6a6cc12eca1d71b3) --- .pick_status.json | 2 +- src/nouveau/compiler/nak/api.rs | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.pick_status.json b/.pick_status.json index 7aebcdd76b6..01852849e88 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -4224,7 +4224,7 @@ "description": "nak: Set lower_pack_64_4x16", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": null, "notes": null diff --git a/src/nouveau/compiler/nak/api.rs b/src/nouveau/compiler/nak/api.rs index 86dc11d11c3..d9960a66149 100644 --- a/src/nouveau/compiler/nak/api.rs +++ b/src/nouveau/compiler/nak/api.rs @@ -106,6 +106,7 @@ fn nir_options(dev: &nv_device_info) -> nir_shader_compiler_options { op.lower_fsqrt = dev.sm < 52; op.lower_bitfield_extract = dev.sm >= 70; op.lower_bitfield_insert = true; + op.lower_pack_64_4x16 = true; op.lower_pack_half_2x16 = true; op.lower_pack_unorm_2x16 = true; op.lower_pack_snorm_2x16 = true;