mirror of
https://github.com/citra-emu/citra.git
synced 2024-11-23 22:50:10 +00:00
citra_qt: Add OpenGL configuration
This commit is contained in:
parent
22c2d51e21
commit
8885c118ff
@ -131,10 +131,20 @@ GRenderWindow::GRenderWindow(QWidget* parent) : QWidget(parent), emu_thread(this
|
||||
|
||||
// TODO: One of these flags might be interesting: WA_OpaquePaintEvent, WA_NoBackground, WA_DontShowOnScreen, WA_DeleteOnClose
|
||||
QGLFormat fmt;
|
||||
fmt.setVersion(3,2);
|
||||
fmt.setProfile(QGLFormat::CoreProfile);
|
||||
// Requests a forward-compatible context, which is required to get a 3.2+ context on OS X
|
||||
fmt.setOption(QGL::NoDeprecatedFunctions);
|
||||
fmt.setVersion(Settings::values.opengl_version_major, Settings::values.opengl_version_minor);
|
||||
if (Settings::values.opengl_flavor == "core") {
|
||||
fmt.setProfile(QGLFormat::CoreProfile);
|
||||
// Requests a forward-compatible context, which is required to get a 3.2+ context on OS X
|
||||
fmt.setOption(QGL::NoDeprecatedFunctions);
|
||||
} else if (Settings::values.opengl_flavor == "gles") {
|
||||
// TODO(Link Mauve): We need a way to tell Qt to give us a GLES context.
|
||||
// A possible solution given by Subv, but unimplementable until we ditch Qt4:
|
||||
// You could use QSurfaceFormat with RenderableType::OpenGLES and then get the QGLFormat
|
||||
// with QGLFormat::fromSurfaceFormat. I am not sure if this would work. As a side note,
|
||||
// all the QGL* (QGLFormat, QGLWidget, etc) classes have been deprecated as of Qt 5.4, so
|
||||
// it might be worth it to check out the other alternatives
|
||||
LOG_WARNING(Frontend, "GLES requested but ignored.");
|
||||
}
|
||||
|
||||
child = new GGLWidgetInternal(fmt, this);
|
||||
QBoxLayout* layout = new QHBoxLayout(this);
|
||||
|
@ -48,6 +48,12 @@ void Config::ReadValues() {
|
||||
Settings::values.frame_skip = qt_config->value("frame_skip", 0).toInt();
|
||||
qt_config->endGroup();
|
||||
|
||||
qt_config->beginGroup("OpenGL");
|
||||
Settings::values.opengl_version_major = qt_config->value("version_major", 2).toInt();
|
||||
Settings::values.opengl_version_minor = qt_config->value("version_minor", 1).toInt();
|
||||
Settings::values.opengl_flavor = qt_config->value("flavor", QString("compatibility")).toString().toUtf8().constData();
|
||||
qt_config->endGroup();
|
||||
|
||||
qt_config->beginGroup("Data Storage");
|
||||
Settings::values.use_virtual_sd = qt_config->value("use_virtual_sd", true).toBool();
|
||||
qt_config->endGroup();
|
||||
@ -84,6 +90,12 @@ void Config::SaveValues() {
|
||||
qt_config->setValue("frame_skip", Settings::values.frame_skip);
|
||||
qt_config->endGroup();
|
||||
|
||||
qt_config->beginGroup("OpenGL");
|
||||
qt_config->setValue("version_major", Settings::values.opengl_version_major);
|
||||
qt_config->setValue("version_minor", Settings::values.opengl_version_minor);
|
||||
qt_config->setValue("flavor", QString(Settings::values.opengl_flavor.c_str()));
|
||||
qt_config->endGroup();
|
||||
|
||||
qt_config->beginGroup("Data Storage");
|
||||
qt_config->setValue("use_virtual_sd", Settings::values.use_virtual_sd);
|
||||
qt_config->endGroup();
|
||||
|
Loading…
Reference in New Issue
Block a user