Bug 236899

Summary: [WebGPU] Tracer bullet part 6: Give a RunLoop to Instance
Product: WebKit Reporter: Myles C. Maxfield <mmaxfield>
Component: WebGPUAssignee: Myles C. Maxfield <mmaxfield>
Status: RESOLVED FIXED    
Severity: Normal CC: dino, rmorisset, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on: 236891    
Bug Blocks: 236879    
Attachments:
Description Flags
Patch dino: review+

Description Myles C. Maxfield 2022-02-19 16:39:28 PST
The shared header has a function, wgpuInstanceProcessEvents(), which is supposed to synchronously call all outstanding callbacks. A natural way to do this is to hook this up to [NSRunLoop runMode:beforeDate:].
Comment 1 Myles C. Maxfield 2022-02-19 16:40:46 PST
Created attachment 452663 [details]
Patch
Comment 2 Dean Jackson 2022-02-21 09:26:49 PST
Comment on attachment 452663 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=452663&action=review

> Source/WebGPU/ChangeLog:10
> +        The shared header has a function, wgpuInstanceProcessEvents(), which is supposed
> +        to synchronously call all outstanding callbacks. A natural way to do this is to
> +        hook this up to [NSRunLoop runMode:beforeDate:].

What's the layering between WebGPU and Foundation? How would a non-Apple port do this?
Comment 3 Myles C. Maxfield 2022-02-21 11:46:49 PST
Comment on attachment 452663 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=452663&action=review

>> Source/WebGPU/ChangeLog:10
>> +        hook this up to [NSRunLoop runMode:beforeDate:].
> 
> What's the layering between WebGPU and Foundation? How would a non-Apple port do this?

Non-Apple ports wouldn't use WebGPU.framework at all. They would use Dawn or wgpu. So the layering is just "Foundation is below WebGPU.framework."
Comment 4 Myles C. Maxfield 2022-02-21 11:58:57 PST
Committed r290258 (?): <https://commits.webkit.org/r290258>
Comment 5 Radar WebKit Bug Importer 2022-02-21 11:59:21 PST
<rdar://problem/89249380>