[webkit-changes] [WebKit/WebKit] e7294c: [CoordinatedGraphics] Simplify surface resize
Carlos Garcia Campos
noreply at github.com
Thu Jan 16 01:57:04 PST 2025
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: e7294cc235c64cdbd1ce2a7cb692d8ef480dbeeb
https://github.com/WebKit/WebKit/commit/e7294cc235c64cdbd1ce2a7cb692d8ef480dbeeb
Author: Carlos Garcia Campos <cgarcia at igalia.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M Source/WebKit/UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.cpp
M Source/WebKit/WebProcess/WebPage/AcceleratedSurface.cpp
M Source/WebKit/WebProcess/WebPage/AcceleratedSurface.h
M Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp
M Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.h
M Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.cpp
M Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.h
M Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHostTextureMapper.cpp
M Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHostTextureMapper.h
M Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/ThreadedCompositor.cpp
M Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/ThreadedCompositor.h
M Source/WebKit/WebProcess/WebPage/DrawingArea.h
M Source/WebKit/WebProcess/WebPage/DrawingArea.messages.in
M Source/WebKit/WebProcess/WebPage/WebPage.cpp
M Source/WebKit/WebProcess/WebPage/dmabuf/AcceleratedSurfaceDMABuf.cpp
M Source/WebKit/WebProcess/WebPage/dmabuf/AcceleratedSurfaceDMABuf.h
M Source/WebKit/WebProcess/WebPage/libwpe/AcceleratedSurfaceLibWPE.cpp
M Source/WebKit/WebProcess/WebPage/libwpe/AcceleratedSurfaceLibWPE.h
M Source/WebKit/WebProcess/WebPage/wc/DrawingAreaWC.h
Log Message:
-----------
[CoordinatedGraphics] Simplify surface resize
https://bugs.webkit.org/show_bug.cgi?id=285991
Reviewed by Adrian Perez de Castro.
We currently have a method in the threaded compositor to set the new
size, which schedules an update without waiting for the layer flush. We
can pass the size and device scale factor as part of the composition
request, which always happens after the layer flush. Then the compositor
always tries to resize the surface to the requested size, and only when
it changed it calls glViewport with the new size.
This patch also handles the completion handler of
DrawingAreaProxyCoordinatedGraphics::deviceScaleFactorDidChange()
correctly making SetDeviceScaleFactor async like in apple ports and
waiting for the response to call the completion handler.
* Source/WebKit/UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.cpp:
(WebKit::DrawingAreaProxyCoordinatedGraphics::deviceScaleFactorDidChange):
* Source/WebKit/WebProcess/WebPage/AcceleratedSurface.cpp:
(WebKit::AcceleratedSurface::AcceleratedSurface):
(WebKit::AcceleratedSurface::resize):
(WebKit::AcceleratedSurface::hostResize): Deleted.
* Source/WebKit/WebProcess/WebPage/AcceleratedSurface.h:
(WebKit::AcceleratedSurface::clientResize): Deleted.
(WebKit::AcceleratedSurface::size const): Deleted.
* Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp:
(WebKit::DrawingAreaCoordinatedGraphics::setDeviceScaleFactor):
(WebKit::DrawingAreaCoordinatedGraphics::deviceOrPageScaleFactorChanged): Deleted.
* Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.h:
* Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.cpp:
(WebKit::LayerTreeHost::LayerTreeHost):
(WebKit::LayerTreeHost::flushLayers):
(WebKit::LayerTreeHost::sizeDidChange):
(WebKit::LayerTreeHost::deviceOrPageScaleFactorChanged): Deleted.
* Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.h:
* Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHostTextureMapper.cpp:
(WebKit::LayerTreeHost::deviceOrPageScaleFactorChanged): Deleted.
* Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHostTextureMapper.h:
* Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/ThreadedCompositor.cpp:
(WebKit::ThreadedCompositor::create):
(WebKit::ThreadedCompositor::ThreadedCompositor):
(WebKit::ThreadedCompositor::renderLayerTree):
(WebKit::ThreadedCompositor::requestComposition):
(WebKit::ThreadedCompositor::setViewportSize): Deleted.
* Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/ThreadedCompositor.h:
* Source/WebKit/WebProcess/WebPage/DrawingArea.h:
(WebKit::DrawingArea::updateBackingStoreState):
(WebKit::DrawingArea::setDeviceScaleFactor):
* Source/WebKit/WebProcess/WebPage/DrawingArea.messages.in:
* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didScalePage):
(WebKit::WebPage::setDeviceScaleFactor):
* Source/WebKit/WebProcess/WebPage/dmabuf/AcceleratedSurfaceDMABuf.cpp:
(WebKit::AcceleratedSurfaceDMABuf::resize):
(WebKit::AcceleratedSurfaceDMABuf::clientResize): Deleted.
* Source/WebKit/WebProcess/WebPage/dmabuf/AcceleratedSurfaceDMABuf.h:
* Source/WebKit/WebProcess/WebPage/libwpe/AcceleratedSurfaceLibWPE.cpp:
(WebKit::AcceleratedSurfaceLibWPE::AcceleratedSurfaceLibWPE):
(WebKit::AcceleratedSurfaceLibWPE::initialize):
(WebKit::AcceleratedSurfaceLibWPE::resize):
(WebKit::AcceleratedSurfaceLibWPE::clientResize): Deleted.
* Source/WebKit/WebProcess/WebPage/libwpe/AcceleratedSurfaceLibWPE.h:
* Source/WebKit/WebProcess/WebPage/wc/DrawingAreaWC.h:
Canonical link: https://commits.webkit.org/288997@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