Commit Graph

11941 Commits (03d489dcf5dbe13dff1ff788c609f964dd24019c)
 

Author SHA1 Message Date
Fernando Sahmkow 03d489dcf5 texture_cache: Initialize all siblings to invalid pixel format. 6 years ago
Fernando Sahmkow 9422cf7c10 gl_texture_cache: Use Stream Buffers instead of Persistant for Buffer Copies. 6 years ago
Fernando Sahmkow fac3706253 gl_texture_cache: Correct Image Blit 6 years ago
Fernando Sahmkow 7232a1ed16 decoders: correct block calculation 6 years ago
Fernando Sahmkow 3dd7643214 texture_cache: Use siblings textures on Rebuild and fix possible error on blitting 6 years ago
Fernando Sahmkow 4db28f72f6 texture_cache: Remove old rasterizer cache 6 years ago
Fernando Sahmkow 2d83553ea7 texture_cache: Implement siblings texture formats. 6 years ago
Fernando Sahmkow cb728797b0 fermi2d: Correct Origin Mode 6 years ago
Fernando Sahmkow a56f687793 texture_cache: correct texture buffer on surface params 6 years ago
Fernando Sahmkow b01f9c8a70 texture_cache: eliminate accelerated depth->color/color->depth copies due to driver instability. 6 years ago
Fernando Sahmkow 561ce29c98 texture_cache: correct mutex locks 6 years ago
Fernando Sahmkow b7de31ac97 shader_ir: Fix image copy rebase issues 6 years ago
Fernando Sahmkow 6f69f06873 texture_cache: Don't Image Copy if component types differ 6 years ago
Fernando Sahmkow 9f755218a1 texture_cache: move some large methods to cpp files 6 years ago
Fernando Sahmkow 3809041c24 texture_cache: Optimize GetSurface and use references on functions that don't change a surface. 6 years ago
Fernando Sahmkow 60bf761afb texture_cache: Implement Buffer Copy and detect Turing GPUs Image Copies 6 years ago
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.
6 years ago
Fernando Sahmkow 9251354152 texture_cache: Correct copying between compressed and uncompressed formats 6 years ago
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.
6 years ago
Fernando Sahmkow ea1525dab1 Fix rebase errors 6 years ago
Fernando Sahmkow bdf9faab33 texture_cache: Handle uncontinuous surfaces. 6 years ago
Fernando Sahmkow e60ed2bb3e texture_cache: return null surface on invalid address 6 years ago
Fernando Sahmkow fcac55d5bf texture_cache: Add checks for texture buffers. 6 years ago
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.
6 years ago
ReinUsesLisp 1bf4154e7d gl_shader_decompiler: Implement image binding settings 6 years ago
ReinUsesLisp 9097301d92 shader: Implement bindless images 6 years ago
ReinUsesLisp 06c4ce8645 shader: Decode SUST and implement backing image functionality 6 years ago
ReinUsesLisp 007ffbef1c gl_rasterizer: Track texture buffer usage 6 years ago
ReinUsesLisp 58c0d37422 video_core: Make ARB_buffer_storage a required extension 6 years ago
ReinUsesLisp 07f7ce1da2 gl_rasterizer_cache: Use texture buffers to emulate texture buffers 6 years ago
ReinUsesLisp b8c75a845b maxwell_3d: Partially implement texture buffers as 1D textures 6 years ago
ReinUsesLisp 6c81c8f5b7 gl_shader_decompiler: Allow 1D textures to be texture buffers 6 years ago
ReinUsesLisp 4e81fc8296 shader: Implement texture buffers 6 years ago
Fernando Sahmkow d267948a73 texture_cache: loose TryReconstructSurface when accurate GPU is not on.
Also corrects some asserts.
6 years ago
Fernando Sahmkow 6162cb922e texture_cache: Document the most important methods. 6 years ago
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
6 years ago
Fernando Sahmkow a79831d9d0 texture_cache: Implement Guard mechanism 6 years ago
Fernando Sahmkow 7731a0e2d1 texture_cache: General Fixes
Fixed ASTC mipmaps loading
Fixed alignment on openGL upload/download
Fixed Block Height Calculation
Removed unalign_height
6 years ago
ReinUsesLisp c2ed348bdd surface_params: Ensure pitch is always written to avoid surface leaks 6 years ago
ReinUsesLisp 9098905dd1 gl_framebuffer_cache: Use a hashed struct to cache framebuffers 6 years ago
Fernando Sahmkow d65a4af895 texture_cache return invalid buffer on deactivated color_mask 6 years ago
Fernando Sahmkow 6bd034eae9 engine_upload: Addapt to new Texture Cache 6 years ago
ReinUsesLisp 2131f71573 surface_params: Optimize CreateForTexture
Instead of using Common::AlignUp, use Common::AlignBits to align the
texture compression factor.
6 years ago
Fernando Sahmkow 41b4674458 gl_texture_cache: Make main views be proxy textures instead of a full view. 6 years ago
Fernando Sahmkow 07cc7e0c12 texture_cache: Add ASync Protections 6 years ago
Fernando Sahmkow 1bbc9debfb Remove Framebuffer reconfiguration and restrict rendertarget protection 6 years ago
Fernando Sahmkow 5192521dc3 texture_cache: Implement GPU Dirty Flags 6 years ago
Fernando Sahmkow 94f2be5473 texture_cache: Optimize GetMipBlockHeight and GetMipBlockDepth 6 years ago
Fernando Sahmkow a4a58be2d4 texture_cache: Implement L1_Inner_cache 6 years ago
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).
6 years ago