Tenho um código parecido com este:
vkQueueSubmit(queue, 1, &infoB, fenceB); // ~130 ms to complete
while(1) {
vkWaitForFences(device, 1, &fenceA, true, UINT64_MAX);
vkResetFences(device, 1, &fenceA);
if (vkGetFenceStatus(device, fenceB) == VK_SUCCESS) {
vkResetFences(device, 1, &fenceB);
// do stuff
}
vkQueueSubmit(queue, 1, &infoA, fenceA); // ~1 ms to complete
}
e por algum motivo, depois que fenceA é redefinido, na próxima iteração ele aguarda o trabalho enviado fora do loop.
O que está acontecendo aqui?