texture_cache: Only load on recycle with accurate GPU.
Testing so far has proven this to be quite safe as texture memory read added a 2-5ms load to the current cache.
This commit is contained in:
		 Fernando Sahmkow
					Fernando Sahmkow
				
			
				
					committed by
					
						 ReinUsesLisp
						ReinUsesLisp
					
				
			
			
				
	
			
			
			 ReinUsesLisp
						ReinUsesLisp
					
				
			
						parent
						
							ea1525dab1
						
					
				
				
					commit
					0966665fc2
				
			| @@ -342,12 +342,13 @@ private: | ||||
|                                               const SurfaceParams& params, const GPUVAddr gpu_addr, | ||||
|                                               const bool preserve_contents, | ||||
|                                               const bool untopological) { | ||||
|         const bool do_load = Settings::values.use_accurate_gpu_emulation && preserve_contents; | ||||
|         for (auto surface : overlaps) { | ||||
|             Unregister(surface); | ||||
|         } | ||||
|         switch (PickStrategy(overlaps, params, gpu_addr, untopological)) { | ||||
|         case RecycleStrategy::Ignore: { | ||||
|             return InitializeSurface(gpu_addr, params, preserve_contents); | ||||
|             return InitializeSurface(gpu_addr, params, do_load); | ||||
|         } | ||||
|         case RecycleStrategy::Flush: { | ||||
|             std::sort(overlaps.begin(), overlaps.end(), | ||||
| @@ -361,7 +362,7 @@ private: | ||||
|         } | ||||
|         default: { | ||||
|             UNIMPLEMENTED_MSG("Unimplemented Texture Cache Recycling Strategy!"); | ||||
|             return InitializeSurface(gpu_addr, params, preserve_contents); | ||||
|             return InitializeSurface(gpu_addr, params, do_load); | ||||
|         } | ||||
|         } | ||||
|     } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user