Fix OpenGL ES renderer not actually creating OpenGL ES contexts

This commit is contained in:
Cacodemon345
2021-12-26 11:52:50 +06:00
parent 22471629d8
commit 33d2844de6
3 changed files with 14 additions and 8 deletions

View File

@@ -33,17 +33,23 @@ private:
QOpenGLShaderProgram* m_prog;
QOpenGLTextureBlitter* m_blt;
public:
enum class RenderType {
OpenGL,
OpenGLES,
};
void resizeGL(int w, int h) override;
void initializeGL() override;
void paintGL() override;
HardwareRenderer(QWidget* parent = nullptr)
HardwareRenderer(QWidget* parent = nullptr, RenderType rtype = RenderType::OpenGL)
: QOpenGLWindow(QOpenGLWindow::NoPartialUpdate, parent->windowHandle()), QOpenGLFunctions()
{
setMinimumSize(QSize(16, 16));
setFlags(Qt::FramelessWindowHint);
parentWidget = parent;
setRenderType(rtype);
m_context = new QOpenGLContext();
m_context->setFormat(format());
m_context->create();
}
~HardwareRenderer()
@@ -52,10 +58,7 @@ public:
if (m_blt) m_blt->destroy();
}
enum class RenderType {
OpenGL,
OpenGLES,
};
void setRenderType(RenderType type);
public slots: