Mesa (main): zink: always use slab allocation placement for domains
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Wed Nov 17 23:18:06 UTC 2021
Module: Mesa
Branch: main
Commit: 74d2e89201c358fd84e70d69cc9297ea5f5b87f5
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=74d2e89201c358fd84e70d69cc9297ea5f5b87f5
Author: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
Date: Wed Nov 17 16:41:34 2021 -0500
zink: always use slab allocation placement for domains
this allows the actual bo to have its memory type changed if necessary
Reviewed-by: Dave Airlie <airlied at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13849>
---
src/gallium/drivers/zink/zink_bo.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/src/gallium/drivers/zink/zink_bo.c b/src/gallium/drivers/zink/zink_bo.c
index a928053e0fc..862369ec2ec 100644
--- a/src/gallium/drivers/zink/zink_bo.c
+++ b/src/gallium/drivers/zink/zink_bo.c
@@ -826,7 +826,6 @@ static struct pb_slab *
bo_slab_alloc(void *priv, unsigned heap, unsigned entry_size, unsigned group_index, bool encrypted)
{
struct zink_screen *screen = priv;
- VkMemoryPropertyFlags domains = vk_domain_from_heap(heap);
uint32_t base_id;
unsigned slab_size = 0;
struct zink_slab *slab = CALLOC_STRUCT(zink_slab);
@@ -895,7 +894,6 @@ bo_slab_alloc(void *priv, unsigned heap, unsigned entry_size, unsigned group_ind
bo->base.size = entry_size;
bo->base.vtbl = &bo_slab_vtbl;
bo->offset = slab->buffer->offset + i * entry_size;
- bo->base.placement = domains;
bo->unique_id = base_id + i;
bo->u.slab.entry.slab = &slab->base;
bo->u.slab.entry.group_index = group_index;
@@ -909,6 +907,7 @@ bo_slab_alloc(void *priv, unsigned heap, unsigned entry_size, unsigned group_ind
bo->u.slab.real = slab->buffer->u.slab.real;
assert(bo->u.slab.real->mem);
}
+ bo->base.placement = bo->u.slab.real->base.placement;
list_addtail(&bo->u.slab.entry.head, &slab->base.free);
}
More information about the mesa-commit
mailing list