mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-09 17:00:13 +01:00
aco/sched_ilp: continue open clauses
Foz-DB GFX1150: Totals from 13789 (17.37% of 79395) affected shaders: Instrs: 16567395 -> 16570832 (+0.02%); split: -0.03%, +0.05% CodeSize: 85737492 -> 85751072 (+0.02%); split: -0.02%, +0.04% Latency: 140988872 -> 140831767 (-0.11%); split: -0.12%, +0.01% InvThroughput: 29639206 -> 29614890 (-0.08%); split: -0.09%, +0.00% VClause: 347065 -> 343779 (-0.95%); split: -0.96%, +0.01% SClause: 424881 -> 418657 (-1.46%); split: -1.48%, +0.02% Reviewed-by: Daniel Schürmann <daniel@schuermann.dev> Reviewed-by: Daniel Schürmann <None> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33111>
This commit is contained in:
parent
997ea2e273
commit
ea514e9385
1 changed files with 7 additions and 2 deletions
|
|
@ -543,11 +543,16 @@ select_instruction_ilp(const SchedILPContext& ctx)
|
|||
{
|
||||
mask_t mask = ctx.active_mask;
|
||||
|
||||
/* First, collect all dependencies of the next non-reorderable instruction(s).
|
||||
/* First, continue the currently open clause.
|
||||
* Otherwise collect all dependencies of the next non-reorderable instruction(s).
|
||||
* These make up the list of possible candidates.
|
||||
*/
|
||||
if (ctx.next_non_reorderable != UINT8_MAX)
|
||||
if (ctx.next_non_reorderable != UINT8_MAX) {
|
||||
if (ctx.prev_info.instr && ctx.nodes[ctx.next_non_reorderable].dependency_mask == 0 &&
|
||||
should_form_clause(ctx.prev_info.instr, ctx.nodes[ctx.next_non_reorderable].instr))
|
||||
return ctx.next_non_reorderable;
|
||||
mask = collect_clause_dependencies(ctx, ctx.next_non_reorderable, 0);
|
||||
}
|
||||
|
||||
/* If the next non-reorderable instruction has no dependencies, select it */
|
||||
if (mask == 0)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue