From 33a9cbef657d598589500d2eecea192b83f79b3c Mon Sep 17 00:00:00 2001 From: Yuhang Zhao Date: Tue, 20 Jun 2023 11:29:21 +0800 Subject: [PATCH] WASM: don't ignore custom QSurfaceFormat settings MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Previously, Qt would always ignore user's custom QSurfaceFormat settings and this behavior makes user have no way to control the preferred OpenGL version when running on WASM. And after reading the wasm platform plugin code, I don't see any reason why we should limit ourself to the default OpenGL version. And I've tested this patch locally, Qt still work normally if I set a newer OpenGL version. Pick-to: 6.6 6.5 Change-Id: I0cfb831d6a722fe61cc85808a6d9e3098c73d82e Reviewed-by: Morten Johan Sørvig Reviewed-by: Tor Arne Vestbø --- src/plugins/platforms/wasm/qwasmwindow.cpp | 5 +++++ src/plugins/platforms/wasm/qwasmwindow.h | 2 ++ 2 files changed, 7 insertions(+) diff --git a/src/plugins/platforms/wasm/qwasmwindow.cpp b/src/plugins/platforms/wasm/qwasmwindow.cpp index 46073302285..775f71b3ad3 100644 --- a/src/plugins/platforms/wasm/qwasmwindow.cpp +++ b/src/plugins/platforms/wasm/qwasmwindow.cpp @@ -152,6 +152,11 @@ QWasmWindow::~QWasmWindow() #endif } +QSurfaceFormat QWasmWindow::format() const +{ + return window()->requestedFormat(); +} + void QWasmWindow::onRestoreClicked() { window()->setWindowState(Qt::WindowNoState); diff --git a/src/plugins/platforms/wasm/qwasmwindow.h b/src/plugins/platforms/wasm/qwasmwindow.h index 0c523d3d9fa..37e186d7009 100644 --- a/src/plugins/platforms/wasm/qwasmwindow.h +++ b/src/plugins/platforms/wasm/qwasmwindow.h @@ -49,6 +49,8 @@ public: QWasmBackingStore *backingStore); ~QWasmWindow() final; + QSurfaceFormat format() const override; + void paint(); void setZOrder(int order); void setWindowCursor(QByteArray cssCursorName);