summaryrefslogtreecommitdiff
path: root/qt_cmdline.cmake
diff options
context:
space:
mode:
authorThomas Senyk <thomas.senyk@qt.io>2022-11-03 08:19:58 +0100
committerThomas Senyk <thomas.senyk@qt.io>2023-02-20 17:30:56 +0100
commitbaada964fa554bd06d6f8ce2d1afd88902ea73b5 (patch)
tree5ba0ec856db08a02f2dcf3f32eadd274b6fee764 /qt_cmdline.cmake
parentacb68bd3bbbc0001bcf460dd175ff92cc3ce594a (diff)
downloadqtwayland-baada964fa554bd06d6f8ce2d1afd88902ea73b5.tar.gz
QOpenGLContext re-creation - orphanedTextures
The texture clean-up in the HW-integration has two issues when QOpenGLContext is re-created. 1. texture going out-of-date (QOpenGLContext::aboutToBeDestroyed) and still being used/returned to be used 2. QOpenGLContext dies (QOpenGLContext::aboutToBeDestroyed) while an "discarded" QOpenGLTexture (an orphan) isn't deleted yet. (you can't delete a texture past it's ctx's QOpenGLContext::aboutToBeDestroyed) This patch fixes both issues with a helper and a lambda on 3 HW-integration-backends: wayland-egl, wayland-eglstream and linux-dmabuf Fix for 1.: Simple connection to a lambda that deletes the texture and removes them from the set of used textures. Signal is QOpenGLContext::aboutToBeDestroyed Fix for 2.: A function in each backend: deleteSpecificOrphanedTexture(QOpenGLTexture *texture) Also connected/called by QOpenGLContext::aboutToBeDestroyed Deletes the texture (before deleteOrphanedTextures() does it too late) and removes the dead pointer from the orphanage Pick-to: 6.5 Change-Id: Iccce8845bb669df93f1be43cbe9b9d25f7fd5235 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
Diffstat (limited to 'qt_cmdline.cmake')
0 files changed, 0 insertions, 0 deletions