diff options
| author | 2021-07-21 02:55:55 -0300 | |
|---|---|---|
| committer | 2021-11-16 22:11:27 +0100 | |
| commit | 973f8f1d08995e4b3e3e849b6c5fa77e5ce824a7 (patch) | |
| tree | 1446bd3eaf3b63e3ab977225713568888f7bdc28 | |
| parent | renderer_gl: Resolution scaling fixes (diff) | |
| download | yuzu-973f8f1d08995e4b3e3e849b6c5fa77e5ce824a7.tar.gz yuzu-973f8f1d08995e4b3e3e849b6c5fa77e5ce824a7.tar.xz yuzu-973f8f1d08995e4b3e3e849b6c5fa77e5ce824a7.zip | |
Fix blits
Diffstat (limited to '')
| -rw-r--r-- | src/video_core/renderer_vulkan/vk_texture_cache.cpp | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/src/video_core/renderer_vulkan/vk_texture_cache.cpp b/src/video_core/renderer_vulkan/vk_texture_cache.cpp index 54236e87f..b061ea08b 100644 --- a/src/video_core/renderer_vulkan/vk_texture_cache.cpp +++ b/src/video_core/renderer_vulkan/vk_texture_cache.cpp | |||
| @@ -1111,9 +1111,10 @@ bool Image::ScaleUp(bool save_as_backup) { | |||
| 1111 | }; | 1111 | }; |
| 1112 | 1112 | ||
| 1113 | const bool is_2d = info.type == ImageType::e2D; | 1113 | const bool is_2d = info.type == ImageType::e2D; |
| 1114 | boost::container::small_vector<VkImageBlit, 4> vkRegions(info.resources.levels); | 1114 | boost::container::small_vector<VkImageBlit, 4> regions; |
| 1115 | regions.reserve(info.resources.levels); | ||
| 1115 | for (s32 level = 0; level < info.resources.levels; level++) { | 1116 | for (s32 level = 0; level < info.resources.levels; level++) { |
| 1116 | VkImageBlit blit{ | 1117 | regions.push_back({ |
| 1117 | .srcSubresource{ | 1118 | .srcSubresource{ |
| 1118 | .aspectMask = aspect_mask, | 1119 | .aspectMask = aspect_mask, |
| 1119 | .mipLevel = u32(level), | 1120 | .mipLevel = u32(level), |
| @@ -1150,10 +1151,9 @@ bool Image::ScaleUp(bool save_as_backup) { | |||
| 1150 | .z = 1, | 1151 | .z = 1, |
| 1151 | }, | 1152 | }, |
| 1152 | }, | 1153 | }, |
| 1153 | }; | 1154 | }); |
| 1154 | vkRegions.push_back(blit); | ||
| 1155 | } | 1155 | } |
| 1156 | BlitScale(*scheduler, *image, *rescaled_image, vkRegions, aspect_mask); | 1156 | BlitScale(*scheduler, *image, *rescaled_image, regions, aspect_mask); |
| 1157 | return true; | 1157 | return true; |
| 1158 | } | 1158 | } |
| 1159 | 1159 | ||
| @@ -1193,9 +1193,10 @@ bool Image::ScaleDown(bool save_as_backup) { | |||
| 1193 | } | 1193 | } |
| 1194 | 1194 | ||
| 1195 | const bool is_2d = info.type == ImageType::e2D; | 1195 | const bool is_2d = info.type == ImageType::e2D; |
| 1196 | boost::container::small_vector<VkImageBlit, 4> vkRegions(info.resources.levels); | 1196 | boost::container::small_vector<VkImageBlit, 4> regions; |
| 1197 | regions.reserve(info.resources.levels); | ||
| 1197 | for (s32 level = 0; level < info.resources.levels; level++) { | 1198 | for (s32 level = 0; level < info.resources.levels; level++) { |
| 1198 | VkImageBlit blit{ | 1199 | regions.push_back({ |
| 1199 | .srcSubresource{ | 1200 | .srcSubresource{ |
| 1200 | .aspectMask = aspect_mask, | 1201 | .aspectMask = aspect_mask, |
| 1201 | .mipLevel = u32(level), | 1202 | .mipLevel = u32(level), |
| @@ -1232,10 +1233,9 @@ bool Image::ScaleDown(bool save_as_backup) { | |||
| 1232 | .z = 1, | 1233 | .z = 1, |
| 1233 | }, | 1234 | }, |
| 1234 | }, | 1235 | }, |
| 1235 | }; | 1236 | }); |
| 1236 | vkRegions.push_back(blit); | ||
| 1237 | } | 1237 | } |
| 1238 | BlitScale(*scheduler, *image, *downscaled_image, vkRegions, aspect_mask); | 1238 | BlitScale(*scheduler, *image, *downscaled_image, regions, aspect_mask); |
| 1239 | if (save_as_backup) { | 1239 | if (save_as_backup) { |
| 1240 | backup_image = std::move(image); | 1240 | backup_image = std::move(image); |
| 1241 | backup_commit = std::move(commit); | 1241 | backup_commit = std::move(commit); |