Support reciprocal ABGR sampled views

This commit is contained in:
nmzik
2026-07-17 12:55:33 +02:00
parent 0abe03af94
commit 1416131a0a
4 changed files with 26 additions and 4 deletions
@@ -84,6 +84,10 @@ namespace Libs::Graphics {
default: break;
}
}
if (image_format == VK_FORMAT_R16G16B16A16_SFLOAT && view_format == image_format &&
swizzle == DstSel(7, 6, 5, 4)) {
return VulkanImage::VIEW_ABGR;
}
if (IsBgraToRgbaSampledView(image_format, view_format) && swizzle == DstSel(6, 5, 4, 7)) {
return VulkanImage::VIEW_BGRA_TO_RGBA;
}
@@ -1437,6 +1437,10 @@ VkImageView TextureCache::GetRenderTargetSampledView(GraphicContext* c
components = {VK_COMPONENT_SWIZZLE_B, VK_COMPONENT_SWIZZLE_G, VK_COMPONENT_SWIZZLE_R,
VK_COMPONENT_SWIZZLE_A};
break;
case VulkanImage::VIEW_ABGR:
components = {VK_COMPONENT_SWIZZLE_A, VK_COMPONENT_SWIZZLE_B, VK_COMPONENT_SWIZZLE_G,
VK_COMPONENT_SWIZZLE_R};
break;
default:
EXIT("TextureCache: unsupported render-target sampled view variant: %d\n", variant);
}