Mesa (master): anv: Implement VK_KHR_dedicated_allocation

Jason Ekstrand jekstrand at kemper.freedesktop.org
Sat Jul 15 16:00:42 UTC 2017


Module: Mesa
Branch: master
Commit: c02da9cad6b5ed09c8dfcf600380974b8075d792
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c02da9cad6b5ed09c8dfcf600380974b8075d792

Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Fri Apr 28 05:17:38 2017 -0700

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 <siglesias at igalia.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>

---

 src/intel/vulkan/anv_device.c           | 18 ++++++++++++++++++
 src/intel/vulkan/anv_entrypoints_gen.py |  1 +
 2 files changed, 19 insertions(+)

diff --git a/src/intel/vulkan/anv_device.c b/src/intel/vulkan/anv_device.c
index c2b3eb4a4a..cacfb39bde 100644
--- a/src/intel/vulkan/anv_device.c
+++ b/src/intel/vulkan/anv_device.c
@@ -441,6 +441,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 4cc1f6a8be..820a1f14ec 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',




More information about the mesa-commit mailing list