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
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) {
|
||||||
|
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) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue