Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 61fb3600ad265b55fa0f2aaa81611a8c254b32cc
https://github.com/WebKit/WebKit/commit/61fb3600ad265b55fa0f2aaa81611a8c254b32cc
Author: Cameron McCormack <[email protected]>
Date: 2024-11-18 (Mon, 18 Nov 2024)
Changed paths:
M Source/WebKit/GPUProcess/GPUProcessCreationParameters.h
M Source/WebKit/GPUProcess/GPUProcessCreationParameters.serialization.in
M Source/WebKit/GPUProcess/cocoa/GPUProcessCocoa.mm
M Source/WebKit/UIProcess/API/Cocoa/WKProcessPool.mm
M Source/WebKit/UIProcess/API/Cocoa/WKProcessPoolPrivate.h
M Source/WebKit/UIProcess/Cocoa/GPUProcessProxyCocoa.mm
M Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp
M Source/WebKit/UIProcess/GPU/GPUProcessProxy.h
M Tools/WebKitTestRunner/TestController.cpp
M Tools/WebKitTestRunner/TestController.h
M Tools/WebKitTestRunner/TestOptions.cpp
M Tools/WebKitTestRunner/TestOptions.h
M Tools/WebKitTestRunner/cocoa/TestControllerCocoa.mm
Log Message:
-----------
Add Metal debug test options to WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=283270
rdar://problem/140088138
Reviewed by Mike Wyrzykowski.
This adds two new WebKitTestRunner test options, enableMetalDebugDevice
and enableMetalShaderValidation, which enable different Metal framework
validation layers that will cause GPU process crashes if they fail.
These test options will be used for some WebGPU crash tests.
Because the only way to enable these validation layers is to set some
environment variables in the Metal-using process early on (before the
first use of Metal), it means that any time these test options change
between tests, we must restart the GPU process.
These test options only have an effect on Cocoa ports.
* Source/WebKit/GPUProcess/GPUProcessCreationParameters.h:
* Source/WebKit/GPUProcess/GPUProcessCreationParameters.serialization.in:
* Source/WebKit/GPUProcess/cocoa/GPUProcessCocoa.mm:
(WebKit::GPUProcess::platformInitializeGPUProcess):
* Source/WebKit/UIProcess/API/Cocoa/WKProcessPool.mm:
(+[WKProcessPool _setEnableMetalDebugDeviceInNewGPUProcessesForTesting:]):
(+[WKProcessPool _setEnableMetalShaderValidationInNewGPUProcessesForTesting:]):
(+[WKProcessPool _isMetalDebugDeviceEnabledInGPUProcessForTesting]):
(+[WKProcessPool _isMetalShaderValidationEnabledInGPUProcessForTesting]):
* Source/WebKit/UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
* Source/WebKit/UIProcess/Cocoa/GPUProcessProxyCocoa.mm:
(WebKit::GPUProcessProxy::platformInitializeGPUProcessParameters):
* Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp:
(WebKit::GPUProcessProxy::GPUProcessProxy):
* Source/WebKit/UIProcess/GPU/GPUProcessProxy.h:
* Tools/WebKitTestRunner/TestController.cpp:
(WTR::TestController::ensureViewSupportsOptionsForTest):
(WTR::TestController::platformEnsureGPUProcessConfiguredForOptions):
* Tools/WebKitTestRunner/TestController.h:
* Tools/WebKitTestRunner/TestOptions.cpp:
(WTR::TestOptions::defaults):
(WTR::TestOptions::keyTypeMapping):
* Tools/WebKitTestRunner/TestOptions.h:
(WTR::TestOptions::shouldIgnoreWebProcessTermination const):
(WTR::TestOptions::enableMetalDebugDevice const):
(WTR::TestOptions::enableMetalShaderValidation const):
(WTR::TestOptions::overrideLanguages const):
* Tools/WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::currentGPUProcessConfigurationCompatibleWithOptions):
(WTR::TestController::platformEnsureGPUProcessConfiguredForOptions):
Canonical link: https://commits.webkit.org/286761@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