Currently playing with fire by reusing the same buffers for drawing. Need to write a gfx::RingBuffer to reuse that does the right things here, as well as add QueueFence queries and waiting to properly manage the read/write heads.
Can't have QueueFence be an Event, unfortunately, but could add a Wait() method on it as well as a query.
Can support both wait and query easily on vulkan, webgl2/es3, and d3d. Metal needs some custom work via command submit completion handlers, but nothing bad.
Currently playing with fire by reusing the same buffers for drawing. Need to write a gfx::RingBuffer to reuse that does the right things here, as well as add QueueFence queries and waiting to properly manage the read/write heads.
Can't have QueueFence be an Event, unfortunately, but could add a Wait() method on it as well as a query.
Can support both wait and query easily on vulkan, webgl2/es3, and d3d. Metal needs some custom work via command submit completion handlers, but nothing bad.