From: Jason Ekstrand Date: Fri, 28 Apr 2017 12:17:38 +0000 (-0700) Subject: anv: Implement VK_KHR_dedicated_allocation X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c02da9cad6b5ed09c8dfcf600380974b8075d792;p=mesa.git anv: Implement VK_KHR_dedicated_allocation We always recommend sub-allocation and don't do anything special for dedicated allocations. Reviewed-by: Samuel Iglesias Gonsálvez Reviewed-by: Lionel Landwerlin --- diff --git a/src/intel/vulkan/anv_device.c b/src/intel/vulkan/anv_device.c index c2b3eb4a4a1..cacfb39bde6 100644 --- a/src/intel/vulkan/anv_device.c +++ b/src/intel/vulkan/anv_device.c @@ -440,6 +440,10 @@ static const VkExtensionProperties global_extensions[] = { }; static const VkExtensionProperties device_extensions[] = { + { + .extensionName = VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME, + .specVersion = 1, + }, { .extensionName = VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME, .specVersion = 1, @@ -1748,6 +1752,13 @@ void anv_GetBufferMemoryRequirements2KHR( vk_foreach_struct(ext, pMemoryRequirements->pNext) { switch (ext->sType) { + case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR: { + VkMemoryDedicatedRequirementsKHR *requirements = (void *)ext; + requirements->prefersDedicatedAllocation = VK_FALSE; + requirements->requiresDedicatedAllocation = VK_FALSE; + break; + } + default: anv_debug_ignored_stype(ext->sType); break; @@ -1790,6 +1801,13 @@ void anv_GetImageMemoryRequirements2KHR( vk_foreach_struct(ext, pMemoryRequirements->pNext) { switch (ext->sType) { + case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR: { + VkMemoryDedicatedRequirementsKHR *requirements = (void *)ext; + requirements->prefersDedicatedAllocation = VK_FALSE; + requirements->requiresDedicatedAllocation = VK_FALSE; + break; + } + default: anv_debug_ignored_stype(ext->sType); break; diff --git a/src/intel/vulkan/anv_entrypoints_gen.py b/src/intel/vulkan/anv_entrypoints_gen.py index 4cc1f6a8be0..820a1f14ec6 100644 --- a/src/intel/vulkan/anv_entrypoints_gen.py +++ b/src/intel/vulkan/anv_entrypoints_gen.py @@ -33,6 +33,7 @@ from mako.template import Template MAX_API_VERSION = 1.0 SUPPORTED_EXTENSIONS = [ + 'VK_KHR_dedicated_allocation', 'VK_KHR_descriptor_update_template', 'VK_KHR_get_memory_requirements2', 'VK_KHR_get_physical_device_properties2',