diff options
author | Jason Ekstrand <[email protected]> | 2019-10-25 17:12:06 -0500 |
---|---|---|
committer | Jason Ekstrand <[email protected]> | 2019-10-31 13:46:09 +0000 |
commit | e0ee23660fa2b38315ebc72aac5455cd064000fa (patch) | |
tree | de988b3c379cc6cc3c31d007f8ad2978779fb321 /src/intel | |
parent | c3eb4b3ba53b23a4966b7dc79025a350245704fd (diff) |
anv: Set more flags on descriptor pool buffers
the ASYNC flag, in particular, has the potential to help performance
because it means less sync tracking in the kernel.
Reviewed-by: Lionel Landwerlin <[email protected]>
Diffstat (limited to 'src/intel')
-rw-r--r-- | src/intel/vulkan/anv_descriptor_set.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/intel/vulkan/anv_descriptor_set.c b/src/intel/vulkan/anv_descriptor_set.c index 80a34695e08..3951a665e18 100644 --- a/src/intel/vulkan/anv_descriptor_set.c +++ b/src/intel/vulkan/anv_descriptor_set.c @@ -663,6 +663,7 @@ VkResult anv_CreateDescriptorPool( VkDescriptorPool* pDescriptorPool) { ANV_FROM_HANDLE(anv_device, device, _device); + const struct anv_physical_device *pdevice = &device->instance->physicalDevice; struct anv_descriptor_pool *pool; const VkDescriptorPoolInlineUniformBlockCreateInfoEXT *inline_info = @@ -749,11 +750,17 @@ VkResult anv_CreateDescriptorPool( return vk_error(VK_ERROR_OUT_OF_HOST_MEMORY); } - if (device->instance->physicalDevice.use_softpin) { + if (pdevice->supports_48bit_addresses) + pool->bo.flags |= EXEC_OBJECT_SUPPORTS_48B_ADDRESS; + + if (pdevice->use_softpin) { pool->bo.flags |= EXEC_OBJECT_PINNED; anv_vma_alloc(device, &pool->bo); } + if (pdevice->has_exec_async) + pool->bo.flags |= EXEC_OBJECT_ASYNC; + util_vma_heap_init(&pool->bo_heap, POOL_HEAP_OFFSET, descriptor_bo_size); } else { pool->bo.size = 0; |