Skip to content

Conversation

Scony
Copy link
Contributor

@Scony Scony commented Mar 21, 2025

3d4e69f

[TexMap] Improve painting tile fragments in compositor
https://bugs.webkit.org/show_bug.cgi?id=290169

Reviewed by Carlos Garcia Campos.

This change utilizes the Damage to further improve
the tile painting in the compositor.

If tile size allows, with this change it's now possible
to have multiple "draw" operations per tile.

* Source/WebCore/platform/graphics/Damage.h:
(WebCore::Damage::Damage):
(WebCore::Damage::rectsForPainting const):
(WebCore::Damage::makeFull):
(WebCore::Damage::add):
(WebCore::Damage::initialize):
(WebCore::Damage::shouldAdd const):
(WebCore::Damage::tileIndexForRect const):
* Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedBackingStore.cpp:
(WebCore::CoordinatedBackingStore::paintToTextureMapper):
* Tools/TestWebKitAPI/Tests/WebCore/glib/Damage.cpp:
(TestWebKitAPI::TEST(Damage, Unite)):
(TestWebKitAPI::TEST(Damage, RectsForPainting)):

Canonical link: https://commits.webkit.org/292700@main

e4c66b0

Misc iOS, visionOS, tvOS & watchOS macOS Linux Windows
✅ 🧪 style ✅ 🛠 ios ✅ 🛠 mac ✅ 🛠 wpe ✅ 🛠 win
✅ 🧪 bindings ✅ 🛠 ios-sim ✅ 🛠 mac-AS-debug ✅ 🧪 wpe-wk2 ✅ 🧪 win-tests
✅ 🧪 webkitperl ✅ 🧪 ios-wk2 ✅ 🧪 api-mac ✅ 🧪 api-wpe
✅ 🧪 ios-wk2-wpt ✅ 🧪 mac-wk1 ✅ 🛠 wpe-cairo
🧪 api-ios ✅ 🧪 mac-wk2 ✅ 🛠 gtk
✅ 🛠 vision ✅ 🧪 mac-AS-debug-wk2 ✅ 🧪 gtk-wk2
❌ 🛠 vision-sim ✅ 🧪 mac-wk2-stress ❌ 🧪 api-gtk
⏳ 🧪 vision-wk2 ✅ 🧪 mac-intel-wk2 ✅ 🛠 playstation
✅ 🛠 🧪 unsafe-merge ✅ 🛠 tv ✅ 🛠 mac-safer-cpp
✅ 🛠 tv-sim
✅ 🛠 watch
✅ 🛠 watch-sim

@Scony Scony self-assigned this Mar 21, 2025
@Scony Scony added the Compositing Bugs related to layerization for transforms, video, scrolling etc label Mar 21, 2025
@Scony Scony force-pushed the 290169-damaging-in-compositor-3 branch from 2a41b8a to c73ce60 Compare March 24, 2025 14:22
@webkit-ews-buildbot webkit-ews-buildbot added the merging-blocked Applied to prevent a change from being merged label Mar 24, 2025
@Scony Scony removed the merging-blocked Applied to prevent a change from being merged label Mar 25, 2025
@Scony Scony force-pushed the 290169-damaging-in-compositor-3 branch from c73ce60 to 8ebe152 Compare March 25, 2025 10:25
@webkit-ews-buildbot webkit-ews-buildbot added the merging-blocked Applied to prevent a change from being merged label Mar 25, 2025
@Scony Scony removed the merging-blocked Applied to prevent a change from being merged label Mar 25, 2025
@Scony Scony force-pushed the 290169-damaging-in-compositor-3 branch from 8ebe152 to 86e9533 Compare March 25, 2025 13:00
@Scony Scony marked this pull request as ready for review March 25, 2025 13:03
@Scony Scony requested review from a team, magomez and zdobersek as code owners March 25, 2025 13:03
@webkit-ews-buildbot webkit-ews-buildbot added the merging-blocked Applied to prevent a change from being merged label Mar 25, 2025
@Scony Scony removed the merging-blocked Applied to prevent a change from being merged label Mar 25, 2025
@Scony Scony force-pushed the 290169-damaging-in-compositor-3 branch from 86e9533 to 03e762c Compare March 25, 2025 15:27
@webkit-ews-buildbot webkit-ews-buildbot added the merging-blocked Applied to prevent a change from being merged label Mar 25, 2025
@Scony Scony removed the merging-blocked Applied to prevent a change from being merged label Mar 26, 2025
@Scony Scony force-pushed the 290169-damaging-in-compositor-3 branch from 03e762c to 2141424 Compare March 26, 2025 10:42
@Scony Scony force-pushed the 290169-damaging-in-compositor-3 branch from 2141424 to e4c66b0 Compare March 26, 2025 11:59
@Scony Scony added the unsafe-merge-queue Applied to send a pull request to merge-queue, but skip building and testing label Mar 26, 2025
https://bugs.webkit.org/show_bug.cgi?id=290169

Reviewed by Carlos Garcia Campos.

This change utilizes the Damage to further improve
the tile painting in the compositor.

If tile size allows, with this change it's now possible
to have multiple "draw" operations per tile.

* Source/WebCore/platform/graphics/Damage.h:
(WebCore::Damage::Damage):
(WebCore::Damage::rectsForPainting const):
(WebCore::Damage::makeFull):
(WebCore::Damage::add):
(WebCore::Damage::initialize):
(WebCore::Damage::shouldAdd const):
(WebCore::Damage::tileIndexForRect const):
* Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedBackingStore.cpp:
(WebCore::CoordinatedBackingStore::paintToTextureMapper):
* Tools/TestWebKitAPI/Tests/WebCore/glib/Damage.cpp:
(TestWebKitAPI::TEST(Damage, Unite)):
(TestWebKitAPI::TEST(Damage, RectsForPainting)):

Canonical link: https://commits.webkit.org/292700@main
@webkit-commit-queue webkit-commit-queue force-pushed the 290169-damaging-in-compositor-3 branch from e4c66b0 to 3d4e69f Compare March 26, 2025 14:12
@webkit-commit-queue
Copy link
Collaborator

Committed 292700@main (3d4e69f): https://commits.webkit.org/292700@main

Reviewed commits have been landed. Closing PR #42805 and removing active labels.

@webkit-commit-queue webkit-commit-queue merged commit 3d4e69f into WebKit:main Mar 26, 2025
@webkit-commit-queue webkit-commit-queue removed the unsafe-merge-queue Applied to send a pull request to merge-queue, but skip building and testing label Mar 26, 2025
Copy link
Contributor

@nikolaszimmermann nikolaszimmermann left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Got some post-commit comments, sorry for being late.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Compositing Bugs related to layerization for transforms, video, scrolling etc
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants