[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