From abae8582e69e82353916b1e815f778974730c365 Mon Sep 17 00:00:00 2001 From: Karol Suprynowicz Date: Sat, 10 Aug 2024 20:23:59 +0200 Subject: [PATCH] Fix Vulkan validation --- libraries/vk/src/vk/Context.cpp | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/libraries/vk/src/vk/Context.cpp b/libraries/vk/src/vk/Context.cpp index cf29e1d6c7..e06235ed8f 100644 --- a/libraries/vk/src/vk/Context.cpp +++ b/libraries/vk/src/vk/Context.cpp @@ -103,7 +103,7 @@ void Context::createInstance() { } // Vulkan instance - VkApplicationInfo appInfo; + VkApplicationInfo appInfo{}; appInfo.pApplicationName = "VulkanExamples"; appInfo.pEngineName = "VulkanExamples"; appInfo.apiVersion = VK_API_VERSION_1_0; @@ -123,7 +123,7 @@ void Context::createInstance() { } // Enable surface extensions depending on os - VkInstanceCreateInfo instanceCreateInfo; + VkInstanceCreateInfo instanceCreateInfo{}; instanceCreateInfo.pApplicationInfo = &appInfo; if (enabledExtensions.size() > 0) { instanceCreateInfo.enabledExtensionCount = (uint32_t)enabledExtensions.size(); @@ -132,10 +132,15 @@ void Context::createInstance() { CStringVector layers; if (enableValidation) { - std::list validationLayers {"VK_LAYER_LUNARG_standard_validation"}; + const char* validationLayerName = "VK_LAYER_KHRONOS_validation"; + std::list validationLayers {validationLayerName}; // Just one layer for now layers = filterLayers(validationLayers); - instanceCreateInfo.enabledLayerCount = (uint32_t)layers.size(); - instanceCreateInfo.ppEnabledLayerNames = layers.data(); + if (layers.size() == 1) { + instanceCreateInfo.enabledLayerCount = (uint32_t)layers.size(); + instanceCreateInfo.ppEnabledLayerNames = &validationLayerName; + } else { + qWarning() << "Cannot find VK_LAYER_KHRONOS_validation layer, validation not enabled"; + } } else { Q_ASSERT(false); }