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

Reply via email to