qt: Fix compiling with Vulkan support unavailable

This commit is contained in:
Cacodemon345
2022-04-25 16:09:37 +06:00
parent 9c070dc192
commit 6f968e3fd7
6 changed files with 16 additions and 0 deletions

View File

@@ -280,6 +280,11 @@ MainWindow::MainWindow(QWidget *parent) :
ui->actionOpenGL_3_0_Core->setVisible(false);
}
#if !QT_CONFIG(vulkan)
if (vid_api == 4) vid_api = 0;
ui->actionVulkan->setVisible(false);
#endif
QActionGroup* actGroup = nullptr;
actGroup = new QActionGroup(this);

View File

@@ -245,6 +245,7 @@ void
RendererStack::createRenderer(Renderer renderer)
{
switch (renderer) {
default:
case Renderer::Software:
{
auto sw = new SoftwareRenderer(this);
@@ -296,6 +297,7 @@ RendererStack::createRenderer(Renderer renderer)
current.reset(this->createWindowContainer(hw, this));
break;
}
#if QT_CONFIG(vulkan)
case Renderer::Vulkan:
{
this->createWinId();
@@ -331,6 +333,7 @@ RendererStack::createRenderer(Renderer renderer)
current.reset(this->createWindowContainer(hw, this));
break;
}
#endif
}
current->setFocusPolicy(Qt::NoFocus);

View File

@@ -34,6 +34,7 @@
#include <QCoreApplication>
#include <QFile>
#include "qt_vulkanrenderer.hpp"
#if QT_CONFIG(vulkan)
#include <QVulkanFunctions>
extern "C"
@@ -1003,3 +1004,4 @@ void VulkanRenderer2::startNextFrame()
m_window->frameReady();
m_window->requestUpdate(); // render continuously, throttled by the presentation rate
}
#endif

View File

@@ -35,6 +35,7 @@
#include <QVulkanWindow>
#include <QImage>
#if QT_CONFIG(vulkan)
#include "qt_vulkanwindowrenderer.hpp"
class VulkanRenderer2 : public QVulkanWindowRenderer
@@ -91,3 +92,4 @@ private:
QMatrix4x4 m_proj;
float m_rotation = 0.0f;
};
#endif

View File

@@ -5,6 +5,7 @@
#include <QMessageBox>
#include <QWindow>
#if QT_CONFIG(vulkan)
#include <array>
#include <stdexcept>
@@ -847,3 +848,4 @@ std::vector<std::tuple<uint8_t *, std::atomic_flag *>> VulkanWindowRenderer::get
{
return std::vector{std::make_tuple((uint8_t*)renderer->mappedPtr, &this->buf_usage[0])};
}
#endif

View File

@@ -3,6 +3,7 @@
#include <QVulkanWindow>
#if QT_CONFIG(vulkan)
#include "qt_renderercommon.hpp"
#include "qt_vulkanrenderer.hpp"
@@ -33,5 +34,6 @@ private:
VulkanRenderer2* renderer;
};
#endif
#endif // VULKANWINDOWRENDERER_HPP