[webkit-changes] [WebKit/WebKit] 65f237: [WebGPU] GPUDevice.lost promise is never resolved

mwyrzykowski noreply at github.com
Tue Apr 18 15:25:30 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 65f2377f0c0973c8984aa4eda1a4cee8a173dcda
      https://github.com/WebKit/WebKit/commit/65f2377f0c0973c8984aa4eda1a4cee8a173dcda
  Author: Mike Wyrzykowski <mwyrzykowski at apple.com>
  Date:   2023-04-18 (Tue, 18 Apr 2023)

  Changed paths:
    M Source/WebCore/Modules/WebGPU/GPUDevice.cpp
    M Source/WebCore/Modules/WebGPU/GPUDevice.h
    M Source/WebCore/Modules/WebGPU/GPUDeviceLostInfo.cpp
    M Source/WebCore/Modules/WebGPU/GPUDeviceLostInfo.h
    M Source/WebCore/Modules/WebGPU/GPUDeviceLostInfo.idl
    M Source/WebCore/Modules/WebGPU/GPUDeviceLostReason.h
    M Source/WebCore/Modules/WebGPU/GPUDeviceLostReason.idl
    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/WebGPUDevice.h
    M Source/WebCore/PAL/pal/graphics/WebGPU/WebGPUDeviceLostInfo.h
    M Source/WebCore/PAL/pal/graphics/WebGPU/WebGPUDeviceLostReason.h
    M Source/WebGPU/WebGPU/Device.mm
    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/WebProcess/GPU/graphics/WebGPU/RemoteDeviceProxy.cpp
    M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteDeviceProxy.h

  Log Message:
  -----------
  [WebGPU] GPUDevice.lost promise is never resolved
https://bugs.webkit.org/show_bug.cgi?id=253086
<radar://106037229>

Reviewed by Myles C. Maxfield.

Adopt new agreed upon API for device lost.

CTS test is not enabled because we fail requestDevice now due to
maxFragmentCombinedOutputResources being added to GPULimits.

Locally the requestDevice:invalid test is passing with this change.

* Source/WebCore/Modules/WebGPU/GPUDevice.cpp:
(WebCore::GPUDevice::lost):
* Source/WebCore/Modules/WebGPU/GPUDevice.h:
(WebCore::GPUDevice::lost): Deleted.
* Source/WebCore/Modules/WebGPU/GPUDeviceLostInfo.cpp:
(WebCore::GPUDeviceLostInfo::reason const):
* Source/WebCore/Modules/WebGPU/GPUDeviceLostInfo.h:
* Source/WebCore/Modules/WebGPU/GPUDeviceLostInfo.idl:
* Source/WebCore/Modules/WebGPU/GPUDeviceLostReason.h:
(WebCore::convertToBacking):
* Source/WebCore/Modules/WebGPU/GPUDeviceLostReason.idl:
* Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUDeviceImpl.cpp:
(PAL::WebGPU::DeviceImpl::resolveDeviceLostPromise):
* Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUDeviceImpl.h:
* Source/WebCore/PAL/pal/graphics/WebGPU/WebGPUDevice.h:
* Source/WebCore/PAL/pal/graphics/WebGPU/WebGPUDeviceLostInfo.h:
* Source/WebCore/PAL/pal/graphics/WebGPU/WebGPUDeviceLostReason.h:
* Source/WebGPU/WebGPU/Device.mm:
(WebGPU::Device::Device):
(WebGPU::Device::~Device):
(WebGPU::Device::loseTheDevice):
(WebGPU::Device::setDeviceLostCallback):
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteDevice.cpp:
(WebKit::RemoteDevice::resolveDeviceLostPromise):
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteDevice.h:
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteDevice.messages.in:
* Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteDeviceProxy.cpp:
(WebKit::WebGPU::RemoteDeviceProxy::resolveDeviceLostPromise):
* Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteDeviceProxy.h:

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




More information about the webkit-changes mailing list