diff options
author | Kelebek1 <eeeedddccc@hotmail.co.uk> | 2023-05-12 02:40:21 +0200 |
---|---|---|
committer | Kelebek1 <eeeedddccc@hotmail.co.uk> | 2023-05-12 02:40:21 +0200 |
commit | cd0ded77716dbafb1aca423ec22d562c56f046a7 (patch) | |
tree | 844decadad9f3f06790fc2a5f490000c554b4083 /src/video_core | |
parent | Merge pull request #10132 from Kelebek1/fermi_blit2 (diff) | |
download | yuzu-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.cpp | 1 | ||||
-rw-r--r-- | src/video_core/renderer_vulkan/vk_texture_cache.h | 3 |
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{}; }; |