From 143d00cc2ccc113c935fab1de23614f3d8764a89 Mon Sep 17 00:00:00 2001 From: JiDe Zhang Date: Wed, 12 Apr 2023 17:59:18 +0800 Subject: [PATCH] rhi: gl: Fix GL_INVALID_OPERATION error at glPolygonMode Fixes: QTBUG-112756 Pick-to: 6.5 6.4 6.2 Change-Id: Id03bf805d70754818a98606b81a08a70d06853ba Reviewed-by: Laszlo Agocs --- src/gui/rhi/qrhigles2.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/gui/rhi/qrhigles2.cpp b/src/gui/rhi/qrhigles2.cpp index ce39b510dc..7c879a391b 100644 --- a/src/gui/rhi/qrhigles2.cpp +++ b/src/gui/rhi/qrhigles2.cpp @@ -658,6 +658,8 @@ bool QRhiGles2::create(QRhi::Flags flags) return false; f = static_cast(ctx->extraFunctions()); + const QSurfaceFormat actualFormat = ctx->format(); + caps.gles = actualFormat.renderableType() == QSurfaceFormat::OpenGLES; if (!caps.gles) { glPolygonMode = reinterpret_cast( @@ -708,8 +710,6 @@ bool QRhiGles2::create(QRhi::Flags flags) if (version) driverInfoStruct.deviceName += QByteArray(version); - const QSurfaceFormat actualFormat = ctx->format(); - caps.ctxMajor = actualFormat.majorVersion(); caps.ctxMinor = actualFormat.minorVersion(); @@ -769,8 +769,6 @@ bool QRhiGles2::create(QRhi::Flags flags) f->glGetIntegerv(GL_MAX_TEXTURE_SIZE, &caps.maxTextureSize); - caps.gles = actualFormat.renderableType() == QSurfaceFormat::OpenGLES; - if (!caps.gles || caps.ctxMajor >= 3) { // non-ES or ES 3.0+ f->glGetIntegerv(GL_MAX_DRAW_BUFFERS, &caps.maxDrawBuffers);