Browse Source

gpu: vulkan: Fix an uninitialised structure in SDL_BlitGPUTexture()

The SDL_GPUColorTargetInfo structure needs to be zeroed, as otherwise we
can end up trying to create a resolve_texture which doesn't exist,
causing a rather difficult-to-debug segfault when calling
SDL_BlitGPUTexture() with a load op of SDL_GPU_LOADOP_CLEAR.
David Gow 6 months ago
parent
commit
9c322386bf
1 changed files with 1 additions and 0 deletions
  1. 1 0
      src/gpu/vulkan/SDL_gpu_vulkan.c

+ 1 - 0
src/gpu/vulkan/SDL_gpu_vulkan.c

@@ -8949,6 +8949,7 @@ static void VULKAN_Blit(
     // Using BeginRenderPass to clear because vkCmdClearColorImage requires barriers anyway
     if (info->load_op == SDL_GPU_LOADOP_CLEAR) {
         SDL_GPUColorTargetInfo targetInfo;
+        SDL_zero(targetInfo);
         targetInfo.texture = info->destination.texture;
         targetInfo.mip_level = info->destination.mip_level;
         targetInfo.layer_or_depth_plane = info->destination.layer_or_depth_plane;