fix autoReleaseFence race condition
parent
86099fb7ee
commit
35d90f8dcb
|
@ -9661,6 +9661,7 @@ static Refresh_CommandBuffer* VULKAN_AcquireCommandBuffer(
|
||||||
commandBuffer->computeUniformBuffer = NULL;
|
commandBuffer->computeUniformBuffer = NULL;
|
||||||
|
|
||||||
commandBuffer->renderPassColorTargetCount = 0;
|
commandBuffer->renderPassColorTargetCount = 0;
|
||||||
|
commandBuffer->autoReleaseFence = 1;
|
||||||
|
|
||||||
/* Reset the command buffer here to avoid resets being called
|
/* Reset the command buffer here to avoid resets being called
|
||||||
* from a separate thread than where the command buffer was acquired
|
* from a separate thread than where the command buffer was acquired
|
||||||
|
@ -10322,11 +10323,11 @@ static Refresh_Fence* VULKAN_SubmitAndAcquireFence(
|
||||||
) {
|
) {
|
||||||
VulkanCommandBuffer *vulkanCommandBuffer;
|
VulkanCommandBuffer *vulkanCommandBuffer;
|
||||||
|
|
||||||
VULKAN_Submit(driverData, commandBuffer);
|
|
||||||
|
|
||||||
vulkanCommandBuffer = (VulkanCommandBuffer*) commandBuffer;
|
vulkanCommandBuffer = (VulkanCommandBuffer*) commandBuffer;
|
||||||
vulkanCommandBuffer->autoReleaseFence = 0;
|
vulkanCommandBuffer->autoReleaseFence = 0;
|
||||||
|
|
||||||
|
VULKAN_Submit(driverData, commandBuffer);
|
||||||
|
|
||||||
return (Refresh_Fence*) vulkanCommandBuffer->inFlightFence;
|
return (Refresh_Fence*) vulkanCommandBuffer->inFlightFence;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -10377,7 +10378,6 @@ static void VULKAN_Submit(
|
||||||
|
|
||||||
VULKAN_INTERNAL_EndCommandBuffer(renderer, vulkanCommandBuffer);
|
VULKAN_INTERNAL_EndCommandBuffer(renderer, vulkanCommandBuffer);
|
||||||
|
|
||||||
vulkanCommandBuffer->autoReleaseFence = 1;
|
|
||||||
vulkanCommandBuffer->inFlightFence = VULKAN_INTERNAL_AcquireFenceFromPool(renderer);
|
vulkanCommandBuffer->inFlightFence = VULKAN_INTERNAL_AcquireFenceFromPool(renderer);
|
||||||
|
|
||||||
submitInfo.sType = VK_STRUCTURE_TYPE_SUBMIT_INFO;
|
submitInfo.sType = VK_STRUCTURE_TYPE_SUBMIT_INFO;
|
||||||
|
|
Loading…
Reference in New Issue