[webkit-changes] [WebKit/WebKit] 5ddd84: mlc.ai Web LLM WebGPU demo doesn't work in Safari

mwyrzykowski noreply at github.com
Wed Jun 12 22:59:25 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 5ddd8467ead17638e8550011ebe32733fa6d6cb9
      https://github.com/WebKit/WebKit/commit/5ddd8467ead17638e8550011ebe32733fa6d6cb9
  Author: Mike Wyrzykowski <mwyrzykowski at apple.com>
  Date:   2024-06-12 (Wed, 12 Jun 2024)

  Changed paths:
    M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteQueue.messages.in
    M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteBindGroupLayoutProxy.h
    M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteCommandBufferProxy.h
    M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteComputePassEncoderProxy.h
    M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteComputePipelineProxy.h
    M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteDeviceProxy.h
    M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteExternalTextureProxy.h
    M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemotePipelineLayoutProxy.h
    M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemotePresentationContextProxy.h
    M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteQuerySetProxy.h
    M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteQueueProxy.cpp
    M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteQueueProxy.h
    M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteRenderBundleEncoderProxy.h
    M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteRenderBundleProxy.h
    M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteRenderPassEncoderProxy.h
    M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteRenderPipelineProxy.h
    M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteSamplerProxy.h
    M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteShaderModuleProxy.h
    M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteTextureProxy.h
    M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteTextureViewProxy.h

  Log Message:
  -----------
  mlc.ai Web LLM WebGPU demo doesn't work in Safari
https://bugs.webkit.org/show_bug.cgi?id=266793
<radar://108093665>

Reviewed by Dan Glastonbury.

The spec says all GPUBuffer.mapAsync calls must complete before GPUQueue.onSubmittedWorkDone returns,
but since GPUQueue.onSubmittedWorkDone was sync, the ordering was inverted.

Fix this by making GPUQueue.onSubmittedWorkDone async as well.

This PR depends on https://github.com/WebKit/WebKit/pull/27778 merging

* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteQueue.messages.in:
* Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteBindGroupLayoutProxy.h:
* Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteCommandBufferProxy.h:
* Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteComputePassEncoderProxy.h:
* Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteComputePipelineProxy.h:
* Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteDeviceProxy.h:
* Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteExternalTextureProxy.h:
* Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemotePipelineLayoutProxy.h:
* Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemotePresentationContextProxy.h:
* Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteQuerySetProxy.h:
* Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteQueueProxy.cpp:
(WebKit::WebGPU::RemoteQueueProxy::onSubmittedWorkDone):
* Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteQueueProxy.h:
* Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteRenderBundleEncoderProxy.h:
* Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteRenderBundleProxy.h:
* Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteRenderPassEncoderProxy.h:
* Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteRenderPipelineProxy.h:
* Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteSamplerProxy.h:
* Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteShaderModuleProxy.h:
* Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteTextureProxy.h:
* Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteTextureViewProxy.h:

Canonical link: https://commits.webkit.org/279981@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