mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 06:58:05 +02:00
zink: restore BAR allocation failure demotion
this restores the fallback used when BAR allocation fails due to oom
by re-selecting memoryTypeIndex after the heap demotion
Fixes: f6d3a5755f ("zink: zink_heap isn't 1-to-1 with memoryTypeIndex")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22567>
This commit is contained in:
parent
3c2be41e1c
commit
ad7cbe2590
2 changed files with 3 additions and 3 deletions
|
|
@ -130,7 +130,7 @@
|
|||
"description": "zink: restore BAR allocation failure demotion",
|
||||
"nominated": true,
|
||||
"nomination_type": 1,
|
||||
"resolution": 0,
|
||||
"resolution": 1,
|
||||
"main_sha": null,
|
||||
"because_sha": "f6d3a5755f63c81881ff5647fe783038c955e8e3"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -1075,10 +1075,10 @@ resource_object_create(struct zink_screen *screen, const struct pipe_resource *t
|
|||
}
|
||||
assert(zink_mem_type_idx_from_bits(screen, heap, reqs.memoryTypeBits) != UINT32_MAX);
|
||||
}
|
||||
mai.memoryTypeIndex = zink_mem_type_idx_from_bits(screen, heap, reqs.memoryTypeBits);
|
||||
assert(reqs.memoryTypeBits & BITFIELD_BIT(mai.memoryTypeIndex));
|
||||
|
||||
retry:
|
||||
mai.memoryTypeIndex = zink_mem_type_idx_from_bits(screen, heap, reqs.memoryTypeBits);
|
||||
assert(reqs.memoryTypeBits & BITFIELD_BIT(mai.memoryTypeIndex));
|
||||
obj->bo = zink_bo(zink_bo_create(screen, reqs.size, alignment, heap, mai.pNext ? ZINK_ALLOC_NO_SUBALLOC : 0, mai.memoryTypeIndex, mai.pNext));
|
||||
if (!obj->bo) {
|
||||
if (heap == ZINK_HEAP_DEVICE_LOCAL_VISIBLE) {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue