Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: d9712c222d72b032bdba60bfb05cc29bf26d1c60
      
https://github.com/WebKit/WebKit/commit/d9712c222d72b032bdba60bfb05cc29bf26d1c60
  Author: Mike Wyrzykowski <mwyrzykow...@apple.com>
  Date:   2025-08-25 (Mon, 25 Aug 2025)

  Changed paths:
    M LayoutTests/http/tests/webgpu/webgpu/api/operation/labels-expected.txt
    M Source/WebCore/Modules/WebGPU/GPUCommandBuffer.cpp
    M Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h
    M Source/WebCore/Modules/WebGPU/GPUCommandEncoder.cpp
    M Source/WebCore/Modules/WebGPU/GPUCommandEncoder.h
    M Source/WebCore/Modules/WebGPU/GPUComputePassEncoder.cpp
    M Source/WebCore/Modules/WebGPU/GPUComputePassEncoder.h
    M Source/WebCore/Modules/WebGPU/GPUQueue.cpp
    M Source/WebCore/Modules/WebGPU/GPURenderPassEncoder.cpp
    M Source/WebCore/Modules/WebGPU/GPURenderPassEncoder.h

  Log Message:
  -----------
  [WebGPU] 
https://gpuweb.github.io/cts/standalone/?debug=1&q=webgpu:api,operation,labels:*
 does not pass
https://bugs.webkit.org/show_bug.cgi?id=297611
rdar://158705661

Reviewed by Tadeu Zagallo.

When transient objects can no longer be used in any valid ways, e.g.,
once a ComputePassEncoder calls end() all calls except label() will result
in validation errors.

To avoid keeping larger, underlying objects alive until the next JS GC, we
set these transient objects to invalid objects.

However, a call to label() is expected to return the previously set value.
Achieve this by caching the label prior to setting the object to an invalid one.

* LayoutTests/http/tests/webgpu/webgpu/api/operation/labels-expected.txt:
Update expectations, now all passing.

* Source/WebCore/Modules/WebGPU/GPUCommandBuffer.cpp:
(WebCore::GPUCommandBuffer::label const):
(WebCore::GPUCommandBuffer::setOverrideLabel):
* Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h:
* Source/WebCore/Modules/WebGPU/GPUCommandEncoder.cpp:
(WebCore::GPUCommandEncoder::label const):
(WebCore::GPUCommandEncoder::finish):
* Source/WebCore/Modules/WebGPU/GPUCommandEncoder.h:
* Source/WebCore/Modules/WebGPU/GPUComputePassEncoder.cpp:
(WebCore::GPUComputePassEncoder::label const):
(WebCore::GPUComputePassEncoder::end):
* Source/WebCore/Modules/WebGPU/GPUComputePassEncoder.h:
* Source/WebCore/Modules/WebGPU/GPUQueue.cpp:
(WebCore::GPUQueue::submit):
* Source/WebCore/Modules/WebGPU/GPURenderPassEncoder.cpp:
(WebCore::GPURenderPassEncoder::label const):
(WebCore::GPURenderPassEncoder::end):
* Source/WebCore/Modules/WebGPU/GPURenderPassEncoder.h:

Canonical link: https://commits.webkit.org/299124@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

Reply via email to