-
Notifications
You must be signed in to change notification settings - Fork 53
Closed as not planned
Labels
extensibilityAdding features without breaking API changesAdding features without breaking API changes
Description
Struct chains provide extensibility to methods that take an extensible struct as an argument, like CreateBuffer
. But there are a number of functions which don't. In JavaScript, all functions are extensible because we can add optional arguments to the end, but not in C.
Functions that could make sense to take extensible structs:
- WriteBuffer
- WriteTexture (EDIT: this used to take extensible structs but now it doesn't because those were shared with other functions and wouldn't extend cleanly)
- Submit
- OnSubmittedWorkDone
- GetCompilationInfo
- device Destroy
- EnumerateFeatures
- GetMappedRange/GetConstMappedRange
- MapAsync/Unmap
- PushErrorScope/PopErrorScope
- SetUncapturedErrorCallback
- ProcessEvents
- GetCurrentTexture (we said this was OK in swapchain & presentation rework #203)
- Present
These aren't extensible, but I don't think they need it:
- encoder commands
- Reference/Release
- FreeMembers
- buffer/texture/queryset Destroy
- SetLabel
- getters like GetWidth, GetBindGroupLayout, GetQueue
- Unconfigure
(I think that's the complete list)
Metadata
Metadata
Assignees
Labels
extensibilityAdding features without breaking API changesAdding features without breaking API changes