[webkit-changes] [WebKit/WebKit] 023f54: [WebGL] Abstract working with EGL sync objects cre...

Dan Glastonbury noreply at github.com
Mon May 29 20:58:19 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 023f54b8e5b80830c6d4eee7f54143aa4d15b9b9
      https://github.com/WebKit/WebKit/commit/023f54b8e5b80830c6d4eee7f54143aa4d15b9b9
  Author: Dan Glastonbury <djg at apple.com>
  Date:   2023-05-29 (Mon, 29 May 2023)

  Changed paths:
    M Source/WebCore/platform/graphics/GraphicsContextGL.h
    M Source/WebCore/platform/graphics/GraphicsTypesGL.h
    M Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.cpp
    M Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.h
    M Source/WebCore/platform/graphics/cocoa/GraphicsContextGLCocoa.h
    M Source/WebCore/platform/graphics/cocoa/GraphicsContextGLCocoa.mm
    M Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.h
    M Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.messages.in
    M Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGLCocoa.cpp
    M Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGLFunctionsGenerated.h
    M Source/WebKit/WebKit.xcodeproj/project.pbxproj
    M Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.cpp
    M Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.h
    M Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxyFunctionsGenerated.cpp
    M Source/WebKit/WebProcess/GPU/graphics/cocoa/RemoteGraphicsContextGLProxyCocoa.mm
    M Tools/Scripts/generate-gpup-webgl

  Log Message:
  -----------
  [WebGL] Abstract working with EGL sync objects created from MTLSharedEvent
https://bugs.webkit.org/show_bug.cgi?id=256954
rdar://problem/109502752

Reviewed by Kimmo Kinnunen.

When the GPU process is enabled, the Web process no long has access to the APIs
required to create shared events passed from the UI process. This change added
APIs to allow creationg of sync objects from events that can be represented by a
MachSendRight (MTLSharedEvent), that can be used in the Web or GPU process.

Support work for WebXR in GPUP.

* Source/WebCore/platform/graphics/GraphicsContextGL.h:
* Source/WebCore/platform/graphics/GraphicsTypesGL.h:
* Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.cpp:
(WebCore::GraphicsContextGLANGLE::createEGLSync):
(WebCore::GraphicsContextGLANGLE::destroyEGLSync):
(WebCore::GraphicsContextGLANGLE::clientWaitEGLSyncWithFlush):
* Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.h:
* Source/WebCore/platform/graphics/cocoa/GraphicsContextGLCocoa.h:
* Source/WebCore/platform/graphics/cocoa/GraphicsContextGLCocoa.mm:
(WebCore::GraphicsContextGLCocoa::createEGLSync):
(WebCore::GraphicsContextGLCocoa::insertFinishedSignalOrInvoke):
(WebCore::GraphicsContextGLCocoa::createSyncWithSharedEvent): Deleted.
(WebCore::GraphicsContextGLCocoa::destroySync): Deleted.
(WebCore::GraphicsContextGLCocoa::clientWaitSyncWithFlush): Deleted.
* Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.h:
* Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.messages.in:
* Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGLCocoa.cpp:
(WebKit::RemoteGraphicsContextGLCocoa::createEGLSync):
* Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGLFunctionsGenerated.h:
(destroyEGLSync):
(clientWaitEGLSyncWithFlush):
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
* Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.cpp:
(WebKit::RemoteGraphicsContextGLProxy::createEGLSync):
* Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.h:
* Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxyFunctionsGenerated.cpp:
(WebKit::RemoteGraphicsContextGLProxy::destroyEGLSync):
(WebKit::RemoteGraphicsContextGLProxy::clientWaitEGLSyncWithFlush):
* Tools/Scripts/generate-gpup-webgl:

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




More information about the webkit-changes mailing list