• Advertisement
Sign in to follow this  

commands in a command buffer perform concurrrently ?

This topic is 605 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

 

the tutorial says that 

"Command buffer begin execution in the order they are submitted, the commands within the buffers also begin execution in the order they are submitted.
 That doesn't mean that the work submitted later in the same queue isn't allowed to begin execution before the previous command buffer have finished.
 Shemaphores make sure command buffer execution won't overlap, where neeeded"
 
this description is good.
i understand that command buffers are performed concurrrently.
then commands in a command buffer perform concurrrently ?

Share this post


Link to post
Share on other sites
Advertisement
APIs generally require GPUs to act as if the command sequence (and triangle sequences within a command!) are executed in strict order... But GPUs will do their best to perform as many commands (and triangles) in parallel as they can while still appearing as if they did them in order.
AMD has an extension where you can explicitly opt out of strict ordering guarantees to give them more room for parallelism: http://gpuopen.com/unlock-the-rasterizer-with-out-of-order-rasterization/

Share this post


Link to post
Share on other sites

command sequence are executed in order, but are performed in parallel. <- it's a pipeline architecture.

so if a command has a data dependency with other command, i should insert memory barrier between them to solve data hazard problem.

 

it's right ?

Share this post


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

  • Advertisement