Просмотр исходного кода

Set VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT for planar formats

This allows creating separate image views for the planes of the image if desired.
Sam Lantinga 1 месяц назад
Родитель
Сommit
855cbec702
1 измененных файлов с 5 добавлено и 0 удалено
  1. 5 0
      src/render/vulkan/SDL_render_vulkan.c

+ 5 - 0
src/render/vulkan/SDL_render_vulkan.c

@@ -832,6 +832,11 @@ static VkResult VULKAN_AllocateImage(VULKAN_RenderData *rendererData, SDL_Proper
         imageCreateInfo.queueFamilyIndexCount = 0;
         imageCreateInfo.initialLayout = VK_IMAGE_LAYOUT_UNDEFINED;
 
+        // Set VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT for planar formats
+        if (VULKAN_VkFormatGetNumPlanes(format) > 1) {
+            imageCreateInfo.flags |= VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT;
+        }
+
         result = vkCreateImage(rendererData->device, &imageCreateInfo, NULL, &imageOut->image);
         if (result != VK_SUCCESS) {
             VULKAN_DestroyImage(rendererData, imageOut);