diff options
Diffstat (limited to 'src/opengl')
-rw-r--r-- | src/opengl/CMakeLists.txt | 4 | ||||
-rw-r--r-- | src/opengl/compat/removed_api.cpp | 28 | ||||
-rw-r--r-- | src/opengl/qopenglcompositorbackingstore.cpp | 42 | ||||
-rw-r--r-- | src/opengl/qopenglfunctions_4_5_compatibility.h | 111 | ||||
-rw-r--r-- | src/opengl/qopenglfunctions_4_5_core.h | 111 | ||||
-rw-r--r-- | src/opengl/qopenglpaintdevice.cpp | 4 | ||||
-rw-r--r-- | src/opengl/qopenglpaintengine_p.h | 2 |
7 files changed, 143 insertions, 159 deletions
diff --git a/src/opengl/CMakeLists.txt b/src/opengl/CMakeLists.txt index 825e4cb71b..52af12d683 100644 --- a/src/opengl/CMakeLists.txt +++ b/src/opengl/CMakeLists.txt @@ -7,6 +7,7 @@ qt_internal_add_module(OpenGL SOURCES + compat/removed_api.cpp qopengl2pexvertexarray.cpp qopengl2pexvertexarray_p.h qopenglbuffer.cpp qopenglbuffer.h qopenglcustomshaderstage.cpp qopenglcustomshaderstage_p.h @@ -35,6 +36,8 @@ qt_internal_add_module(OpenGL qtopenglglobal.h NO_UNITY_BUILD_SOURCES qopengltextureblitter.cpp # qDebug()<< ambiguities + NO_PCH_SOURCES + compat/removed_api.cpp DEFINES QT_NO_CONTEXTLESS_CONNECT QT_NO_FOREACH @@ -49,7 +52,6 @@ qt_internal_add_module(OpenGL PRIVATE_MODULE_INTERFACE Qt::CorePrivate Qt::GuiPrivate - GENERATE_CPP_EXPORTS ) ## Scopes: diff --git a/src/opengl/compat/removed_api.cpp b/src/opengl/compat/removed_api.cpp new file mode 100644 index 0000000000..634aa5b9f6 --- /dev/null +++ b/src/opengl/compat/removed_api.cpp @@ -0,0 +1,28 @@ +// Copyright (C) 2024 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +#define QT_OPENGL_BUILD_REMOVED_API + +#include "qtopenglglobal.h" + +QT_USE_NAMESPACE + + +#if QT_OPENGL_REMOVED_SINCE(6, 8) + +#include "qopenglfunctions_4_5_compatibility.h" // inline API +#include "qopenglfunctions_4_5_core.h" // inline API + +// #include <qotherheader.h> +// // implement removed functions from qotherheader.h +// order sections alphabetically to reduce chances of merge conflicts + +#endif // QT_OPENGL_REMOVED_SINCE(6, 8) + +#if QT_OPENGL_REMOVED_SINCE(6, 9) + +// #include "qotherheader.h" +// // implement removed functions from qotherheader.h +// order sections alphabetically to reduce chances of merge conflicts + +#endif // QT_OPENGL_REMOVED_SINCE(6, 9) diff --git a/src/opengl/qopenglcompositorbackingstore.cpp b/src/opengl/qopenglcompositorbackingstore.cpp index 931734cf60..052f29d41e 100644 --- a/src/opengl/qopenglcompositorbackingstore.cpp +++ b/src/opengl/qopenglcompositorbackingstore.cpp @@ -134,40 +134,24 @@ void QOpenGLCompositorBackingStore::updateTexture() } } -void QOpenGLCompositorBackingStore::flush(QWindow *window, const QRegion ®ion, const QPoint &offset) +void QOpenGLCompositorBackingStore::flush(QWindow *flushedWindow, const QRegion ®ion, const QPoint &offset) { // Called for ordinary raster windows. - auto *handle = dynamic_cast<QOpenGLCompositorWindow *>(window->handle()); - if (handle && !handle->backingStore()) - handle->setBackingStore(this); Q_UNUSED(region); Q_UNUSED(offset); - m_rhi = rhi(); - if (!m_rhi) { - setRhiConfig(QPlatformBackingStoreRhiConfig(QPlatformBackingStoreRhiConfig::OpenGL)); - m_rhi = rhi(); + if (!rhi(flushedWindow)) { + QPlatformBackingStoreRhiConfig rhiConfig; + rhiConfig.setApi(QPlatformBackingStoreRhiConfig::OpenGL); + rhiConfig.setEnabled(true); + createRhi(flushedWindow, rhiConfig); } - Q_ASSERT(m_rhi); - - QOpenGLCompositor *compositor = QOpenGLCompositor::instance(); - QOpenGLContext *dstCtx = compositor->context(); - if (!dstCtx) - return; - - QWindow *dstWin = compositor->targetWindow(); - if (!dstWin) - return; - if (!dstCtx->makeCurrent(dstWin)) - return; - - updateTexture(); - m_textures->clear(); - m_textures->appendTexture(nullptr, m_bsTextureWrapper, window->geometry()); - - compositor->update(); + static QPlatformTextureList emptyTextureList; + bool translucentBackground = m_image.hasAlphaChannel(); + rhiFlush(flushedWindow, flushedWindow->devicePixelRatio(), + region, offset, &emptyTextureList, translucentBackground); } QPlatformBackingStore::FlushResult QOpenGLCompositorBackingStore::rhiFlush(QWindow *window, @@ -184,11 +168,7 @@ QPlatformBackingStore::FlushResult QOpenGLCompositorBackingStore::rhiFlush(QWind Q_UNUSED(translucentBackground); Q_UNUSED(sourceDevicePixelRatio); - m_rhi = rhi(); - if (!m_rhi) { - setRhiConfig(QPlatformBackingStoreRhiConfig(QPlatformBackingStoreRhiConfig::OpenGL)); - m_rhi = rhi(); - } + m_rhi = rhi(window); Q_ASSERT(m_rhi); QOpenGLCompositor *compositor = QOpenGLCompositor::instance(); diff --git a/src/opengl/qopenglfunctions_4_5_compatibility.h b/src/opengl/qopenglfunctions_4_5_compatibility.h index cca3eae9e2..bdcfc725f1 100644 --- a/src/opengl/qopenglfunctions_4_5_compatibility.h +++ b/src/opengl/qopenglfunctions_4_5_compatibility.h @@ -700,52 +700,73 @@ public: void glNamedFramebufferParameteri(GLuint framebuffer, GLenum pname, GLint param); void glNamedFramebufferRenderbuffer(GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); void glCreateFramebuffers(GLsizei n, GLuint *framebuffers); -#if QT_VERSION >= QT_VERSION_CHECK(7, 0, 0) - void glGetNamedBufferSubData(GLuint buffer, GLintptr offset, GLsizeiptr size, void *data); -#else - void glGetNamedBufferSubData(GLuint buffer, GLintptr offset, GLsizei size, void *data); +#if QT_OPENGL_REMOVED_SINCE(6, 8) + void glGetNamedBufferSubData(GLuint buffer, GLintptr offset, GLsizei size, void *data) + { + glGetNamedBufferSubData(buffer, offset, GLsizeiptr(size), data); + } #endif + void glGetNamedBufferSubData(GLuint buffer, GLintptr offset, GLsizeiptr size, void *data); void glGetNamedBufferPointerv(GLuint buffer, GLenum pname, void * *params); void glGetNamedBufferParameteri64v(GLuint buffer, GLenum pname, GLint64 *params); void glGetNamedBufferParameteriv(GLuint buffer, GLenum pname, GLint *params); -#if QT_VERSION >= QT_VERSION_CHECK(7, 0, 0) - void glFlushMappedNamedBufferRange(GLuint buffer, GLintptr offset, GLsizeiptr length); -#else - void glFlushMappedNamedBufferRange(GLuint buffer, GLintptr offset, GLsizei length); +#if QT_OPENGL_REMOVED_SINCE(6, 8) + void glFlushMappedNamedBufferRange(GLuint buffer, GLintptr offset, GLsizei length) + { + glFlushMappedNamedBufferRange(buffer, offset, GLsizeiptr(length)); + } #endif + void glFlushMappedNamedBufferRange(GLuint buffer, GLintptr offset, GLsizeiptr length); GLboolean glUnmapNamedBuffer(GLuint buffer); -#if QT_VERSION >= QT_VERSION_CHECK(7, 0, 0) - void * glMapNamedBufferRange(GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access); -#else - void * glMapNamedBufferRange(GLuint buffer, GLintptr offset, GLsizei length, GLbitfield access); +#if QT_OPENGL_REMOVED_SINCE(6, 8) + void * glMapNamedBufferRange(GLuint buffer, GLintptr offset, GLsizei length, GLbitfield access) + { + return glMapNamedBufferRange(buffer, offset, GLsizeiptr(length), access); + } #endif + void * glMapNamedBufferRange(GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access); void * glMapNamedBuffer(GLuint buffer, GLenum access); -#if QT_VERSION >= QT_VERSION_CHECK(7, 0, 0) - void glClearNamedBufferSubData(GLuint buffer, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data); -#else - void glClearNamedBufferSubData(GLuint buffer, GLenum internalformat, GLintptr offset, GLsizei size, GLenum format, GLenum type, const void *data); +#if QT_OPENGL_REMOVED_SINCE(6, 8) + void glClearNamedBufferSubData(GLuint buffer, GLenum internalformat, GLintptr offset, GLsizei size, GLenum format, GLenum type, const void *data) + { + glClearNamedBufferSubData(buffer, internalformat, offset, GLsizeiptr(size), format, type, data); + } #endif + void glClearNamedBufferSubData(GLuint buffer, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data); void glClearNamedBufferData(GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void *data); -#if QT_VERSION >= QT_VERSION_CHECK(7, 0, 0) +#if QT_OPENGL_REMOVED_SINCE(6, 8) + void glCopyNamedBufferSubData(GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizei size) + { + glCopyNamedBufferSubData(readBuffer, writeBuffer, readOffset, writeOffset, GLsizeiptr(size)); + } + void glNamedBufferSubData(GLuint buffer, GLintptr offset, GLsizei size, const void *data) + { + glNamedBufferSubData(buffer, offset, GLsizeiptr(size), data); + } + void glNamedBufferData(GLuint buffer, GLsizei size, const void *data, GLenum usage) + { + glNamedBufferData(buffer, GLsizeiptr(size), data, usage); + } + void glNamedBufferStorage(GLuint buffer, GLsizei size, const void *data, GLbitfield flags) + { + glNamedBufferStorage(buffer, GLsizeiptr(size), data, flags); + } +#endif void glCopyNamedBufferSubData(GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size); void glNamedBufferSubData(GLuint buffer, GLintptr offset, GLsizeiptr size, const void *data); void glNamedBufferData(GLuint buffer, GLsizeiptr size, const void *data, GLenum usage); void glNamedBufferStorage(GLuint buffer, GLsizeiptr size, const void *data, GLbitfield flags); -#else - void glCopyNamedBufferSubData(GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizei size); - void glNamedBufferSubData(GLuint buffer, GLintptr offset, GLsizei size, const void *data); - void glNamedBufferData(GLuint buffer, GLsizei size, const void *data, GLenum usage); - void glNamedBufferStorage(GLuint buffer, GLsizei size, const void *data, GLbitfield flags); -#endif void glCreateBuffers(GLsizei n, GLuint *buffers); void glGetTransformFeedbacki64_v(GLuint xfb, GLenum pname, GLuint index, GLint64 *param); void glGetTransformFeedbacki_v(GLuint xfb, GLenum pname, GLuint index, GLint *param); void glGetTransformFeedbackiv(GLuint xfb, GLenum pname, GLint *param); -#if QT_VERSION >= QT_VERSION_CHECK(7, 0, 0) - void glTransformFeedbackBufferRange(GLuint xfb, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); -#else - void glTransformFeedbackBufferRange(GLuint xfb, GLuint index, GLuint buffer, GLintptr offset, GLsizei size); +#if QT_OPENGL_REMOVED_SINCE(6, 8) + void glTransformFeedbackBufferRange(GLuint xfb, GLuint index, GLuint buffer, GLintptr offset, GLsizei size) + { + glTransformFeedbackBufferRange(xfb, index, buffer, offset, GLsizeiptr(size)); + } #endif + void glTransformFeedbackBufferRange(GLuint xfb, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); void glTransformFeedbackBufferBase(GLuint xfb, GLuint index, GLuint buffer); void glCreateTransformFeedbacks(GLsizei n, GLuint *ids); void glClipControl(GLenum origin, GLenum depth); @@ -4408,11 +4429,7 @@ inline void QOpenGLFunctions_4_5_Compatibility::glCreateFramebuffers(GLsizei n, d_4_5_Core->f.CreateFramebuffers(n, framebuffers); } -#if QT_VERSION >= QT_VERSION_CHECK(7, 0, 0) inline void QOpenGLFunctions_4_5_Compatibility::glGetNamedBufferSubData(GLuint buffer, GLintptr offset, GLsizeiptr size, void *data) -#else -inline void QOpenGLFunctions_4_5_Compatibility::glGetNamedBufferSubData(GLuint buffer, GLintptr offset, GLsizei size, void *data) -#endif { d_4_5_Core->f.GetNamedBufferSubData(buffer, offset, size, data); } @@ -4432,11 +4449,7 @@ inline void QOpenGLFunctions_4_5_Compatibility::glGetNamedBufferParameteriv(GLui d_4_5_Core->f.GetNamedBufferParameteriv(buffer, pname, params); } -#if QT_VERSION >= QT_VERSION_CHECK(7, 0, 0) inline void QOpenGLFunctions_4_5_Compatibility::glFlushMappedNamedBufferRange(GLuint buffer, GLintptr offset, GLsizeiptr length) -#else -inline void QOpenGLFunctions_4_5_Compatibility::glFlushMappedNamedBufferRange(GLuint buffer, GLintptr offset, GLsizei length) -#endif { d_4_5_Core->f.FlushMappedNamedBufferRange(buffer, offset, length); } @@ -4446,11 +4459,7 @@ inline GLboolean QOpenGLFunctions_4_5_Compatibility::glUnmapNamedBuffer(GLuint b return d_4_5_Core->f.UnmapNamedBuffer(buffer); } -#if QT_VERSION >= QT_VERSION_CHECK(7, 0, 0) inline void * QOpenGLFunctions_4_5_Compatibility::glMapNamedBufferRange(GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access) -#else -inline void * QOpenGLFunctions_4_5_Compatibility::glMapNamedBufferRange(GLuint buffer, GLintptr offset, GLsizei length, GLbitfield access) -#endif { return d_4_5_Core->f.MapNamedBufferRange(buffer, offset, length, access); } @@ -4460,11 +4469,7 @@ inline void * QOpenGLFunctions_4_5_Compatibility::glMapNamedBuffer(GLuint buffer return d_4_5_Core->f.MapNamedBuffer(buffer, access); } -#if QT_VERSION >= QT_VERSION_CHECK(7, 0, 0) inline void QOpenGLFunctions_4_5_Compatibility::glClearNamedBufferSubData(GLuint buffer, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data) -#else -inline void QOpenGLFunctions_4_5_Compatibility::glClearNamedBufferSubData(GLuint buffer, GLenum internalformat, GLintptr offset, GLsizei size, GLenum format, GLenum type, const void *data) -#endif { d_4_5_Core->f.ClearNamedBufferSubData(buffer, internalformat, offset, size, format, type, data); } @@ -4474,38 +4479,22 @@ inline void QOpenGLFunctions_4_5_Compatibility::glClearNamedBufferData(GLuint bu d_4_5_Core->f.ClearNamedBufferData(buffer, internalformat, format, type, data); } -#if QT_VERSION >= QT_VERSION_CHECK(7, 0, 0) inline void QOpenGLFunctions_4_5_Compatibility::glCopyNamedBufferSubData(GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size) -#else -inline void QOpenGLFunctions_4_5_Compatibility::glCopyNamedBufferSubData(GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizei size) -#endif { d_4_5_Core->f.CopyNamedBufferSubData(readBuffer, writeBuffer, readOffset, writeOffset, size); } -#if QT_VERSION >= QT_VERSION_CHECK(7, 0, 0) inline void QOpenGLFunctions_4_5_Compatibility::glNamedBufferSubData(GLuint buffer, GLintptr offset, GLsizeiptr size, const void *data) -#else -inline void QOpenGLFunctions_4_5_Compatibility::glNamedBufferSubData(GLuint buffer, GLintptr offset, GLsizei size, const void *data) -#endif { d_4_5_Core->f.NamedBufferSubData(buffer, offset, size, data); } -#if QT_VERSION >= QT_VERSION_CHECK(7, 0, 0) inline void QOpenGLFunctions_4_5_Compatibility::glNamedBufferData(GLuint buffer, GLsizeiptr size, const void *data, GLenum usage) -#else -inline void QOpenGLFunctions_4_5_Compatibility::glNamedBufferData(GLuint buffer, GLsizei size, const void *data, GLenum usage) -#endif { d_4_5_Core->f.NamedBufferData(buffer, size, data, usage); } -#if QT_VERSION >= QT_VERSION_CHECK(7, 0, 0) inline void QOpenGLFunctions_4_5_Compatibility::glNamedBufferStorage(GLuint buffer, GLsizeiptr size, const void *data, GLbitfield flags) -#else -inline void QOpenGLFunctions_4_5_Compatibility::glNamedBufferStorage(GLuint buffer, GLsizei size, const void *data, GLbitfield flags) -#endif { d_4_5_Core->f.NamedBufferStorage(buffer, size, data, flags); } @@ -4530,11 +4519,7 @@ inline void QOpenGLFunctions_4_5_Compatibility::glGetTransformFeedbackiv(GLuint d_4_5_Core->f.GetTransformFeedbackiv(xfb, pname, param); } -#if QT_VERSION >= QT_VERSION_CHECK(7, 0, 0) inline void QOpenGLFunctions_4_5_Compatibility::glTransformFeedbackBufferRange(GLuint xfb, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size) -#else -inline void QOpenGLFunctions_4_5_Compatibility::glTransformFeedbackBufferRange(GLuint xfb, GLuint index, GLuint buffer, GLintptr offset, GLsizei size) -#endif { d_4_5_Core->f.TransformFeedbackBufferRange(xfb, index, buffer, offset, size); } diff --git a/src/opengl/qopenglfunctions_4_5_core.h b/src/opengl/qopenglfunctions_4_5_core.h index e3944f0741..ce13a33255 100644 --- a/src/opengl/qopenglfunctions_4_5_core.h +++ b/src/opengl/qopenglfunctions_4_5_core.h @@ -700,52 +700,73 @@ public: void glNamedFramebufferParameteri(GLuint framebuffer, GLenum pname, GLint param); void glNamedFramebufferRenderbuffer(GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); void glCreateFramebuffers(GLsizei n, GLuint *framebuffers); -#if QT_VERSION >= QT_VERSION_CHECK(7, 0, 0) - void glGetNamedBufferSubData(GLuint buffer, GLintptr offset, GLsizeiptr size, void *data); -#else - void glGetNamedBufferSubData(GLuint buffer, GLintptr offset, GLsizei size, void *data); +#if QT_OPENGL_REMOVED_SINCE(6, 8) + void glGetNamedBufferSubData(GLuint buffer, GLintptr offset, GLsizei size, void *data) + { + glGetNamedBufferSubData(buffer, offset, GLsizeiptr(size), data); + } #endif + void glGetNamedBufferSubData(GLuint buffer, GLintptr offset, GLsizeiptr size, void *data); void glGetNamedBufferPointerv(GLuint buffer, GLenum pname, void * *params); void glGetNamedBufferParameteri64v(GLuint buffer, GLenum pname, GLint64 *params); void glGetNamedBufferParameteriv(GLuint buffer, GLenum pname, GLint *params); -#if QT_VERSION >= QT_VERSION_CHECK(7, 0, 0) - void glFlushMappedNamedBufferRange(GLuint buffer, GLintptr offset, GLsizeiptr length); -#else - void glFlushMappedNamedBufferRange(GLuint buffer, GLintptr offset, GLsizei length); +#if QT_OPENGL_REMOVED_SINCE(6, 8) + void glFlushMappedNamedBufferRange(GLuint buffer, GLintptr offset, GLsizei length) + { + glFlushMappedNamedBufferRange(buffer, offset, GLsizeiptr(length)); + } #endif + void glFlushMappedNamedBufferRange(GLuint buffer, GLintptr offset, GLsizeiptr length); GLboolean glUnmapNamedBuffer(GLuint buffer); -#if QT_VERSION >= QT_VERSION_CHECK(7, 0, 0) - void * glMapNamedBufferRange(GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access); -#else - void * glMapNamedBufferRange(GLuint buffer, GLintptr offset, GLsizei length, GLbitfield access); +#if QT_OPENGL_REMOVED_SINCE(6, 8) + void * glMapNamedBufferRange(GLuint buffer, GLintptr offset, GLsizei length, GLbitfield access) + { + return glMapNamedBufferRange(buffer, offset, GLsizeiptr(length), access); + } #endif + void * glMapNamedBufferRange(GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access); void * glMapNamedBuffer(GLuint buffer, GLenum access); -#if QT_VERSION >= QT_VERSION_CHECK(7, 0, 0) - void glClearNamedBufferSubData(GLuint buffer, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data); -#else - void glClearNamedBufferSubData(GLuint buffer, GLenum internalformat, GLintptr offset, GLsizei size, GLenum format, GLenum type, const void *data); +#if QT_OPENGL_REMOVED_SINCE(6, 8) + void glClearNamedBufferSubData(GLuint buffer, GLenum internalformat, GLintptr offset, GLsizei size, GLenum format, GLenum type, const void *data) + { + glClearNamedBufferSubData(buffer, internalformat, offset, GLsizeiptr(size), format, type, data); + } #endif + void glClearNamedBufferSubData(GLuint buffer, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data); void glClearNamedBufferData(GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void *data); -#if QT_VERSION >= QT_VERSION_CHECK(7, 0, 0) +#if QT_OPENGL_REMOVED_SINCE(6, 8) + void glCopyNamedBufferSubData(GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizei size) + { + glCopyNamedBufferSubData(readBuffer, writeBuffer, readOffset, writeOffset, GLsizeiptr(size)); + } + void glNamedBufferSubData(GLuint buffer, GLintptr offset, GLsizei size, const void *data) + { + glNamedBufferSubData(buffer, offset, GLsizeiptr(size), data); + } + void glNamedBufferData(GLuint buffer, GLsizei size, const void *data, GLenum usage) + { + glNamedBufferData(buffer, GLsizeiptr(size), data, usage); + } + void glNamedBufferStorage(GLuint buffer, GLsizei size, const void *data, GLbitfield flags) + { + glNamedBufferStorage(buffer, GLsizeiptr(size), data, flags); + } +#endif void glCopyNamedBufferSubData(GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size); void glNamedBufferSubData(GLuint buffer, GLintptr offset, GLsizeiptr size, const void *data); void glNamedBufferData(GLuint buffer, GLsizeiptr size, const void *data, GLenum usage); void glNamedBufferStorage(GLuint buffer, GLsizeiptr size, const void *data, GLbitfield flags); -#else - void glCopyNamedBufferSubData(GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizei size); - void glNamedBufferSubData(GLuint buffer, GLintptr offset, GLsizei size, const void *data); - void glNamedBufferData(GLuint buffer, GLsizei size, const void *data, GLenum usage); - void glNamedBufferStorage(GLuint buffer, GLsizei size, const void *data, GLbitfield flags); -#endif void glCreateBuffers(GLsizei n, GLuint *buffers); void glGetTransformFeedbacki64_v(GLuint xfb, GLenum pname, GLuint index, GLint64 *param); void glGetTransformFeedbacki_v(GLuint xfb, GLenum pname, GLuint index, GLint *param); void glGetTransformFeedbackiv(GLuint xfb, GLenum pname, GLint *param); -#if QT_VERSION >= QT_VERSION_CHECK(7, 0, 0) - void glTransformFeedbackBufferRange(GLuint xfb, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); -#else - void glTransformFeedbackBufferRange(GLuint xfb, GLuint index, GLuint buffer, GLintptr offset, GLsizei size); +#if QT_OPENGL_REMOVED_SINCE(6, 8) + void glTransformFeedbackBufferRange(GLuint xfb, GLuint index, GLuint buffer, GLintptr offset, GLsizei size) + { + glTransformFeedbackBufferRange(xfb, index, buffer, offset, GLsizeiptr(size)); + } #endif + void glTransformFeedbackBufferRange(GLuint xfb, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); void glTransformFeedbackBufferBase(GLuint xfb, GLuint index, GLuint buffer); void glCreateTransformFeedbacks(GLsizei n, GLuint *ids); void glClipControl(GLenum origin, GLenum depth); @@ -3941,11 +3962,7 @@ inline void QOpenGLFunctions_4_5_Core::glCreateFramebuffers(GLsizei n, GLuint *f d_4_5_Core->f.CreateFramebuffers(n, framebuffers); } -#if QT_VERSION >= QT_VERSION_CHECK(7, 0, 0) inline void QOpenGLFunctions_4_5_Core::glGetNamedBufferSubData(GLuint buffer, GLintptr offset, GLsizeiptr size, void *data) -#else -inline void QOpenGLFunctions_4_5_Core::glGetNamedBufferSubData(GLuint buffer, GLintptr offset, GLsizei size, void *data) -#endif { d_4_5_Core->f.GetNamedBufferSubData(buffer, offset, size, data); } @@ -3965,11 +3982,7 @@ inline void QOpenGLFunctions_4_5_Core::glGetNamedBufferParameteriv(GLuint buffer d_4_5_Core->f.GetNamedBufferParameteriv(buffer, pname, params); } -#if QT_VERSION >= QT_VERSION_CHECK(7, 0, 0) inline void QOpenGLFunctions_4_5_Core::glFlushMappedNamedBufferRange(GLuint buffer, GLintptr offset, GLsizeiptr length) -#else -inline void QOpenGLFunctions_4_5_Core::glFlushMappedNamedBufferRange(GLuint buffer, GLintptr offset, GLsizei length) -#endif { d_4_5_Core->f.FlushMappedNamedBufferRange(buffer, offset, length); } @@ -3979,11 +3992,7 @@ inline GLboolean QOpenGLFunctions_4_5_Core::glUnmapNamedBuffer(GLuint buffer) return d_4_5_Core->f.UnmapNamedBuffer(buffer); } -#if QT_VERSION >= QT_VERSION_CHECK(7, 0, 0) inline void * QOpenGLFunctions_4_5_Core::glMapNamedBufferRange(GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access) -#else -inline void * QOpenGLFunctions_4_5_Core::glMapNamedBufferRange(GLuint buffer, GLintptr offset, GLsizei length, GLbitfield access) -#endif { return d_4_5_Core->f.MapNamedBufferRange(buffer, offset, length, access); } @@ -3993,11 +4002,7 @@ inline void * QOpenGLFunctions_4_5_Core::glMapNamedBuffer(GLuint buffer, GLenum return d_4_5_Core->f.MapNamedBuffer(buffer, access); } -#if QT_VERSION >= QT_VERSION_CHECK(7, 0, 0) inline void QOpenGLFunctions_4_5_Core::glClearNamedBufferSubData(GLuint buffer, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data) -#else -inline void QOpenGLFunctions_4_5_Core::glClearNamedBufferSubData(GLuint buffer, GLenum internalformat, GLintptr offset, GLsizei size, GLenum format, GLenum type, const void *data) -#endif { d_4_5_Core->f.ClearNamedBufferSubData(buffer, internalformat, offset, size, format, type, data); } @@ -4007,38 +4012,22 @@ inline void QOpenGLFunctions_4_5_Core::glClearNamedBufferData(GLuint buffer, GLe d_4_5_Core->f.ClearNamedBufferData(buffer, internalformat, format, type, data); } -#if QT_VERSION >= QT_VERSION_CHECK(7, 0, 0) inline void QOpenGLFunctions_4_5_Core::glCopyNamedBufferSubData(GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size) -#else -inline void QOpenGLFunctions_4_5_Core::glCopyNamedBufferSubData(GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizei size) -#endif { d_4_5_Core->f.CopyNamedBufferSubData(readBuffer, writeBuffer, readOffset, writeOffset, size); } -#if QT_VERSION >= QT_VERSION_CHECK(7, 0, 0) inline void QOpenGLFunctions_4_5_Core::glNamedBufferSubData(GLuint buffer, GLintptr offset, GLsizeiptr size, const void *data) -#else -inline void QOpenGLFunctions_4_5_Core::glNamedBufferSubData(GLuint buffer, GLintptr offset, GLsizei size, const void *data) -#endif { d_4_5_Core->f.NamedBufferSubData(buffer, offset, size, data); } -#if QT_VERSION >= QT_VERSION_CHECK(7, 0, 0) inline void QOpenGLFunctions_4_5_Core::glNamedBufferData(GLuint buffer, GLsizeiptr size, const void *data, GLenum usage) -#else -inline void QOpenGLFunctions_4_5_Core::glNamedBufferData(GLuint buffer, GLsizei size, const void *data, GLenum usage) -#endif { d_4_5_Core->f.NamedBufferData(buffer, size, data, usage); } -#if QT_VERSION >= QT_VERSION_CHECK(7, 0, 0) inline void QOpenGLFunctions_4_5_Core::glNamedBufferStorage(GLuint buffer, GLsizeiptr size, const void *data, GLbitfield flags) -#else -inline void QOpenGLFunctions_4_5_Core::glNamedBufferStorage(GLuint buffer, GLsizei size, const void *data, GLbitfield flags) -#endif { d_4_5_Core->f.NamedBufferStorage(buffer, size, data, flags); } @@ -4063,11 +4052,7 @@ inline void QOpenGLFunctions_4_5_Core::glGetTransformFeedbackiv(GLuint xfb, GLen d_4_5_Core->f.GetTransformFeedbackiv(xfb, pname, param); } -#if QT_VERSION >= QT_VERSION_CHECK(7, 0, 0) inline void QOpenGLFunctions_4_5_Core::glTransformFeedbackBufferRange(GLuint xfb, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size) -#else -inline void QOpenGLFunctions_4_5_Core::glTransformFeedbackBufferRange(GLuint xfb, GLuint index, GLuint buffer, GLintptr offset, GLsizei size) -#endif { d_4_5_Core->f.TransformFeedbackBufferRange(xfb, index, buffer, offset, size); } diff --git a/src/opengl/qopenglpaintdevice.cpp b/src/opengl/qopenglpaintdevice.cpp index fbc54c46fb..aaee7f18fe 100644 --- a/src/opengl/qopenglpaintdevice.cpp +++ b/src/opengl/qopenglpaintdevice.cpp @@ -247,6 +247,10 @@ int QOpenGLPaintDevice::metric(QPaintDevice::PaintDeviceMetric metric) const return d_ptr->devicePixelRatio; case PdmDevicePixelRatioScaled: return d_ptr->devicePixelRatio * QPaintDevice::devicePixelRatioFScale(); + case PdmDevicePixelRatioF_EncodedA: + Q_FALLTHROUGH(); + case PdmDevicePixelRatioF_EncodedB: + return QPaintDevice::encodeMetricF(metric, d_ptr->devicePixelRatio); default: qWarning("QOpenGLPaintDevice::metric() - metric %d not known", metric); diff --git a/src/opengl/qopenglpaintengine_p.h b/src/opengl/qopenglpaintengine_p.h index 40ed7fe609..df407444be 100644 --- a/src/opengl/qopenglpaintengine_p.h +++ b/src/opengl/qopenglpaintengine_p.h @@ -243,7 +243,7 @@ public: QOpenGLEngineShaderManager* shaderManager; QOpenGLPaintDevice* device; int width, height; - QOpenGLContext *ctx; + QPointer<QOpenGLContext> ctx; EngineMode mode; QFontEngine::GlyphFormat glyphCacheFormat; |