mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-06 18:08:40 +02:00
zink: correct sparse bo mem_type_idx placement
VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT = 0x01 has been incidently the correct memory type index, but isn't guaranteed to be, which is why it hasn't caused issues yet Fixes:f9515d93("zink: allocate/place memory using memoryTypeIndex directly") Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20264> (cherry picked from commitc71287e70c)
This commit is contained in:
parent
87146b2158
commit
8d955313dc
2 changed files with 4 additions and 2 deletions
|
|
@ -2632,7 +2632,7 @@
|
|||
"description": "zink: correct sparse bo mem_type_idx placement",
|
||||
"nominated": true,
|
||||
"nomination_type": 1,
|
||||
"resolution": 0,
|
||||
"resolution": 1,
|
||||
"main_sha": null,
|
||||
"because_sha": "f9515d9376752c0355de71957347e1241e3a226b"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -539,7 +539,9 @@ bo_sparse_create(struct zink_screen *screen, uint64_t size)
|
|||
bo->base.alignment_log2 = util_logbase2(ZINK_SPARSE_BUFFER_PAGE_SIZE);
|
||||
bo->base.size = size;
|
||||
bo->base.vtbl = &bo_sparse_vtbl;
|
||||
bo->base.placement = VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT;
|
||||
unsigned placement = zink_mem_type_idx_from_bits(screen, ZINK_HEAP_DEVICE_LOCAL_SPARSE, VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT);
|
||||
assert(placement != UINT32_MAX);
|
||||
bo->base.placement = placement;
|
||||
bo->unique_id = p_atomic_inc_return(&screen->pb.next_bo_unique_id);
|
||||
bo->base.usage = ZINK_ALLOC_SPARSE;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue