Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 7f4a9441ef2fb080b9a802a7ffc822773b3f676d
      
https://github.com/WebKit/WebKit/commit/7f4a9441ef2fb080b9a802a7ffc822773b3f676d
  Author: Myles C. Maxfield <mmaxfi...@apple.com>
  Date:   2023-01-24 (Tue, 24 Jan 2023)

  Changed paths:
    M Source/WTF/wtf/PlatformHave.h
    M Source/WebCore/Modules/WebGPU/GPUQueue.cpp
    M Source/WebCore/dom/Document.cpp
    M Source/WebCore/dom/Document.h
    M Source/WebCore/dom/Document.idl
    M Source/WebCore/html/HTMLCanvasElement.cpp
    M Source/WebCore/html/HTMLCanvasElement.h
    M Source/WebCore/html/HTMLCanvasElement.idl
    M Source/WebCore/html/canvas/GPUCanvasContextCocoa.cpp
    M Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp

  Log Message:
  -----------
  [WebGPU] Fixup WEBGPU_IMPLEMENTATION macros
https://bugs.webkit.org/show_bug.cgi?id=250967
rdar://104524084

Reviewed by Dean Jackson.

WebGPU is already behind a runtime setting. WEBGPU_IMPLEMENTATION exists not to 
enforce
a policy, but instead just to make code compile successfully.

All WebKit ports should be able to be hooked up to WebGPU. For Cocoa ports, 
they are
being hooked up to WebGPU.framework. For non-Cocoa ports, they can link with 
WGPU or
Dawn.

The WEBGPU_IMPLEMENTATION macro is intended to indicate whether or not a port 
has started
linking with one of those implementations. Almost nothing has to actually be 
guarded
behind it, though, since almost all of the code for WebGPU in WebCore is just 
platform-
independent plumbing that can be built no matter what. The only things that 
need to be
guarded by WEBGPU_IMPLEMENTATION are code that literally call directly into
WebGPU.framework. Most of these call sites are in 
WebCore/PAL/pal/graphics/WebGPU/Impl,
plus a few more around GPU creation functions.

* Source/WTF/wtf/PlatformHave.h:
* Source/WebCore/Modules/WebGPU/GPUQueue.cpp:
(WebCore::imageBufferForSource):
(WebCore::GPUQueue::copyExternalImageToTexture):
* Source/WebCore/dom/Document.cpp:
(WebCore::Document::getCSSCanvasContext):
* Source/WebCore/dom/Document.h:
* Source/WebCore/dom/Document.idl:
* Source/WebCore/html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::getContext):
* Source/WebCore/html/HTMLCanvasElement.h:
* Source/WebCore/html/HTMLCanvasElement.idl:

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


_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to