From d433f4e8bf886b44ce09944af24adb238ea92700 Mon Sep 17 00:00:00 2001 From: Faith Ekstrand Date: Wed, 2 Jul 2025 14:38:36 -0400 Subject: [PATCH] nak: Encode ureg handle sources for surface ops on Blackwell At least I assume this is a handle. It shows up on SM120 and it looks very much like the texture thing. Part-of: --- src/nouveau/compiler/nak/sm70_encode.rs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/nouveau/compiler/nak/sm70_encode.rs b/src/nouveau/compiler/nak/sm70_encode.rs index b39c6672e11..695c79dd392 100644 --- a/src/nouveau/compiler/nak/sm70_encode.rs +++ b/src/nouveau/compiler/nak/sm70_encode.rs @@ -2906,6 +2906,9 @@ impl SM70Op for OpSuLd { e.set_reg_src(24..32, &self.coord); e.set_reg_src(64..72, &self.handle); e.set_pred_dst(81..84, &self.fault); + if e.sm >= 120 { + e.set_ureg_src(48..56, &Src::ZERO); // handle + } e.set_image_dim(61..64, self.image_dim); e.set_mem_order(&self.mem_order); @@ -2933,6 +2936,9 @@ impl SM70Op for OpSuSt { e.set_reg_src(24..32, &self.coord); e.set_reg_src(32..40, &self.data); e.set_reg_src(64..72, &self.handle); + if e.sm >= 120 { + e.set_ureg_src(48..56, &Src::ZERO); // handle + } e.set_image_dim(61..64, self.image_dim); e.set_mem_order(&self.mem_order); @@ -2962,6 +2968,9 @@ impl SM70Op for OpSuAtom { e.set_reg_src(32..40, &self.data); e.set_reg_src(64..72, &self.handle); e.set_pred_dst(81..84, &self.fault); + if e.sm >= 120 { + e.set_ureg_src(48..56, &Src::ZERO); // handle + } e.set_image_dim(61..64, self.image_dim); e.set_mem_order(&self.mem_order);