summaryrefslogtreecommitdiffstats
path: root/src/video_core/texture_cache/texture_cache.h
diff options
context:
space:
mode:
authorReinUsesLisp <reinuseslisp@airmail.cc>2019-05-08 02:28:31 +0200
committerReinUsesLisp <reinuseslisp@airmail.cc>2019-06-21 02:36:12 +0200
commit03d10ea3b420c923c14a11c86b47e2f00bc30e00 (patch)
treec91e72f41edadac641a0b2609c05fbdf436ee6d5 /src/video_core/texture_cache/texture_cache.h
parentCorrect Mipmaps View method in Texture Cache (diff)
downloadyuzu-03d10ea3b420c923c14a11c86b47e2f00bc30e00.tar
yuzu-03d10ea3b420c923c14a11c86b47e2f00bc30e00.tar.gz
yuzu-03d10ea3b420c923c14a11c86b47e2f00bc30e00.tar.bz2
yuzu-03d10ea3b420c923c14a11c86b47e2f00bc30e00.tar.lz
yuzu-03d10ea3b420c923c14a11c86b47e2f00bc30e00.tar.xz
yuzu-03d10ea3b420c923c14a11c86b47e2f00bc30e00.tar.zst
yuzu-03d10ea3b420c923c14a11c86b47e2f00bc30e00.zip
Diffstat (limited to '')
-rw-r--r--src/video_core/texture_cache/texture_cache.h23
1 files changed, 9 insertions, 14 deletions
diff --git a/src/video_core/texture_cache/texture_cache.h b/src/video_core/texture_cache/texture_cache.h
index 43aaec011..c9a648bbd 100644
--- a/src/video_core/texture_cache/texture_cache.h
+++ b/src/video_core/texture_cache/texture_cache.h
@@ -283,7 +283,7 @@ private:
}
std::pair<TSurface, TView> RebuildSurface(TSurface current_surface,
- const SurfaceParams& params) {
+ const SurfaceParams& params) {
const auto gpu_addr = current_surface->GetGpuAddr();
TSurface new_surface = GetUncachedSurface(gpu_addr, params);
std::vector<CopyParams> bricks = current_surface->BreakDown(params);
@@ -323,26 +323,21 @@ private:
return {};
}
const std::size_t candidate_size = src_params.GetGuestSizeInBytes();
- auto mipmap_layer = new_surface->GetLayerMipmap(surface->GetGpuAddr());
+ auto mipmap_layer{new_surface->GetLayerMipmap(surface->GetGpuAddr())};
if (!mipmap_layer) {
return {};
}
- const u32 layer = (*mipmap_layer).first;
- const u32 mipmap = (*mipmap_layer).second;
+ const u32 layer{mipmap_layer->first};
+ const u32 mipmap{mipmap_layer->second};
if (new_surface->GetMipmapSize(mipmap) != candidate_size) {
return {};
}
// Now we got all the data set up
- CopyParams copy_params{};
- const u32 dst_width = params.GetMipWidth(mipmap);
- const u32 dst_height = params.GetMipHeight(mipmap);
- copy_params.width = std::min(src_params.width, dst_width);
- copy_params.height = std::min(src_params.height, dst_height);
- copy_params.depth = 1;
- copy_params.source_level = 0;
- copy_params.dest_level = mipmap;
- copy_params.source_z = 0;
- copy_params.dest_z = layer;
+ const u32 dst_width{params.GetMipWidth(mipmap)};
+ const u32 dst_height{params.GetMipHeight(mipmap)};
+ const CopyParams copy_params(0, 0, 0, 0, 0, layer, 0, mipmap,
+ std::min(src_params.width, dst_width),
+ std::min(src_params.height, dst_height), 1);
ImageCopy(surface, new_surface, copy_params);
}
for (auto surface : overlaps) {