[webkit-changes] [WebKit/WebKit] 03912f: [WebGPU] createSurface() should be a method on Ins...

Myles C. Maxfield noreply at github.com
Thu Jan 26 14:25:38 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 03912f4a91fa1802a960cdaff3969d4c4839b305
      https://github.com/WebKit/WebKit/commit/03912f4a91fa1802a960cdaff3969d4c4839b305
  Author: Myles C. Maxfield <mmaxfield at apple.com>
  Date:   2023-01-26 (Thu, 26 Jan 2023)

  Changed paths:
    M Source/WebCore/Modules/WebGPU/GPU.cpp
    M Source/WebCore/Modules/WebGPU/GPU.h
    M Source/WebCore/Modules/WebGPU/GPUDevice.cpp
    M Source/WebCore/Modules/WebGPU/GPUDevice.h
    M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUDeviceImpl.cpp
    M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUDeviceImpl.h
    M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUImpl.cpp
    M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUImpl.h
    M Source/WebCore/PAL/pal/graphics/WebGPU/WebGPU.h
    M Source/WebCore/PAL/pal/graphics/WebGPU/WebGPUDevice.h
    M Source/WebCore/html/HTMLCanvasElement.cpp
    M Source/WebCore/html/HTMLCanvasElement.h
    M Source/WebCore/html/canvas/GPUCanvasContext.cpp
    M Source/WebCore/html/canvas/GPUCanvasContext.h
    M Source/WebCore/html/canvas/GPUCanvasContextCocoa.cpp
    M Source/WebCore/html/canvas/GPUCanvasContextCocoa.h
    M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteDevice.cpp
    M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteDevice.h
    M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteDevice.messages.in
    M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteGPU.cpp
    M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteGPU.h
    M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteGPU.messages.in
    M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteDeviceProxy.cpp
    M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteDeviceProxy.h
    M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteGPUProxy.cpp
    M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteGPUProxy.h
    M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteSurfaceProxy.cpp
    M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteSurfaceProxy.h

  Log Message:
  -----------
  [WebGPU] createSurface() should be a method on Instance, not Device
https://bugs.webkit.org/show_bug.cgi?id=250996
rdar://104542682

Reviewed by Dean Jackson.

Conceptually, a Surface represents a GPUCanvasContext, and a SwapChain represents
a call to GPUCanvasContext.configure(). It's totally possible to create a
GPUCanvasContext without any existing devices; all you need to do is just call
getContext("webgpu") on a canvas. So the spec says that Surfaces should be able
to be created without a Device, so it should be a method on Instance. WebGPU.h
agrees; createSurface is a method on Instance there.

* Source/WebCore/Modules/WebGPU/GPU.cpp:
(WebCore::GPU::createSurface):
* Source/WebCore/Modules/WebGPU/GPU.h:
* Source/WebCore/Modules/WebGPU/GPUDevice.cpp:
(WebCore::GPUDevice::createSurface): Deleted.
* Source/WebCore/Modules/WebGPU/GPUDevice.h:
* Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUDeviceImpl.cpp:
(PAL::WebGPU::convertToWidthHeight): Deleted.
(PAL::WebGPU::DeviceImpl::createSurface): Deleted.
* Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUDeviceImpl.h:
* Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUImpl.cpp:
(PAL::WebGPU::convertToWidthHeight):
(PAL::WebGPU::GPUImpl::createSurface):
* Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUImpl.h:
* Source/WebCore/PAL/pal/graphics/WebGPU/WebGPU.h:
* Source/WebCore/PAL/pal/graphics/WebGPU/WebGPUDevice.h:
* Source/WebCore/html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::getContext):
(WebCore::HTMLCanvasElement::createContextWebGPU):
(WebCore::HTMLCanvasElement::getContextWebGPU):
* Source/WebCore/html/HTMLCanvasElement.h:
* Source/WebCore/html/canvas/GPUCanvasContext.cpp:
(WebCore::GPUCanvasContext::create):
(WebCore::GPUCanvasContext::GPUCanvasContext):
(WebCore::GPUCanvasContext::createSwapChainIfNeeded):
* Source/WebCore/html/canvas/GPUCanvasContext.h:
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteDevice.cpp:
(WebKit::RemoteDevice::createSurface): Deleted.
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteDevice.h:
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteDevice.messages.in:
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteGPU.cpp:
(WebKit::RemoteGPU::createSurface):
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteGPU.h:
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteGPU.messages.in:
* Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteDeviceProxy.cpp:
(WebKit::WebGPU::RemoteDeviceProxy::createSurface): Deleted.
* Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteDeviceProxy.h:
* Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteGPUProxy.cpp:
(WebKit::RemoteGPUProxy::createSurface):
* Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteGPUProxy.h:
* Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteSurfaceProxy.cpp:
(WebKit::WebGPU::RemoteSurfaceProxy::RemoteSurfaceProxy):
* Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteSurfaceProxy.h:

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




More information about the webkit-changes mailing list