mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-02-04 15:00:36 +01:00
radv: Fix radv_shader_arena_block list corruption
Remove it from the previous list befor adding it to a new one.
cc: mesa-stable
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28961>
(cherry picked from commit e050abc961)
This commit is contained in:
parent
42765877a9
commit
7e033ebcd5
2 changed files with 2 additions and 3 deletions
|
|
@ -24,7 +24,7 @@
|
|||
"description": "radv: Fix radv_shader_arena_block list corruption",
|
||||
"nominated": true,
|
||||
"nomination_type": 0,
|
||||
"resolution": 0,
|
||||
"resolution": 1,
|
||||
"main_sha": null,
|
||||
"because_sha": null,
|
||||
"notes": null
|
||||
|
|
|
|||
|
|
@ -906,6 +906,7 @@ alloc_block_obj(struct radv_device *device)
|
|||
static void
|
||||
free_block_obj(struct radv_device *device, union radv_shader_arena_block *block)
|
||||
{
|
||||
list_del(&block->pool);
|
||||
list_add(&block->pool, &device->shader_block_obj_pool);
|
||||
}
|
||||
|
||||
|
|
@ -1196,7 +1197,6 @@ radv_free_shader_memory(struct radv_device *device, union radv_shader_arena_bloc
|
|||
remove_hole(free_list, hole_prev);
|
||||
|
||||
hole_prev->size += hole->size;
|
||||
list_del(&hole->list);
|
||||
free_block_obj(device, hole);
|
||||
|
||||
hole = hole_prev;
|
||||
|
|
@ -1209,7 +1209,6 @@ radv_free_shader_memory(struct radv_device *device, union radv_shader_arena_bloc
|
|||
|
||||
hole_next->offset -= hole->size;
|
||||
hole_next->size += hole->size;
|
||||
list_del(&hole->list);
|
||||
free_block_obj(device, hole);
|
||||
|
||||
hole = hole_next;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue