[webkit-changes] [WebKit/WebKit] fee8a9: [WebGPU] GPUBuffer::getMappedRange will attempt to...

mwyrzykowski noreply at github.com
Sun Mar 12 17:19:00 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: fee8a92ad0b7669ae5d66fa7d0e59a578ef6f327
      https://github.com/WebKit/WebKit/commit/fee8a92ad0b7669ae5d66fa7d0e59a578ef6f327
  Author: Mike Wyrzykowski <mwyrzykowski at apple.com>
  Date:   2023-03-12 (Sun, 12 Mar 2023)

  Changed paths:
    M LayoutTests/http/tests/webgpu/webgpu/api/operation/buffers/map-expected.txt
    M LayoutTests/platform/mac-wk1/TestExpectations
    M LayoutTests/platform/mac/TestExpectations
    M Source/WebCore/CMakeLists.txt
    M Source/WebCore/DerivedSources-input.xcfilelist
    M Source/WebCore/DerivedSources-output.xcfilelist
    M Source/WebCore/DerivedSources.make
    M Source/WebCore/Headers.cmake
    M Source/WebCore/Modules/WebGPU/GPUBuffer.cpp
    M Source/WebCore/Modules/WebGPU/GPUBuffer.h
    M Source/WebCore/Modules/WebGPU/GPUBuffer.idl
    A Source/WebCore/Modules/WebGPU/GPUBufferMapState.h
    A Source/WebCore/Modules/WebGPU/GPUBufferMapState.idl
    M Source/WebCore/Modules/WebGPU/GPUDevice.cpp
    M Source/WebCore/Modules/WebGPU/GPUIntegralTypes.h
    M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUBufferImpl.cpp
    M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUBufferImpl.h
    M Source/WebCore/PAL/pal/graphics/WebGPU/WebGPUBuffer.h
    M Source/WebCore/Sources.txt
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    M Source/WebGPU/WebGPU/Buffer.h
    M Source/WebGPU/WebGPU/Buffer.mm
    M Source/WebGPU/WebGPU/CommandEncoder.mm
    M Source/WebGPU/WebGPU/Device.h
    M Source/WebGPU/WebGPU/Device.mm
    M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteBuffer.cpp
    M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteBuffer.messages.in
    M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteBufferProxy.cpp
    M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteBufferProxy.h

  Log Message:
  -----------
  [WebGPU] GPUBuffer::getMappedRange will attempt to copy from nullptr if mapping fails
https://bugs.webkit.org/show_bug.cgi?id=252603
<radar://105692446>

Reviewed by Myles C. Maxfield.

Add some additional validation to improve conformance with CTS
and prevent errors during invalid API usage.

Merged some changes from PR https://github.com/WebKit/WebKit/pull/714
authored by Myles C. Maxfield.

* Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUBufferImpl.cpp:
(PAL::WebGPU::getMappedSize):
(PAL::WebGPU::BufferImpl::getMappedRange):

* Source/WebGPU/WebGPU/Buffer.mm:
(WebGPU::Device::createBuffer):
(WebGPU::Buffer::Buffer):
(WebGPU::Buffer::getMappedRange):

* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteBuffer.cpp:
(WebKit::RemoteBuffer::mapAsync):

* Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteBufferProxy.cpp:
(WebKit::WebGPU::RemoteBufferProxy::mapAsync):
(WebKit::WebGPU::offsetOrSizeExceedsBounds):
(WebKit::WebGPU::RemoteBufferProxy::getMappedRange):

* LayoutTests/http/tests/webgpu/webgpu/api/operation/buffers/map-expected.txt:
* LayoutTests/platform/mac/TestExpectations:
Enable new test.

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




More information about the webkit-changes mailing list