anv: Drop anv_bo_init and anv_bo_init_new
authorJason Ekstrand <jason@jlekstrand.net>
Mon, 28 Oct 2019 23:03:32 +0000 (18:03 -0500)
committerJason Ekstrand <jason@jlekstrand.net>
Thu, 31 Oct 2019 13:46:09 +0000 (13:46 +0000)
BOs are now only ever allocated through the BO cache so there's no need
to have these exposed.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
src/intel/vulkan/anv_allocator.c
src/intel/vulkan/anv_device.c
src/intel/vulkan/anv_private.h

index 6729a8874e9fdb43ad467e688844f493a3842ca0..5b7464a60563342c301b81556523fbdd39a82771 100644 (file)
@@ -389,8 +389,11 @@ anv_block_pool_init(struct anv_block_pool *pool,
       if (pool->fd == -1)
          return vk_error(VK_ERROR_INITIALIZATION_FAILED);
 
-      anv_bo_init(&pool->wrapper_bo, 0, 0);
-      pool->wrapper_bo.is_wrapper = true;
+      pool->wrapper_bo = (struct anv_bo) {
+         .refcount = 1,
+         .offset = -1,
+         .is_wrapper = true,
+      };
       pool->bo = &pool->wrapper_bo;
    }
 
@@ -1536,13 +1539,18 @@ anv_device_alloc_bo(struct anv_device *device,
    /* The kernel is going to give us whole pages anyway */
    size = align_u64(size, 4096);
 
-   struct anv_bo new_bo;
-   VkResult result = anv_bo_init_new(&new_bo, device, size);
-   if (result != VK_SUCCESS)
-      return result;
-
-   new_bo.flags = bo_flags;
-   new_bo.is_external = (alloc_flags & ANV_BO_ALLOC_EXTERNAL);
+   uint32_t gem_handle = anv_gem_create(device, size);
+   if (gem_handle == 0)
+      return vk_error(VK_ERROR_OUT_OF_DEVICE_MEMORY);
+
+   struct anv_bo new_bo = {
+      .gem_handle = gem_handle,
+      .refcount = 1,
+      .offset = -1,
+      .size = size,
+      .flags = bo_flags,
+      .is_external = (alloc_flags & ANV_BO_ALLOC_EXTERNAL),
+   };
 
    if (alloc_flags & ANV_BO_ALLOC_MAPPED) {
       new_bo.map = anv_gem_mmap(device, new_bo.gem_handle, 0, size, 0);
@@ -1634,12 +1642,16 @@ anv_device_import_bo_from_host_ptr(struct anv_device *device,
       }
       __sync_fetch_and_add(&bo->refcount, 1);
    } else {
-      struct anv_bo new_bo;
-      anv_bo_init(&new_bo, gem_handle, size);
-      new_bo.map = host_ptr;
-      new_bo.flags = bo_flags;
-      new_bo.is_external = true;
-      new_bo.from_host_ptr = true;
+      struct anv_bo new_bo = {
+         .gem_handle = gem_handle,
+         .refcount = 1,
+         .offset = -1,
+         .size = size,
+         .map = host_ptr,
+         .flags = bo_flags,
+         .is_external = true,
+         .from_host_ptr = true,
+      };
 
       if (!anv_vma_alloc(device, &new_bo)) {
          anv_gem_close(device, new_bo.gem_handle);
@@ -1735,10 +1747,14 @@ anv_device_import_bo(struct anv_device *device,
          return vk_error(VK_ERROR_INVALID_EXTERNAL_HANDLE);
       }
 
-      struct anv_bo new_bo;
-      anv_bo_init(&new_bo, gem_handle, size);
-      new_bo.flags = bo_flags;
-      new_bo.is_external = true;
+      struct anv_bo new_bo = {
+         .gem_handle = gem_handle,
+         .refcount = 1,
+         .offset = -1,
+         .size = size,
+         .flags = bo_flags,
+         .is_external = true,
+      };
 
       if (!anv_vma_alloc(device, &new_bo)) {
          anv_gem_close(device, new_bo.gem_handle);
index cba2cbe74b9a4ebfcea10d9d2e9a593be96ef554..c0b153a0578066cdfeb19a15aa507788a8128f2b 100644 (file)
@@ -3037,18 +3037,6 @@ anv_vma_free(struct anv_device *device, struct anv_bo *bo)
    bo->offset = 0;
 }
 
-VkResult
-anv_bo_init_new(struct anv_bo *bo, struct anv_device *device, uint64_t size)
-{
-   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);
-
-   return VK_SUCCESS;
-}
-
 VkResult anv_AllocateMemory(
     VkDevice                                    _device,
     const VkMemoryAllocateInfo*                 pAllocateInfo,
index ec8fc1b0c12dcc39907784f08af753d84b8db77c..34f556ad2b40d95156df14cc694b444753ea2d0d 100644 (file)
@@ -647,22 +647,6 @@ struct anv_bo {
    bool from_host_ptr:1;
 };
 
-static inline void
-anv_bo_init(struct anv_bo *bo, uint32_t gem_handle, uint64_t size)
-{
-   bo->gem_handle = gem_handle;
-   bo->refcount = 1;
-   bo->index = 0;
-   bo->offset = -1;
-   bo->size = size;
-   bo->map = NULL;
-   bo->flags = 0;
-   bo->is_external = false;
-   bo->is_wrapper = false;
-   bo->has_fixed_address = false;
-   bo->from_host_ptr = false;
-}
-
 static inline struct anv_bo *
 anv_bo_unwrap(struct anv_bo *bo)
 {
@@ -1374,8 +1358,6 @@ int anv_gem_syncobj_wait(struct anv_device *device,
 bool anv_vma_alloc(struct anv_device *device, struct anv_bo *bo);
 void anv_vma_free(struct anv_device *device, struct anv_bo *bo);
 
-VkResult anv_bo_init_new(struct anv_bo *bo, struct anv_device *device, uint64_t size);
-
 struct anv_reloc_list {
    uint32_t                                     num_relocs;
    uint32_t                                     array_length;