gpu: Fix swapchain texture cycling.

This is actually a 1:1 copy of a patch we wrote for GPU PS5 some time ago!
This commit is contained in:
Ethan Lee
2026-03-07 10:36:19 -05:00
parent 6a87abb5b4
commit 0c57e99b4a

View File

@@ -8107,7 +8107,10 @@ static bool D3D12_Submit(
windowData->inFlightFences[windowData->frameCounter] = (SDL_GPUFence *)d3d12CommandBuffer->inFlightFence; windowData->inFlightFences[windowData->frameCounter] = (SDL_GPUFence *)d3d12CommandBuffer->inFlightFence;
(void)SDL_AtomicIncRef(&d3d12CommandBuffer->inFlightFence->referenceCount); (void)SDL_AtomicIncRef(&d3d12CommandBuffer->inFlightFence->referenceCount);
windowData->frameCounter = (windowData->frameCounter + 1) % renderer->allowedFramesInFlight;
// Normally this is '% allowedFramesInFlight', but the value gets clamped
// at swapchain creation time, so use swapchainTextureCount instead
windowData->frameCounter = (windowData->frameCounter + 1) % windowData->swapchainTextureCount;
} }
// Check for cleanups // Check for cleanups