nvk/sm90: fix su atom vs atom encoding
The suatom is encoded different to atom. Reviewed-by: Mel Henning <mhenning@darkrefraction.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35484>
This commit is contained in:
@@ -2873,7 +2873,7 @@ impl SM70Op for OpSuAtom {
|
||||
e.set_eviction_priority(&self.mem_eviction_priority);
|
||||
|
||||
e.set_bit(72, false); // .BA
|
||||
e.set_atom_type(self.atom_type);
|
||||
e.set_atom_type(self.atom_type, true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3069,8 +3069,8 @@ impl SM70Encoder<'_> {
|
||||
);
|
||||
}
|
||||
|
||||
fn set_atom_type(&mut self, atom_type: AtomType) {
|
||||
if self.sm >= 90 {
|
||||
fn set_atom_type(&mut self, atom_type: AtomType, su: bool) {
|
||||
if self.sm >= 90 && !su {
|
||||
// Float/int is differentiated by opcode
|
||||
self.set_field(
|
||||
73..77,
|
||||
@@ -3194,7 +3194,7 @@ impl SM70Op for OpAtom {
|
||||
e.set_dst(&self.dst);
|
||||
e.set_reg_src(24..32, &self.addr);
|
||||
e.set_field(40..64, self.addr_offset);
|
||||
e.set_atom_type(self.atom_type);
|
||||
e.set_atom_type(self.atom_type, false);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user