summaryrefslogtreecommitdiffstats
path: root/src/render
diff options
context:
space:
mode:
authorJean-Michaël Celerier <jean-michael.celerier@kdab.com>2020-06-19 13:41:47 +0200
committerJean-Michaël Celerier <jean-michael.celerier@kdab.com>2020-06-25 10:24:21 +0200
commitbd5d3d52434e62c4878903bf2a005caef6d754b0 (patch)
treea92d1c6991c819472dae8b999a11bb60698314e1 /src/render
parent8bf2a53c417cc32855662c44d0f9eae34c915340 (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.cpp19
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;