mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-09 04:38:03 +02:00
freedreno/ir3: track sysval slot for inputs
Will be needed for special handling of SYSTEM_VALUE_BARYCENTRIC_PIXEL (ij_pix) when pre-fs texture fetch is enabled. Signed-off-by: Rob Clark <robdclark@chromium.org> Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
This commit is contained in:
parent
35692fab86
commit
af817a44c1
3 changed files with 12 additions and 0 deletions
|
|
@ -267,6 +267,13 @@ struct ir3_instruction {
|
|||
struct {
|
||||
int off; /* component/offset */
|
||||
} fo;
|
||||
struct {
|
||||
/* for sysvals, identifies the sysval type. Mostly so we can
|
||||
* identify the special cases where a sysval should not be DCE'd
|
||||
* (currently, just pre-fs texture fetch)
|
||||
*/
|
||||
gl_system_value sysval;
|
||||
} input;
|
||||
};
|
||||
|
||||
/* transient values used during various algorithms: */
|
||||
|
|
|
|||
|
|
@ -68,6 +68,7 @@ create_input_compmask(struct ir3_context *ctx, unsigned n, unsigned compmask)
|
|||
struct ir3_instruction *in;
|
||||
|
||||
in = ir3_instr_create(ctx->in_block, OPC_META_INPUT);
|
||||
in->input.sysval = ~0;
|
||||
ir3_reg_create(in, n, 0);
|
||||
|
||||
in->regs[0]->wrmask = compmask;
|
||||
|
|
@ -1197,6 +1198,9 @@ static void add_sysval_input_compmask(struct ir3_context *ctx,
|
|||
unsigned r = regid(so->inputs_count, 0);
|
||||
unsigned n = so->inputs_count++;
|
||||
|
||||
assert(instr->opc == OPC_META_INPUT);
|
||||
instr->input.sysval = slot;
|
||||
|
||||
so->inputs[n].sysval = true;
|
||||
so->inputs[n].slot = slot;
|
||||
so->inputs[n].compmask = compmask;
|
||||
|
|
|
|||
|
|
@ -60,6 +60,7 @@ static void arr_insert_mov_in(void *arr, int idx, struct ir3_instruction *instr)
|
|||
debug_assert(instr->regs_count == 1);
|
||||
|
||||
in = ir3_instr_create(instr->block, OPC_META_INPUT);
|
||||
in->input.sysval = instr->input.sysval;
|
||||
ir3_reg_create(in, instr->regs[0]->num, 0);
|
||||
|
||||
/* create src reg for meta:in and fixup to now be a mov: */
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue