@StudentScripter
From QRHI :
Each QRhi instance is backed by a backend for a specific graphics API. The selection of the backend is a run time choice and is up to the application or library that creates the QRhi instance.
See also the example:
#if QT_CONFIG(vulkan) QVulkanInstance inst; #endif // ... // ... // ... // ... #elif QT_CONFIG(vulkan) inst.setExtensions(QRhiVulkanInitParams::preferredInstanceExtensions()); if (inst.create()) { QRhiVulkanInitParams params; params.inst = &inst; rhi.reset(QRhi::create(QRhi::Vulkan, ¶ms)); } else { qFatal("Failed to create Vulkan instance"); } #endif if (rhi) qDebug() << rhi->backendName() << rhi->driverInfo(); else qFatal("Failed to initialize RHI");So it's up to YOU (the developer) to chose a backend (or leave it dynamic)...
If you force the use of Vulkan and further only use the Vulkan API, you program/code only works with Vulkan
and like @SGaist said above... if no Vulkan SDK or libs are found or the system is incompatible with Vulkan at all, your program won't work (you need to handle that also... for example like shown in my example via defines and error handling)