[qt/qt/qtcanvaspainter]: 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/qtcanvaspainter
Pushed by mirror-service into branch 'dev'.
Changed from b0f10ac17dd59eb81c78431e049cd46f4948472e to ae8185974bfe010f9bd004d3e167497dab0ae3fc
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 0eeb8854e366bdea6700005414f859001c398296 by Kaj Grönholm on 19/08/2026 at 06:12..
Use SVG parsing from QtGui

Switch to use common SVG parsing from QtGui.

Pick-to: 6.12
Task-number: QTBUG-149125
Change-Id: I746c241162660bf978556951a15e991110825d5b
Reviewed-by: Laszlo Agocs <[email protected]>
https://invent.kde.org/qt/qt/qtcanvaspainter/-/commit/0eeb8854e366bdea6700005414f859001c398296

Git commit 6b5439e156e9beef11111f975e0036dad2ecfb33 by Kaj Grönholm on 19/08/2026 at 08:25..
API: Remove mmToPx and ptToPx

These haven't really been used, so remove them from the API for now.
Users can always implement their own conversion helpers.

Pick-to: 6.12
Task-number: QTBUG-131611
Change-Id: I636b83700f5b0f19e84622cd23fcc0cb596ec763
Reviewed-by: Owais Akhtar <[email protected]>
Reviewed-by: Paul Olav Tvete <[email protected]>
https://invent.kde.org/qt/qt/qtcanvaspainter/-/commit/6b5439e156e9beef11111f975e0036dad2ecfb33

Git commit c57a40ce3a2b2f6815c26d7e10f75f3daaab9e27 by Kaj Grönholm on 19/08/2026 at 08:25..
API: Rename custom brush time animation methods

Use isAnimationRunning() and setAnimationRunning() as recommended in
the API review.

Pick-to: 6.12
Task-number: QTBUG-146286
Change-Id: I47d23de0ccc87a013b61089a7c518bbfa4e9d54c
Reviewed-by: Paul Olav Tvete <[email protected]>
https://invent.kde.org/qt/qt/qtcanvaspainter/-/commit/c57a40ce3a2b2f6815c26d7e10f75f3daaab9e27

Git commit 8e0b8a01aee1e9732dc1113a0a6221c6a7837994 by Kaj Grönholm on 19/08/2026 at 08:25..
API: Rename global saturate to saturation

Use globalSaturation as recommended in the API review. Rename also in
the Canvas2D API.

Pick-to: 6.12
Task-number: QTBUG-146286
Change-Id: I75fb76541aa0b6b7de39f2c76edf172524dee243
Reviewed-by: Paul Olav Tvete <[email protected]>
https://invent.kde.org/qt/qt/qtcanvaspainter/-/commit/8e0b8a01aee1e9732dc1113a0a6221c6a7837994

Git commit 11f7bfc4a5d5a7e1251b7cec87ddb4574e387980 by Paul Olav Tvete on 19/08/2026 at 09:29..
Merge glyph-cache resource updates once per prepare, not per draw

QCDistanceFieldGlyphCache::commitResourceUpdates() was called from
populateFont()/populateFontFromShapedText(), i.e. once per
fillText()/fillShapedText() call, even though all it does is merge
each per-font cache's pending update batch into the shared
QRhiResourceUpdateBatch - a QHash<FontKey,FontKeyData> iteration paid
on every single draw for work that only needs to happen once per
prepare/submit cycle.

Moved the general call to endPrepare(), right after the batch is
obtained and guarded by the same rhiCtx->callsCount > 0 check
populateFont() could only have run under anyway; also added a
per-font overload, commitResourceUpdates(batch, FontKeyData*), called
right after generate()/generateFromShapedText() for the font just
touched, since leaving its pending batch
(QCRhiDistanceFieldGlyphCache::m_batch) open for the whole frame
instead of releasing it per draw risks exhausting QRhi's
resource-update-batch pool once a frame uses more distinct fonts than
it holds. Safe because getCurrentTextures()/getOldTextures() only read
state generate()/generateFromShapedText() already set up directly, and
commitResourceUpdates() itself only merges pending upload commands
into the batch, never touching texture objects.

Confirmed via callgrind on a text-heavy fillShapedText() workload:
commitResourceUpdates() call count drops from 300,000 (once per draw)
to 29 (once per frame) over a 30-frame run, and its cost drops out of
the profile entirely.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
Pick-to: 6.12
Change-Id: Ice9ba0dbb5be466e14bff06edd88fb22318489a9
Reviewed-by: Kaj Grönholm <[email protected]>
https://invent.kde.org/qt/qt/qtcanvaspainter/-/commit/11f7bfc4a5d5a7e1251b7cec87ddb4574e387980

Git commit 297e61c3263a720d20cd2e6d10cd178e5c44300c by Kaj Grönholm on 19/08/2026 at 10:41..
API: Remove QCanvasCustomBrush shaders constructor

Common approach is having custom brush as class variable and calling
setFragmentShader() and optionally setVertexShader() so this
constructor isn't really needed. Also move destructor comment into
the right place.

Pick-to: 6.12
Task-number: QTBUG-146286
Change-Id: I82a5883ef3555be572087e5472ffe4e4fc4ef417
Reviewed-by: Laszlo Agocs <[email protected]>
https://invent.kde.org/qt/qt/qtcanvaspainter/-/commit/297e61c3263a720d20cd2e6d10cd178e5c44300c

Git commit ae8185974bfe010f9bd004d3e167497dab0ae3fc by Laszlo Agocs on 19/08/2026 at 11:25..
Fix qmllint warnings in canvas2dtester

Pick-to: 6.12
Change-Id: I2216c88694af9c2b62e6df0131f15679e043cd72
Reviewed-by: Kaj Grönholm <[email protected]>
https://invent.kde.org/qt/qt/qtcanvaspainter/-/commit/ae8185974bfe010f9bd004d3e167497dab0ae3fc
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.