summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Ekstrand <jason.ekstrand@intel.com>2018-01-16 16:13:48 -0800
committerJason Ekstrand <jason.ekstrand@intel.com>2018-01-23 00:15:40 -0800
commit920bd2c0bc605be288d3dd39ab7e900a8ad9e5ad (patch)
treeaff9021f4ef5ccfc02a462e505d1e58889986257
parentff5f3e2b21e693c7418de67a34ca247cd07cc4ab (diff)
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@igalia.com>
-rw-r--r--src/intel/vulkan/anv_device.c4
-rw-r--r--src/intel/vulkan/anv_private.h2
2 files changed, 6 insertions, 0 deletions
diff --git a/src/intel/vulkan/anv_device.c b/src/intel/vulkan/anv_device.c
index 7835b8780b9..9fd324ba351 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 55417faceaa..e4ffdf2845b 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;