pvr: Add support for WOP

Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21474>
This commit is contained in:
Simon Perretta
2023-02-13 22:09:58 +00:00
committed by Marge Bot
parent 432fea181d
commit eb65c4be88
5 changed files with 11 additions and 0 deletions

View File

@@ -647,6 +647,10 @@ static void rogue_calc_ctrl_instrs_size(rogue_instr_group *group,
group->size.instrs[phase] = 1;
break;
case ROGUE_CTRL_OP_WOP:
group->size.instrs[phase] = 0;
break;
default:
unreachable("Unsupported ctrl op.");
}

View File

@@ -1097,6 +1097,7 @@ enum rogue_ctrl_op {
/* Real instructions. */
ROGUE_CTRL_OP_NOP,
ROGUE_CTRL_OP_WOP,
ROGUE_CTRL_OP_BA,
ROGUE_CTRL_OP_WDF,

View File

@@ -57,6 +57,7 @@ ROGUE_BUILDER_DEFINE_CTRLB(BA)
ROGUE_BUILDER_DEFINE_CTRL00(END)
ROGUE_BUILDER_DEFINE_CTRL00(NOP)
ROGUE_BUILDER_DEFINE_CTRL00(WOP)
ROGUE_BUILDER_DEFINE_CTRL01(WDF)

View File

@@ -158,6 +158,10 @@ static void rogue_encode_instr_group_header(rogue_instr_group *group,
h.miscctl = rogue_ctrl_op_mod_is_set(ctrl, ROGUE_CTRL_OP_MOD_END);
break;
case ROGUE_CTRL_OP_WOP:
h.ctrlop = CTRLOP_WOP;
break;
default:
unreachable("Unsupported ctrl op.");
}

View File

@@ -229,6 +229,7 @@ const rogue_ctrl_op_info rogue_ctrl_op_infos[ROGUE_CTRL_OP_COUNT] = {
[ROGUE_CTRL_OP_NOP] = { .str = "nop",
.supported_op_mods = OM(END),
},
[ROGUE_CTRL_OP_WOP] = { .str = "wop", },
[ROGUE_CTRL_OP_BA] = { .str = "ba", .has_target = true, .ends_block = true, },
[ROGUE_CTRL_OP_WDF] = { .str = "wdf", .num_srcs = 1,
.supported_src_types = { [0] = T(DRC), },