Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: ed52872fda631a8c522ac90d295838f964a88ac9
https://github.com/WebKit/WebKit/commit/ed52872fda631a8c522ac90d295838f964a88ac9
Author: Mike Wyrzykowski <[email protected]>
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
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes