nak/sm50: add support for isberd

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26723>
This commit is contained in:
Daniel Almeida
2023-11-30 09:34:28 -03:00
committed by Marge Bot
parent d558cb664a
commit 8b40a8715d

View File

@@ -2031,6 +2031,12 @@ impl SM50Instr {
self.set_reg_src(39..47, op.handle); self.set_reg_src(39..47, op.handle);
} }
fn encode_isberd(&mut self, op: &OpIsberd) {
self.set_opcode(0xefd0);
self.set_dst(op.dst);
self.set_reg_src(8..16, op.idx);
}
pub fn encode( pub fn encode(
instr: &Instr, instr: &Instr,
sm: u8, sm: u8,
@@ -2101,6 +2107,7 @@ impl SM50Instr {
Op::Kill(op) => si.encode_kill(op), Op::Kill(op) => si.encode_kill(op),
Op::CS2R(op) => si.encode_cs2r(op), Op::CS2R(op) => si.encode_cs2r(op),
Op::Nop(_) => si.encode_nop(), Op::Nop(_) => si.encode_nop(),
Op::Isberd(op) => si.encode_isberd(&op),
_ => panic!("Unhandled instruction {}", instr.op), _ => panic!("Unhandled instruction {}", instr.op),
} }