Module: Mesa
Branch: main
Commit: bab344645f7d3165482360fe016410302c876b60
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=bab344645f7d3165482360fe016410302c876b60

Author: Lionel Landwerlin <[email protected]>
Date:   Thu Oct  5 18:03:41 2023 +0300

anv: move bo_pool allocation flags to init caller

Signed-off-by: Lionel Landwerlin <[email protected]>
Reviewed-by: Tapani Pälli <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25570>

---

 src/intel/vulkan/anv_allocator.c | 7 ++-----
 src/intel/vulkan/anv_device.c    | 5 ++++-
 src/intel/vulkan/anv_private.h   | 2 +-
 src/intel/vulkan/anv_utrace.c    | 3 ++-
 4 files changed, 9 insertions(+), 8 deletions(-)

diff --git a/src/intel/vulkan/anv_allocator.c b/src/intel/vulkan/anv_allocator.c
index edae4b00cd7..f01e20916b9 100644
--- a/src/intel/vulkan/anv_allocator.c
+++ b/src/intel/vulkan/anv_allocator.c
@@ -1083,14 +1083,11 @@ anv_state_reserved_pool_free(struct 
anv_state_reserved_pool *pool,
 
 void
 anv_bo_pool_init(struct anv_bo_pool *pool, struct anv_device *device,
-                 const char *name)
+                 const char *name, enum anv_bo_alloc_flags alloc_flags)
 {
    pool->name = name;
    pool->device = device;
-   pool->bo_alloc_flags =
-      ANV_BO_ALLOC_MAPPED |
-      ANV_BO_ALLOC_SNOOPED |
-      ANV_BO_ALLOC_CAPTURE;
+   pool->bo_alloc_flags = alloc_flags;
 
    for (unsigned i = 0; i < ARRAY_SIZE(pool->free_list); i++) {
       util_sparse_array_free_list_init(&pool->free_list[i],
diff --git a/src/intel/vulkan/anv_device.c b/src/intel/vulkan/anv_device.c
index 2c87338b9ff..c2c89e53941 100644
--- a/src/intel/vulkan/anv_device.c
+++ b/src/intel/vulkan/anv_device.c
@@ -3228,7 +3228,10 @@ VkResult anv_CreateDevice(
    if (result != VK_SUCCESS)
       goto fail_queue_cond;
 
-   anv_bo_pool_init(&device->batch_bo_pool, device, "batch");
+   anv_bo_pool_init(&device->batch_bo_pool, device, "batch",
+                    ANV_BO_ALLOC_MAPPED |
+                    ANV_BO_ALLOC_SNOOPED |
+                    ANV_BO_ALLOC_CAPTURE);
 
    /* Because scratch is also relative to General State Base Address, we leave
     * the base address 0 and start the pool memory at an offset.  This way we
diff --git a/src/intel/vulkan/anv_private.h b/src/intel/vulkan/anv_private.h
index 319f04373ad..b0c98c271c7 100644
--- a/src/intel/vulkan/anv_private.h
+++ b/src/intel/vulkan/anv_private.h
@@ -787,7 +787,7 @@ struct anv_bo_pool {
 };
 
 void anv_bo_pool_init(struct anv_bo_pool *pool, struct anv_device *device,
-                      const char *name);
+                      const char *name, enum anv_bo_alloc_flags alloc_flags);
 void anv_bo_pool_finish(struct anv_bo_pool *pool);
 VkResult anv_bo_pool_alloc(struct anv_bo_pool *pool, uint32_t size,
                            struct anv_bo **bo_out);
diff --git a/src/intel/vulkan/anv_utrace.c b/src/intel/vulkan/anv_utrace.c
index 5d58b25ec05..68c519587b1 100644
--- a/src/intel/vulkan/anv_utrace.c
+++ b/src/intel/vulkan/anv_utrace.c
@@ -442,7 +442,8 @@ anv_utrace_read_ts(struct u_trace_context *utctx,
 void
 anv_device_utrace_init(struct anv_device *device)
 {
-   anv_bo_pool_init(&device->utrace_bo_pool, device, "utrace");
+   anv_bo_pool_init(&device->utrace_bo_pool, device, "utrace",
+                    ANV_BO_ALLOC_MAPPED | ANV_BO_ALLOC_SNOOPED);
    intel_ds_device_init(&device->ds, device->info, device->fd,
                         device->physical->local_minor,
                         INTEL_DS_API_VULKAN);

Reply via email to