aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/texture_cache
AgeCommit message (Collapse)Author
2019-06-20texture_cache: Style and CorrectionsFernando Sahmkow
2019-06-20texture_cache: Eliminate linear textures fallthroughFernando Sahmkow
2019-06-20texture_cache: Correct format R16U as siblingFernando Sahmkow
2019-06-20texture_cache: Implement texception detection and texture barriers.Fernando Sahmkow
2019-06-20texture_cache: Corrections to buffers and shadow formats use.Fernando Sahmkow
2019-06-20texture_cache: Implement Irregular Views in surfacesFernando Sahmkow
2019-06-20surface: Correct format S8Z24Fernando Sahmkow
2019-06-20texture_cache: Initialize all siblings to invalid pixel format.Fernando Sahmkow
2019-06-20decoders: correct block calculationFernando Sahmkow
2019-06-20texture_cache: Use siblings textures on Rebuild and fix possible error on ↵Fernando Sahmkow
blitting
2019-06-20texture_cache: Implement siblings texture formats.Fernando Sahmkow
2019-06-20texture_cache: correct texture buffer on surface paramsFernando Sahmkow
2019-06-20texture_cache: eliminate accelerated depth->color/color->depth copies due to ↵Fernando Sahmkow
driver instability.
2019-06-20texture_cache: correct mutex locksFernando Sahmkow
2019-06-20texture_cache: Don't Image Copy if component types differFernando Sahmkow
2019-06-20texture_cache: move some large methods to cpp filesFernando Sahmkow
2019-06-20texture_cache: Optimize GetSurface and use references on functions that ↵Fernando Sahmkow
don't change a surface.
2019-06-20texture_cache: Implement Buffer Copy and detect Turing GPUs Image CopiesFernando Sahmkow
2019-06-20texture_cache uncompress-compress is untopological.Fernando Sahmkow
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-20texture_cache: Correct copying between compressed and uncompressed formatsFernando Sahmkow
2019-06-20texture_cache: Only load on recycle with accurate GPU.Fernando Sahmkow
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-20Fix rebase errorsFernando Sahmkow
2019-06-20texture_cache: Handle uncontinuous surfaces.Fernando Sahmkow
2019-06-20texture_cache: return null surface on invalid addressFernando Sahmkow
2019-06-20texture_cache: Add checks for texture buffers.Fernando Sahmkow
2019-06-20texture_cache: Fermi2D reform and implement View MirageFernando Sahmkow
This also does some fixes on compressed textures reinterpret and on the Fermi2D engine in general.
2019-06-20texture_cache: loose TryReconstructSurface when accurate GPU is not on.Fernando Sahmkow
Also corrects some asserts.
2019-06-20texture_cache: Document the most important methods.Fernando Sahmkow
2019-06-20texture_cache: Try to Reconstruct Surface on bigger than overlap.Fernando Sahmkow
This fixes clouds in SMO Cap Kingdom and lens on Cloud Kingdom. Also moved accurate_gpu setting check to Pick Strategy
2019-06-20texture_cache: Implement Guard mechanismFernando Sahmkow
2019-06-20texture_cache: General FixesFernando Sahmkow
Fixed ASTC mipmaps loading Fixed alignment on openGL upload/download Fixed Block Height Calculation Removed unalign_height
2019-06-20surface_params: Ensure pitch is always written to avoid surface leaksReinUsesLisp
2019-06-20gl_framebuffer_cache: Use a hashed struct to cache framebuffersReinUsesLisp
2019-06-20texture_cache return invalid buffer on deactivated color_maskFernando Sahmkow
2019-06-20surface_params: Optimize CreateForTextureReinUsesLisp
Instead of using Common::AlignUp, use Common::AlignBits to align the texture compression factor.
2019-06-20texture_cache: Add ASync ProtectionsFernando Sahmkow
2019-06-20Remove Framebuffer reconfiguration and restrict rendertarget protectionFernando Sahmkow
2019-06-20texture_cache: Implement GPU Dirty FlagsFernando Sahmkow
2019-06-20texture_cache: Optimize GetMipBlockHeight and GetMipBlockDepthFernando Sahmkow
2019-06-20texture_cache: Implement L1_Inner_cacheFernando Sahmkow
2019-06-20video_core: Use un-shifted block sizes to avoid integer divisionsReinUsesLisp
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-20texture_cache: Change internal cache from lists to vectorsReinUsesLisp
2019-06-20Reduce amount of size calculations.Fernando Sahmkow
2019-06-20texture_cache: Correct premature texceptionsFernando Sahmkow
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-20texture_cache: Implement guest flushingFernando Sahmkow
2019-06-20Fixes to mipmap's process and reconstruct processFernando Sahmkow
2019-06-20surface_base: Add parenthesis to EmplaceOverview's predicateReinUsesLisp
2019-06-20Texture Cache: Implement Blitting and Fermi CopiesFernando Sahmkow
2019-06-20surface_view: Add constructor for ViewParamsReinUsesLisp
2019-06-20surface_base: Split BreakDown into layered and non-layered variantsReinUsesLisp