[webkit-changes] [WebKit/WebKit] 4756fe: [WPE] WPE Platform: use the primary device to allo...

Carlos Garcia Campos noreply at github.com
Fri Feb 9 06:05:46 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 4756fe12807725f145572d0a0e873a6f517bb3bd
      https://github.com/WebKit/WebKit/commit/4756fe12807725f145572d0a0e873a6f517bb3bd
  Author: Carlos Garcia Campos <cgarcia at igalia.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M Source/WebCore/platform/graphics/PlatformDisplay.cpp
    M Source/WebCore/platform/graphics/gbm/GBMBufferSwapchain.cpp
    M Source/WebCore/platform/graphics/gbm/GBMDevice.cpp
    M Source/WebCore/platform/graphics/gbm/GBMDevice.h
    M Source/WebCore/platform/graphics/gbm/GraphicsContextGLGBM.cpp
    M Source/WebCore/platform/graphics/gstreamer/DMABufVideoSinkGStreamer.cpp
    M Source/WebKit/WebProcess/WebPage/dmabuf/AcceleratedSurfaceDMABuf.cpp
    M Source/WebKit/WebProcess/glib/WebProcessGLib.cpp

  Log Message:
  -----------
  [WPE] WPE Platform: use the primary device to allocate buffers when doing direct scanout under wayland
https://bugs.webkit.org/show_bug.cgi?id=268821

Reviewed by Nikolas Zimmermann.

We currently use always the render node, but for scanout we should use
the primary device. GBMDevice has now two devices, render and display,
and only the filename is set during the initialization. We search the
DRM node for the given file and set the filename of the render and
display devices. If they are the same display is not initialized and
render is always used. When the GBM device is requested for the first
time, the device is actually opened and GBM device created, to make sure
we only create the devices if they are really used.

* Source/WebCore/platform/graphics/PlatformDisplay.cpp:
(WebCore::PlatformDisplay::createPlatformDisplay):
(WebCore::PlatformDisplay::gbmDevice):
* Source/WebCore/platform/graphics/gbm/GBMBufferSwapchain.cpp:
(WebCore::GBMBufferSwapchain::getBuffer):
* Source/WebCore/platform/graphics/gbm/GBMDevice.cpp:
(WebCore::GBMDevice::Device::~Device):
(WebCore::GBMDevice::Device::device const):
(WebCore::GBMDevice::singleton):
(WebCore::GBMDevice::~GBMDevice):
(WebCore::GBMDevice::initialize):
(WebCore::GBMDevice::device const):
* Source/WebCore/platform/graphics/gbm/GBMDevice.h:
(WebCore::GBMDevice::isInitialized const):
(WebCore::GBMDevice::Device::setFilename):
(WebCore::GBMDevice::Device::hasFilename const):
(WebCore::GBMDevice::device const): Deleted.
* Source/WebCore/platform/graphics/gbm/GraphicsContextGLGBM.cpp:
(WebCore::GraphicsContextGLGBM::platformInitializeContext):
* Source/WebCore/platform/graphics/gstreamer/DMABufVideoSinkGStreamer.cpp:
(webKitDMABufVideoSinkIsEnabled):
* Source/WebKit/WebProcess/WebPage/dmabuf/AcceleratedSurfaceDMABuf.cpp:
(WebKit::AcceleratedSurfaceDMABuf::RenderTargetEGLImage::create):

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




More information about the webkit-changes mailing list