From 349c1e2cf4ef29cae24dda9ad5f8204386c54703 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 32236951c37..81921c977e0 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -44,7 +44,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 7e40cf4a4be..1251c382a2a 100644 --- a/src/nouveau/compiler/nak/api.rs +++ b/src/nouveau/compiler/nak/api.rs @@ -120,6 +120,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;