diff options
author | Jean-Michaël Celerier <jean-michael.celerier@kdab.com> | 2020-06-19 13:41:47 +0200 |
---|---|---|
committer | Jean-Michaël Celerier <jean-michael.celerier@kdab.com> | 2020-06-25 10:24:21 +0200 |
commit | bd5d3d52434e62c4878903bf2a005caef6d754b0 (patch) | |
tree | a92d1c6991c819472dae8b999a11bb60698314e1 /src/render | |
parent | 8bf2a53c417cc32855662c44d0f9eae34c915340 (diff) |
rhi: allow to enable Vulkan validation with an environment variable
Change-Id: I2db9fcde4dbe3267a7b8d5368c184d52405d72e6
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Diffstat (limited to 'src/render')
-rw-r--r-- | src/render/surfaces/vulkaninstance.cpp | 19 |
1 files changed, 7 insertions, 12 deletions
diff --git a/src/render/surfaces/vulkaninstance.cpp b/src/render/surfaces/vulkaninstance.cpp index adbeb3074..e588562f3 100644 --- a/src/render/surfaces/vulkaninstance.cpp +++ b/src/render/surfaces/vulkaninstance.cpp @@ -49,22 +49,17 @@ QVulkanInstance &staticVulkanInstance() noexcept static QVulkanInstance* vkInstance = [] { QVulkanInstance* v = new QVulkanInstance; -#ifndef Q_OS_ANDROID - v->setLayers({ "VK_LAYER_LUNARG_standard_validation" }); +#if defined(NDEBUG) + constexpr bool debug_mode = false; #else - v->setLayers(QByteArrayList() - << "VK_LAYER_GOOGLE_threading" - << "VK_LAYER_LUNARG_parameter_validation" - << "VK_LAYER_LUNARG_object_tracker" - << "VK_LAYER_LUNARG_core_validation" - << "VK_LAYER_LUNARG_image" - << "VK_LAYER_LUNARG_swapchain" - << "VK_LAYER_GOOGLE_unique_objects"); + constexpr bool debug_mode = true; #endif + if (debug_mode || qgetenv("QT3D_VULKAN_VALIDATION").toInt()) + v->setLayers({ "VK_LAYER_KHRONOS_validation" }); - if (!v->create()) { + if (!v->create()) qWarning("Failed to create Vulkan instance"); - } + return v; }(); return *vkInstance; |