pan/bi: Elucidate slot 6/7 operation
Used to order fragments. With that clarified it's clear that we need to wait on slot 7 for LD_TILE too (outside the limited context of a blend shader). Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9105>
This commit is contained in:
committed by
Marge Bot
parent
7f2d618867
commit
96ea2c3e9d
@@ -1319,11 +1319,21 @@ bi_schedule_clause(bi_context *ctx, bi_block *block, struct bi_worklist st)
|
||||
clause_state.message = true;
|
||||
}
|
||||
|
||||
if (tuple->add->op == BI_OPCODE_ATEST)
|
||||
clause->dependencies |= (1 << 6);
|
||||
|
||||
if (tuple->add->op == BI_OPCODE_BLEND)
|
||||
clause->dependencies |= (1 << 6) | (1 << 7);
|
||||
switch (tuple->add->op) {
|
||||
case BI_OPCODE_ATEST:
|
||||
clause->dependencies |= (1 << BIFROST_SLOT_ELDEST_DEPTH);
|
||||
break;
|
||||
case BI_OPCODE_LD_TILE:
|
||||
if (!ctx->inputs->is_blend)
|
||||
clause->dependencies |= (1 << BIFROST_SLOT_ELDEST_COLOUR);
|
||||
break;
|
||||
case BI_OPCODE_BLEND:
|
||||
clause->dependencies |= (1 << BIFROST_SLOT_ELDEST_DEPTH);
|
||||
clause->dependencies |= (1 << BIFROST_SLOT_ELDEST_COLOUR);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
clause_state.consts[idx] = bi_get_const_state(&tuple_state);
|
||||
|
||||
@@ -114,6 +114,12 @@ enum bifrost_flow {
|
||||
BIFROST_FLOW_WE = 7,
|
||||
};
|
||||
|
||||
enum bifrost_slot {
|
||||
/* 0-5 are general purpose */
|
||||
BIFROST_SLOT_ELDEST_DEPTH = 6,
|
||||
BIFROST_SLOT_ELDEST_COLOUR = 7,
|
||||
};
|
||||
|
||||
struct bifrost_header {
|
||||
/* Reserved */
|
||||
unsigned zero1 : 5;
|
||||
|
||||
Reference in New Issue
Block a user