From 1c360091aa93872f7b925e2f2941df58a3f48ddc Mon Sep 17 00:00:00 2001 From: Jeroen Bakker Date: Fri, 5 Sep 2025 11:09:17 +0200 Subject: [PATCH] Fix: Vulkan: Validation error on Qualcomm GPU Qualcomm GPU doesn't support image load/store on framebuffers. We use load store to convert to the correct color space. This PR will only set the VK_IMAGE_USAGE_STORAGE_BIT when HDR is available. As Qualcomm doesn't support HDR using Vulkan this is safe. Pull Request: https://projects.blender.org/blender/blender/pulls/145775 --- intern/ghost/intern/GHOST_ContextVK.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/intern/ghost/intern/GHOST_ContextVK.cc b/intern/ghost/intern/GHOST_ContextVK.cc index 6aa80d8a3c0..8928814bc77 100644 --- a/intern/ghost/intern/GHOST_ContextVK.cc +++ b/intern/ghost/intern/GHOST_ContextVK.cc @@ -1183,7 +1183,8 @@ GHOST_TSuccess GHOST_ContextVK::recreateSwapchain(bool use_hdr_swapchain) create_info.imageColorSpace = surface_format_.colorSpace; create_info.imageExtent = render_extent_; create_info.imageArrayLayers = 1; - create_info.imageUsage = VK_IMAGE_USAGE_TRANSFER_DST_BIT | VK_IMAGE_USAGE_STORAGE_BIT; + create_info.imageUsage = VK_IMAGE_USAGE_TRANSFER_DST_BIT | + (use_hdr_swapchain ? VK_IMAGE_USAGE_STORAGE_BIT : 0); create_info.preTransform = capabilities.currentTransform; create_info.compositeAlpha = VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR; create_info.presentMode = present_mode;