[webkit-changes] [WebKit/WebKit] d2869d: [TexMap] Correctly gather damage information for 3...
Pawel Lampe
noreply at github.com
Wed Jan 22 01:04:30 PST 2025
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: d2869dc073cdd0dcd3a90ffd0d8d6913f7a010c6
https://github.com/WebKit/WebKit/commit/d2869dc073cdd0dcd3a90ffd0d8d6913f7a010c6
Author: Pawel Lampe <plampe at igalia.com>
Date: 2025-01-22 (Wed, 22 Jan 2025)
Changed paths:
M Source/WebCore/platform/graphics/GraphicsLayer.h
M Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp
M Source/WebCore/platform/graphics/texmap/TextureMapperLayer.h
M Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayer.cpp
M Source/WebCore/platform/graphics/texmap/coordinated/GraphicsLayerCoordinated.cpp
M Source/WebCore/platform/graphics/texmap/coordinated/GraphicsLayerCoordinated.h
M Source/WebCore/rendering/RenderLayerBacking.cpp
Log Message:
-----------
[TexMap] Correctly gather damage information for 3D-transformed layers
https://bugs.webkit.org/show_bug.cgi?id=275803
Reviewed by Nikolas Zimmermann.
This change:
- changes the machanism that damages the whole layer on transform change. From now on,
the damage is computed and stored in the global coordinate space as with the usage
of local coordinate space (as before) it was impossible to get back the correct damage
for 3D transforms as the operation was lossy
- separates the damage inferred during layer updates processing from the damage received
from the main thread
- removes the workarounds necessary for 3D transform handling
thus effectively fixing the support for collecting damage from 3D-transformed layers.
* Source/WebCore/platform/graphics/GraphicsLayer.h:
(WebCore::GraphicsLayer::markDamageRectsUnreliable): Deleted.
* Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp:
(WebCore::TextureMapperLayer::collectDamageSelf):
(WebCore::TextureMapperLayer::damageWholeLayerDueToTransformChange):
(WebCore::TextureMapperLayer::transformRectForDamage):
(WebCore::TextureMapperLayer::setSize):
* Source/WebCore/platform/graphics/texmap/TextureMapperLayer.h:
* Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayer.cpp:
(WebCore::CoordinatedPlatformLayer::flushCompositingState):
* Source/WebCore/platform/graphics/texmap/coordinated/GraphicsLayerCoordinated.cpp:
(WebCore::GraphicsLayerCoordinated::updateDamage):
(WebCore::GraphicsLayerCoordinated::markDamageRectsUnreliable): Deleted.
* Source/WebCore/platform/graphics/texmap/coordinated/GraphicsLayerCoordinated.h:
* Source/WebCore/rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateAfterDescendants):
(WebCore::layerRendererStyleHas3DTransformOperation): Deleted.
Canonical link: https://commits.webkit.org/289232@main
To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications
More information about the webkit-changes
mailing list