From 855cbec702f246661ff00a0bce9e0683012840c2 Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Fri, 24 Jul 2026 16:22:28 -0700 Subject: [PATCH] Set VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT for planar formats This allows creating separate image views for the planes of the image if desired. --- src/render/vulkan/SDL_render_vulkan.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/render/vulkan/SDL_render_vulkan.c b/src/render/vulkan/SDL_render_vulkan.c index e75e807d25..daf9d2df54 100644 --- a/src/render/vulkan/SDL_render_vulkan.c +++ b/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);