aco: rename Interp_instruction to VINTRP_instruction

These is clearer since GFX11 adds another interpolation format.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17333>
This commit is contained in:
Rhys Perry
2022-09-14 11:19:30 +01:00
committed by Marge Bot
parent 51bd75e28c
commit 7a1b522148
5 changed files with 13 additions and 13 deletions

View File

@@ -298,7 +298,7 @@ emit_instruction(asm_context& ctx, std::vector<uint32_t>& out, Instruction* inst
break; break;
} }
case Format::VINTRP: { case Format::VINTRP: {
Interp_instruction& interp = instr->vintrp(); VINTRP_instruction& interp = instr->vintrp();
uint32_t encoding = 0; uint32_t encoding = 0;
if (instr->opcode == aco_opcode::v_interp_p1ll_f16 || if (instr->opcode == aco_opcode::v_interp_p1ll_f16 ||

View File

@@ -530,7 +530,7 @@ formats = [("pseudo", [Format.PSEUDO], 'Pseudo_instruction', list(itertools.prod
("vopc_sdwa", [Format.VOPC, Format.SDWA], 'SDWA_instruction', itertools.product([1, 2], [2])), ("vopc_sdwa", [Format.VOPC, Format.SDWA], 'SDWA_instruction', itertools.product([1, 2], [2])),
("vop3", [Format.VOP3], 'VOP3_instruction', [(1, 3), (1, 2), (1, 1), (2, 2)]), ("vop3", [Format.VOP3], 'VOP3_instruction', [(1, 3), (1, 2), (1, 1), (2, 2)]),
("vop3p", [Format.VOP3P], 'VOP3P_instruction', [(1, 2), (1, 3)]), ("vop3p", [Format.VOP3P], 'VOP3P_instruction', [(1, 2), (1, 3)]),
("vintrp", [Format.VINTRP], 'Interp_instruction', [(1, 2), (1, 3)]), ("vintrp", [Format.VINTRP], 'VINTRP_instruction', [(1, 2), (1, 3)]),
("vop1_dpp", [Format.VOP1, Format.DPP16], 'DPP16_instruction', [(1, 1)]), ("vop1_dpp", [Format.VOP1, Format.DPP16], 'DPP16_instruction', [(1, 1)]),
("vop2_dpp", [Format.VOP2, Format.DPP16], 'DPP16_instruction', itertools.product([1, 2], [2, 3])), ("vop2_dpp", [Format.VOP2, Format.DPP16], 'DPP16_instruction', itertools.product([1, 2], [2, 3])),
("vopc_dpp", [Format.VOPC, Format.DPP16], 'DPP16_instruction', itertools.product([1, 2], [2])), ("vopc_dpp", [Format.VOPC, Format.DPP16], 'DPP16_instruction', itertools.product([1, 2], [2])),

View File

@@ -1012,7 +1012,7 @@ struct VOP1_instruction;
struct VOP2_instruction; struct VOP2_instruction;
struct VOPC_instruction; struct VOPC_instruction;
struct VOP3_instruction; struct VOP3_instruction;
struct Interp_instruction; struct VINTRP_instruction;
struct DPP16_instruction; struct DPP16_instruction;
struct DPP8_instruction; struct DPP8_instruction;
struct SDWA_instruction; struct SDWA_instruction;
@@ -1289,15 +1289,15 @@ struct Instruction {
return *(VOP3_instruction*)this; return *(VOP3_instruction*)this;
} }
constexpr bool isVOP3() const noexcept { return (uint16_t)format & (uint16_t)Format::VOP3; } constexpr bool isVOP3() const noexcept { return (uint16_t)format & (uint16_t)Format::VOP3; }
Interp_instruction& vintrp() noexcept VINTRP_instruction& vintrp() noexcept
{ {
assert(isVINTRP()); assert(isVINTRP());
return *(Interp_instruction*)this; return *(VINTRP_instruction*)this;
} }
const Interp_instruction& vintrp() const noexcept const VINTRP_instruction& vintrp() const noexcept
{ {
assert(isVINTRP()); assert(isVINTRP());
return *(Interp_instruction*)this; return *(VINTRP_instruction*)this;
} }
constexpr bool isVINTRP() const noexcept { return (uint16_t)format & (uint16_t)Format::VINTRP; } constexpr bool isVINTRP() const noexcept { return (uint16_t)format & (uint16_t)Format::VINTRP; }
DPP16_instruction& dpp16() noexcept DPP16_instruction& dpp16() noexcept
@@ -1525,12 +1525,12 @@ struct SDWA_instruction : public Instruction {
}; };
static_assert(sizeof(SDWA_instruction) == sizeof(Instruction) + 8, "Unexpected padding"); static_assert(sizeof(SDWA_instruction) == sizeof(Instruction) + 8, "Unexpected padding");
struct Interp_instruction : public Instruction { struct VINTRP_instruction : public Instruction {
uint8_t attribute; uint8_t attribute;
uint8_t component; uint8_t component;
uint16_t padding; uint16_t padding;
}; };
static_assert(sizeof(Interp_instruction) == sizeof(Instruction) + 4, "Unexpected padding"); static_assert(sizeof(VINTRP_instruction) == sizeof(Instruction) + 4, "Unexpected padding");
/** /**
* Local and Global Data Sharing instructions * Local and Global Data Sharing instructions

View File

@@ -98,7 +98,7 @@ struct InstrHash {
switch (instr->format) { switch (instr->format) {
case Format::SMEM: return hash_murmur_32<SMEM_instruction>(instr); case Format::SMEM: return hash_murmur_32<SMEM_instruction>(instr);
case Format::VINTRP: return hash_murmur_32<Interp_instruction>(instr); case Format::VINTRP: return hash_murmur_32<VINTRP_instruction>(instr);
case Format::DS: return hash_murmur_32<DS_instruction>(instr); case Format::DS: return hash_murmur_32<DS_instruction>(instr);
case Format::SOPP: return hash_murmur_32<SOPP_instruction>(instr); case Format::SOPP: return hash_murmur_32<SOPP_instruction>(instr);
case Format::SOPK: return hash_murmur_32<SOPK_instruction>(instr); case Format::SOPK: return hash_murmur_32<SOPK_instruction>(instr);
@@ -217,8 +217,8 @@ struct InstrPred {
aS.disable_wqm == bS.disable_wqm && aS.prevent_overflow == bS.prevent_overflow; aS.disable_wqm == bS.disable_wqm && aS.prevent_overflow == bS.prevent_overflow;
} }
case Format::VINTRP: { case Format::VINTRP: {
Interp_instruction& aI = a->vintrp(); VINTRP_instruction& aI = a->vintrp();
Interp_instruction& bI = b->vintrp(); VINTRP_instruction& bI = b->vintrp();
if (aI.attribute != bI.attribute) if (aI.attribute != bI.attribute)
return false; return false;
if (aI.component != bI.component) if (aI.component != bI.component)

View File

@@ -348,7 +348,7 @@ print_instr_format_specific(const Instruction* instr, FILE* output)
break; break;
} }
case Format::VINTRP: { case Format::VINTRP: {
const Interp_instruction& vintrp = instr->vintrp(); const VINTRP_instruction& vintrp = instr->vintrp();
fprintf(output, " attr%d.%c", vintrp.attribute, "xyzw"[vintrp.component]); fprintf(output, " attr%d.%c", vintrp.attribute, "xyzw"[vintrp.component]);
break; break;
} }