shader: implement RDNA2 scalar quad-mask reduction

This commit is contained in:
nmzik
2026-08-20 07:39:56 +02:00
parent bac6bf65af
commit fbdc1e8714
7 changed files with 56 additions and 2 deletions
@@ -52,6 +52,7 @@ constexpr OpcodeMap SOP1_OPCODE_LIST[] = {
{0x20u, Opcode::S_SETPC_B64},
{0x24u, Opcode::S_AND_SAVEEXEC_B64},
{0x28u, Opcode::S_ORN2_SAVEEXEC_B64},
{0x2du, Opcode::S_QUADMASK_B64},
{0x34u, Opcode::S_ABS_I32},
{0x37u, Opcode::S_ANDN1_SAVEEXEC_B64},
{0x3bu, Opcode::S_BITREPLICATE_B64_B32},
@@ -498,6 +498,7 @@ std::string InstructionToString(const Instruction& inst) {
case Opcode::S_FF1_I32_B64:
case Opcode::S_NOT_B64:
case Opcode::S_WQM_B64:
case Opcode::S_QUADMASK_B64:
case Opcode::S_AND_SAVEEXEC_B32:
case Opcode::S_ANDN1_SAVEEXEC_B32:
case Opcode::S_AND_SAVEEXEC_B64:
@@ -47,6 +47,7 @@ enum class Opcode {
S_FF1_I32_B64,
S_FLBIT_I32_B64,
S_BITREPLICATE_B64_B32,
S_QUADMASK_B64,
S_GETPC_B64,
S_SETPC_B64,
S_AND_SAVEEXEC_B32,