[Mesa-dev] [PATCH 03/12] anv: Pass the allocation bo flags through anv_bo_init_new

Chris Wilson chris at chris-wilson.co.uk
Sun May 14 23:38:47 UTC 2017


Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
---
 src/intel/vulkan/anv_allocator.c | 8 +++++---
 src/intel/vulkan/anv_device.c    | 8 +++++---
 src/intel/vulkan/anv_private.h   | 3 ++-
 src/intel/vulkan/genX_query.c    | 2 +-
 4 files changed, 13 insertions(+), 8 deletions(-)

diff --git a/src/intel/vulkan/anv_allocator.c b/src/intel/vulkan/anv_allocator.c
index 1e4bb34ee2..dc9b55b4a6 100644
--- a/src/intel/vulkan/anv_allocator.c
+++ b/src/intel/vulkan/anv_allocator.c
@@ -1020,7 +1020,8 @@ anv_bo_pool_alloc(struct anv_bo_pool *pool, struct anv_bo *bo, uint32_t size)
 
    struct anv_bo new_bo;
 
-   result = anv_bo_init_new(&new_bo, pool->device, pow2_size);
+   result = anv_bo_init_new(&new_bo, pool->device,
+                            pow2_size, ANV_BO_DEFAULT_FLAGS);
    if (result != VK_SUCCESS)
       return result;
 
@@ -1134,7 +1135,7 @@ anv_scratch_pool_alloc(struct anv_device *device, struct anv_scratch_pool *pool,
 
    uint32_t size = per_thread_scratch * max_threads[stage];
 
-   anv_bo_init_new(&bo->bo, device, size);
+   anv_bo_init_new(&bo->bo, device, size, ANV_BO_DEFAULT_FLAGS);
 
    /* Even though the Scratch base pointers in 3DSTATE_*S are 64 bits, they
     * are still relative to the general state base address.  When we emit
@@ -1237,7 +1238,8 @@ anv_bo_cache_alloc(struct anv_device *device,
    /* The kernel is going to give us whole pages anyway */
    size = align_u64(size, 4096);
 
-   VkResult result = anv_bo_init_new(&bo->bo, device, size);
+   VkResult result = anv_bo_init_new(&bo->bo, device,
+                                     size, ANV_BO_DEFAULT_FLAGS);
    if (result != VK_SUCCESS) {
       vk_free(&device->alloc, bo);
       return result;
diff --git a/src/intel/vulkan/anv_device.c b/src/intel/vulkan/anv_device.c
index e4c0a1551a..6ecd2960e1 100644
--- a/src/intel/vulkan/anv_device.c
+++ b/src/intel/vulkan/anv_device.c
@@ -1122,7 +1122,8 @@ VkResult anv_CreateDevice(
    if (result != VK_SUCCESS)
       goto fail_instruction_state_pool;
 
-   result = anv_bo_init_new(&device->workaround_bo, device, 1024);
+   result = anv_bo_init_new(&device->workaround_bo, device,
+                            1024, ANV_BO_DEFAULT_FLAGS);
    if (result != VK_SUCCESS)
       goto fail_surface_state_pool;
 
@@ -1406,14 +1407,15 @@ VkResult anv_DeviceWaitIdle(
 }
 
 VkResult
-anv_bo_init_new(struct anv_bo *bo, struct anv_device *device, uint64_t size)
+anv_bo_init_new(struct anv_bo *bo, struct anv_device *device,
+                uint64_t size, unsigned flags)
 {
    uint32_t gem_handle = anv_gem_create(device, size);
    if (!gem_handle)
       return vk_error(VK_ERROR_OUT_OF_DEVICE_MEMORY);
 
    anv_bo_init(bo, gem_handle, size);
-   anv_bo_set_flags(device, bo, ANV_BO_DEFAULT_FLAGS);
+   anv_bo_set_flags(device, bo, flags);
 
    return VK_SUCCESS;
 }
diff --git a/src/intel/vulkan/anv_private.h b/src/intel/vulkan/anv_private.h
index ebf9533390..ef8e70ed47 100644
--- a/src/intel/vulkan/anv_private.h
+++ b/src/intel/vulkan/anv_private.h
@@ -828,7 +828,8 @@ anv_bo_set_flags(const struct anv_device *device,
    (EXEC_OBJECT_SUPPORTS_48B_ADDRESS | \
     EXEC_OBJECT_ASYNC)
 
-VkResult anv_bo_init_new(struct anv_bo *bo, struct anv_device *device, uint64_t size);
+VkResult anv_bo_init_new(struct anv_bo *bo, struct anv_device *device,
+                         uint64_t size, unsigned int flags);
 
 struct anv_reloc_list {
    uint32_t                                     num_relocs;
diff --git a/src/intel/vulkan/genX_query.c b/src/intel/vulkan/genX_query.c
index 22de3c3363..6c7dfb5300 100644
--- a/src/intel/vulkan/genX_query.c
+++ b/src/intel/vulkan/genX_query.c
@@ -86,7 +86,7 @@ VkResult genX(CreateQueryPool)(
    pool->slots = pCreateInfo->queryCount;
 
    uint64_t size = pool->slots * pool->stride;
-   result = anv_bo_init_new(&pool->bo, device, size);
+   result = anv_bo_init_new(&pool->bo, device, size, ANV_BO_DEFAULT_FLAGS);
    if (result != VK_SUCCESS)
       goto fail;
 
-- 
2.11.0



More information about the mesa-dev mailing list