Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 5cd7154829602ad5b724b39aeeac59b878634897
      
https://github.com/WebKit/WebKit/commit/5cd7154829602ad5b724b39aeeac59b878634897
  Author: Carlos Garcia Campos <[email protected]>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M Source/WebCore/platform/graphics/DMABufBuffer.cpp
    M Source/WebCore/platform/graphics/DMABufBuffer.h
    M Source/WebCore/platform/graphics/gstreamer/VideoFrameGStreamer.cpp
    M Source/WebCore/platform/graphics/gstreamer/VideoFrameGStreamer.h
    M 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBuffer.h
    M 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferDMABuf.cpp
    M 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferExternalOES.cpp
    M 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferExternalOES.h
    M 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferVideo.cpp
    M 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferVideo.h
    M 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferYUV.h

  Log Message:
  -----------
  [GTK][WPE] Skia compositor: use promise images for Qualcomm video buffers
https://bugs.webkit.org/show_bug.cgi?id=323962

Reviewed by Philippe Normand and Nikolas Zimmermann.

We need to move existing implementation to the right classes, so the
DMABuf buffer is created by the VideoFrameGStreamer using DMABufBuffer
class. For the skia compositor
DMABufBuffer::createPromiseImageForQualcommVideoFrame() has been added
to handle this specific case. After this patch
CoordinatedPlatformLayerBufferExternalOES and
CoordinatedPlatformLayerBufferYUV are non longer used by the skia
compositor.

* Source/WebCore/platform/graphics/DMABufBuffer.cpp:
(WebCore::buildEGLAttributesForDMABuf):
(WebCore::DMABufBuffer::createEGLImage):
(WebCore::DMABufBuffer::importIfNeeded):
(WebCore::DMABufBuffer::createPromiseImage):
(WebCore::DMABufBuffer::createPromiseImageForQualcommVideoFrame):
(WebCore::DMABufBuffer::createEGLImageForQualcommVideoFrame):
(WebCore::DMABufBuffer::isQualcommVideoFrameBuffer const):
(WebCore::DMABufBuffer::createImage):
* Source/WebCore/platform/graphics/DMABufBuffer.h:
* Source/WebCore/platform/graphics/gstreamer/VideoFrameGStreamer.cpp:
(WebCore::VideoFrameGStreamer::dmabufForQualcommDecoder const):
* Source/WebCore/platform/graphics/gstreamer/VideoFrameGStreamer.h:
* 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferDMABuf.cpp:
(WebCore::importToTexture):
(WebCore::CoordinatedPlatformLayerBufferDMABuf::importDMABuf const):
* 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferExternalOES.cpp:
(WebCore::CoordinatedPlatformLayerBufferExternalOES::create):
(WebCore::CoordinatedPlatformLayerBufferExternalOES::CoordinatedPlatformLayerBufferExternalOES):
(WebCore::CoordinatedPlatformLayerBufferExternalOES::paintToTextureMapper):
(WebCore::CoordinatedPlatformLayerBufferExternalOES::skiaImage):
(WebCore::CoordinatedPlatformLayerBufferExternalOES::createExternalOESTexture): 
Deleted.
* 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferExternalOES.h:
* 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferVideo.cpp:
(WebCore::CoordinatedPlatformLayerBufferVideo::createBufferIfNeeded):
(WebCore::CoordinatedPlatformLayerBufferVideo::createSkiaImageIfNeeded):
(WebCore::CoordinatedPlatformLayerBufferVideo::createSkiaImageForQualcommDecoder):
(WebCore::yuvColorSpaceFromVideoInfo): Deleted.
* 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferVideo.h:
* 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBuffer.h:
* 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferYUV.h:

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



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

Reply via email to