[qt/qt/qtbase]: Summary of bulk changes made
KDE Git Services - Bulk Change <[email protected]>
| Newsgroups | gmane.comp.kde.cvs |
|---|---|
| Message-ID | <[email protected]> |
Git repository change summary for qt/qt/qtbase Pushed by mirror-service into branch 'dev'. Changed from b4ced2b143a652cf8f6d42f798d28c5e37fa1813 to 2ef60b71530ce8fc330d54a2d79c02e4cd661138 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 4a3747ce2a48d2e5e8e9c903a1cd54018045db18 by Eskil Abrahamsen Blomfeldt (on behalf of Paul Olav Tvete) on 03/08/2026 at 14:27.. FreeType: Skip bitmap decode for metrics-only glyph loads When available, use FT_LOAD_BITMAP_METRICS_ONLY for fetching metrics to avoid decoding the same bitmap data multiple times when only the glyph metrics are queried. This can improve the rendering performance of individual emojis by 4000%. Pick-to: 6.8 6.11 6.12 Change-Id: I3b256356cee63fc04495861e6ac78e98d2629b6d Reviewed-by: Paul Olav Tvete <[email protected]> Reviewed-by: Eskil Abrahamsen Blomfeldt <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/4a3747ce2a48d2e5e8e9c903a1cd54018045db18 Git commit edd0a78a48b23b2371b1d053405ef1fb4f6c1110 by Karim Pinter on 03/08/2026 at 14:27.. VxWorks 26.03 fixes tst_QFile::openDirectory() fail on CI Using VxWorks 24.03 and 25.03 caused tst_QFile::openDirectory() to fail, on 26.03 it works, the QEXPECT_FAIL macro has been removed. Fixes: QTBUG-130074 Pick-to: 6.12 Change-Id: I225c9ab4a4688bd9f8e4445714b5fea266de55e9 Reviewed-by: Thiago Macieira <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/edd0a78a48b23b2371b1d053405ef1fb4f6c1110 Git commit e6e36ce83f2dc84428f22a79dd25622b13bc0f7e by Laszlo Agocs on 03/08/2026 at 17:56.. Massage qrhi autotest to avoid weird Vulkan layer issues Start (re)using the same QRhi (and so Vk or D3D device object) between some test cases. Especially textureFormats(), where with each backend a simple test is run 50+ times. Creating a new QRhi every time is slow, so this shaves off some seconds from the total time of the autotest run mainly because of that one test. Also use it in some of the recent, newer test functions. Stick to the per-test QRhi in the rest, however. Move the leaked resource test to the last place. This test may cause issues, somehow perhaps combined with the large number of vkCreateDevice calls preceeding (or following) it, depending on the underlying driver, and perhaps the third-party, implicitly loaded Vulkan layers installed on the system (e.g. from Steam, OBS Studio, etc.). At least one one system these changes together successfully prevent an intermittently occuring "The VkDevice dispatch handle was not found and Validation will crash." crash. AI assisted analysis points to a combination of possible driver limitations due to the excess device creations during the lifetime of the process in combination with faulty logic in third-party layers that are loaded implicitly by the Vulkan loader on that particular system. Pick-to: 6.12 Change-Id: I6116b39b63384a21e860f7a5f138662521307c7d Reviewed-by: Christian Strømme <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/e6e36ce83f2dc84428f22a79dd25622b13bc0f7e Git commit 2aa2fd64ea8338985fdef8ce3989718d3516ec6d by Laszlo Agocs on 03/08/2026 at 17:56.. rhi: d3d12: Enable the pipeline cache Using ID3D12PipelineLibrary1, in a similar manner as the Vulkan backend is implemented via VkPipelineCache. Store a header with the QRhi id, the architecture and the adapter identity, followed by the serialized blob. Note that the driver version does not have to go into the header, because CreatePipelineLibrary() validates the blob against the current driver and adapter itself, failing with D3D12_ERROR_DRIVER_VERSION_MISMATCH or _ADAPTER_NOT_FOUND. Skip in that case. Pipeline libraries may not be supported by a driver, handle that gracefully too. The one thing that has no counterpart in the Vulkan backend is naming: VkPipelineCache is consulted by the driver transparently, whereas a pipeline library needs an explicit name per PSO for LoadPipeline() and StorePipeline(). The name is a SHA-1 of everything the PSO is built from: the shader bytecode of each stage, the vertex input layout, the plain-data subobjects of the pipeline state stream, and the srb's serialized layout description, the latter standing in for the root signature. Note that a hash collision cannot silently produce a wrong pipeline: LoadPipeline() validates the stored pipeline against the description passed to it and fails if they do not match, in which case this falls back to creating the pipeline for real. As with Vulkan, running a Qt Quick application will now store the blob when closing the QQuickWindow (use QSG_INFO=1 to confirm from the logs), and the next run, assuming no new scenegraph materials are needed for the view, there will be a reduced amount of time spent on graphics pipeline creation due to the loading of the blob from the previous run. Note however that the system's/driver's own persistent caching may affect the results, so as with Vulkan, the gains from doing our own PSO caching on disk are not always obvious or big. Pick-to: 6.12 Change-Id: I0ebf63548fabbc5586fb065ea3438f233902a5e0 Reviewed-by: Andy Nichols <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/2aa2fd64ea8338985fdef8ce3989718d3516ec6d Git commit 7295e5ccfb241f7c75a5f40afa0b84e507d68587 by Laszlo Agocs on 03/08/2026 at 17:56.. rhi: gl: Avoid division by zero in corrupt metadata input Pick-to: 6.12 Change-Id: Ie13c33eeab2ee593b0a76fd0faacb2a02983ff62 Reviewed-by: Andy Nichols <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/7295e5ccfb241f7c75a5f40afa0b84e507d68587 Git commit 6ba865af48535a6a21ff341a2984805a74a38c3e by Laszlo Agocs on 03/08/2026 at 17:56.. rhi: d3d: Bail out with a warning for an unknown shader stage Cannot happen, unless the QShader is corrupt, but handle it more gracefully, so analysis tools do not flag it as a potential safety issue. Pick-to: 6.12 Change-Id: Ife33d902365aa4a3e53d36dd29f6dd4961d06f6e Reviewed-by: Andy Nichols <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/6ba865af48535a6a21ff341a2984805a74a38c3e Git commit 6337ecd4b816e106e167644a5c868dacb11dc26a by Laszlo Agocs on 03/08/2026 at 17:56.. rhi: gl: Handle too small uniform buffers more gracefully Bail out if we'd read past the end based on the QShader reflection information due to the application-supplied buffer being too small. This does not change the fact that all input is still expected to be fully trusted content. Pick-to: 6.12 Change-Id: Ibc5654678d2171dafcbac44350b68b1cccf45a58 Reviewed-by: Andy Nichols <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/6337ecd4b816e106e167644a5c868dacb11dc26a Git commit 2ef60b71530ce8fc330d54a2d79c02e4cd661138 by Laszlo Agocs on 03/08/2026 at 17:56.. Document security considerations for the QVulkan classes Task-number: QTBUG-148680 Pick-to: 6.12 Change-Id: I5ec86297637fa445ee5af2380e1a49dbb54f36ea Reviewed-by: Andy Nichols <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/2ef60b71530ce8fc330d54a2d79c02e4cd661138