[webkit-changes] [WebKit/WebKit] 5e7001: [WebGPU] Split Cocoa-specific parts of GPUCanvasCo...

Myles C. Maxfield noreply at github.com
Mon Jan 23 18:29:14 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 5e700122a06a03d1fb535ac12a6c9507e2d19e7c
      https://github.com/WebKit/WebKit/commit/5e700122a06a03d1fb535ac12a6c9507e2d19e7c
  Author: Myles C. Maxfield <mmaxfield at apple.com>
  Date:   2023-01-23 (Mon, 23 Jan 2023)

  Changed paths:
    M Source/WebCore/SourcesCocoa.txt
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    M Source/WebCore/html/canvas/GPUCanvasContext.cpp
    M Source/WebCore/html/canvas/GPUCanvasContext.h
    M Source/WebCore/html/canvas/GPUCanvasContext.idl
    A Source/WebCore/html/canvas/GPUCanvasContextCocoa.cpp
    A Source/WebCore/html/canvas/GPUCanvasContextCocoa.h

  Log Message:
  -----------
  [WebGPU] Split Cocoa-specific parts of GPUCanvasContext into GPUCanvasContextCocoa
https://bugs.webkit.org/show_bug.cgi?id=250965
rdar://104523434

Reviewed by Dean Jackson.

GPUCanvasContext has a whole bunch of PlatformCALayer and MachPort business going on.
Ideally, all ports would be able to use GPUCanvasContext, and only differ in the
specific pieces that are platform-dependent. So we can move the PlatformCALayer and
MachPort stuff into GPUCanvasContextCocoa.

I'm aiming for a future where all WebKit ports support WebGPU; the Cocoa ports would
do so by linking with WebGPU.framework, and the non-Cocoa ports would do so by
linking with either WGPU or Dawn. The HAVE(WEBGPU_IMPLEMENTATION) macro is supposed
to indicate whether the port has actually started linking with one of those - and
therefore the macro itself is platform independent.

This patch doesn't actually have any behavior change; it just moves code around.

* Source/WebCore/html/canvas/GPUCanvasContext.cpp:
(WebCore::GPUCanvasContext::create):
(WebCore::GPUCanvasContext::GPUCanvasContext):
(WebCore::getCanvasSizeAsIntSize): Deleted.
(WebCore::platformSupportsWebGPUSurface): Deleted.
(WebCore::GPUCanvasContext::reshape): Deleted.
(WebCore::GPUCanvasContext::canvas): Deleted.
(WebCore::GPUCanvasContext::configure): Deleted.
(WebCore::GPUCanvasContext::createSwapChainIfNeeded): Deleted.
(WebCore::GPUCanvasContext::getCurrentTexture): Deleted.
(WebCore::GPUCanvasContext::pixelFormat const): Deleted.
(WebCore::GPUCanvasContext::unconfigure): Deleted.
(WebCore::GPUCanvasContext::colorSpace const): Deleted.
(WebCore::GPUCanvasContext::layerContentsDisplayDelegate): Deleted.
(WebCore::GPUCanvasContext::prepareForDisplay): Deleted.
(WebCore::GPUCanvasContext::markContextChangedAndNotifyCanvasObservers): Deleted.
* Source/WebCore/html/canvas/GPUCanvasContext.h:
* Source/WebCore/html/canvas/GPUCanvasContext.idl:
* Source/WebCore/html/canvas/GPUCanvasContextCocoa.cpp: Added.
* Source/WebCore/html/canvas/GPUCanvasContextCocoa.h: Added.

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




More information about the webkit-changes mailing list