Jump to content
  • Advertisement
Sign in to follow this  
ZachBethel

Vulkan [Vulkan] Render Pass and Command Buffer granularity

This topic is 866 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hey all,

 

I'm reading up on render passes, which seem like a powerful concept to clue the driver into the exact path of your render pipeline. In the spec they explain that the driver can react to ordering constraints to insert transition barriers.

 

Something I'm confused about is how render passes relate to command lists and command list submission.

 

For one, render passes form a DAG. Do I still have to submit command lists in dependency sorted order with respect to render passes? I would expect so, but I wasn't able to find any specific details on that.

 

Secondly, what's the granularity of a command list to a render pass? Can a command list span several render passes? (through multiple begin / end blocks)? Can a render pass be composed of several command lists (and if so, does each one inherit the begin / end state from the previously submitted list)?

 

If you understand the details of this I would to get your input.

 

Thanks!

Share this post


Link to post
Share on other sites
Advertisement
I don't understand your first question.

A command buffer can use several render pass. You can use a single command buffer to draw a whole frame, which involve multiple passes (because of Shadow map, post processing on quarter size frame buffer...)

AFAIK a render pass can't span over several command buffer. A command buffer state is undefined when it is "started", bindings are not carried over.
One exception though:you can execute separate secondary command buffer inside a subpass. You need to inform the command buffer begin command about this however.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!