1
1
Fork 0
forked from suyu/suyu

OpenGL renderer: Request a forward compatible context in citra-qt

This should fix context creation on OS X. Also requests a core context on all platforms in Citra-GLFW, for consistency.
This commit is contained in:
Yuri Kunde Schlesner 2014-08-30 18:17:47 -03:00 committed by Tony Wasserka
parent 11642fd3a2
commit ac54cd13db
2 changed files with 3 additions and 6 deletions

View file

@ -42,12 +42,9 @@ EmuWindow_GLFW::EmuWindow_GLFW() {
} }
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3); glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 2); glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 2);
#if EMU_PLATFORM == PLATFORM_MACOSX
// GLFW on OSX requires these window hints to be set to create a 3.2+ GL context. // GLFW on OSX requires these window hints to be set to create a 3.2+ GL context.
glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE); glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE);
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE); glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
#endif
m_render_window = glfwCreateWindow(VideoCore::kScreenTopWidth, m_render_window = glfwCreateWindow(VideoCore::kScreenTopWidth,
(VideoCore::kScreenTopHeight + VideoCore::kScreenBottomHeight), (VideoCore::kScreenTopHeight + VideoCore::kScreenBottomHeight),

View file

@ -113,10 +113,10 @@ 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 // TODO: One of these flags might be interesting: WA_OpaquePaintEvent, WA_NoBackground, WA_DontShowOnScreen, WA_DeleteOnClose
QGLFormat fmt; QGLFormat fmt;
fmt.setProfile(QGLFormat::CoreProfile);
fmt.setVersion(3,2); fmt.setVersion(3,2);
fmt.setSampleBuffers(true); fmt.setProfile(QGLFormat::CoreProfile);
fmt.setSamples(4); // Requests a forward-compatible context, which is required to get a 3.2+ context on OS X
fmt.setOption(QGL::NoDeprecatedFunctions);
child = new GGLWidgetInternal(fmt, this); child = new GGLWidgetInternal(fmt, this);
QBoxLayout* layout = new QHBoxLayout(this); QBoxLayout* layout = new QHBoxLayout(this);