}
// Add to the list of enabled extensions only those that the ICD actively supports
- for (uint32_t iii = 0; iii < pCreateInfo->enabledExtensionCount; ++iii) {
- if (IsInstanceExtensionSupported(pCreateInfo->ppEnabledExtensionNames[iii])) {
- icd.add_enabled_instance_extension({pCreateInfo->ppEnabledExtensionNames[iii]});
+ icd.enabled_instance_extensions.clear();
+ for (uint32_t i = 0; i < pCreateInfo->enabledExtensionCount; i++) {
+ if (IsInstanceExtensionSupported(pCreateInfo->ppEnabledExtensionNames[i])) {
+ icd.enabled_instance_extensions.push_back({pCreateInfo->ppEnabledExtensionNames[i]});
}
}
}
VKAPI_ATTR void VKAPI_CALL test_vkDestroyInstance([[maybe_unused]] VkInstance instance,
- [[maybe_unused]] const VkAllocationCallbacks* pAllocator) {}
+ [[maybe_unused]] const VkAllocationCallbacks* pAllocator) {
+ icd.enabled_instance_extensions.clear();
+}
// VK_SUCCESS,VK_INCOMPLETE
VKAPI_ATTR VkResult VKAPI_CALL test_vkEnumeratePhysicalDevices([[maybe_unused]] VkInstance instance, uint32_t* pPhysicalDeviceCount,
BUILDER_VALUE(TestICD, uint32_t, icd_api_version, VK_API_VERSION_1_0)
BUILDER_VECTOR(TestICD, LayerDefinition, instance_layers, instance_layer)
BUILDER_VECTOR(TestICD, Extension, instance_extensions, instance_extension)
- BUILDER_VECTOR(TestICD, Extension, enabled_instance_extensions, enabled_instance_extension)
+ std::vector<Extension> enabled_instance_extensions;
BUILDER_VECTOR_MOVE_ONLY(TestICD, PhysicalDevice, physical_devices, physical_device);
// next layer in the chain.
layer_init_instance_dispatch_table(layer.instance_handle, &layer.instance_dispatch_table, fpGetInstanceProcAddr);
+ layer.enabled_instance_extensions.clear();
for (uint32_t i = 0; i < pCreateInfo->enabledExtensionCount; i++) {
layer.enabled_instance_extensions.push_back({pCreateInfo->ppEnabledExtensionNames[i]});
}
pAllocator->pfnFree(pAllocator->pUserData, layer.spurious_instance_memory_allocation);
layer.spurious_instance_memory_allocation = nullptr;
}
+ layer.enabled_instance_extensions.clear();
layer.instance_dispatch_table.DestroyInstance(instance, pAllocator);
}