vulkan: Update legacy tests and examples to the modern validation layer

Fixes: QTBUG-88388
Change-Id: Ib072f203ada5d692dea8d35da2b24db0deac0297
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
bb10
Laszlo Agocs 2021-05-21 18:56:22 +02:00
parent 0199640d44
commit bbc6b5c3a7
10 changed files with 14 additions and 75 deletions

View File

@ -63,19 +63,7 @@ int main(int argc, char **argv)
if (dbg) {
QLoggingCategory::setFilterRules(QStringLiteral("qt.vulkan=true"));
#ifndef Q_OS_ANDROID
inst.setLayers(QByteArrayList() << "VK_LAYER_LUNARG_standard_validation");
#else
inst.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");
#endif
inst.setLayers({ "VK_LAYER_KHRONOS_validation" });
}
if (!inst.create())

View File

@ -62,19 +62,7 @@ int main(int argc, char *argv[])
QLoggingCategory::setFilterRules(QStringLiteral("qt.vulkan=true"));
QVulkanInstance inst;
#ifndef Q_OS_ANDROID
inst.setLayers(QByteArrayList() << "VK_LAYER_LUNARG_standard_validation");
#else
inst.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");
#endif
inst.setLayers({ "VK_LAYER_KHRONOS_validation" });
if (!inst.create())
qFatal("Failed to create Vulkan instance: %d", inst.errorCode());

View File

@ -73,19 +73,7 @@ int main(int argc, char *argv[])
QLoggingCategory::setFilterRules(QStringLiteral("qt.vulkan=true"));
QVulkanInstance inst;
#ifndef Q_OS_ANDROID
inst.setLayers(QByteArrayList() << "VK_LAYER_LUNARG_standard_validation");
#else
inst.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");
#endif
inst.setLayers({ "VK_LAYER_KHRONOS_validation" });
if (!inst.create())
qFatal("Failed to create Vulkan instance: %d", inst.errorCode());

View File

@ -81,19 +81,7 @@ int main(int argc, char *argv[])
QLoggingCategory::setFilterRules(QStringLiteral("qt.vulkan=true"));
QVulkanInstance inst;
#ifndef Q_OS_ANDROID
inst.setLayers(QByteArrayList() << "VK_LAYER_LUNARG_standard_validation");
#else
inst.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");
#endif
inst.setLayers({ "VK_LAYER_KHRONOS_validation" });
if (!inst.create())
qFatal("Failed to create Vulkan instance: %d", inst.errorCode());

View File

@ -63,20 +63,7 @@ int main(int argc, char *argv[])
//! [0]
QVulkanInstance inst;
#ifndef Q_OS_ANDROID
inst.setLayers(QByteArrayList() << "VK_LAYER_LUNARG_standard_validation");
#else
inst.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");
#endif
inst.setLayers({ "VK_LAYER_KHRONOS_validation" });
if (!inst.create())
qFatal("Failed to create Vulkan instance: %d", inst.errorCode());
//! [0]

View File

@ -85,14 +85,14 @@ void wrapper0() {
QVulkanInstance inst;
// Enable validation layer, if supported. Messages go to qDebug by default.
inst.setLayers(QByteArrayList() << "VK_LAYER_LUNARG_standard_validation");
inst.setLayers({ "VK_LAYER_KHRONOS_validation" });
bool ok = inst.create();
if (!ok) {
// ... Vulkan not available
}
if (!inst.layers().contains("VK_LAYER_LUNARG_standard_validation")) {
if (!inst.layers().contains("VK_LAYER_KHRONOS_validation")) {
// ... validation layer not available
}
//! [1]
@ -103,7 +103,7 @@ void wrapper1() {
//! [2]
QVulkanInstance inst;
if (inst.supportedLayers().contains("VK_LAYER_LUNARG_standard_validation")) {
if (inst.supportedLayers().contains("VK_LAYER_KHRONOS_validation")) {
// ...
}
bool ok = inst.create();

View File

@ -98,7 +98,7 @@ int main(int argc, char *argv[])
QVulkanInstance inst;
// enable the standard validation layers, when available
inst.setLayers(QByteArrayList() << "VK_LAYER_LUNARG_standard_validation");
inst.setLayers({ "VK_LAYER_KHRONOS_validation" });
if (!inst.create())
qFatal("Failed to create Vulkan instance: %d", inst.errorCode());

View File

@ -722,7 +722,7 @@ void QVulkanWindowPrivate::init()
&& VK_VERSION_PATCH(apiVersion) <= 13)
{
// Make standard validation work at least.
const QByteArray stdValName = QByteArrayLiteral("VK_LAYER_LUNARG_standard_validation");
const QByteArray stdValName = QByteArrayLiteral("VK_LAYER_KHRONOS_validation");
const char *stdValNamePtr = stdValName.constData();
if (inst->layers().contains(stdValName)) {
uint32_t count = 0;

View File

@ -472,7 +472,7 @@ void tst_QVulkan::vulkanWindowRenderer()
void tst_QVulkan::vulkanWindowGrab()
{
QVulkanInstance inst;
inst.setLayers(QByteArrayList() << "VK_LAYER_LUNARG_standard_validation");
inst.setLayers(QByteArrayList() << "VK_LAYER_KHRONOS_validation");
if (!inst.create())
QSKIP("Vulkan init failed; skip");

View File

@ -222,8 +222,8 @@ void VWindow::init()
}
QList<const char *> devLayers;
if (inst->layers().contains("VK_LAYER_LUNARG_standard_validation"))
devLayers.append("VK_LAYER_LUNARG_standard_validation");
if (inst->layers().contains("VK_LAYER_KHRONOS_validation"))
devLayers.append("VK_LAYER_KHRONOS_validation");
QList<const char *> devExts;
devExts.append("VK_KHR_swapchain");
@ -697,7 +697,7 @@ int main(int argc, char *argv[])
qDebug() << inst.supportedLayers() << inst.supportedExtensions();
// Enable validation layer, if supported.
inst.setLayers(QByteArrayList() << "VK_LAYER_LUNARG_standard_validation");
inst.setLayers(QByteArrayList() << "VK_LAYER_KHRONOS_validation");
bool ok = inst.create();
qDebug("QVulkanInstance::create() returned %d", ok);