From 8bc4e029bd570837c1194fbf2bcad69fb6ae0cf3 Mon Sep 17 00:00:00 2001 From: ManifoldFR Date: Tue, 19 Aug 2025 19:02:11 +0200 Subject: [PATCH] gpu/vulkan : fix clear value indexing --- src/gpu/vulkan/SDL_gpu_vulkan.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/gpu/vulkan/SDL_gpu_vulkan.c b/src/gpu/vulkan/SDL_gpu_vulkan.c index bfe4ed5637..2b32e3e5af 100644 --- a/src/gpu/vulkan/SDL_gpu_vulkan.c +++ b/src/gpu/vulkan/SDL_gpu_vulkan.c @@ -7910,15 +7910,17 @@ static void VULKAN_BeginRenderPass( clearValues = SDL_stack_alloc(VkClearValue, clearCount); - for (i = 0; i < totalColorAttachmentCount; i += 1) { - clearValues[i].color.float32[0] = colorTargetInfos[i].clear_color.r; - clearValues[i].color.float32[1] = colorTargetInfos[i].clear_color.g; - clearValues[i].color.float32[2] = colorTargetInfos[i].clear_color.b; - clearValues[i].color.float32[3] = colorTargetInfos[i].clear_color.a; + int clearIndex = 0; + for (i = 0; i < numColorTargets; i += 1) { + clearValues[clearIndex].color.float32[0] = colorTargetInfos[i].clear_color.r; + clearValues[clearIndex].color.float32[1] = colorTargetInfos[i].clear_color.g; + clearValues[clearIndex].color.float32[2] = colorTargetInfos[i].clear_color.b; + clearValues[clearIndex].color.float32[3] = colorTargetInfos[i].clear_color.a; + clearIndex += 1; if (colorTargetInfos[i].store_op == SDL_GPU_STOREOP_RESOLVE || colorTargetInfos[i].store_op == SDL_GPU_STOREOP_RESOLVE_AND_STORE) { // Skip over the resolve texture, we're not clearing it - i += 1; + clearIndex += 1; } }