[webkit-changes] [WebKit/WebKit] 4e9425: [WebGPU] Blocks passed in via the API have the wro...

Myles C. Maxfield noreply at github.com
Tue Jan 17 09:47:13 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 4e942503741a596f90972368362b055d2f9e6cf3
      https://github.com/WebKit/WebKit/commit/4e942503741a596f90972368362b055d2f9e6cf3
  Author: Myles C. Maxfield <mmaxfield at apple.com>
  Date:   2023-01-17 (Tue, 17 Jan 2023)

  Changed paths:
    M Source/WebGPU/WebGPU/APIConversions.h
    M Source/WebGPU/WebGPU/Adapter.mm
    M Source/WebGPU/WebGPU/Buffer.mm
    M Source/WebGPU/WebGPU/Device.mm
    M Source/WebGPU/WebGPU/Instance.mm
    M Source/WebGPU/WebGPU/Queue.mm
    M Source/WebGPU/WebGPU/ShaderModule.mm

  Log Message:
  -----------
  [WebGPU] Blocks passed in via the API have the wrong lifetime
https://bugs.webkit.org/show_bug.cgi?id=250697
rdar://104317057

Reviewed by Kimmo Kinnunen.

We need to retain the blocks using BlockPtr. This was found via
https://github.com/WebKit/WebKit/pull/8661

* Source/WebGPU/WebGPU/Adapter.mm:
(wgpuAdapterRequestDeviceWithBlock):
(wgpuAdapterRequestInvalidDeviceWithBlock):
* Source/WebGPU/WebGPU/Buffer.mm:
(wgpuBufferMapAsyncWithBlock):
* Source/WebGPU/WebGPU/Device.mm:
(wgpuDeviceCreateComputePipelineAsyncWithBlock):
(wgpuDeviceCreateRenderPipelineAsyncWithBlock):
(wgpuDevicePopErrorScopeWithBlock):
(wgpuDeviceSetDeviceLostCallbackWithBlock):
(wgpuDeviceSetUncapturedErrorCallbackWithBlock):
* Source/WebGPU/WebGPU/Instance.mm:
(wgpuInstanceRequestAdapterWithBlock):
* Source/WebGPU/WebGPU/Queue.mm:
(wgpuQueueOnSubmittedWorkDoneWithBlock):
* Source/WebGPU/WebGPU/ShaderModule.mm:
(wgpuShaderModuleGetCompilationInfoWithBlock):

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




More information about the webkit-changes mailing list