Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 6266be9b8a61acc30af19182c101d562fb18af4d
https://github.com/WebKit/WebKit/commit/6266be9b8a61acc30af19182c101d562fb18af4d
Author: Mike Wyrzykowski <[email protected]>
Date: 2026-09-13 (Sun, 13 Sep 2026)
Changed paths:
M LayoutTests/platform/mac-wk2/TestExpectations
M Source/WebGPU/WebGPU/ComputePipeline.mm
M Source/WebGPU/WebGPU/Device.h
M Source/WebGPU/WebGPU/Pipeline.h
M Source/WebGPU/WebGPU/Pipeline.mm
M Source/WebGPU/WebGPU/RenderPipeline.h
M Source/WebGPU/WebGPU/RenderPipeline.mm
M Source/WebGPU/WebGPU/ShaderModule.h
M Source/WebGPU/WebGPU/ShaderModule.mm
Log Message:
-----------
WebGPU async pipeline creation stalls rendering
https://bugs.webkit.org/show_bug.cgi?id=324043
rdar://187296614
Reviewed by Dan Glastonbury.
Use -[MTLDevice newLibraryWithSource:options:completionHandler:] instead of
the synchronous version to allow for multiple shader compilations in parallel.
No new tests as CTS covers this path extensively.
* Source/WebGPU/WebGPU/ComputePipeline.mm:
(WebGPU::createComputePipelineDescriptor):
(WebGPU::Device::createComputePipeline):
(WebGPU::CompletionHandler<void):
(WebGPU::Device::createComputePipelineAsync):
(WebGPU::Device::createComputePipelineWithPipelineLayoutFromPipelineAsync):
(WebGPU::createComputePipelineState): Deleted.
* Source/WebGPU/WebGPU/Device.h:
* Source/WebGPU/WebGPU/Pipeline.h:
* Source/WebGPU/WebGPU/Pipeline.mm:
(WebGPU::prepareLibrary):
(WebGPU::libraryCompileRequest):
(WebGPU::compileLibrary):
(WebGPU::callOnWebGPUThread):
(WebGPU::compileLibraryAsync):
(WebGPU::createComputePipelineStateAsync):
(WebGPU::createRenderPipelineStateAsync):
(WebGPU::scopedErrorReporting):
(WebGPU::Device::asynchronousIfPossible):
(WebGPU::Device::compileLibrary):
(WebGPU::Device::createComputePipelineState):
(WebGPU::createLibrary): Deleted.
* Source/WebGPU/WebGPU/RenderPipeline.h:
* Source/WebGPU/WebGPU/RenderPipeline.mm:
(WebGPU::Device::createRenderPipeline):
(WebGPU::CompletionHandler<void):
(WebGPU::Device::createRenderPipelineAsync):
(WebGPU::Device::createRenderPipelineWithPipelineLayoutFromPipelineAsync):
(WebGPU::RenderPipeline::setPrecompiledRenderPipelineState):
* Source/WebGPU/WebGPU/ShaderModule.h:
* Source/WebGPU/WebGPU/ShaderModule.mm:
(WebGPU::compileOptions):
(WebGPU::libraryCompilationError):
(WebGPU::ShaderModule::createLibrary):
(WebGPU::ShaderModule::createLibraryAsync):
Canonical link: https://commits.webkit.org/321042@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications