[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