Open
Description
Is your feature request related to a problem? Please describe
Currently, to ensure that the command buffer is not executing during modification, we wait until the previous synchronization finishes before applying changes. (Command list modification requires command list to be synchronized before modifying, see for example https://oneapi-src.github.io/level-zero-spec/level-zero/latest/core/api.html#zecommandlistupdatemutablecommandsexp)
It does not make sense to make user wait there, since the modify calls should be lightweight and immediate.
Describe the solution you would like
We can move the synchronization to command list enqueue, by remembering all requested updates, awaiting the execution before enqueueing command buffer, and applying all modifications that were requested after last execution.
Describe alternatives you have considered
No response
Additional context
No response