Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 0df52bc9b273c2c6a6882b19890be6dd147e52b2
      
https://github.com/WebKit/WebKit/commit/0df52bc9b273c2c6a6882b19890be6dd147e52b2
  Author: Miguel Gomez <[email protected]>
  Date:   2024-07-26 (Fri, 26 Jul 2024)

  Changed paths:
    M Source/WebCore/platform/graphics/egl/GLFence.cpp
    M Source/WebCore/platform/graphics/egl/GLFence.h
    M Source/WebCore/platform/graphics/nicosia/NicosiaBuffer.cpp
    M 
Source/WebCore/platform/graphics/nicosia/NicosiaPlaceholderRenderingContextSource.cpp
    M 
Source/WebCore/platform/graphics/skia/ImageBufferSkiaAcceleratedBackend.cpp
    M 
Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayerBuffer.cpp
    M 
Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayerProxyDMABuf.cpp
    M Source/WebKit/WebProcess/WebPage/dmabuf/AcceleratedSurfaceDMABuf.cpp

  Log Message:
  -----------
  [GTK][WPE] Use glWaitSync instead of glClientWaitSync in GLFence when possible
https://bugs.webkit.org/show_bug.cgi?id=277134

Reviewed by Carlos Garcia Campos.

We can wait for a fence to be signalled both with glClientWaitSync and 
glWaitSync.
GLFence supported only the first method, which blocks the calling thread until 
the
fence is signalled. In some cases it's better to use the second one to wait for 
the
fence, as it doesn't block the calling thread, but the GL command exection for 
the
calling context. This patch adds to GLFence the capability to wait in both ways 
by
using the new serverWait() and clientWait() methods, and replaces the calls to 
the
former method wait() to use the most appropriate of the new methods.

* Source/WebCore/platform/graphics/egl/GLFence.cpp:
(WebCore::GLFence::create):
(WebCore::GLFence::serverWait):
(WebCore::GLFence::clientWait):
(WebCore::GLFence::wait): Deleted.
* Source/WebCore/platform/graphics/egl/GLFence.h:
* Source/WebCore/platform/graphics/nicosia/NicosiaBuffer.cpp:
(Nicosia::AcceleratedBuffer::waitUntilPaintingComplete):
* 
Source/WebCore/platform/graphics/nicosia/NicosiaPlaceholderRenderingContextSource.cpp:
(Nicosia::NicosiaPlaceholderRenderingContextSource::setPlaceholderBuffer):
* Source/WebCore/platform/graphics/skia/ImageBufferSkiaAcceleratedBackend.cpp:
(WebCore::ImageBufferSkiaAcceleratedBackend::swapBuffersIfNeeded):
* Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayerBuffer.cpp:
(WebCore::TextureMapperPlatformLayerBuffer::paintToTextureMapper):
* 
Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayerProxyDMABuf.cpp:
(WebCore::TextureMapperPlatformLayerProxyDMABuf::DMABufLayer::paintToTextureMapper):
* Source/WebKit/WebProcess/WebPage/dmabuf/AcceleratedSurfaceDMABuf.cpp:
(WebKit::AcceleratedSurfaceDMABuf::didRenderFrame):

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to