WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
275010
[WGSL] api,operation,compute_pipeline,overrides:computed:* does not pass
https://bugs.webkit.org/show_bug.cgi?id=275010
Summary
[WGSL] api,operation,compute_pipeline,overrides:computed:* does not pass
Mike Wyrzykowski
Reported
2024-05-31 18:04:29 PDT
This test was added two days ago to the CTS. It triggers a RELEASE_ASSERT(is<Target>(source)); in downcast
https://gpuweb.github.io/cts/standalone/?q=webgpu:api,operation,compute_pipeline,overrides:computed
:* WGSL source is this: override c0: f32 = 0.; override c1: f32 = 0.; override c2: f32 = c0 * c1; struct Buf { data : array<u32, 3>, } @group(0) @binding(0) var<storage, read_write> buf : Buf; @compute @workgroup_size(1) fn main() { buf.data[0] = u32(c0); buf.data[1] = u32(c1); buf.data[2] = u32(c2); } Backtrace: (lldb) bt frame #0: 0x000000010a924d54 WebGPU`WTFCrashWithInfo(line=96, file="/Volumes/Data/OpenSource/WebKitBuild/Debug/usr/local/include/wtf/TypeCasts.h", function="match_constness_t<Source, Target> &WTF::downcast(Source &) [Target = const WGSL::AST::IdentifierExpression, Source = const WGSL::AST::Expression]", counter=2) at Assertions.h:818:5 frame #1: 0x000000010ad5a988 WebGPU`_ZN3WTF8downcastIKN4WGSL3AST20IdentifierExpressionEKNS2_10ExpressionEEERNSt3__111conditionalIXsr3stdE10is_const_vIT0_EENS7_9add_constIT_E4typeEu14__remove_constISB_EE4typeERS9_(source=0x000000015e060408) at TypeCasts.h:96:5 * frame #2: 0x000000010ad5a76c WebGPU`WGSL::evaluate(expression=0x000000015e060408, constants=0x000000016e7b9b48) at WGSL.cpp:149:40 frame #3: 0x000000010a9d1710 WebGPU`_ZN6WebGPU13createLibraryEPU19objcproto9MTLDevice11objc_objectRKNS_12ShaderModuleEPNS_14PipelineLayoutERKN3WTF6StringEP8NSStringjPK17WGPUConstantEntryRNS7_7HashMapIjNSG_IjyNS7_11DefaultHashIjEENS7_29UnsignedWithZeroKeyHashTraitsIjEENS7_10HashTraitsIyEENS7_15HashTableTraitsEEESI_SK_NSL_ISO_EESN_EEPU15__autoreleasingP7NSError(device=0x0000000112d1ffd0, shaderModule=0x00000001060ec4e0, pipelineLayout=0x00000001060bc0e0, untransformedEntryPoint=0x000000016e7b9f38, label="", constantCount=2, constants=0x0000000106088720, mininumBufferSizes=0x000000016e7b9f08, error=0x000000016e7b9e70) at Pipeline.mm:75:30 frame #4: 0x000000010a99fd6c WebGPU`WebGPU::Device::createComputePipeline(this=0x00000001060ac580, descriptor=0x000000016e7ba198, isAsync=true) at ComputePipeline.mm:88:34 frame #5: 0x000000010a9a1588 WebGPU`WebGPU::Device::createComputePipelineAsync(this=0x00000001060ac580, descriptor=0x000000016e7ba198, callback=0x000000016e7ba080) at ComputePipeline.mm:129:29 frame #6: 0x000000010a9b25b8 WebGPU`wgpuDeviceCreateComputePipelineAsync(device=0x00000001060ac580, descriptor=0x000000016e7ba198, callback=(actual=0x000000032dc4b448 WebCore`WebCore::WebGPU::createComputePipelineAsyncCallback(WGPUCreatePipelineAsyncStatus, WGPUComputePipelineImpl*, WTF::String&&, void*) at WebGPUDeviceImpl.cpp:573), userdata=0x0000000168c3c5e0) at Device.mm:898:29 frame #7: 0x000000032dc4b0b0 WebCore`WebCore::WebGPU::DeviceImpl::createComputePipelineAsync(WebCore::WebGPU::ComputePipelineDescriptor const&, WTF::CompletionHandler<void (WTF::RefPtr<WebCore::WebGPU::ComputePipeline, WTF::RawPtrTraits<WebCore::WebGPU::ComputePipeline>, WTF::DefaultRefDerefTraits<WebCore::WebGPU::ComputePipeline>>&&, WTF::String&&)>&&)::$_7::operator()(this=0x000000016e7ba2a8, backingDescriptor=0x000000016e7ba198) at WebGPUDeviceImpl.cpp:588:9 frame #8: 0x000000032dc3da10 WebCore`auto WebCore::WebGPU::convertToBacking<WebCore::WebGPU::DeviceImpl::createComputePipelineAsync(WebCore::WebGPU::ComputePipelineDescriptor const&, WTF::CompletionHandler<void (WTF::RefPtr<WebCore::WebGPU::ComputePipeline, WTF::RawPtrTraits<WebCore::WebGPU::ComputePipeline>, WTF::DefaultRefDerefTraits<WebCore::WebGPU::ComputePipeline>>&&, WTF::String&&)>&&)::$_7>(descriptor=0x000000016e7ba3a0, convertToBackingContext=0x00000001060b8100, callback=0x000000016e7ba2a8) at WebGPUDeviceImpl.cpp:364:12 frame #9: 0x000000032dc3d760 WebCore`WebCore::WebGPU::DeviceImpl::createComputePipelineAsync(this=0x0000000106128100, descriptor=0x000000016e7ba3a0, callback=0x000000016e7ba370) at WebGPUDeviceImpl.cpp:581:5 frame #10: 0x0000000122a66eec WebKit`WebKit::RemoteDevice::createComputePipelineAsync(this=0x00000001061000c0, descriptor=0x000000016e7ba640, identifier=WebKit::WebGPUIdentifier @ 0x000000016e7ba408, callback=0x000000016e7ba618) at RemoteDevice.cpp:286:16
Attachments
Add attachment
proposed patch, testcase, etc.
Radar WebKit Bug Importer
Comment 1
2024-05-31 18:06:00 PDT
<
rdar://problem/129090786
>
Mike Wyrzykowski
Comment 2
2024-10-25 16:19:00 PDT
This no longer crashes, but the test does not pass
Tadeu Zagallo
Comment 3
2026-01-22 05:36:50 PST
Pull request:
https://github.com/WebKit/WebKit/pull/57042
EWS
Comment 4
2026-01-27 22:53:42 PST
Committed
306328@main
(98bebfefcf92): <
https://commits.webkit.org/306328@main
> Reviewed commits have been landed. Closing PR #57042 and removing active labels.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug