From 35fea70555b53fc6daeb0323a3c071add8d334aa Mon Sep 17 00:00:00 2001 From: Gert Wollny Date: Thu, 2 Nov 2023 21:39:42 +0100 Subject: [PATCH] r600/sfn: Fixup component count only if intrinsic has it Fixes: 33d878e r600/sfn: Handle load_global in 64 to vec2 lowering Signed-off-by: Gert Wollny Part-of: (cherry picked from commit 28b79b2ea5d13f2499d78f903a335383bb38e5c1) --- .pick_status.json | 2 +- src/gallium/drivers/r600/sfn/sfn_nir_lower_64bit.cpp | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index 59381d8f34d..6a18ec0b7bd 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -854,7 +854,7 @@ "description": "r600/sfn: Fixup component count only if intrinsic has it", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "33d878eb584cad621906811dbf8466aed86d57e8", "notes": null diff --git a/src/gallium/drivers/r600/sfn/sfn_nir_lower_64bit.cpp b/src/gallium/drivers/r600/sfn/sfn_nir_lower_64bit.cpp index 6c82843ee51..b11c98c500a 100644 --- a/src/gallium/drivers/r600/sfn/sfn_nir_lower_64bit.cpp +++ b/src/gallium/drivers/r600/sfn/sfn_nir_lower_64bit.cpp @@ -1026,7 +1026,8 @@ Lower64BitToVec2::load_64_to_vec2(nir_intrinsic_instr *intr) intr->num_components *= 2; intr->def.bit_size = 32; intr->def.num_components *= 2; - nir_intrinsic_set_component(intr, nir_intrinsic_component(intr) * 2); + if (nir_intrinsic_has_component(intr)) + nir_intrinsic_set_component(intr, nir_intrinsic_component(intr) * 2); return NIR_LOWER_INSTR_PROGRESS; }