summaryrefslogtreecommitdiff
path: root/src/yuzu
diff options
context:
space:
mode:
Diffstat (limited to 'src/yuzu')
-rw-r--r--src/yuzu/game_list.cpp3
-rw-r--r--src/yuzu/game_list.h2
-rw-r--r--src/yuzu/game_list_p.h5
-rw-r--r--src/yuzu/main.cpp17
-rw-r--r--src/yuzu/main.h5
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();