-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[WebGPU] mapAsync shouldn't be calling getMappedRange on the entire b…
…uffer https://bugs.webkit.org/show_bug.cgi?id=273028 <radar://126800249> Reviewed by Tadeu Zagallo. Simplify buffer mapping so we don't pass a copy of the entire buffer from the GPU process to the web process when it is not needed. * LayoutTests/platform/mac-wk2/TestExpectations: Add passing expectations for api,operation,buffers,* and api,validation,buffer,* tests. Passing expectations already exist, tests were still marked Skipped. * Source/WebCore/Modules/WebGPU/GPUBuffer.cpp: (WebCore::makeArrayBuffer): (WebCore::GPUBuffer::getMappedRange): (WebCore::GPUBuffer::internalUnmap): * Source/WebCore/Modules/WebGPU/GPUBuffer.h: * Source/WebCore/Modules/WebGPU/Implementation/WebGPUBufferImpl.cpp: (WebCore::WebGPU::BufferImpl::getBufferContents): (WebCore::WebGPU::BufferImpl::copy): * Source/WebCore/Modules/WebGPU/Implementation/WebGPUBufferImpl.h: * Source/WebCore/Modules/WebGPU/InternalAPI/WebGPUBuffer.h: * Source/WebGPU/WebGPU/Buffer.h: * Source/WebGPU/WebGPU/Buffer.mm: (WebGPU::Buffer::getBufferContents): (wgpuBufferGetBufferContents): * Source/WebGPU/WebGPU/WebGPU.h: * Source/WebKit/GPUProcess/graphics/WebGPU/RemoteBuffer.cpp: (WebKit::RemoteBuffer::mapAsync): (WebKit::RemoteBuffer::getMappedRange): (WebKit::RemoteBuffer::unmap): (WebKit::RemoteBuffer::copy): (WebKit::RemoteBuffer::destroy): * Source/WebKit/GPUProcess/graphics/WebGPU/RemoteBuffer.h: * Source/WebKit/GPUProcess/graphics/WebGPU/RemoteBuffer.messages.in: * Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteBufferProxy.cpp: (WebKit::WebGPU::RemoteBufferProxy::mapAsync): (WebKit::WebGPU::RemoteBufferProxy::getMappedRange): (WebKit::WebGPU::RemoteBufferProxy::getBufferContents): (WebKit::WebGPU::RemoteBufferProxy::copy): (WebKit::WebGPU::RemoteBufferProxy::unmap): * Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteBufferProxy.h: Simplify buffer mapping by storing fewer state variables refering to the same data and remove copies. Canonical link: https://commits.webkit.org/278286@main
- Loading branch information
1 parent
4a56466
commit 065a0ff
Showing
14 changed files
with
100 additions
and
43 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters