mirror of
https://github.com/KytyPS5/KytyPS5.git
synced 2026-10-28 00:12:40 +00:00
Support reciprocal ABGR sampled views
This commit is contained in:
1 parent
0abe03af94
commit
1416131a0a
4 files changed
+26
-4
No files matched your search
@@ -67,7 +67,7 @@ enum class VulkanImageType {
|
||||
};
|
||||
|
||||
struct VulkanImage {
|
||||
static constexpr int VIEW_MAX = 21;
|
||||
static constexpr int VIEW_MAX = 22;
|
||||
static constexpr int VIEW_DEFAULT = 0;
|
||||
static constexpr int VIEW_BGRA = 1;
|
||||
static constexpr int VIEW_DEPTH_TEXTURE = 2;
|
||||
@@ -89,6 +89,7 @@ struct VulkanImage {
|
||||
static constexpr int VIEW_STORAGE = 18;
|
||||
static constexpr int VIEW_STORAGE_ARRAY = 19;
|
||||
static constexpr int VIEW_BGRA_TO_RGBA = 20;
|
||||
static constexpr int VIEW_ABGR = 21;
|
||||
|
||||
explicit VulkanImage(VulkanImageType type): type(type) {}
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user