summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar ReinUsesLisp2021-07-21 02:55:55 -0300
committerGravatar Fernando Sahmkow2021-11-16 22:11:27 +0100
commit973f8f1d08995e4b3e3e849b6c5fa77e5ce824a7 (patch)
tree1446bd3eaf3b63e3ab977225713568888f7bdc28
parentrenderer_gl: Resolution scaling fixes (diff)
downloadyuzu-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.cpp20
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);