[webkit-changes] [WebKit/WebKit] e46f36: Remove OpenGL backend support from WebGL level for...

Kimmo Kinnunen noreply at github.com
Tue Aug 6 04:47:55 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: e46f3646c7b27ad09d55adc845ca0708b6a0b1b4
      https://github.com/WebKit/WebKit/commit/e46f3646c7b27ad09d55adc845ca0708b6a0b1b4
  Author: Kimmo Kinnunen <kkinnunen at apple.com>
  Date:   2024-08-06 (Tue, 06 Aug 2024)

  Changed paths:
    M LayoutTests/TestExpectations
    M LayoutTests/platform/glib/TestExpectations
    M LayoutTests/platform/win/TestExpectations
    R LayoutTests/webgl/webgl-via-metal-flag-off-expected.txt
    R LayoutTests/webgl/webgl-via-metal-flag-off.html
    R LayoutTests/webgl/webgl-via-metal-flag-on-expected.txt
    R LayoutTests/webgl/webgl-via-metal-flag-on.html
    M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml
    M Source/WebCore/PlatformMac.cmake
    M Source/WebCore/SourcesCocoa.txt
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    M Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp
    M Source/WebCore/html/canvas/WebGLRenderingContextBase.h
    M Source/WebCore/platform/graphics/GraphicsContextGL.h
    M Source/WebCore/platform/graphics/GraphicsContextGLAttributes.h
    M Source/WebCore/platform/graphics/cocoa/GraphicsContextGLCocoa.h
    M Source/WebCore/platform/graphics/cocoa/GraphicsContextGLCocoa.mm
    M Source/WebCore/platform/graphics/cocoa/WebProcessGraphicsContextGLCocoa.mm
    M Source/WebCore/platform/graphics/gbm/GraphicsContextGLGBM.cpp
    M Source/WebCore/platform/graphics/gbm/GraphicsContextGLGBM.h
    R Source/WebCore/platform/graphics/mac/DisplayConfigurationMonitor.cpp
    R Source/WebCore/platform/graphics/mac/DisplayConfigurationMonitor.h
    R Source/WebCore/platform/graphics/mac/ScopedHighPerformanceGPURequest.h
    R Source/WebCore/platform/graphics/mac/SwitchingGPUClient.cpp
    R Source/WebCore/platform/graphics/mac/SwitchingGPUClient.h
    M Source/WebCore/platform/graphics/texmap/GraphicsContextGLTextureMapperANGLE.cpp
    M Source/WebCore/platform/graphics/texmap/GraphicsContextGLTextureMapperANGLE.h
    M Source/WebKit/GPUProcess/GPUConnectionToWebProcess.cpp
    M Source/WebKit/GPUProcess/GPUConnectionToWebProcess.h
    M Source/WebKit/GPUProcess/GPUProcess.cpp
    M Source/WebKit/GPUProcess/GPUProcess.h
    M Source/WebKit/GPUProcess/GPUProcess.messages.in
    M Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.cpp
    M Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.h
    M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in
    M Source/WebKit/SmartPointerExpectations/UncountedCallArgsCheckerExpectations
    M Source/WebKit/SourcesCocoa.txt
    M Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm
    M Source/WebKit/UIProcess/Cocoa/WebProcessProxyCocoa.mm
    M Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp
    M Source/WebKit/UIProcess/GPU/GPUProcessProxy.h
    M Source/WebKit/UIProcess/WebProcessProxy.cpp
    M Source/WebKit/UIProcess/WebProcessProxy.h
    M Source/WebKit/UIProcess/WebProcessProxy.messages.in
    R Source/WebKit/UIProcess/mac/HighPerformanceGPUManager.h
    R Source/WebKit/UIProcess/mac/HighPerformanceGPUManager.mm
    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/WebCoreSupport/WebWorkerClient.cpp
    R Source/WebKit/WebProcess/WebCoreSupport/mac/WebSwitchingGPUClient.cpp
    R Source/WebKit/WebProcess/WebCoreSupport/mac/WebSwitchingGPUClient.h
    M Source/WebKit/WebProcess/WebProcess.h
    M Source/WebKit/WebProcess/WebProcess.messages.in
    M Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm
    M Source/WebKitLegacy/PlatformMac.cmake
    M Source/WebKitLegacy/WebKitLegacy.xcodeproj/project.pbxproj
    R Source/WebKitLegacy/mac/WebCoreSupport/WebSwitchingGPUClient.cpp
    R Source/WebKitLegacy/mac/WebCoreSupport/WebSwitchingGPUClient.h
    M Source/WebKitLegacy/mac/WebView/WebView.mm
    M Tools/DumpRenderTree/TestOptions.cpp
    M Tools/TestWebKitAPI/Tests/WebCore/cocoa/TestGraphicsContextGLCocoa.mm
    M Tools/WebKitTestRunner/TestOptions.cpp

  Log Message:
  -----------
  Remove OpenGL backend support from WebGL level for Cocoa
https://bugs.webkit.org/show_bug.cgi?id=277622
rdar://133199316

Reviewed by Dan Glastonbury.

Removes WebGL implementation level code related to OpenGL backend.

Bigger removed chunks:

1. Support for switching OpenGL contexts to dGPU:
- WebGLRenderingContextBase activity state observer would be
  used to track if there was a visible high-performance context
- Various refcounting objects would be used to detect the visible
  high-performance contexts
- Display configuration change would be used to observe switch to dGPU,
  so that the signal to promote the the OpenGL contexts could be sent
  to the OpenGL

2. User preference and context flag to control whether Metal would be used.

3. Volatile context code.
- WK1 could have had the current OpenGL context be modified by the
  client callbacks. This was worked around by using the volatile context
  support. This is now unneeded, as Metal is always used.

* LayoutTests/webgl/webgl-via-metal-flag-on-expected.txt: Removed.
* LayoutTests/webgl/webgl-via-metal-flag-on.html: Removed.
* LayoutTests/webgl/webgl-via-metal-flag-off-expected.txt: Removed.
* LayoutTests/webgl/webgl-via-metal-flag-off.html: Removed.
* Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml:
* Source/WebCore/PlatformMac.cmake:
* Source/WebCore/SourcesCocoa.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::resolveGraphicsContextGLAttributes):
(WebCore::WebGLRenderingContextBase::initializeNewContext):
(WebCore::WebGLRenderingContextBase::destroyGraphicsContextGL):
(WebCore::WebGLRenderingContextBase::addActivityStateChangeObserverIfNecessary): Deleted.
(WebCore::WebGLRenderingContextBase::removeActivityStateChangeObserver): Deleted.
(WebCore::WebGLRenderingContextBase::activityStateDidChange): Deleted.
* Source/WebCore/html/canvas/WebGLRenderingContextBase.h:
* Source/WebCore/platform/graphics/GraphicsContextGL.h:
* Source/WebCore/platform/graphics/GraphicsContextGLAttributes.h:
* Source/WebCore/platform/graphics/cocoa/GraphicsContextGLCocoa.h:
* Source/WebCore/platform/graphics/cocoa/GraphicsContextGLCocoa.mm:
(WebCore::initializeEGLDisplay):
(WebCore::GraphicsContextGLCocoa::platformInitializeContext):
(WebCore::GraphicsContextGLCocoa::platformInitializeExtensions):
(WebCore::GraphicsContextGLCocoa::platformInitialize):
(WebCore::GraphicsContextGLCocoa::waitUntilWorkScheduled):
(WebCore::GraphicsContextGLCocoa::insertFinishedSignalOrInvoke):
(WebCore::checkVolatileContextSupportIfDeviceExists): Deleted.
(WebCore::GraphicsContextGLCocoa::setContextVisibility): Deleted.
(WebCore::GraphicsContextGLCocoa::updateContextOnDisplayReconfiguration): Deleted.
* Source/WebCore/platform/graphics/cocoa/WebProcessGraphicsContextGLCocoa.mm:
(WebCore::createWebProcessGraphicsContextGL):
* Source/WebCore/platform/graphics/gbm/GraphicsContextGLGBM.cpp:
(WebCore::GraphicsContextGLGBM::setContextVisibility): Deleted.
* Source/WebCore/platform/graphics/gbm/GraphicsContextGLGBM.h:
* Source/WebCore/platform/graphics/mac/DisplayConfigurationMonitor.cpp: Removed.
* Source/WebCore/platform/graphics/mac/DisplayConfigurationMonitor.h: Removed.
* Source/WebCore/platform/graphics/mac/ScopedHighPerformanceGPURequest.h: Removed.
* Source/WebCore/platform/graphics/mac/SwitchingGPUClient.cpp: Removed.
* Source/WebCore/platform/graphics/mac/SwitchingGPUClient.h: Removed.
* Source/WebCore/platform/graphics/texmap/GraphicsContextGLTextureMapperANGLE.cpp:
(WebCore::createWebProcessGraphicsContextGL):
(WebCore::GraphicsContextGLTextureMapperANGLE::setContextVisibility): Deleted.
* Source/WebCore/platform/graphics/texmap/GraphicsContextGLTextureMapperANGLE.h:
* Source/WebKit/GPUProcess/GPUConnectionToWebProcess.cpp:
(WebKit::GPUConnectionToWebProcess::displayConfigurationChanged): Deleted.
(WebKit::GPUConnectionToWebProcess::dispatchDisplayWasReconfigured): Deleted.
* Source/WebKit/GPUProcess/GPUConnectionToWebProcess.h:
(WebKit::GPUConnectionToWebProcess::dispatchDisplayWasReconfiguredForTesting): Deleted.
* Source/WebKit/GPUProcess/GPUProcess.cpp:
(WebKit::GPUProcess::displayConfigurationChanged): Deleted.
* Source/WebKit/GPUProcess/GPUProcess.h:
* Source/WebKit/GPUProcess/GPUProcess.messages.in:
* Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.cpp:
(WebKit::RemoteGraphicsContextGL::displayWasReconfigured): Deleted.
* Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.h:
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:
* Source/WebKit/SmartPointerExpectations/UncountedCallArgsCheckerExpectations:
* Source/WebKit/SourcesCocoa.txt:
* Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::displayPropertiesChanged):
* Source/WebKit/UIProcess/Cocoa/WebProcessProxyCocoa.mm:
(WebKit::WebProcessProxy::requestHighPerformanceGPU): Deleted.
(WebKit::WebProcessProxy::releaseHighPerformanceGPU): Deleted.
* Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp:
(WebKit::GPUProcessProxy::displayConfigurationChanged): Deleted.
* Source/WebKit/UIProcess/GPU/GPUProcessProxy.h:
* Source/WebKit/UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::~WebProcessProxy):
* Source/WebKit/UIProcess/WebProcessProxy.h:
* Source/WebKit/UIProcess/WebProcessProxy.messages.in:
* Source/WebKit/UIProcess/mac/HighPerformanceGPUManager.h: Removed.
* Source/WebKit/UIProcess/mac/HighPerformanceGPUManager.mm: Removed.
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
* Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.cpp:
(WebKit::RemoteGraphicsContextGLProxy::setContextVisibility): Deleted.
* Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.h:
* Source/WebKit/WebProcess/WebCoreSupport/WebWorkerClient.cpp:
(WebKit::WebWorkerClient::createGraphicsContextGL const):
* Source/WebKit/WebProcess/WebCoreSupport/mac/WebSwitchingGPUClient.cpp: Removed.
* Source/WebKit/WebProcess/WebCoreSupport/mac/WebSwitchingGPUClient.h: Removed.
* Source/WebKit/WebProcess/WebProcess.h:
* Source/WebKit/WebProcess/WebProcess.messages.in:
* Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeProcess):
(WebKit::WebProcess::displayConfigurationChanged): Deleted.
* Source/WebKitLegacy/PlatformMac.cmake:
* Source/WebKitLegacy/WebKitLegacy.xcodeproj/project.pbxproj:
* Source/WebKitLegacy/mac/WebCoreSupport/WebSwitchingGPUClient.cpp: Removed.
* Source/WebKitLegacy/mac/WebCoreSupport/WebSwitchingGPUClient.h: Removed.
* Source/WebKitLegacy/mac/WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
* Tools/DumpRenderTree/TestOptions.cpp:
(WTR::TestOptions::defaults):
* Tools/TestWebKitAPI/Tests/WebCore/cocoa/TestGraphicsContextGLCocoa.mm:
(TestWebKitAPI::TEST_F):
(TestWebKitAPI::TEST_P):
* Tools/WebKitTestRunner/TestOptions.cpp:
(WTR::TestOptions::defaults):

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



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


More information about the webkit-changes mailing list