arcana-engine / sierra

Vulkan-lite GPU API
Other
90 stars 6 forks source link

Separate encoders from underlying command buffers #7

Open fu5ha opened 3 years ago

fu5ha commented 3 years ago

Having entirely separate encoders as "virtual command buffers" should make development of a render graph easier/more effective with the possibility of reordering encoders before recording them into concrete command buffers for submission. Based on my sync changes in #6

zakarumych commented 3 years ago

Thank you for taking time to make this PR!

Command buffers can be reordered before submission. How reordering encoders before writing them into command buffer would help making render passes? Initially encoders were made to collect commands and then flush them to command buffer because they were using dynamic dispatch and dispatching each command dynamically would hurt performance. With current design encoders could record commands into command buffer directly.