[qt/qt/qtbase]: Summary of bulk changes made

KDE Git Services - Bulk Change <[email protected]> Wed, 5 Aug 2026 12:15:42 +0000 (UTC)
Newsgroups gmane.comp.kde.cvs
Message-ID <[email protected]>
Git repository change summary for qt/qt/qtbase
Pushed by mirror-service into branch '6.12'.
Changed from d8f3be440bb33a7feadcdda20e38e34a39d9bf35 to 10e159d7ba3a6f7e0f79b5fc1fb7e63fac52c99d
Acknowledgement was received that this change introduces only existing code that has been pushed to another public open source repository.

This change contains the following new commits:

Git commit 474fa09d646b8f97f107dcd37ef715ea487a02cc by Qt Cherry-pick Bot (on behalf of Laszlo Agocs) on 05/08/2026 at 04:16..
QVulkanWindow: Initialize all members of QVulkanWindowPrivate

currentFrame and currentImage were left uninitialized. They are only
assigned at the very end of recreateSwapChain(), whereas beginFrame()
uses them to index frameRes[] and imageRes[], which are fixed size
arrays of 3 and 4 elements. A swapchain creation that fails before
reaching the end therefore leaves a paint event indexing those arrays
with an indeterminate value.

Change-Id: I3f1efe909e52e101c8f338739eccf19b1ae0b343
Reviewed-by: Andy Nichols <[email protected]>
(cherry picked from commit 6dcf3546c7095e9117f08781ec0ab50942fc31b8)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/474fa09d646b8f97f107dcd37ef715ea487a02cc

Git commit b2b2243da3676206ee437d301323082701fe904b by Qt Cherry-pick Bot (on behalf of Laszlo Agocs) on 05/08/2026 at 04:17..
QVulkanWindow: Check the surface capability query results

recreateSwapChain() declared VkSurfaceCapabilitiesKHR as a plain local,
without zero initialization, and then discarded the result of
vkGetPhysicalDeviceSurfaceCapabilitiesKHR(). If the query fails, for
example because the surface was lost, the swapchain's image count,
extent, pre-transform, composite alpha mode and usage flags are all
taken from uninitialized stack memory.

surfacePixelSize() got the zero initialization right but also ignored
the result; make it fall back to the QWindow-reported size instead.

Change-Id: Ifa97fd510af98371ae1422817275215c589be0fb
Reviewed-by: Andy Nichols <[email protected]>
(cherry picked from commit 5fb523dcda1ad3e73f2ecbd493e12a2257feca9b)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/b2b2243da3676206ee437d301323082701fe904b

Git commit 60cf06c3a76a2e6194cd9a73c8b39f9444834fce by Qt Cherry-pick Bot (on behalf of Laszlo Agocs) on 05/08/2026 at 04:17..
QVulkanWindow: Clean up when swapchain creation fails midway

Change-Id: Id26cd84126c97fad6671a998e5e6e0fe63b65e2b
Reviewed-by: Andy Nichols <[email protected]>
(cherry picked from commit 18629ac33bdc2cb83eb32f86664041a5775f9115)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/60cf06c3a76a2e6194cd9a73c8b39f9444834fce

Git commit 20109bdac0a17f57eb0461a06eb04f51d56f69e6 by Qt Cherry-pick Bot (on behalf of Laszlo Agocs) on 05/08/2026 at 04:17..
QVulkanWindow: Do not continue the readback when its setup failed

addReadback() returns early when the readback image cannot be created,
its memory cannot be allocated, or the bind fails, but endFrame() went
on to call finishBlockingReadback() unconditionally. That passed a null
frameGrabImage to vkGetImageSubresourceLayout() and a null
frameGrabImageMem to vkMapMemory().

Change-Id: I967c580e37ea4bb104ec1d172d537c390317be14
Reviewed-by: Andy Nichols <[email protected]>
(cherry picked from commit f45f1ca7451ddb14af75e95e9f57b429d12258e3)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/20109bdac0a17f57eb0461a06eb04f51d56f69e6

Git commit 10e159d7ba3a6f7e0f79b5fc1fb7e63fac52c99d by Qt Cherry-pick Bot (on behalf of Laszlo Agocs) on 05/08/2026 at 04:17..
Guard the OpenGL program binary cache state against concurrent access

Hold the mutex for the entire duration of save(), like load() does.
This is necessary for full correctness because of the member variables
accessed in the function in places that are not covered by the current,
limited scope of the mutex.

Change-Id: I3b146d1b3d355c4d34df1d1ffbda566d5cc1a057
Reviewed-by: Andy Nichols <[email protected]>
(cherry picked from commit 90e6ed36c0db8e6eb9522a085413adf130d9f95b)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/10e159d7ba3a6f7e0f79b5fc1fb7e63fac52c99d