#include <stdio.h>
-#include <stdlib.h>
-#include <QOpenGLContext>
+#include <QGL>
#include <QOffscreenSurface>
-#include <QWindow>
-#include <QGLWidget>
+#include <QOpenGLContext>
+#include <QSurface>
+#include <QSurfaceFormat>
QGLWidget *global_share_widget = nullptr;
return surface;
}
-QOpenGLContext *create_context()
+QSurface *create_surface_with_same_format(const QSurface *surface)
+{
+ return create_surface(surface->format());
+}
+
+QOpenGLContext *create_context(const QSurface *surface)
{
QOpenGLContext *context = new QOpenGLContext;
context->setShareContext(global_share_widget->context()->contextHandle());
+ context->setFormat(surface->format());
context->create();
return context;
}
{
return context->makeCurrent(surface);
}
+
+void delete_context(QOpenGLContext *context)
+{
+ delete context;
+}