]> git.sesse.net Git - nageru/blobdiff - context.cpp
Show the current resolution next to the inputs.
[nageru] / context.cpp
index 72275e9f9ba5db18d039e8c6e577356a6f9aa2b0..6ce57446b08983c670a3c7b7c99aaf452cc0fe61 100644 (file)
@@ -1,9 +1,13 @@
 #include <stdio.h>
-#include <stdlib.h>
 
-#include <QOpenGLContext>
+#include <QGL>
 #include <QOffscreenSurface>
-#include <QWindow>
+#include <QOpenGLContext>
+#include <QSurfaceFormat>
+
+class QSurface;
+
+QGLWidget *global_share_widget = nullptr;
 
 QSurface *create_surface(const QSurfaceFormat &format)
 {
@@ -18,10 +22,11 @@ QSurface *create_surface(const QSurfaceFormat &format)
        return surface;
 }
 
-QOpenGLContext *create_context()
+QOpenGLContext *create_context(const QSurface *surface)
 {
        QOpenGLContext *context = new QOpenGLContext;
-       context->setShareContext(QOpenGLContext::globalShareContext());
+       context->setShareContext(global_share_widget->context()->contextHandle());
+       context->setFormat(surface->format());
        context->create();
        return context;
 }