[qt/qt/qtshadertools]: 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/qtshadertools
Pushed by mirror-service into branch 'dev'.
Changed from 2a6170db853a7f39f6239d6828b33466a2c73d55 to ea2288669b4f0ca1c50c3f2c924b7765fbf562b7
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 27690d535b2d3ef27e5d0efb005aeac11af96808 by Laszlo Agocs on 19/08/2026 at 09:32..
qsb: Keep the native-shader-info data when storing Metal bytecode

replaceShaderContents() moves the native resource binding map and the
separate-to-combined image sampler mapping table from the original key
to the new one, but not the native shader info. The MSL-specific data
was therefore lost whenever -t/--metallib replaced the MslShader entry
with a MetalLibShader one.

That data is not optional: the Metal backend looks up the extra buffer
bindings for tessellation and for the buffer size buffer, and asserts on
their presence.

Pick-to: 6.12
Change-Id: I79cb4dd94d65a3290afb5dbcb14900c6b120d67b
Reviewed-by: Andy Nichols <[email protected]>
https://invent.kde.org/qt/qt/qtshadertools/-/commit/27690d535b2d3ef27e5d0efb005aeac11af96808

Git commit 1372256f2364d8d2284b8ce8a275ce02f634b2fe by Laszlo Agocs on 19/08/2026 at 09:32..
Make per-target shader baking reproducible

In per-target compilation mode bake() generates a separate SPIR-V binary
for each requested target, and then has to pick one of them to generate
the single QShaderDescription of the resulting QShader from. That pick
was the first element of a QHash, and so depended on the per-process
randomized QHash seed: invoking qsb twice with the very same arguments
could produce .qsb files that differ in their reflection info. That in
turn defeats reproducible builds and content-addressed build caches.

Use ordered maps instead. As a bonus this makes the choice a sensible
one, not merely a stable one: QShader::SpirvShader is the first Source
enum value, hence the reflection info now always comes from the plain
SPIR-V target whenever one was requested (which qsb always does).

Note that when a shader declares its resources differently depending on
the QSHADER_SPIRV/GLSL/HLSL/MSL macros, the reflection info can only
ever be correct for one of the targets. Nothing to do about that, given
that a QShader has one QShaderDescription, but at least the result is
now consistent between runs.

Pick-to: 6.12
Change-Id: Ieb95afe4d243cc6d6572a8beae72cc0bc3faab05
Reviewed-by: Andy Nichols <[email protected]>
https://invent.kde.org/qt/qt/qtshadertools/-/commit/1372256f2364d8d2284b8ce8a275ce02f634b2fe

Git commit ea2288669b4f0ca1c50c3f2c924b7765fbf562b7 by Alexandru Croitor on 19/08/2026 at 10:06..
Doc: Rename the second qt_add_shaders argument to resource_name

The synopsis called it <name>, which doesn't say what the value is
used for. It is the name of the generated resource, same as for
qt_add_resources().

Pick-to: 6.12
Fixes: QTBUG-149152
Change-Id: Ib6b7b36bb9dae797086e5992825a8e7392022466
Reviewed-by: Joerg Bornemann <[email protected]>
https://invent.kde.org/qt/qt/qtshadertools/-/commit/ea2288669b4f0ca1c50c3f2c924b7765fbf562b7
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.