aboutsummaryrefslogtreecommitdiff
path: root/src/frontend/qt_sdl/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/frontend/qt_sdl/main.cpp')
-rw-r--r--src/frontend/qt_sdl/main.cpp19
1 files changed, 17 insertions, 2 deletions
diff --git a/src/frontend/qt_sdl/main.cpp b/src/frontend/qt_sdl/main.cpp
index 096b91c..8f2a61e 100644
--- a/src/frontend/qt_sdl/main.cpp
+++ b/src/frontend/qt_sdl/main.cpp
@@ -268,7 +268,7 @@ void EmuThread::initOpenGL()
QOpenGLContext* windowctx = mainWindow->getOGLContext();
QSurfaceFormat format = windowctx->format();
- oglSurface = new QOffscreenSurface();
+ /*oglSurface = new QOffscreenSurface();
oglSurface->setFormat(format);
oglSurface->create();
if (!oglSurface->isValid())
@@ -277,7 +277,8 @@ void EmuThread::initOpenGL()
printf("oglSurface shat itself :(\n");
delete oglSurface;
return;
- }
+ }*/
+ oglSurface = new GLShim(format);
oglContext = new QOpenGLContext();//oglSurface);
oglContext->setFormat(oglSurface->format());
@@ -957,6 +958,19 @@ void ScreenPanelGL::onScreenLayoutChanged()
}
+GLShim::GLShim(QSurfaceFormat& format) : QWindow()
+{
+ setSurfaceType(QSurface::OpenGLSurface);
+ setFormat(format);
+ create();
+ hide();
+}
+
+GLShim::~GLShim()
+{
+}
+
+
MainWindow::MainWindow(QWidget* parent) : QMainWindow(parent)
{
setWindowTitle("melonDS " MELONDS_VERSION);
@@ -1835,6 +1849,7 @@ int main(int argc, char** argv)
format.setStencilBufferSize(8);
format.setVersion(3, 2);
format.setProfile(QSurfaceFormat::CoreProfile);
+ format.setSwapInterval(0);
QSurfaceFormat::setDefaultFormat(format);
audioSync = SDL_CreateCond();