[webkit-changes] [WebKit/WebKit] 65fb3e: [WebGPU] api, validation, queue, * is failing
mwyrzykowski
noreply at github.com
Wed Jan 24 11:54:12 PST 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 65fb3ec0feaee6c99d6dbcf47914b54c69f640ae
https://github.com/WebKit/WebKit/commit/65fb3ec0feaee6c99d6dbcf47914b54c69f640ae
Author: Mike Wyrzykowski <mwyrzykowski at apple.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M LayoutTests/http/tests/webgpu/webgpu/api/validation/queue/buffer_mapped-expected.txt
M LayoutTests/http/tests/webgpu/webgpu/api/validation/queue/buffer_mapped.spec.js
M LayoutTests/http/tests/webgpu/webgpu/api/validation/queue/copyToTexture/CopyExternalImageToTexture-expected.txt
M LayoutTests/http/tests/webgpu/webgpu/api/validation/queue/copyToTexture/CopyExternalImageToTexture.spec.js
A LayoutTests/http/tests/webgpu/webgpu/api/validation/queue/destroyed/buffer-expected.txt
M LayoutTests/http/tests/webgpu/webgpu/api/validation/queue/destroyed/buffer.spec.js
M LayoutTests/http/tests/webgpu/webgpu/api/validation/queue/destroyed/query_set-expected.txt
M LayoutTests/http/tests/webgpu/webgpu/api/validation/queue/destroyed/query_set.spec.js
A LayoutTests/http/tests/webgpu/webgpu/api/validation/queue/destroyed/texture-expected.txt
M LayoutTests/http/tests/webgpu/webgpu/api/validation/queue/destroyed/texture.spec.js
M LayoutTests/http/tests/webgpu/webgpu/api/validation/queue/submit.spec.js
M LayoutTests/http/tests/webgpu/webgpu/api/validation/queue/writeBuffer.spec.js
M LayoutTests/http/tests/webgpu/webgpu/api/validation/queue/writeTexture-expected.txt
M LayoutTests/http/tests/webgpu/webgpu/api/validation/queue/writeTexture.spec.js
M Source/WebCore/Modules/WebGPU/GPUQueue.cpp
M Source/WebCore/Modules/WebGPU/GPUQueue.h
M Source/WebCore/Modules/WebGPU/GPUQueue.idl
M Source/WebCore/html/OffscreenCanvas.h
M Source/WebGPU/WebGPU/BindGroup.mm
M Source/WebGPU/WebGPU/BindableResource.h
M Source/WebGPU/WebGPU/Buffer.h
M Source/WebGPU/WebGPU/Buffer.mm
M Source/WebGPU/WebGPU/CommandBuffer.h
M Source/WebGPU/WebGPU/CommandBuffer.mm
M Source/WebGPU/WebGPU/CommandEncoder.h
M Source/WebGPU/WebGPU/CommandEncoder.mm
M Source/WebGPU/WebGPU/ComputePassEncoder.mm
M Source/WebGPU/WebGPU/ExternalTexture.h
M Source/WebGPU/WebGPU/QuerySet.h
M Source/WebGPU/WebGPU/QuerySet.mm
M Source/WebGPU/WebGPU/Queue.mm
M Source/WebGPU/WebGPU/RenderBundle.h
M Source/WebGPU/WebGPU/RenderBundle.mm
M Source/WebGPU/WebGPU/RenderBundleEncoder.h
M Source/WebGPU/WebGPU/RenderBundleEncoder.mm
M Source/WebGPU/WebGPU/RenderPassEncoder.h
M Source/WebGPU/WebGPU/RenderPassEncoder.mm
M Source/WebGPU/WebGPU/Texture.h
M Source/WebGPU/WebGPU/Texture.mm
M Source/WebGPU/WebGPU/TextureView.h
M Source/WebGPU/WebGPU/TextureView.mm
Log Message:
-----------
[WebGPU] api,validation,queue,* is failing
https://bugs.webkit.org/show_bug.cgi?id=267279
<radar://120725451>
Reviewed by Tadeu Zagallo.
Add validation for GPUQueue and related operations along with passing exepctations.
* LayoutTests/http/tests/webgpu/webgpu/api/validation/queue/buffer_mapped-expected.txt:
* LayoutTests/http/tests/webgpu/webgpu/api/validation/queue/buffer_mapped.spec.js:
* LayoutTests/http/tests/webgpu/webgpu/api/validation/queue/copyToTexture/CopyExternalImageToTexture-expected.txt:
* LayoutTests/http/tests/webgpu/webgpu/api/validation/queue/copyToTexture/CopyExternalImageToTexture.spec.js:
* LayoutTests/http/tests/webgpu/webgpu/api/validation/queue/destroyed/buffer-expected.txt: Added.
* LayoutTests/http/tests/webgpu/webgpu/api/validation/queue/destroyed/buffer.spec.js:
* LayoutTests/http/tests/webgpu/webgpu/api/validation/queue/destroyed/query_set-expected.txt:
* LayoutTests/http/tests/webgpu/webgpu/api/validation/queue/destroyed/query_set.spec.js:
* LayoutTests/http/tests/webgpu/webgpu/api/validation/queue/destroyed/texture-expected.txt: Added.
* LayoutTests/http/tests/webgpu/webgpu/api/validation/queue/destroyed/texture.spec.js:
* LayoutTests/http/tests/webgpu/webgpu/api/validation/queue/submit.spec.js:
* LayoutTests/http/tests/webgpu/webgpu/api/validation/queue/writeBuffer.spec.js:
* LayoutTests/http/tests/webgpu/webgpu/api/validation/queue/writeTexture-expected.txt:
* LayoutTests/http/tests/webgpu/webgpu/api/validation/queue/writeTexture.spec.js:
Add passing expectations and update tests to latest revision of the CTS.
* Source/WebCore/Modules/WebGPU/GPUQueue.cpp:
(WebCore::isOriginClean):
(WebCore::dimension):
(WebCore::isStateValid):
(WebCore::convertRGBA8888ToRGB10A2):
(WebCore::copyToDestinationFormat):
(WebCore::GPUQueue::copyExternalImageToTexture):
Fix reporting errors when a cross origin asset is used.
* Source/WebCore/Modules/WebGPU/GPUQueue.h:
* Source/WebCore/Modules/WebGPU/GPUQueue.idl:
* Source/WebCore/html/OffscreenCanvas.h:
* Source/WebGPU/WGSL/AttributeValidator.cpp:
(WGSL::AttributeValidator::visit):
(WGSL::AttributeValidator::parseLocation):
* Source/WebGPU/WebGPU/BindGroup.mm:
(WebGPU::makeBindGroupEntryUsageData):
(WebGPU::Device::createBindGroup):
* Source/WebGPU/WebGPU/BindableResource.h:
* Source/WebGPU/WebGPU/Buffer.h:
* Source/WebGPU/WebGPU/Buffer.mm:
(WebGPU::Buffer::setCommandEncoder const):
(WebGPU::Buffer::destroy):
(WebGPU::Buffer::mapAsync):
(WebGPU::Buffer::unmap):
Add validation for buffer mapping.
* Source/WebGPU/WebGPU/CommandBuffer.h:
* Source/WebGPU/WebGPU/CommandBuffer.mm:
(WebGPU::CommandBuffer::setBufferMapCount):
(WebGPU::CommandBuffer::bufferMapCount const):
* Source/WebGPU/WebGPU/CommandEncoder.h:
* Source/WebGPU/WebGPU/CommandEncoder.mm:
(WebGPU::CommandEncoder::beginComputePass):
(WebGPU::CommandEncoder::beginRenderPass):
(WebGPU::CommandEncoder::errorValidatingCopyBufferToBuffer):
(WebGPU::CommandEncoder::incrementBufferMapCount):
(WebGPU::CommandEncoder::decrementBufferMapCount):
(WebGPU::CommandEncoder::copyBufferToBuffer):
(WebGPU::validateImageCopyBuffer):
(WebGPU::validateCopyBufferToTexture):
(WebGPU::CommandEncoder::copyBufferToTexture):
(WebGPU::CommandEncoder::makeSubmitInvalid):
(WebGPU::CommandEncoder::copyTextureToBuffer):
(WebGPU::CommandEncoder::copyTextureToTexture):
(WebGPU::CommandEncoder::finish):
(WebGPU::CommandEncoder::resolveQuerySet):
(WebGPU::CommandEncoder::writeTimestamp):
(WebGPU::CommandEncoder::validateCopyBufferToBuffer): Deleted.
* Source/WebGPU/WebGPU/ComputePassEncoder.mm:
(WebGPU::setCommandEncoder):
(WebGPU::ComputePassEncoder::setBindGroup):
* Source/WebGPU/WebGPU/ExternalTexture.h:
* Source/WebGPU/WebGPU/QuerySet.h:
(WebGPU::QuerySet::isValid const): Deleted.
* Source/WebGPU/WebGPU/QuerySet.mm:
(WebGPU::QuerySet::isValid const):
(WebGPU::QuerySet::destroy):
(WebGPU::QuerySet::setCommandEncoder const):
* Source/WebGPU/WebGPU/Queue.mm:
(WebGPU::Queue::validateSubmit const):
(WebGPU::Queue::submit):
(WebGPU::Queue::validateWriteBuffer const):
(WebGPU::Queue::writeBuffer):
(WebGPU::Queue::writeTexture):
(WebGPU::validateWriteBufferInitial): Deleted.
* Source/WebGPU/WebGPU/RenderBundle.h:
* Source/WebGPU/WebGPU/RenderBundle.mm:
(-[ResourceUsageAndRenderStage initWithUsage:renderStages:entryUsage:binding:resource:]):
(-[ResourceUsageAndRenderStage initWithUsage:renderStages:entryUsage:binding:]): Deleted.
* Source/WebGPU/WebGPU/RenderBundleEncoder.h:
* Source/WebGPU/WebGPU/RenderBundleEncoder.mm:
(WebGPU::makeRenderBundleICBWithResources):
(WebGPU::RenderBundleEncoder::addResource):
(WebGPU::RenderBundleEncoder::drawIndexedIndirect):
(WebGPU::RenderBundleEncoder::drawIndirect):
(WebGPU::RenderBundleEncoder::setBindGroup):
(WebGPU::RenderBundleEncoder::setIndexBuffer):
(WebGPU::RenderBundleEncoder::setVertexBuffer):
* Source/WebGPU/WebGPU/RenderPassEncoder.h:
* Source/WebGPU/WebGPU/RenderPassEncoder.mm:
(WebGPU::RenderPassEncoder::drawIndexedIndirect):
(WebGPU::RenderPassEncoder::drawIndirect):
(WebGPU::RenderPassEncoder::endPass):
(WebGPU::RenderPassEncoder::setCommandEncoder):
(WebGPU::RenderPassEncoder::executeBundles):
(WebGPU::RenderPassEncoder::parentEncoder):
(WebGPU::RenderPassEncoder::setBindGroup):
(WebGPU::RenderPassEncoder::setIndexBuffer):
(WebGPU::RenderPassEncoder::setVertexBuffer):
* Source/WebGPU/WebGPU/Texture.h:
* Source/WebGPU/WebGPU/Texture.mm:
(WebGPU::Texture::setCommandEncoder const):
(WebGPU::Texture::destroy):
* Source/WebGPU/WebGPU/TextureView.h:
* Source/WebGPU/WebGPU/TextureView.mm:
(WebGPU::TextureView::destroy):
(WebGPU::TextureView::setCommandEncoder const):
(WebGPU::TextureView::setCommandEncoder): Deleted.
Canonical link: https://commits.webkit.org/273436@main
More information about the webkit-changes
mailing list