Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 2a377397b561789c5b29d15736c5d7ab5709f7e4
      
https://github.com/WebKit/WebKit/commit/2a377397b561789c5b29d15736c5d7ab5709f7e4
  Author: Nikolas Zimmermann <[email protected]>
  Date:   2026-03-26 (Thu, 26 Mar 2026)

  Changed paths:
    M 
Source/WebCore/platform/graphics/texmap/coordinated/GraphicsLayerCoordinated.cpp

  Log Message:
  -----------
  [GTK][WPE] Sync initial `preserves3D` state for structural 
`GraphicsLayerCoordinated`
https://bugs.webkit.org/show_bug.cgi?id=310809

Reviewed by Carlos Garcia Campos.

Structural GraphicsLayers (e.g. viewport anchor layers for position:sticky)
are initialized with preserves3D=true in the base GraphicsLayer constructor,
but this value was never synced to the CoordinatedPlatformLayer because
Change::Preserves3D was not included in the initial pending changes. Since
the value is already true, subsequent setPreserves3D(true) calls early-return
without noting the change. This caused the SkiaCompositingLayer to have
preserves3D=false, breaking 3D rendering context layer collection for
preserve-3d scenes containing sticky-positioned elements.

Always include Change::Preserves3D in the initial sync. This is the only
property with a conditional default (true for Type::Structural, false
otherwise) that differs between GraphicsLayer and CoordinatedPlatformLayer.
All other synced properties have matching defaults in both classes.

Doesn't affect tests when using TextureMapperLayer, since the
'paintFlattened' optimization, by coincidence, still leads to a correct
BSP tree geometry.

* 
Source/WebCore/platform/graphics/texmap/coordinated/GraphicsLayerCoordinated.cpp:
(WebCore::GraphicsLayerCoordinated::GraphicsLayerCoordinated):

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to