Hi,
I was wondering if anyone here has a notion of how DX11 schedules compute jobs. As we all know, the threads in a thread-group executes in lock-step, but other thread-groups from the same Dispatch() call may execute on other units.
My question is, can other jobs from other Dispatch() calls also execute in parallel? If so, how is dependencies tracked? For instance, how do you guarantee that the results of compute job A is finished before compute job B starts up (in case B reads a RwBuffer generated by A)?
Thanks.
I was wondering if anyone here has a notion of how DX11 schedules compute jobs. As we all know, the threads in a thread-group executes in lock-step, but other thread-groups from the same Dispatch() call may execute on other units.
My question is, can other jobs from other Dispatch() calls also execute in parallel? If so, how is dependencies tracked? For instance, how do you guarantee that the results of compute job A is finished before compute job B starts up (in case B reads a RwBuffer generated by A)?
Thanks.