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);
