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:
parent
e366b4ee1f
commit
daddbeffd1
|
@ -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) {
|
||||||
|
|
Loading…
Reference in a new issue