Mesa (master): anv: Add a per-instance table of enabled extensions

Jason Ekstrand jekstrand at kemper.freedesktop.org
Tue Jan 23 08:38:21 UTC 2018


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

Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Tue Jan 16 16:13:48 2018 -0800

anv: Add a per-instance table of enabled extensions

Nothing needs this yet but we will want it later.

Reviewed-by: Samuel Iglesias Gonsálvez <siglesias at igalia.com>

---

 src/intel/vulkan/anv_device.c  | 4 ++++
 src/intel/vulkan/anv_private.h | 2 ++
 2 files changed, 6 insertions(+)

diff --git a/src/intel/vulkan/anv_device.c b/src/intel/vulkan/anv_device.c
index 7835b8780b..9fd324ba35 100644
--- a/src/intel/vulkan/anv_device.c
+++ b/src/intel/vulkan/anv_device.c
@@ -539,6 +539,7 @@ VkResult anv_CreateInstance(
                        VK_VERSION_PATCH(client_version));
    }
 
+   struct anv_instance_extension_table enabled_extensions = {};
    for (uint32_t i = 0; i < pCreateInfo->enabledExtensionCount; i++) {
       int idx;
       for (idx = 0; idx < ANV_INSTANCE_EXTENSION_COUNT; idx++) {
@@ -552,6 +553,8 @@ VkResult anv_CreateInstance(
 
       if (!anv_instance_extensions_supported.extensions[idx])
          return vk_error(VK_ERROR_EXTENSION_NOT_PRESENT);
+
+      enabled_extensions.extensions[idx] = true;
    }
 
    instance = vk_alloc2(&default_alloc, pAllocator, sizeof(*instance), 8,
@@ -567,6 +570,7 @@ VkResult anv_CreateInstance(
       instance->alloc = default_alloc;
 
    instance->apiVersion = client_version;
+   instance->enabled_extensions = enabled_extensions;
    instance->physicalDeviceCount = -1;
 
    result = vk_debug_report_instance_init(&instance->debug_report_callbacks);
diff --git a/src/intel/vulkan/anv_private.h b/src/intel/vulkan/anv_private.h
index 55417facea..e4ffdf2845 100644
--- a/src/intel/vulkan/anv_private.h
+++ b/src/intel/vulkan/anv_private.h
@@ -794,6 +794,8 @@ struct anv_instance {
     VkAllocationCallbacks                       alloc;
 
     uint32_t                                    apiVersion;
+    struct anv_instance_extension_table         enabled_extensions;
+
     int                                         physicalDeviceCount;
     struct anv_physical_device                  physicalDevice;
 




More information about the mesa-commit mailing list