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>
This commit is contained in:
Jason Ekstrand 2018-01-16 16:13:48 -08:00
parent ff5f3e2b21
commit 920bd2c0bc
2 changed files with 6 additions and 0 deletions

View file

@ -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);

View file

@ -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;