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.
master
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
1 changed files with 3 additions and 1 deletions

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) {
if (Settings::values.use_accurate_gpu_emulation) {
BufferCopy(current_surface, new_surface); 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) {