[webkit-changes] [WebKit/WebKit] 738425: ASSERTion failure: BifurcatedGraphicsContext verif...

Tim Horton noreply at github.com
Mon Sep 5 14:24:38 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 7384255396ccd97db7ad12e77963ee283ced2955
      https://github.com/WebKit/WebKit/commit/7384255396ccd97db7ad12e77963ee283ced2955
  Author: Tim Horton <timothy_horton at apple.com>
  Date:   2022-09-05 (Mon, 05 Sep 2022)

  Changed paths:
    M Source/WebCore/platform/graphics/BifurcatedGraphicsContext.cpp
    M Source/WebCore/platform/graphics/transforms/AffineTransform.h
    M Source/WebKit/Shared/RemoteLayerTree/CGDisplayListImageBufferBackend.mm

  Log Message:
  -----------
  ASSERTion failure: BifurcatedGraphicsContext verifyStateSynchronization fails frequently
https://bugs.webkit.org/show_bug.cgi?id=244771
<rdar://97331032>

Reviewed by Simon Fraser.

* Source/WebCore/platform/graphics/BifurcatedGraphicsContext.cpp:
(WebCore::BifurcatedGraphicsContext::verifyStateSynchronization):
Reduce this assertion to logging. It's not ready to be even a debug assert yet.

* Source/WebCore/platform/graphics/transforms/AffineTransform.h:
(WebCore::AffineTransform::isEssentiallyEqualToAsFloats const):
(WebCore::AffineTransform::isEssentiallyEqualTo const): Deleted.
I commonly see deltas less than float epsilon, but greater than double epsilon.
Make `isEssentiallyEqualTo` use float precision instead, and rename it accordingly.

* Source/WebKit/Shared/RemoteLayerTree/CGDisplayListImageBufferBackend.mm:
(WebKit::GraphicsContextCGDisplayList::GraphicsContextCGDisplayList):
Adjust the rounding during the construction of the base transform to *precisely*
match that which ImageBufferBackend::calculateBaseTransform computes.

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




More information about the webkit-changes mailing list