Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: ed52872fda631a8c522ac90d295838f964a88ac9
      
https://github.com/WebKit/WebKit/commit/ed52872fda631a8c522ac90d295838f964a88ac9
  Author: Mike Wyrzykowski <mwyrzykow...@apple.com>
  Date:   2025-07-22 (Tue, 22 Jul 2025)

  Changed paths:
    A LayoutTests/fast/webgpu/regression/repro_296062-expected.txt
    A LayoutTests/fast/webgpu/regression/repro_296062.html
    M Source/WebCore/Modules/WebGPU/GPUBindGroup.cpp
    M Source/WebCore/Modules/WebGPU/GPUBindGroup.h
    M Source/WebCore/Modules/WebGPU/GPUBindGroupLayout.h
    M Source/WebCore/Modules/WebGPU/GPUComputePipeline.cpp
    M Source/WebCore/Modules/WebGPU/GPUComputePipeline.h
    M Source/WebCore/Modules/WebGPU/GPUDevice.cpp
    M Source/WebCore/Modules/WebGPU/GPUPipelineDescriptorBase.h
    M Source/WebCore/Modules/WebGPU/GPURenderPipeline.cpp
    M Source/WebCore/Modules/WebGPU/GPURenderPipeline.h

  Log Message:
  -----------
  GPUBindGroupDescriptor::externalTextureMatches is implemented incorrectly
https://bugs.webkit.org/show_bug.cgi?id=296062
rdar://155971582

Reviewed by Tadeu Zagallo.

Auto-generated layouts can not be used interchangably, rather they
are fixed to a specific bind group layout and therefore bind group.

Prevent different auto-generated layouts from being intermixed, even
when their entries are otherwise identical.

This would previously always fail validation layer and is currently
preventing the drop down box on 
https://webgpu.github.io/webgpu-samples/?sample=videoUploading
from functioning.

* LayoutTests/fast/webgpu/regression/repro_296062-expected.txt: Added.
* LayoutTests/fast/webgpu/regression/repro_296062.html: Added.
Add regression test.

* Source/WebCore/Modules/WebGPU/GPUBindGroup.cpp:
(WebCore::GPUBindGroup::GPUBindGroup):
* Source/WebCore/Modules/WebGPU/GPUBindGroup.h:
(WebCore::GPUBindGroup::create):
(WebCore::GPUBindGroup::autogeneratedPipelineLayout const):
(WebCore::GPUBindGroup::GPUBindGroup): Deleted.
* Source/WebCore/Modules/WebGPU/GPUBindGroupLayout.h:
(WebCore::GPUBindGroupLayout::create):
(WebCore::GPUBindGroupLayout::autogeneratedPipelineLayout const):
(WebCore::GPUBindGroupLayout::GPUBindGroupLayout):
* Source/WebCore/Modules/WebGPU/GPUComputePipeline.cpp:
(WebCore::GPUComputePipeline::getBindGroupLayout):
* Source/WebCore/Modules/WebGPU/GPUComputePipeline.h:
(WebCore::GPUComputePipeline::create):
(WebCore::GPUComputePipeline::GPUComputePipeline):
* Source/WebCore/Modules/WebGPU/GPUDevice.cpp:
* Source/WebCore/Modules/WebGPU/GPUPipelineDescriptorBase.h:
(WebCore::nextUniqueAutogeneratedPipelineIdentifier):
(WebCore::GPUPipelineDescriptorBase::uniqueAutogeneratedId const):
* Source/WebCore/Modules/WebGPU/GPURenderPipeline.cpp:
(WebCore::GPURenderPipeline::getBindGroupLayout):
* Source/WebCore/Modules/WebGPU/GPURenderPipeline.h:
(WebCore::GPURenderPipeline::create):
(WebCore::GPURenderPipeline::GPURenderPipeline):
Ensure auto-generated layouts don't allow mismatches.

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