Hi Dawn's team,
I appreciate working with Dawn's API so far. It's super enjoyable (and yes I still consider contributing once I have some other commitments out of the way)).
I have a couple of questions that I will ask in separate threads. This one is about pass synchronization. I am testing rendering several passes that each have their own command buffers. Using the parallelism of the queues, they should be processed in parallel. However, some of these passes are dependent on one another. E.g., I render into textures that are then composed, and then the final composed texture is rendered to the screen, so 3 steps:
- render the textures
- compose the textures in a single one (CopyToTexture)
- render the composed texture to the screen.
So far, I didn't see any out-of-sync issues. Still, I wanted to know if this could be a problem or whether Submit was actually processing potential commands and only returning when they have all been consumed (I understand they should be executed in the order they were inserted but of course, the order in which they finish is not guaranteed to be that order). As I don't see any pipeline barriers, events, and subpass dependencies mechanism, I was wondering what were your recommendations / take on this topic.
Thanks.