mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-24 17:30:12 +01:00
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:
parent
d9a784520a
commit
09bb8602f3
1 changed files with 18 additions and 14 deletions
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue