mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-25 00:00:11 +01:00
pvr: Add support for fitr.pixel
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:
parent
0ce53b002f
commit
1c11f1afbd
5 changed files with 28 additions and 1 deletions
|
|
@ -566,6 +566,7 @@ static void rogue_calc_backend_instrs_size(rogue_instr_group *group,
|
|||
enum rogue_instr_phase phase)
|
||||
{
|
||||
switch (backend->op) {
|
||||
case ROGUE_BACKEND_OP_FITR_PIXEL:
|
||||
case ROGUE_BACKEND_OP_FITRP_PIXEL:
|
||||
group->size.instrs[phase] = 2;
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -1336,7 +1336,7 @@ enum rogue_backend_op {
|
|||
|
||||
ROGUE_BACKEND_OP_LD,
|
||||
|
||||
/* ROGUE_BACKEND_OP_FITR, */
|
||||
ROGUE_BACKEND_OP_FITR_PIXEL,
|
||||
/* ROGUE_BACKEND_OP_SAMPLE, */
|
||||
/* ROGUE_BACKEND_OP_CENTROID, */
|
||||
ROGUE_BACKEND_OP_FITRP_PIXEL,
|
||||
|
|
|
|||
|
|
@ -57,6 +57,7 @@ ROGUE_BUILDER_DEFINE_BACKEND11(UVSW_WRITE)
|
|||
ROGUE_BUILDER_DEFINE_BACKEND11(UVSW_WRITETHENEMITTHENENDTASK)
|
||||
|
||||
ROGUE_BUILDER_DEFINE_BACKEND13(LD)
|
||||
ROGUE_BUILDER_DEFINE_BACKEND13(FITR_PIXEL)
|
||||
|
||||
ROGUE_BUILDER_DEFINE_BACKEND14(FITRP_PIXEL)
|
||||
|
||||
|
|
|
|||
|
|
@ -295,6 +295,18 @@ static void rogue_encode_backend_instr(const rogue_backend_instr *backend,
|
|||
rogue_instr_encoding *instr_encoding)
|
||||
{
|
||||
switch (backend->op) {
|
||||
case ROGUE_BACKEND_OP_FITR_PIXEL:
|
||||
instr_encoding->backend.op = BACKENDOP_FITR;
|
||||
instr_encoding->backend.fitr.p = 0;
|
||||
instr_encoding->backend.fitr.drc =
|
||||
rogue_ref_get_drc_index(&backend->src[0].ref);
|
||||
instr_encoding->backend.fitr.mode = FITR_MODE_PIXEL;
|
||||
instr_encoding->backend.fitr.sat =
|
||||
rogue_backend_op_mod_is_set(backend, OM(SAT));
|
||||
instr_encoding->backend.fitr.count =
|
||||
rogue_ref_get_val(&backend->src[2].ref);
|
||||
break;
|
||||
|
||||
case ROGUE_BACKEND_OP_FITRP_PIXEL:
|
||||
instr_encoding->backend.op = BACKENDOP_FITR;
|
||||
instr_encoding->backend.fitr.p = 1;
|
||||
|
|
|
|||
|
|
@ -272,6 +272,19 @@ const rogue_backend_op_info rogue_backend_op_infos[ROGUE_BACKEND_OP_COUNT] = {
|
|||
.src_stride = {
|
||||
[2] = 1,
|
||||
},
|
||||
},
|
||||
[ROGUE_BACKEND_OP_FITR_PIXEL] = { .str = "fitr.pixel", .num_dsts = 1, .num_srcs = 3,
|
||||
.phase_io = { .dst[0] = IO(S3), .src[1] = IO(S0), },
|
||||
.supported_op_mods = OM(SAT),
|
||||
.supported_dst_types = { [0] = T(REG) | T(REGARRAY), },
|
||||
.supported_src_types = {
|
||||
[0] = T(DRC),
|
||||
[1] = T(REGARRAY),
|
||||
[2] = T(VAL),
|
||||
},
|
||||
.src_stride = {
|
||||
[1] = 3,
|
||||
},
|
||||
},
|
||||
[ROGUE_BACKEND_OP_FITRP_PIXEL] = { .str = "fitrp.pixel", .num_dsts = 1, .num_srcs = 4,
|
||||
.phase_io = { .dst[0] = IO(S3), .src[1] = IO(S0), .src[2] = IO(S2), },
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue