qt6-6.9.3

This commit is contained in:
Rmys
2025-10-07 17:11:25 +03:00
parent dd35dec1e0
commit 4c3d896550
2 changed files with 83 additions and 28 deletions
@@ -1,11 +1,21 @@
Revert of [1] from [2] for [3][4]
[1] https://github.com/qt/qtwebengine/commit/812bf186b15
[2] https://bugreports.qt.io/browse/QTBUG-136257
[3] https://bugreports.qt.io/browse/QTBUG-139424
[4] https://bugs.gentoo.org/962055
Revert of [1]+[2] from [3] for [4][5]
[1] https://github.com/qt/qtwebengine/commit/ddcd30454a
[2] https://github.com/qt/qtwebengine/commit/9168bc6f53
[3] https://bugreports.qt.io/browse/QTBUG-136257
[4] https://bugreports.qt.io/browse/QTBUG-139424
[5] https://bugs.gentoo.org/962055
--- a/src/core/ozone/egl_helper.cpp
+++ b/src/core/ozone/egl_helper.cpp
@@ -60,2 +60,80 @@
@@ -7,5 +7,7 @@
#include "web_engine_context.h"
+#include <QtCore/qthread.h>
#include <QtGui/qguiapplication.h>
+#include <QtGui/qoffscreensurface.h>
#include <QtGui/qopenglcontext.h>
#include <QtGui/qopenglfunctions.h>
@@ -58,4 +60,82 @@
QT_BEGIN_NAMESPACE
+class ScopedGLContext
+{
@@ -86,16 +96,36 @@ Revert of [1] from [2] for [3][4]
+};
+
EGLHelper::EGLFunctions::EGLFunctions()
@@ -66,4 +144,2 @@
{
@@ -64,6 +144,4 @@
eglCreateImage =
reinterpret_cast<PFNEGLCREATEIMAGEPROC>(context->getProcAddress("eglCreateImage"));
- eglCreateDRMImageMESA = reinterpret_cast<PFNEGLCREATEDRMIMAGEMESAPROC>(
- context->getProcAddress("eglCreateDRMImageMESA"));
eglDestroyImage =
@@ -124,3 +200,2 @@
reinterpret_cast<PFNEGLDESTROYIMAGEPROC>(context->getProcAddress("eglDestroyImage"));
@@ -94,4 +172,5 @@
: m_eglDisplay(qApp->platformNativeInterface()->nativeResourceForIntegration("egldisplay"))
, m_functions(new EGLHelper::EGLFunctions())
+ , m_offscreenSurface(new QOffscreenSurface())
{
const char *extensions = m_functions->eglQueryString(EGL_NO_DISPLAY, EGL_EXTENSIONS);
@@ -111,4 +190,7 @@
}
+ Q_ASSERT(QThread::currentThread() == qApp->thread());
+ m_offscreenSurface->create();
+
m_isDmaBufSupported = QtWebEngineCore::WebEngineContext::isGbmSupported();
@@ -118,5 +200,4 @@
m_isDmaBufSupported = strstr(displayExtensions, "EGL_EXT_image_dma_buf_import")
&& strstr(displayExtensions, "EGL_EXT_image_dma_buf_import_modifiers")
- && strstr(displayExtensions, "EGL_MESA_drm_image")
&& strstr(displayExtensions, "EGL_MESA_image_dma_buf_export");
@@ -145,13 +220,15 @@
}
@@ -139,15 +220,17 @@
return;
- // clang-format off
- EGLint attribs[] = {
@@ -121,13 +151,31 @@ Revert of [1] from [2] for [3][4]
+ EGLImage eglImage = m_functions->eglCreateImage(m_eglDisplay, eglContext, EGL_GL_TEXTURE_2D,
+ (EGLClientBuffer)textureId, NULL);
if (eglImage == EGL_NO_IMAGE) {
qWarning("EGL: Failed to create EGLImage: %s", getLastEGLErrorString());
--- a/src/core/ozone/egl_helper.h
+++ b/src/core/ozone/egl_helper.h
@@ -13,3 +13,2 @@
@@ -13,5 +13,4 @@
#undef eglCreateImage
-#undef eglCreateDRMImageMESA
#undef eglDestroyImage
@@ -36,3 +35,2 @@
#undef eglExportDMABUFImageMESA
@@ -26,4 +25,6 @@
QT_BEGIN_NAMESPACE
+class QOffscreenSurface;
+
class EGLHelper
{
@@ -34,5 +35,4 @@
PFNEGLCREATEIMAGEPROC eglCreateImage;
- PFNEGLCREATEDRMIMAGEMESAPROC eglCreateDRMImageMESA;
PFNEGLDESTROYIMAGEPROC eglDestroyImage;
PFNEGLEXPORTDMABUFIMAGEMESAPROC eglExportDMABUFImageMESA;
@@ -60,4 +60,5 @@
EGLDisplay m_eglDisplay = EGL_NO_DISPLAY;
QScopedPointer<EGLFunctions> m_functions;
+ QScopedPointer<QOffscreenSurface> m_offscreenSurface;
bool m_isDmaBufSupported = false;
};