Explorar o código

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.
Fernando Sahmkow %!s(int64=6) %!d(string=hai) anos
pai
achega
daddbeffd1
Modificáronse 1 ficheiros con 3 adicións e 1 borrados
  1. 3 1
      src/video_core/texture_cache/texture_cache.h

+ 3 - 1
src/video_core/texture_cache/texture_cache.h

@@ -509,7 +509,9 @@ private:
         }
         const auto& final_params = new_surface->GetSurfaceParams();
         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 {
             std::vector<CopyParams> bricks = current_surface->BreakDown(final_params);
             for (auto& brick : bricks) {