mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-06 02:58:05 +02:00
pan/midgard: Use standard list traversal to find initial tag
Fixes a hang (and abort) on empty shaders, which you shouldn't have anyway but better safe than sorry. DCE going on the fritz is no reason to freeze the system. Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
This commit is contained in:
parent
4647999327
commit
73c40d6bbb
1 changed files with 4 additions and 7 deletions
|
|
@ -2229,19 +2229,16 @@ midgard_get_first_tag_from_block(compiler_context *ctx, unsigned block_idx)
|
|||
|
||||
unsigned first_tag = 0;
|
||||
|
||||
do {
|
||||
midgard_bundle *initial_bundle = util_dynarray_element(&initial_block->bundles, midgard_bundle, 0);
|
||||
mir_foreach_block_from(ctx, initial_block, v) {
|
||||
midgard_bundle *initial_bundle =
|
||||
util_dynarray_element(&v->bundles, midgard_bundle, 0);
|
||||
|
||||
if (initial_bundle) {
|
||||
first_tag = initial_bundle->tag;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/* Initial block is empty, try the next block */
|
||||
initial_block = list_first_entry(&(initial_block->link), midgard_block, link);
|
||||
} while(initial_block != NULL);
|
||||
|
||||
assert(first_tag);
|
||||
return first_tag;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue