Skip to content

Add a way to enable mixed-source WaitAny support #505

@kainino0x

Description

@kainino0x

Some backends (at least Metal, D3D12, and Vulkan with some extensions) support getting OS event handles for GPU queue events, which allows mixing their queue events in with CPU events. There should be a way for adapters to say they have support for this, probably simply as a WGPUFeatureName that can be enabled in RequestDevice. This was alluded to in the old design doc https://docs.google.com/document/d/1qJRTJRY318ZEqhK6ryw4P-91FumYQfOnNP6LpANYy6A/edit?usp=sharing but I think I forgot to actually write anything out about it:

A timeout was used, and there were two uncompleted futures from different sources (CPU, device1 queue, device2 queue), but the corresponding feature wasn't enabled on those futures' device.

OnSubmittedWorkDone and MapAsync by default return futures which can’t be mixed with futures of other types or futures from other devices. See also WGPUWaitStatus_UnsupportedMixedSourcesWithTimeout.

Metadata

Metadata

Assignees

Labels

asyncAsynchronous operations and callbacksnon-breakingDoes not require a breaking change (that would block V1.0)

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions