Added support for per-example instance based extensions

This commit is contained in:
saschawillems 2018-03-03 11:49:46 +01:00
parent e7c4e24717
commit c918914bd4
2 changed files with 9 additions and 2 deletions

View file

@ -44,6 +44,12 @@ VkResult VulkanExampleBase::createInstance(bool enableValidation)
instanceExtensions.push_back(VK_MVK_MACOS_SURFACE_EXTENSION_NAME);
#endif
if (enabledInstanceExtensions.size() > 0) {
for (auto enabledExtension : enabledInstanceExtensions) {
instanceExtensions.push_back(enabledExtension);
}
}
VkInstanceCreateInfo instanceCreateInfo = {};
instanceCreateInfo.sType = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO;
instanceCreateInfo.pNext = NULL;
@ -930,7 +936,7 @@ void VulkanExampleBase::initVulkan()
// This is handled by a separate class that gets a logical device representation
// and encapsulates functions related to a device
vulkanDevice = new vks::VulkanDevice(physicalDevice);
VkResult res = vulkanDevice->createLogicalDevice(enabledFeatures, enabledExtensions);
VkResult res = vulkanDevice->createLogicalDevice(enabledFeatures, enabledDeviceExtensions);
if (res != VK_SUCCESS) {
vks::tools::exitFatal("Could not create Vulkan device: \n" + vks::tools::errorString(res), res);
}