[webkit-changes] [WebKit/WebKit] ad44d7: REGRESSION(2.41.6): [GTK] Yelp help viewer and Epi...

Carlos Garcia Campos noreply at github.com
Fri Jul 21 00:31:55 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: ad44d7bf323c78bd79f184859afb65d107efb103
      https://github.com/WebKit/WebKit/commit/ad44d7bf323c78bd79f184859afb65d107efb103
  Author: Carlos Garcia Campos <cgarcia at igalia.com>
  Date:   2023-07-21 (Fri, 21 Jul 2023)

  Changed paths:
    M Source/WebKit/Shared/WebProcessCreationParameters.h
    M Source/WebKit/Shared/WebProcessCreationParameters.serialization.in
    A Source/WebKit/Shared/glib/DMABufRendererBufferMode.h
    M Source/WebKit/UIProcess/API/glib/WebKitProtocolHandler.cpp
    M Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp
    M Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.cpp
    M Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.h
    M Source/WebKit/WebProcess/WebPage/gtk/AcceleratedSurfaceDMABuf.cpp
    M Source/WebKit/WebProcess/WebProcess.h
    M Source/WebKit/WebProcess/glib/WebProcessGLib.cpp

  Log Message:
  -----------
  REGRESSION(2.41.6): [GTK] Yelp help viewer and Epiphany browser do not show content on a virtual machine (llvmpipe?) with WebKitGTK 2.41.6
https://bugs.webkit.org/show_bug.cgi?id=259320

Reviewed by Michael Catanzaro.

The problem is that for some reason the surfaceless platform is claiming
to support EGL_MESA_image_dma_buf_export with llvmpipe driver, while the
display in the UI process doesn't support EGL_EXT_image_dma_buf_import
with llvmpipe as expected. So, we end up exporting DMABuf buffers (or
trying) that the UI process can't handle. We should always pass to the
web process the buffers supported by the UI process (hardware or shared
memory) and ensure we only export buffers supported by the UI process.

* Source/WebKit/Shared/WebProcessCreationParameters.h:
* Source/WebKit/Shared/WebProcessCreationParameters.serialization.in:
* Source/WebKit/Shared/glib/DMABufRendererBufferMode.h: Added.
* Source/WebKit/UIProcess/API/glib/WebKitProtocolHandler.cpp:
(WebKit::dmabufRendererWithSupportedBuffers):
(WebKit::WebKitProtocolHandler::handleGPU):
* Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp:
(WebKit::WebProcessPool::platformInitializeWebProcess):
* Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.cpp:
(WebKit::AcceleratedBackingStoreDMABuf::rendererBufferMode):
(WebKit::AcceleratedBackingStoreDMABuf::checkRequirements):
* Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.h:
* Source/WebKit/WebProcess/WebPage/gtk/AcceleratedSurfaceDMABuf.cpp:
(WebKit::AcceleratedSurfaceDMABuf::clientResize):
* Source/WebKit/WebProcess/WebProcess.h:
(WebKit::WebProcess::dmaBufRendererBufferMode const):
* Source/WebKit/WebProcess/glib/WebProcessGLib.cpp:
(WebKit::WebProcess::platformInitializeWebProcess):

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




More information about the webkit-changes mailing list