Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 065a0ff443f85ce620cad22f7cb7eab4bea62ca0 https://github.com/WebKit/WebKit/commit/065a0ff443f85ce620cad22f7cb7eab4bea62ca0 Author: Mike Wyrzykowski <mwyrzykow...@apple.com> Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths: M LayoutTests/platform/mac-wk2/TestExpectations M Source/WebCore/Modules/WebGPU/GPUBuffer.cpp M Source/WebCore/Modules/WebGPU/GPUBuffer.h M Source/WebCore/Modules/WebGPU/Implementation/WebGPUBufferImpl.cpp M Source/WebCore/Modules/WebGPU/Implementation/WebGPUBufferImpl.h M Source/WebCore/Modules/WebGPU/InternalAPI/WebGPUBuffer.h M Source/WebGPU/WebGPU/Buffer.h M Source/WebGPU/WebGPU/Buffer.mm M Source/WebGPU/WebGPU/WebGPU.h M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteBuffer.cpp M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteBuffer.h 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] mapAsync shouldn't be calling getMappedRange on the entire buffer 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 To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes