[webkit-changes] [WebKit/WebKit] e7b28d: [CoordinatedGraphics] Add CoordinatedPlatformLayer...

Carlos Garcia Campos noreply at github.com
Wed Sep 4 01:43:49 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: e7b28d6a4e06fafc18cc0061368206b8a46ee1e3
      https://github.com/WebKit/WebKit/commit/e7b28d6a4e06fafc18cc0061368206b8a46ee1e3
  Author: Carlos Garcia Campos <cgarcia at igalia.com>
  Date:   2024-09-04 (Wed, 04 Sep 2024)

  Changed paths:
    M Source/WebCore/platform/SourcesGStreamer.txt
    M Source/WebCore/platform/TextureMapper.cmake
    R Source/WebCore/platform/graphics/gstreamer/GStreamerVideoFrameHolder.cpp
    R Source/WebCore/platform/graphics/gstreamer/GStreamerVideoFrameHolder.h
    M Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
    M Source/WebCore/platform/graphics/holepunch/MediaPlayerPrivateHolePunch.cpp
    M Source/WebCore/platform/graphics/nicosia/NicosiaPlaceholderRenderingContextSource.cpp
    M Source/WebCore/platform/graphics/skia/ImageBufferSkiaAcceleratedBackend.cpp
    M Source/WebCore/platform/graphics/texmap/GraphicsContextGLTextureMapperANGLE.cpp
    M Source/WebCore/platform/graphics/texmap/TextureMapperGCGLPlatformLayer.cpp
    R Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayerBuffer.cpp
    R Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayerBuffer.h
    M Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayerProxy.h
    M Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayerProxyGL.cpp
    M Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayerProxyGL.h
    A Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBuffer.h
    A Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferExternalOES.cpp
    A Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferExternalOES.h
    A Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferHolePunch.cpp
    A Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferHolePunch.h
    A Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferRGB.cpp
    A Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferRGB.h
    A Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferVideo.cpp
    A Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferVideo.h
    A Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferYUV.cpp
    A Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferYUV.h

  Log Message:
  -----------
  [CoordinatedGraphics] Add CoordinatedPlatformLayerBuffer to replace TextureMapperPlatformLayerBuffer
https://bugs.webkit.org/show_bug.cgi?id=279052

Reviewed by Miguel Gomez.

Add CoordinatedPlatformLayerBuffer as base class for different kind of
buffers, and add subclasses for currently supported buffers. This patch
also handles Video and HolePunch as buffer types, so that we can remove
the GStreamerVideoFrameHolder and the HolePunchClient. The plan is to
have a single TextureMapperPlatformLayerProxy with different kind of
buffers, so this patch will allow us to add a DMABuf buffer and remove
the TextureMapperPlatformLayerProxyDMABuf.

* Source/WebCore/platform/SourcesGStreamer.txt:
* Source/WebCore/platform/TextureMapper.cmake:
* Source/WebCore/platform/graphics/gstreamer/GStreamerVideoFrameHolder.cpp: Removed.
* Source/WebCore/platform/graphics/gstreamer/GStreamerVideoFrameHolder.h: Removed.
* Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::pushTextureToCompositor):
(WebCore::MediaPlayerPrivateGStreamer::flushCurrentBuffer):
(WebCore::MediaPlayerPrivateGStreamer::pushNextHolePunchBuffer):
(WebCore::GStreamerHolePunchClient::GStreamerHolePunchClient): Deleted.
* Source/WebCore/platform/graphics/holepunch/MediaPlayerPrivateHolePunch.cpp:
(WebCore::MediaPlayerPrivateHolePunch::pushNextHolePunchBuffer):
* Source/WebCore/platform/graphics/nicosia/NicosiaPlaceholderRenderingContextSource.cpp:
(Nicosia::NicosiaPlaceholderRenderingContextSource::setPlaceholderBuffer):
* Source/WebCore/platform/graphics/skia/ImageBufferSkiaAcceleratedBackend.cpp:
(WebCore::ImageBufferSkiaAcceleratedBackend::ImageBufferSkiaAcceleratedBackend):
* Source/WebCore/platform/graphics/texmap/GraphicsContextGLTextureMapperANGLE.cpp:
(WebCore::GraphicsContextGLTextureMapperANGLE::platformInitialize):
* Source/WebCore/platform/graphics/texmap/TextureMapperGCGLPlatformLayer.cpp:
* Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayerBuffer.cpp: Removed.
* Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayerBuffer.h: Removed.
* Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayerProxy.h:
* Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayerProxyGL.cpp:
(WebCore::TextureMapperPlatformLayerProxyGL::activateOnCompositingThread):
(WebCore::TextureMapperPlatformLayerProxyGL::invalidate):
(WebCore::TextureMapperPlatformLayerProxyGL::pushNextBuffer):
(WebCore::TextureMapperPlatformLayerProxyGL::swapBuffer):
(WebCore::TextureMapperPlatformLayerProxyGL::dropCurrentBufferWhilePreservingTexture):
(WebCore::TextureMapperPlatformLayerProxyGL::scheduleUpdateOnCompositorThread):
(WebCore::TextureMapperPlatformLayerProxyGL::getAvailableBuffer): Deleted.
(WebCore::TextureMapperPlatformLayerProxyGL::appendToUnusedBuffers): Deleted.
(WebCore::TextureMapperPlatformLayerProxyGL::scheduleReleaseUnusedBuffers): Deleted.
(WebCore::TextureMapperPlatformLayerProxyGL::releaseUnusedBuffersTimerFired): Deleted.
* Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayerProxyGL.h:
* Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBuffer.h: Added.
(WebCore::CoordinatedPlatformLayerBuffer::type const):
(WebCore::CoordinatedPlatformLayerBuffer::size const):
(WebCore::CoordinatedPlatformLayerBuffer::flags const):
(WebCore::CoordinatedPlatformLayerBuffer::waitForContentsIfNeeded):
(WebCore::CoordinatedPlatformLayerBuffer::CoordinatedPlatformLayerBuffer):
* Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferExternalOES.cpp: Added.
(WebCore::CoordinatedPlatformLayerBufferExternalOES::create):
(WebCore::CoordinatedPlatformLayerBufferExternalOES::CoordinatedPlatformLayerBufferExternalOES):
(WebCore::CoordinatedPlatformLayerBufferExternalOES::paintToTextureMapper):
* Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferExternalOES.h: Added.
* Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferHolePunch.cpp: Added.
(WebCore::CoordinatedPlatformLayerBufferHolePunch::create):
(WebCore::CoordinatedPlatformLayerBufferHolePunch::CoordinatedPlatformLayerBufferHolePunch):
(WebCore::m_quirksManager):
(WebCore::CoordinatedPlatformLayerBufferHolePunch::paintToTextureMapper):
* Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferHolePunch.h: Added.
* Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferRGB.cpp: Added.
(WebCore::CoordinatedPlatformLayerBufferRGB::create):
(WebCore::CoordinatedPlatformLayerBufferRGB::CoordinatedPlatformLayerBufferRGB):
(WebCore::CoordinatedPlatformLayerBufferRGB::paintToTextureMapper):
* Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferRGB.h: Added.
* Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferVideo.cpp: Added.
(WebCore::CoordinatedPlatformLayerBufferVideo::create):
(WebCore::CoordinatedPlatformLayerBufferVideo::CoordinatedPlatformLayerBufferVideo):
(WebCore::CoordinatedPlatformLayerBufferVideo::~CoordinatedPlatformLayerBufferVideo):
(WebCore::CoordinatedPlatformLayerBufferVideo::copyBuffer const):
(WebCore::CoordinatedPlatformLayerBufferVideo::createBufferFromGLMemory):
(WebCore::CoordinatedPlatformLayerBufferVideo::createBufferFromMainMemory):
(WebCore::CoordinatedPlatformLayerBufferVideo::paintToTextureMapper):
* Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferVideo.h: Added.
* Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferYUV.cpp: Added.
(WebCore::CoordinatedPlatformLayerBufferYUV::create):
(WebCore::CoordinatedPlatformLayerBufferYUV::CoordinatedPlatformLayerBufferYUV):
(WebCore::CoordinatedPlatformLayerBufferYUV::paintToTextureMapper):
* Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferYUV.h: Added.

Canonical link: https://commits.webkit.org/283142@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