Texture Cache: Only do buffer copies on accurate GPU. (#3634)

This is a simple optimization as Buffer Copies are mostly used for texture recycling. They are, however, useful when games abuse undefined behavior but most 3D APIs forbid it.
This commit is contained in:
Fernando Sahmkow 2020-04-14 23:21:00 -04:00 committed by GitHub
parent e366b4ee1f
commit daddbeffd1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -509,7 +509,9 @@ private:
} }
const auto& final_params = new_surface->GetSurfaceParams(); const auto& final_params = new_surface->GetSurfaceParams();
if (cr_params.type != final_params.type) { if (cr_params.type != final_params.type) {
BufferCopy(current_surface, new_surface); if (Settings::values.use_accurate_gpu_emulation) {
BufferCopy(current_surface, new_surface);
}
} else { } else {
std::vector<CopyParams> bricks = current_surface->BreakDown(final_params); std::vector<CopyParams> bricks = current_surface->BreakDown(final_params);
for (auto& brick : bricks) { for (auto& brick : bricks) {