Branch: refs/heads/safari-7615.1.18-branch Home: https://github.com/WebKit/WebKit Commit: 62a1efae812e5f7055815732e2d8f56af60ab243 https://github.com/WebKit/WebKit/commit/62a1efae812e5f7055815732e2d8f56af60ab243 Author: Tim Horton <thor...@apple.com> Date: 2023-01-26 (Thu, 26 Jan 2023)
Changed paths: M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.mm Log Message: ----------- Cherry-pick 0a0fa97fea12. rdar://problem/104102164 CGDisplayList image buffer contents are upside-down https://bugs.webkit.org/show_bug.cgi?id=250717 rdar://104102164 Reviewed by Dean Jackson. * Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.mm: (WebKit::RemoteLayerBackingStore::paintContents): Flip the contents when required. Canonical link: https://commits.webkit.org/258997@main Canonical link: https://commits.webkit.org/258608.70@safari-7615.1.18-branch Commit: b8b05de496c2ec665688b3a72b33505243511eed https://github.com/WebKit/WebKit/commit/b8b05de496c2ec665688b3a72b33505243511eed Author: Tim Horton <thor...@apple.com> Date: 2023-01-26 (Thu, 26 Jan 2023) Changed paths: M Source/WebKit/Shared/RemoteLayerTree/CGDisplayListImageBufferBackend.mm M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.h M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.mm Log Message: ----------- Cherry-pick 9502f8564a09. rdar://problem/104102164 CG display list graphics contexts are sometimes still flipped https://bugs.webkit.org/show_bug.cgi?id=250816 rdar://104388673 Reviewed by Dean Jackson. * Source/WebKit/Shared/RemoteLayerTree/CGDisplayListImageBufferBackend.mm: (WebKit::GraphicsContextCGDisplayList::GraphicsContextCGDisplayList): Remove the workaround introduced in r252402@main, since we have reinstated the toplevel context flip in 258997@main. I missed this in 258997@main because it only affects cases where we end up doing setCTM(getCTM()), which is just rare enough to miss with cursory testing. * Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.h: * Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.mm: (WebKit::RemoteLayerBackingStore::paintContents): (WebKit::RemoteLayerBackingStore::drawInContext): While debugging the above, I also noticed that we were leaving the display list context with a missing trailing `restore` operation, because we encode the display list inside drawInContext. To avoid this, move the flip inside our existing state saver, which is popped before encoding the display list. This has no actual effect at the moment (except making the dumped list look more correct), but will eventually be necessary when the replayed destination context is reused. Canonical link: https://commits.webkit.org/259076@main Canonical link: https://commits.webkit.org/258608.71@safari-7615.1.18-branch Compare: https://github.com/WebKit/WebKit/compare/6fdb1d709539...b8b05de496c2 _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes