Преглед изворни кода

Fix two uninitialized variables

Found when running in valgrind looking at another issue.

- RenderPass' depth_stencil_target
    Tripped in SDL_BindGPUFragmentSamplers when not binding a DS target

- VulkanCommandBuffer's swapchainRequested
    Tripped in VULKAN_Submit for the end transition barrier when
    creating an image. The field is only reset when reused, not on first
    use

(cherry picked from commit 265236d952dea4f50cf2e1340311848d6892b137)
Jordan Saunders пре 11 месеци
родитељ
комит
589aea50c2
2 измењених фајлова са 4 додато и 0 уклоњено
  1. 2 0
      src/gpu/SDL_gpu.c
  2. 2 0
      src/gpu/vulkan/SDL_gpu_vulkan.c

+ 2 - 0
src/gpu/SDL_gpu.c

@@ -1785,6 +1785,8 @@ SDL_GPURenderPass *SDL_BeginGPURenderPass(
         commandBufferHeader->render_pass.num_color_targets = num_color_targets;
         if (depth_stencil_target_info != NULL) {
             commandBufferHeader->render_pass.depth_stencil_target = depth_stencil_target_info->texture;
+        } else {
+            commandBufferHeader->render_pass.depth_stencil_target = NULL;
         }
     }
 

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

@@ -9408,6 +9408,8 @@ static bool VULKAN_INTERNAL_AllocateCommandBuffer(
     commandBuffer->usedUniformBuffers = SDL_malloc(
         commandBuffer->usedUniformBufferCapacity * sizeof(VulkanUniformBuffer *));
 
+    commandBuffer->swapchainRequested = false;
+
     // Pool it!
 
     vulkanCommandPool->inactiveCommandBuffers[vulkanCommandPool->inactiveCommandBufferCount] = commandBuffer;