From e0b051da390cdd23de5702b71439f0f046057189 Mon Sep 17 00:00:00 2001 From: Faith Ekstrand Date: Thu, 23 May 2024 13:35:53 -0500 Subject: [PATCH] nak: Clean up bindless cbuf handles Take an SSARef instead of an SSAValue because they need to be vec2s. Also, rename BindlessGPR to BindlessUGPR because that's what it is. Part-of: --- src/nouveau/compiler/nak/encode_sm70.rs | 2 +- src/nouveau/compiler/nak/ir.rs | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/nouveau/compiler/nak/encode_sm70.rs b/src/nouveau/compiler/nak/encode_sm70.rs index 292238cd482..d4a43c5a105 100644 --- a/src/nouveau/compiler/nak/encode_sm70.rs +++ b/src/nouveau/compiler/nak/encode_sm70.rs @@ -226,7 +226,7 @@ impl SM70Instr { assert!(self.sm >= 75); let mut v = BitMutView::new_subset(self, range); - if let CBuf::BindlessGPR(reg) = cb.buf { + if let CBuf::BindlessUGPR(reg) = cb.buf { assert!(reg.base_idx() <= 63); assert!(reg.file() == RegFile::UGPR); v.set_field(0..8, reg.base_idx()); diff --git a/src/nouveau/compiler/nak/ir.rs b/src/nouveau/compiler/nak/ir.rs index 5d2d7cbac95..ddc040d2176 100644 --- a/src/nouveau/compiler/nak/ir.rs +++ b/src/nouveau/compiler/nak/ir.rs @@ -755,10 +755,10 @@ pub enum CBuf { Binding(u8), #[allow(dead_code)] - BindlessSSA(SSAValue), + BindlessSSA(SSARef), #[allow(dead_code)] - BindlessGPR(RegRef), + BindlessUGPR(RegRef), } impl fmt::Display for CBuf { @@ -766,7 +766,7 @@ impl fmt::Display for CBuf { match self { CBuf::Binding(idx) => write!(f, "c[{:#x}]", idx), CBuf::BindlessSSA(v) => write!(f, "cx[{}]", v), - CBuf::BindlessGPR(r) => write!(f, "cx[{}]", r), + CBuf::BindlessUGPR(r) => write!(f, "cx[{}]", r), } } } @@ -855,7 +855,7 @@ impl SrcRef { | SrcRef::SSA(_) => None, SrcRef::CBuf(cb) => match &cb.buf { CBuf::Binding(_) | CBuf::BindlessSSA(_) => None, - CBuf::BindlessGPR(reg) => Some(reg), + CBuf::BindlessUGPR(reg) => Some(reg), }, SrcRef::Reg(reg) => Some(reg), } @@ -869,8 +869,8 @@ impl SrcRef { | SrcRef::Imm32(_) | SrcRef::Reg(_) => &[], SrcRef::CBuf(cb) => match &cb.buf { - CBuf::Binding(_) | CBuf::BindlessGPR(_) => &[], - CBuf::BindlessSSA(ssa) => slice::from_ref(ssa), + CBuf::Binding(_) | CBuf::BindlessUGPR(_) => &[], + CBuf::BindlessSSA(ssa) => ssa.deref(), }, SrcRef::SSA(ssa) => ssa.deref(), } @@ -885,8 +885,8 @@ impl SrcRef { | SrcRef::Imm32(_) | SrcRef::Reg(_) => &mut [], SrcRef::CBuf(cb) => match &mut cb.buf { - CBuf::Binding(_) | CBuf::BindlessGPR(_) => &mut [], - CBuf::BindlessSSA(ssa) => slice::from_mut(ssa), + CBuf::Binding(_) | CBuf::BindlessUGPR(_) => &mut [], + CBuf::BindlessSSA(ssa) => ssa.deref_mut(), }, SrcRef::SSA(ssa) => ssa.deref_mut(), }