Fernando Sahmkow 
							
						 
					 
					
						
						
						
						
							
						
						
							b7de31ac97 
							
						 
					 
					
						
						
							
							shader_ir: Fix image copy rebase issues  
						
						
						
						
					 
					
						2019-06-20 21:38:34 -03:00 
						 
				 
			
				
					
						
							
							
								Fernando Sahmkow 
							
						 
					 
					
						
						
						
						
							
						
						
							6f69f06873 
							
						 
					 
					
						
						
							
							texture_cache: Don't Image Copy if component types differ  
						
						
						
						
					 
					
						2019-06-20 21:38:34 -03:00 
						 
				 
			
				
					
						
							
							
								Fernando Sahmkow 
							
						 
					 
					
						
						
						
						
							
						
						
							9f755218a1 
							
						 
					 
					
						
						
							
							texture_cache: move some large methods to cpp files  
						
						
						
						
					 
					
						2019-06-20 21:38:34 -03:00 
						 
				 
			
				
					
						
							
							
								Fernando Sahmkow 
							
						 
					 
					
						
						
						
						
							
						
						
							3809041c24 
							
						 
					 
					
						
						
							
							texture_cache: Optimize GetSurface and use references on functions that don't change a surface.  
						
						
						
						
					 
					
						2019-06-20 21:38:33 -03:00 
						 
				 
			
				
					
						
							
							
								Fernando Sahmkow 
							
						 
					 
					
						
						
						
						
							
						
						
							60bf761afb 
							
						 
					 
					
						
						
							
							texture_cache: Implement Buffer Copy and detect Turing GPUs Image Copies  
						
						
						
						
					 
					
						2019-06-20 21:38:33 -03:00 
						 
				 
			
				
					
						
							
							
								Fernando Sahmkow 
							
						 
					 
					
						
						
						
						
							
						
						
							228f516bb4 
							
						 
					 
					
						
						
							
							texture_cache uncompress-compress is untopological.  
						
						... 
						
						
						
						This makes conflicts between non compress and compress textures to be 
auto recycled. It also limits the amount of mipmaps a texture can have 
if it goes above it's limit. 
						
						
					 
					
						2019-06-20 21:38:33 -03:00 
						 
				 
			
				
					
						
							
							
								Fernando Sahmkow 
							
						 
					 
					
						
						
						
						
							
						
						
							9251354152 
							
						 
					 
					
						
						
							
							texture_cache: Correct copying between compressed and uncompressed formats  
						
						
						
						
					 
					
						2019-06-20 21:38:33 -03:00 
						 
				 
			
				
					
						
							
							
								Fernando Sahmkow 
							
						 
					 
					
						
						
						
						
							
						
						
							0966665fc2 
							
						 
					 
					
						
						
							
							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. 
						
						
					 
					
						2019-06-20 21:38:33 -03:00 
						 
				 
			
				
					
						
							
							
								Fernando Sahmkow 
							
						 
					 
					
						
						
						
						
							
						
						
							ea1525dab1 
							
						 
					 
					
						
						
							
							Fix rebase errors  
						
						
						
						
					 
					
						2019-06-20 21:38:33 -03:00 
						 
				 
			
				
					
						
							
							
								Fernando Sahmkow 
							
						 
					 
					
						
						
						
						
							
						
						
							bdf9faab33 
							
						 
					 
					
						
						
							
							texture_cache: Handle uncontinuous surfaces.  
						
						
						
						
					 
					
						2019-06-20 21:38:33 -03:00 
						 
				 
			
				
					
						
							
							
								Fernando Sahmkow 
							
						 
					 
					
						
						
						
						
							
						
						
							e60ed2bb3e 
							
						 
					 
					
						
						
							
							texture_cache: return null surface on invalid address  
						
						
						
						
					 
					
						2019-06-20 21:38:33 -03:00 
						 
				 
			
				
					
						
							
							
								Fernando Sahmkow 
							
						 
					 
					
						
						
						
						
							
						
						
							fcac55d5bf 
							
						 
					 
					
						
						
							
							texture_cache: Add checks for texture buffers.  
						
						
						
						
					 
					
						2019-06-20 21:38:33 -03:00 
						 
				 
			
				
					
						
							
							
								Fernando Sahmkow 
							
						 
					 
					
						
						
						
						
							
						
						
							175aa343ff 
							
						 
					 
					
						
						
							
							texture_cache: Fermi2D reform and implement View Mirage  
						
						... 
						
						
						
						This also does some fixes on compressed textures reinterpret and on the
Fermi2D engine in general. 
						
						
					 
					
						2019-06-20 21:38:33 -03:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
						
						
							
						
						
							1bf4154e7d 
							
						 
					 
					
						
						
							
							gl_shader_decompiler: Implement image binding settings  
						
						
						
						
					 
					
						2019-06-20 21:38:33 -03:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
						
						
							
						
						
							9097301d92 
							
						 
					 
					
						
						
							
							shader: Implement bindless images  
						
						
						
						
					 
					
						2019-06-20 21:38:33 -03:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
						
						
							
						
						
							06c4ce8645 
							
						 
					 
					
						
						
							
							shader: Decode SUST and implement backing image functionality  
						
						
						
						
					 
					
						2019-06-20 21:38:33 -03:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
						
						
							
						
						
							007ffbef1c 
							
						 
					 
					
						
						
							
							gl_rasterizer: Track texture buffer usage  
						
						
						
						
					 
					
						2019-06-20 21:38:33 -03:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
						
						
							
						
						
							58c0d37422 
							
						 
					 
					
						
						
							
							video_core: Make ARB_buffer_storage a required extension  
						
						
						
						
					 
					
						2019-06-20 21:36:12 -03:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
						
						
							
						
						
							07f7ce1da2 
							
						 
					 
					
						
						
							
							gl_rasterizer_cache: Use texture buffers to emulate texture buffers  
						
						
						
						
					 
					
						2019-06-20 21:36:12 -03:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
						
						
							
						
						
							b8c75a845b 
							
						 
					 
					
						
						
							
							maxwell_3d: Partially implement texture buffers as 1D textures  
						
						
						
						
					 
					
						2019-06-20 21:36:12 -03:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
						
						
							
						
						
							6c81c8f5b7 
							
						 
					 
					
						
						
							
							gl_shader_decompiler: Allow 1D textures to be texture buffers  
						
						
						
						
					 
					
						2019-06-20 21:36:12 -03:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
						
						
							
						
						
							4e81fc8296 
							
						 
					 
					
						
						
							
							shader: Implement texture buffers  
						
						
						
						
					 
					
						2019-06-20 21:36:12 -03:00 
						 
				 
			
				
					
						
							
							
								Fernando Sahmkow 
							
						 
					 
					
						
						
						
						
							
						
						
							d267948a73 
							
						 
					 
					
						
						
							
							texture_cache: loose TryReconstructSurface when accurate GPU is not on.  
						
						... 
						
						
						
						Also corrects some asserts. 
						
						
					 
					
						2019-06-20 21:36:12 -03:00 
						 
				 
			
				
					
						
							
							
								Fernando Sahmkow 
							
						 
					 
					
						
						
						
						
							
						
						
							6162cb922e 
							
						 
					 
					
						
						
							
							texture_cache: Document the most important methods.  
						
						
						
						
					 
					
						2019-06-20 21:36:12 -03:00 
						 
				 
			
				
					
						
							
							
								Fernando Sahmkow 
							
						 
					 
					
						
						
						
						
							
						
						
							4530511ee4 
							
						 
					 
					
						
						
							
							texture_cache: Try to Reconstruct Surface on bigger than overlap.  
						
						... 
						
						
						
						This fixes clouds in SMO Cap Kingdom and lens on Cloud Kingdom.
Also moved accurate_gpu setting check to Pick Strategy 
						
						
					 
					
						2019-06-20 21:36:12 -03:00 
						 
				 
			
				
					
						
							
							
								Fernando Sahmkow 
							
						 
					 
					
						
						
						
						
							
						
						
							a79831d9d0 
							
						 
					 
					
						
						
							
							texture_cache: Implement Guard mechanism  
						
						
						
						
					 
					
						2019-06-20 21:36:12 -03:00 
						 
				 
			
				
					
						
							
							
								Fernando Sahmkow 
							
						 
					 
					
						
						
						
						
							
						
						
							7731a0e2d1 
							
						 
					 
					
						
						
							
							texture_cache: General Fixes  
						
						... 
						
						
						
						Fixed ASTC mipmaps loading
Fixed alignment on openGL upload/download
Fixed Block Height Calculation
Removed unalign_height 
						
						
					 
					
						2019-06-20 21:36:12 -03:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
						
						
							
						
						
							c2ed348bdd 
							
						 
					 
					
						
						
							
							surface_params: Ensure pitch is always written to avoid surface leaks  
						
						
						
						
					 
					
						2019-06-20 21:36:12 -03:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
						
						
							
						
						
							9098905dd1 
							
						 
					 
					
						
						
							
							gl_framebuffer_cache: Use a hashed struct to cache framebuffers  
						
						
						
						
					 
					
						2019-06-20 21:36:12 -03:00 
						 
				 
			
				
					
						
							
							
								Fernando Sahmkow 
							
						 
					 
					
						
						
						
						
							
						
						
							d65a4af895 
							
						 
					 
					
						
						
							
							texture_cache return invalid buffer on deactivated color_mask  
						
						
						
						
					 
					
						2019-06-20 21:36:12 -03:00 
						 
				 
			
				
					
						
							
							
								Fernando Sahmkow 
							
						 
					 
					
						
						
						
						
							
						
						
							6bd034eae9 
							
						 
					 
					
						
						
							
							engine_upload: Addapt to new Texture Cache  
						
						
						
						
					 
					
						2019-06-20 21:36:12 -03:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
						
						
							
						
						
							2131f71573 
							
						 
					 
					
						
						
							
							surface_params: Optimize CreateForTexture  
						
						... 
						
						
						
						Instead of using Common::AlignUp, use Common::AlignBits to align the
texture compression factor. 
						
						
					 
					
						2019-06-20 21:36:12 -03:00 
						 
				 
			
				
					
						
							
							
								Fernando Sahmkow 
							
						 
					 
					
						
						
						
						
							
						
						
							41b4674458 
							
						 
					 
					
						
						
							
							gl_texture_cache: Make main views be proxy textures instead of a full view.  
						
						
						
						
					 
					
						2019-06-20 21:36:12 -03:00 
						 
				 
			
				
					
						
							
							
								Fernando Sahmkow 
							
						 
					 
					
						
						
						
						
							
						
						
							07cc7e0c12 
							
						 
					 
					
						
						
							
							texture_cache: Add ASync Protections  
						
						
						
						
					 
					
						2019-06-20 21:36:12 -03:00 
						 
				 
			
				
					
						
							
							
								Fernando Sahmkow 
							
						 
					 
					
						
						
						
						
							
						
						
							1bbc9debfb 
							
						 
					 
					
						
						
							
							Remove Framebuffer reconfiguration and restrict rendertarget protection  
						
						
						
						
					 
					
						2019-06-20 21:36:12 -03:00 
						 
				 
			
				
					
						
							
							
								Fernando Sahmkow 
							
						 
					 
					
						
						
						
						
							
						
						
							5192521dc3 
							
						 
					 
					
						
						
							
							texture_cache: Implement GPU Dirty Flags  
						
						
						
						
					 
					
						2019-06-20 21:36:12 -03:00 
						 
				 
			
				
					
						
							
							
								Fernando Sahmkow 
							
						 
					 
					
						
						
						
						
							
						
						
							94f2be5473 
							
						 
					 
					
						
						
							
							texture_cache: Optimize GetMipBlockHeight and GetMipBlockDepth  
						
						
						
						
					 
					
						2019-06-20 21:36:12 -03:00 
						 
				 
			
				
					
						
							
							
								Fernando Sahmkow 
							
						 
					 
					
						
						
						
						
							
						
						
							a4a58be2d4 
							
						 
					 
					
						
						
							
							texture_cache: Implement L1_Inner_cache  
						
						
						
						
					 
					
						2019-06-20 21:36:12 -03:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
						
						
							
						
						
							345e73f2fe 
							
						 
					 
					
						
						
							
							video_core: Use un-shifted block sizes to avoid integer divisions  
						
						... 
						
						
						
						Instead of storing all block width, height and depths in their shifted
form:
block_width = 1U << block_shift;
Store them like they are provided by the emulated hardware (their
block_shift form). This way we can avoid doing the costly
Common::AlignUp operation to align texture sizes and drop CPU integer
divisions with bitwise logic (defined in Common::AlignBits). 
						
						
					 
					
						2019-06-20 21:36:12 -03:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
						
						
							
						
						
							28d7c2f5a5 
							
						 
					 
					
						
						
							
							texture_cache: Change internal cache from lists to vectors  
						
						
						
						
					 
					
						2019-06-20 21:36:12 -03:00 
						 
				 
			
				
					
						
							
							
								Fernando Sahmkow 
							
						 
					 
					
						
						
						
						
							
						
						
							b347543e83 
							
						 
					 
					
						
						
							
							Reduce amount of size calculations.  
						
						
						
						
					 
					
						2019-06-20 21:36:12 -03:00 
						 
				 
			
				
					
						
							
							
								Fernando Sahmkow 
							
						 
					 
					
						
						
						
						
							
						
						
							4e2071b6d9 
							
						 
					 
					
						
						
							
							texture_cache: Correct premature texceptions  
						
						... 
						
						
						
						Due to our current infrastructure, it is possible for a mipmap to be set 
on as a render target before a texception of that mipmap's superset be 
set afterwards. This is problematic as we rely on texture views to set 
up texceptions and protecting render targets targets for 3D texture 
rendering.
One simple solution is to configure framebuffers after texture setup but 
this brings other problems. This solution, forces a reconfiguration of 
the framebuffers after such event happens. 
						
						
					 
					
						2019-06-20 21:36:12 -03:00 
						 
				 
			
				
					
						
							
							
								Fernando Sahmkow 
							
						 
					 
					
						
						
						
						
							
						
						
							ba677ccb5a 
							
						 
					 
					
						
						
							
							texture_cache: Implement guest flushing  
						
						
						
						
					 
					
						2019-06-20 21:36:12 -03:00 
						 
				 
			
				
					
						
							
							
								Fernando Sahmkow 
							
						 
					 
					
						
						
						
						
							
						
						
							de0b1cb2b2 
							
						 
					 
					
						
						
							
							Fixes to mipmap's process and reconstruct process  
						
						
						
						
					 
					
						2019-06-20 21:36:12 -03:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
						
						
							
						
						
							e0002599ac 
							
						 
					 
					
						
						
							
							surface_base: Add parenthesis to EmplaceOverview's predicate  
						
						
						
						
					 
					
						2019-06-20 21:36:12 -03:00 
						 
				 
			
				
					
						
							
							
								Fernando Sahmkow 
							
						 
					 
					
						
						
						
						
							
						
						
							324e470879 
							
						 
					 
					
						
						
							
							Texture Cache: Implement Blitting and Fermi Copies  
						
						
						
						
					 
					
						2019-06-20 21:36:12 -03:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
						
						
							
						
						
							549fd18ac4 
							
						 
					 
					
						
						
							
							surface_view: Add constructor for ViewParams  
						
						
						
						
					 
					
						2019-06-20 21:36:12 -03:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
						
						
							
						
						
							16e8625a30 
							
						 
					 
					
						
						
							
							surface_base: Split BreakDown into layered and non-layered variants  
						
						
						
						
					 
					
						2019-06-20 21:36:12 -03:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
						
						
							
						
						
							2b30000a1e 
							
						 
					 
					
						
						
							
							surface_base: Silence truncation warnings and minor renames and reordering  
						
						
						
						
					 
					
						2019-06-20 21:36:12 -03:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
						
						
							
						
						
							03d10ea3b4 
							
						 
					 
					
						
						
							
							copy_params: Use constructor instead of C-like initialization  
						
						
						
						
					 
					
						2019-06-20 21:36:12 -03:00