I’ll try to correct this, if i understand it correctly,
first we’ll wait for all pWaitSemaphores, then start all the command buffers, after all the buffers are finished , signal all the pSignalSemaphores that are potentially waiting(there might be multiple of them).
Yea, a batch is undivisible. All the semaphores are waited on (given you might want to wait on multiple things) and afterwards all the semaphores are signaled (given that you might want more things to consume the results). If you want to split command buffers, that is what submissions in pSubmits are for, having their own separate set of semaphores.