diff options
Diffstat (limited to 'src/yuzu')
| -rw-r--r-- | src/yuzu/game_list.cpp | 3 | ||||
| -rw-r--r-- | src/yuzu/game_list.h | 2 | ||||
| -rw-r--r-- | src/yuzu/game_list_p.h | 5 | ||||
| -rw-r--r-- | src/yuzu/main.cpp | 17 | ||||
| -rw-r--r-- | src/yuzu/main.h | 5 |
5 files changed, 23 insertions, 9 deletions
diff --git a/src/yuzu/game_list.cpp b/src/yuzu/game_list.cpp index d15242d59..a3f4d9421 100644 --- a/src/yuzu/game_list.cpp +++ b/src/yuzu/game_list.cpp @@ -16,8 +16,9 @@ #include <boost/container/flat_map.hpp> #include <fmt/format.h> #include "common/common_paths.h" +#include "common/common_types.h" +#include "common/file_util.h" #include "common/logging/log.h" -#include "common/string_util.h" #include "core/file_sys/content_archive.h" #include "core/file_sys/control_metadata.h" #include "core/file_sys/registered_cache.h" diff --git a/src/yuzu/game_list.h b/src/yuzu/game_list.h index 6a5c2f5f8..84731464a 100644 --- a/src/yuzu/game_list.h +++ b/src/yuzu/game_list.h @@ -20,6 +20,8 @@ #include <QVBoxLayout> #include <QWidget> +#include "common/common_types.h" + class GameListWorker; class GMainWindow; diff --git a/src/yuzu/game_list_p.h b/src/yuzu/game_list_p.h index 3624cb21a..4ddd8cd88 100644 --- a/src/yuzu/game_list_p.h +++ b/src/yuzu/game_list_p.h @@ -4,18 +4,23 @@ #pragma once +#include <algorithm> #include <array> #include <atomic> #include <map> #include <memory> +#include <string> #include <unordered_map> #include <utility> + #include <QCoreApplication> #include <QImage> #include <QObject> #include <QRunnable> #include <QStandardItem> #include <QString> + +#include "common/common_types.h" #include "common/logging/log.h" #include "common/string_util.h" #include "yuzu/ui_settings.h" diff --git a/src/yuzu/main.cpp b/src/yuzu/main.cpp index e11ba7854..fd73b8541 100644 --- a/src/yuzu/main.cpp +++ b/src/yuzu/main.cpp @@ -18,6 +18,7 @@ #include <QtWidgets> #include <fmt/format.h> #include "common/common_paths.h" +#include "common/file_util.h" #include "common/logging/backend.h" #include "common/logging/filter.h" #include "common/logging/log.h" @@ -419,7 +420,7 @@ void GMainWindow::OnDisplayTitleBars(bool show) { } } -bool GMainWindow::SupportsRequiredGLExtensions() { +QStringList GMainWindow::GetUnsupportedGLExtensions() { QStringList unsupported_ext; if (!GLAD_GL_ARB_program_interface_query) @@ -446,7 +447,7 @@ bool GMainWindow::SupportsRequiredGLExtensions() { for (const QString& ext : unsupported_ext) LOG_CRITICAL(Frontend, "Unsupported GL extension: {}", ext.toStdString()); - return unsupported_ext.empty(); + return unsupported_ext; } bool GMainWindow::LoadROM(const QString& filename) { @@ -464,11 +465,13 @@ bool GMainWindow::LoadROM(const QString& filename) { return false; } - if (!SupportsRequiredGLExtensions()) { - QMessageBox::critical( - this, tr("Error while initializing OpenGL Core!"), - tr("Your GPU may not support one or more required OpenGL extensions. Please " - "ensure you have the latest graphics driver. See the log for more details.")); + QStringList unsupported_gl_extensions = GetUnsupportedGLExtensions(); + if (!unsupported_gl_extensions.empty()) { + QMessageBox::critical(this, tr("Error while initializing OpenGL Core!"), + tr("Your GPU may not support one or more required OpenGL" + "extensions. Please ensure you have the latest graphics " + "driver.<br><br>Unsupported extensions:<br>") + + unsupported_gl_extensions.join("<br>")); return false; } diff --git a/src/yuzu/main.h b/src/yuzu/main.h index 0b97e8220..29bc6e004 100644 --- a/src/yuzu/main.h +++ b/src/yuzu/main.h @@ -6,8 +6,11 @@ #include <memory> #include <unordered_map> + #include <QMainWindow> #include <QTimer> + +#include "common/common_types.h" #include "core/core.h" #include "ui_main.h" #include "yuzu/hotkeys.h" @@ -85,7 +88,7 @@ private: void ConnectWidgetEvents(); void ConnectMenuEvents(); - bool SupportsRequiredGLExtensions(); + QStringList GetUnsupportedGLExtensions(); bool LoadROM(const QString& filename); void BootGame(const QString& filename); void ShutdownGame(); |
