FidelityFX-SDK
FidelityFX-SDK copied to clipboard
Fix: Synchronization bug when dumping swapchain in DX12 path
There is currently a synchronization bug when dumping the swapchain to file in the DX12 path. The cause of the bug is that a semaphore is signaled before the execution of the command buffer responsible for copying the render target into a buffer on a readback heap. Instead, the semaphore should be signaled after the command buffer execution.
Although the bug would be fixed by moving line 225 to line 230, the code becomes more readable by reusing already existing code for handling immediate execution of command buffers. This is what the Vulkan path already does.
Furthermore, a transition barrier was added after the copy operation to transition the render target back to a Present state, similar to what the Vulkan path does.