Commit Graph

12301 Commits (d3ea2df06da66b2b5e3d7b968381d8ce9bf675b0)
 

Author SHA1 Message Date
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
ReinUsesLisp 28d7c2f5a5 texture_cache: Change internal cache from lists to vectors 6 years ago
Fernando Sahmkow b347543e83 Reduce amount of size calculations. 6 years ago
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.
6 years ago
Fernando Sahmkow ba677ccb5a texture_cache: Implement guest flushing 6 years ago
Fernando Sahmkow de0b1cb2b2 Fixes to mipmap's process and reconstruct process 6 years ago
ReinUsesLisp e0002599ac surface_base: Add parenthesis to EmplaceOverview's predicate 6 years ago
Fernando Sahmkow 324e470879 Texture Cache: Implement Blitting and Fermi Copies 6 years ago
ReinUsesLisp 549fd18ac4 surface_view: Add constructor for ViewParams 6 years ago
ReinUsesLisp 16e8625a30 surface_base: Split BreakDown into layered and non-layered variants 6 years ago
ReinUsesLisp 2b30000a1e surface_base: Silence truncation warnings and minor renames and reordering 6 years ago
ReinUsesLisp 03d10ea3b4 copy_params: Use constructor instead of C-like initialization 6 years ago
Fernando Sahmkow 1af4414861 Correct Mipmaps View method in Texture Cache 6 years ago
Fernando Sahmkow d86f9cd709 Change texture_cache chaching from GPUAddr to CacheAddr
This also reverses the changes to make invalidation and flushing through
the GPU address.
6 years ago
Fernando Sahmkow b711cdce78 Corrections to Structural Matching
The texture will now be reconstructed if the width only matches on GoB 
alignment.
6 years ago
Fernando Sahmkow bc930754cc Implement Texture Cache V2 6 years ago
Fernando Sahmkow 3d471e732d Correct Surface Base and Views for new Texture Cache 6 years ago
Fernando Sahmkow 3b26206dbd Add OGLTextureView 6 years ago
Fernando Sahmkow 6b0695b3cd Deglobalize Memory Manager on texture cahe and Implement Invalidation and Flushing using GPUVAddr 6 years ago
ReinUsesLisp 6c410104f4 texture_cache: Remove execution context copies from the texture cache
This is done to simplify the OpenGL implementation, it is needed for
Vulkan.
6 years ago
ReinUsesLisp fa59a7b4d8 gl_texture_cache: Implement fermi copies 6 years ago
ReinUsesLisp 1b4503c571 texture_cache: Split texture cache into different files 6 years ago
ReinUsesLisp 5f3aacdc37 texture_cache: Move staging buffer into a generic implementation 6 years ago
ReinUsesLisp 2787a0c287 texture_cache: Flush 3D textures in the order they are drawn 6 years ago
ReinUsesLisp 4b396f375c gl_texture_cache: Minor changes 6 years ago
ReinUsesLisp 0cefb7bcb4 gl_texture_cache: Add copy from multiple overlaps into a single surface 6 years ago