diff --git a/src/nouveau/compiler/nak_encode_sm75.rs b/src/nouveau/compiler/nak_encode_sm75.rs index 101e01b7dcc..16b8fdb9324 100644 --- a/src/nouveau/compiler/nak_encode_sm75.rs +++ b/src/nouveau/compiler/nak_encode_sm75.rs @@ -1489,7 +1489,7 @@ impl SM75Instr { self.set_field(74..76, op.access.comps - 1); self.set_field(76..77, op.access.patch); self.set_field(77..78, op.access.flags); - self.set_field(79..80, op.access.out_load); + self.set_field(79..80, op.access.output); } fn encode_ast(&mut self, op: &OpASt) { @@ -1503,7 +1503,7 @@ impl SM75Instr { self.set_field(74..76, op.access.comps - 1); self.set_field(76..77, op.access.patch); self.set_field(77..78, op.access.flags); - assert!(!op.access.out_load); + assert!(op.access.output); } fn encode_ipa(&mut self, op: &OpIpa) { diff --git a/src/nouveau/compiler/nak_from_nir.rs b/src/nouveau/compiler/nak_from_nir.rs index d55b3aa87d2..4ae7f28940c 100644 --- a/src/nouveau/compiler/nak_from_nir.rs +++ b/src/nouveau/compiler/nak_from_nir.rs @@ -1421,7 +1421,7 @@ impl<'a> ShaderFromNir<'a> { addr: addr, comps: comps, patch: false, - out_load: false, + output: false, flags: 0, }; @@ -1758,7 +1758,7 @@ impl<'a> ShaderFromNir<'a> { addr: addr, comps: comps, patch: false, - out_load: false, + output: true, flags: 0, }; diff --git a/src/nouveau/compiler/nak_ir.rs b/src/nouveau/compiler/nak_ir.rs index 6ea28ab706c..9e390dcbda1 100644 --- a/src/nouveau/compiler/nak_ir.rs +++ b/src/nouveau/compiler/nak_ir.rs @@ -1919,7 +1919,7 @@ pub struct AttrAccess { pub addr: u16, pub comps: u8, pub patch: bool, - pub out_load: bool, + pub output: bool, pub flags: u8, } @@ -3328,7 +3328,14 @@ pub struct OpALd { impl fmt::Display for OpALd { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - write!(f, "ALD {} a", self.dst)?; + write!(f, "ALD")?; + if self.access.output { + write!(f, ".O")?; + } + if self.access.patch { + write!(f, ".P")?; + } + write!(f, " {} a", self.dst)?; if !self.vtx.is_zero() { write!(f, "[{}]", self.vtx)?; } @@ -3357,7 +3364,11 @@ pub struct OpASt { impl fmt::Display for OpASt { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - write!(f, "AST a")?; + write!(f, "AST")?; + if self.access.patch { + write!(f, ".P")?; + } + write!(f, " a")?; if !self.vtx.is_zero() { write!(f, "[{}]", self.vtx)?; }