pan/bi: Don't set dependencies for +BLEND in blend shaders

The dependency wait should already have been done in the fragment
shader.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12461>
This commit is contained in:
Icecream95 2021-08-18 10:49:54 +12:00 committed by Marge Bot
parent d9a784520a
commit 09bb8602f3

View file

@ -1629,21 +1629,25 @@ bi_schedule_clause(bi_context *ctx, bi_block *block, struct bi_worklist st, uint
bi_message_type_for_instr(tuple->add);
clause->message = tuple->add;
switch (tuple->add->op) {
case BI_OPCODE_ATEST:
clause->dependencies |= (1 << BIFROST_SLOT_ELDEST_DEPTH);
break;
case BI_OPCODE_LD_TILE:
case BI_OPCODE_ST_TILE:
if (!ctx->inputs->is_blend)
/* We don't need to set dependencies for blend shaders
* because the BLEND instruction in the fragment
* shader should have already done the wait */
if (!ctx->inputs->is_blend) {
switch (tuple->add->op) {
case BI_OPCODE_ATEST:
clause->dependencies |= (1 << BIFROST_SLOT_ELDEST_DEPTH);
break;
case BI_OPCODE_LD_TILE:
case BI_OPCODE_ST_TILE:
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;
break;
case BI_OPCODE_BLEND:
clause->dependencies |= (1 << BIFROST_SLOT_ELDEST_DEPTH);
clause->dependencies |= (1 << BIFROST_SLOT_ELDEST_COLOUR);
break;
default:
break;
}
}
}