1
0
Fork 0
forked from suyu/suyu

texture_cache: Avoid unnecessary surface copies within PickStrategy() and TryReconstructSurface()

We can take these by const reference and avoid making unnecessary
copies, preventing some atomic reference count increments and
decrements.
This commit is contained in:
Lioncash 2019-10-15 19:29:00 -04:00
parent ba0086e32d
commit a24e8bf9cf

View file

@ -402,7 +402,7 @@ private:
if (params.block_depth > 1 || params.target == SurfaceTarget::Texture3D) { if (params.block_depth > 1 || params.target == SurfaceTarget::Texture3D) {
return RecycleStrategy::Flush; return RecycleStrategy::Flush;
} }
for (auto s : overlaps) { for (const auto& s : overlaps) {
const auto& s_params = s->GetSurfaceParams(); const auto& s_params = s->GetSurfaceParams();
if (s_params.block_depth > 1 || s_params.target == SurfaceTarget::Texture3D) { if (s_params.block_depth > 1 || s_params.target == SurfaceTarget::Texture3D) {
return RecycleStrategy::Flush; return RecycleStrategy::Flush;
@ -575,7 +575,7 @@ private:
} else if (Settings::values.use_accurate_gpu_emulation && passed_tests != overlaps.size()) { } else if (Settings::values.use_accurate_gpu_emulation && passed_tests != overlaps.size()) {
return {}; return {};
} }
for (auto surface : overlaps) { for (const auto& surface : overlaps) {
Unregister(surface); Unregister(surface);
} }
new_surface->MarkAsModified(modified, Tick()); new_surface->MarkAsModified(modified, Tick());