summaryrefslogtreecommitdiffstats
path: root/src/video_core
diff options
context:
space:
mode:
authorKelebek1 <eeeedddccc@hotmail.co.uk>2023-05-12 02:40:21 +0200
committerKelebek1 <eeeedddccc@hotmail.co.uk>2023-05-12 02:40:21 +0200
commitcd0ded77716dbafb1aca423ec22d562c56f046a7 (patch)
tree844decadad9f3f06790fc2a5f490000c554b4083 /src/video_core
parentMerge pull request #10132 from Kelebek1/fermi_blit2 (diff)
downloadyuzu-cd0ded77716dbafb1aca423ec22d562c56f046a7.tar
yuzu-cd0ded77716dbafb1aca423ec22d562c56f046a7.tar.gz
yuzu-cd0ded77716dbafb1aca423ec22d562c56f046a7.tar.bz2
yuzu-cd0ded77716dbafb1aca423ec22d562c56f046a7.tar.lz
yuzu-cd0ded77716dbafb1aca423ec22d562c56f046a7.tar.xz
yuzu-cd0ded77716dbafb1aca423ec22d562c56f046a7.tar.zst
yuzu-cd0ded77716dbafb1aca423ec22d562c56f046a7.zip
Diffstat (limited to 'src/video_core')
-rw-r--r--src/video_core/renderer_vulkan/vk_texture_cache.cpp1
-rw-r--r--src/video_core/renderer_vulkan/vk_texture_cache.h3
2 files changed, 3 insertions, 1 deletions
diff --git a/src/video_core/renderer_vulkan/vk_texture_cache.cpp b/src/video_core/renderer_vulkan/vk_texture_cache.cpp
index 012d6fa73..4d0481f2a 100644
--- a/src/video_core/renderer_vulkan/vk_texture_cache.cpp
+++ b/src/video_core/renderer_vulkan/vk_texture_cache.cpp
@@ -1864,6 +1864,7 @@ void Framebuffer::CreateFramebuffer(TextureCacheRuntime& runtime,
num_layers = std::max(num_layers, color_buffer->range.extent.layers);
images[num_images] = color_buffer->ImageHandle();
image_ranges[num_images] = MakeSubresourceRange(color_buffer);
+ rt_map[index] = num_images;
samples = color_buffer->Samples();
++num_images;
}
diff --git a/src/video_core/renderer_vulkan/vk_texture_cache.h b/src/video_core/renderer_vulkan/vk_texture_cache.h
index 23473bf9c..4166b3d20 100644
--- a/src/video_core/renderer_vulkan/vk_texture_cache.h
+++ b/src/video_core/renderer_vulkan/vk_texture_cache.h
@@ -334,7 +334,7 @@ public:
}
[[nodiscard]] bool HasAspectColorBit(size_t index) const noexcept {
- return (image_ranges.at(index).aspectMask & VK_IMAGE_ASPECT_COLOR_BIT) != 0;
+ return (image_ranges.at(rt_map[index]).aspectMask & VK_IMAGE_ASPECT_COLOR_BIT) != 0;
}
[[nodiscard]] bool HasAspectDepthBit() const noexcept {
@@ -354,6 +354,7 @@ private:
u32 num_images = 0;
std::array<VkImage, 9> images{};
std::array<VkImageSubresourceRange, 9> image_ranges{};
+ std::array<size_t, NUM_RT> rt_map{};
bool has_depth{};
bool has_stencil{};
};