From 5413df4724f89a2964cc1c7ededa634bd0252f6b Mon Sep 17 00:00:00 2001 From: Vicki Pfau Date: Tue, 11 Jul 2017 09:59:01 -0700 Subject: [PATCH] Qt: Fix GL-less build (fixes #788) --- CHANGES | 1 + src/platform/qt/SettingsView.cpp | 4 ++++ src/platform/qt/ShaderSelector.cpp | 4 ++++ src/platform/qt/ShaderSelector.h | 4 ++++ src/platform/qt/Window.cpp | 6 ++++++ 5 files changed, 19 insertions(+) diff --git a/CHANGES b/CHANGES index aa802fc34..3d9eca178 100644 --- a/CHANGES +++ b/CHANGES @@ -171,6 +171,7 @@ Bugfixes: - GB Audio: Fix zombie mode bit masking - GBA Timer: Fix count-up timing overflowing timer 3 - Core: Fix rewinding getting out of sync (fixes mgba.io/i/791) + - Qt: Fix GL-less build Misc: - Qt: Add language selector - GBA Timer: Improve accuracy of timers diff --git a/src/platform/qt/SettingsView.cpp b/src/platform/qt/SettingsView.cpp index c25ea3448..bc9b7a0d4 100644 --- a/src/platform/qt/SettingsView.cpp +++ b/src/platform/qt/SettingsView.cpp @@ -187,17 +187,21 @@ SettingsView::SettingsView(ConfigController* controller, InputController* inputC } SettingsView::~SettingsView() { +#if defined(BUILD_GL) || defined(BUILD_GLES) if (m_shader) { m_ui.stackedWidget->removeWidget(m_shader); m_shader->setParent(nullptr); } +#endif } void SettingsView::setShaderSelector(ShaderSelector* shaderSelector) { +#if defined(BUILD_GL) || defined(BUILD_GLES) m_shader = shaderSelector; m_ui.stackedWidget->addWidget(m_shader); m_ui.tabs->addItem(tr("Shaders")); connect(m_ui.buttonBox, &QDialogButtonBox::accepted, m_shader, &ShaderSelector::saved); +#endif } void SettingsView::selectBios(QLineEdit* bios) { diff --git a/src/platform/qt/ShaderSelector.cpp b/src/platform/qt/ShaderSelector.cpp index 6d874b248..ae32e2145 100644 --- a/src/platform/qt/ShaderSelector.cpp +++ b/src/platform/qt/ShaderSelector.cpp @@ -21,6 +21,8 @@ #include #include "platform/video-backend.h" +#if defined(BUILD_GL) || defined(BUILD_GLES) + #if !defined(_WIN32) || defined(USE_EPOXY) #include "platform/opengl/gles2.h" #endif @@ -280,3 +282,5 @@ void ShaderSelector::buttonPressed(QAbstractButton* button) { break; } } + +#endif diff --git a/src/platform/qt/ShaderSelector.h b/src/platform/qt/ShaderSelector.h index 76a166f85..299204181 100644 --- a/src/platform/qt/ShaderSelector.h +++ b/src/platform/qt/ShaderSelector.h @@ -6,6 +6,8 @@ #ifndef QGBA_SHADER_SELECTOR_H #define QGBA_SHADER_SELECTOR_H +#if defined(BUILD_GL) || defined(BUILD_GLES) + #include #include "ui_ShaderSelector.h" @@ -56,3 +58,5 @@ private: } #endif + +#endif diff --git a/src/platform/qt/Window.cpp b/src/platform/qt/Window.cpp index c92d53adf..cfb5f3be4 100644 --- a/src/platform/qt/Window.cpp +++ b/src/platform/qt/Window.cpp @@ -78,7 +78,9 @@ Window::Window(ConfigController* config, int playerId, QWidget* parent) updateTitle(); m_display = Display::create(this); +#if defined(BUILD_GL) || defined(BUILD_GLES) m_shaderView = new ShaderSelector(m_display, m_config); +#endif m_logo.setDevicePixelRatio(m_screenWidget->devicePixelRatio()); m_logo = m_logo; // Free memory left over in old pixmap @@ -274,6 +276,7 @@ void Window::loadConfig() { enterFullScreen(); } +#if defined(BUILD_GL) || defined(BUILD_GLES) if (opts->shader) { struct VDir* shader = VDirOpen(opts->shader); if (shader) { @@ -282,6 +285,7 @@ void Window::loadConfig() { shader->close(shader); } } +#endif m_mruFiles = m_config->getMRU(); updateMRU(); @@ -459,9 +463,11 @@ void Window::exportSharkport() { void Window::openSettingsWindow() { SettingsView* settingsWindow = new SettingsView(m_config, &m_inputController, m_shortcutController); +#if defined(BUILD_GL) || defined(BUILD_GLES) if (m_display->supportsShaders()) { settingsWindow->setShaderSelector(m_shaderView); } +#endif connect(settingsWindow, &SettingsView::biosLoaded, m_controller, &GameController::loadBIOS); connect(settingsWindow, &SettingsView::audioDriverChanged, m_controller, &GameController::reloadAudioDriver); connect(settingsWindow, &SettingsView::displayDriverChanged, this, &Window::mustRestart);