我有如下代码:
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
}
并且由于某种原因,在重置fenceA之后,它会在下一次迭代中等待循环外提交的工作。
这里发生了什么事?