[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