anv: Implement VK_KHR_dedicated_allocation
authorJason Ekstrand <jason.ekstrand@intel.com>
Fri, 28 Apr 2017 12:17:38 +0000 (05:17 -0700)
committerJason Ekstrand <jason.ekstrand@intel.com>
Sat, 15 Jul 2017 15:59:38 +0000 (08:59 -0700)
We always recommend sub-allocation and don't do anything special for
dedicated allocations.

Reviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
src/intel/vulkan/anv_device.c
src/intel/vulkan/anv_entrypoints_gen.py

index c2b3eb4a4a1f43a4d483f89b8345c42f2475e732..cacfb39bde60d3f31d0d99f0c28daa156da70855 100644 (file)
@@ -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;
index 4cc1f6a8be07507ea869a237a23c3190cb54d382..820a1f14ec654c8da9c7f71a8bbf2d77145b4ab5 100644 (file)
@@ -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',