graphics: implement RDNA2 alignbyte shader opcode

This commit is contained in:
nmzik
2026-08-15 08:44:20 +02:00
parent 30d57bed06
commit 13e87a8e58
9 changed files with 54 additions and 0 deletions
@@ -618,6 +618,7 @@ std::string OpcodeToString(Opcode opcode) {
case Opcode::VBfeI32: return "v_bfe_i32";
case Opcode::VBfiB32: return "v_bfi_b32";
case Opcode::VAlignbitB32: return "v_alignbit_b32";
case Opcode::VAlignbyteB32: return "v_alignbyte_b32";
case Opcode::VMin3F32: return "v_min3_f32";
case Opcode::VMin3I32: return "v_min3_i32";
case Opcode::VMin3U32: return "v_min3_u32";
@@ -216,6 +216,7 @@ enum class Opcode {
VBfeI32,
VBfiB32,
VAlignbitB32,
VAlignbyteB32,
VMin3F32,
VMin3I32,
VMin3U32,
@@ -272,6 +272,7 @@ constexpr OpcodeMap VOP3_OPS[] = {
{0x371u, Opcode::VAndOrB32}, {0x372u, Opcode::VOr3B32},
{0x377u, Opcode::VPermlane16B32}, {0x378u, Opcode::VPermlanex16B32},
{0x34bu, Opcode::VFmaF16}, {0x36du, Opcode::VAdd3U32},
{0x14fu, Opcode::VAlignbyteB32},
};
constexpr OpcodeMap VOP3P_OPS[] = {