summaryrefslogtreecommitdiffstats
path: root/src/video_core/texture_cache (unfollow)
Commit message (Collapse)AuthorFilesLines
2019-07-19video_core: Resolve -Wreorder warningsLioncash1-3/+2
Ensures that the constructor members are always initialized in the order that they're declared in.
2019-07-17Texture_Cache: Rebase FixesFernando Sahmkow1-6/+0
2019-07-17Maxwell3D: Rework the dirty system to be more consistant and scaleableFernando Sahmkow1-5/+12
2019-07-14Texture_Cache: Address FeedbackFernando Sahmkow3-13/+17
2019-07-14Texture_Cache: Remove some unprecise fallback case and clang formatFernando Sahmkow2-13/+5
2019-07-14Texture_Cache: Force Framebuffer reset if an active render target is unregistered.Fernando Sahmkow3-10/+36
2019-07-14Texture_Cache: Correct Linear Structural Match.Fernando Sahmkow1-3/+6
2019-07-05texture_cache: Address FeedbackFernando Sahmkow1-2/+2
2019-07-05texture_cache: Correct Texture Buffer UploadingFernando Sahmkow1-0/+2
2019-06-30texture_cache: Pack sibling queries inside a methodReinUsesLisp1-6/+8
2019-06-30texture_cache: Use std::vector reservation for sampled_texturesReinUsesLisp1-17/+10
2019-06-30texture_cache: Style changesReinUsesLisp2-8/+4
2019-06-29texture_cache: Use std::array for siblings_tableReinUsesLisp1-10/+13
2019-06-29texture_cache: Address feedbackReinUsesLisp2-11/+12
2019-06-26texture_cache: Correct variable naming.Fernando Sahmkow1-3/+3
2019-06-26texture_cache: Corrections, documentation and assertsFernando Sahmkow1-42/+42
2019-06-26surface_params: Corrections, asserts and documentation.Fernando Sahmkow2-43/+58
2019-06-25copy_params: use constexpr for constructorFernando Sahmkow1-3/+4
2019-06-25texture_cache: Query MemoryManager from the systemFernando Sahmkow1-11/+7
2019-06-24texture_cache: Include "core/core.h"ReinUsesLisp1-4/+1
2019-06-24texture_cache/surface_view: Address feedbackReinUsesLisp1-1/+0
2019-06-24texture_cache/surface_base: Address feedbackReinUsesLisp2-2/+10
2019-06-21texture_cache: Style and CorrectionsFernando Sahmkow3-2/+4
2019-06-21texture_cache: Eliminate linear textures fallthroughFernando Sahmkow1-4/+0
2019-06-21texture_cache: Correct format R16U as siblingFernando Sahmkow2-1/+2
2019-06-21texture_cache: Implement texception detection and texture barriers.Fernando Sahmkow1-5/+32
2019-06-21texture_cache: Corrections to buffers and shadow formats use.Fernando Sahmkow1-10/+34
2019-06-21texture_cache: Implement Irregular Views in surfacesFernando Sahmkow2-4/+24
2019-06-21surface: Correct format S8Z24Fernando Sahmkow1-4/+0
2019-06-21texture_cache: Initialize all siblings to invalid pixel format.Fernando Sahmkow1-6/+15
2019-06-21decoders: correct block calculationFernando Sahmkow1-0/+16
2019-06-21texture_cache: Use siblings textures on Rebuild and fix possible error on blittingFernando Sahmkow1-10/+23
2019-06-21texture_cache: Implement siblings texture formats.Fernando Sahmkow2-12/+31
2019-06-21texture_cache: correct texture buffer on surface paramsFernando Sahmkow1-4/+11
2019-06-21texture_cache: eliminate accelerated depth->color/color->depth copies due to driver instability.Fernando Sahmkow1-8/+1
2019-06-21texture_cache: correct mutex locksFernando Sahmkow1-4/+4
2019-06-21texture_cache: Don't Image Copy if component types differFernando Sahmkow1-1/+2
2019-06-21texture_cache: move some large methods to cpp filesFernando Sahmkow4-139/+135
2019-06-21texture_cache: Optimize GetSurface and use references on functions that don't change a surface.Fernando Sahmkow1-6/+6
2019-06-21texture_cache: Implement Buffer Copy and detect Turing GPUs Image CopiesFernando Sahmkow1-9/+31
2019-06-21texture_cache uncompress-compress is untopological.Fernando Sahmkow4-14/+48
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-21texture_cache: Correct copying between compressed and uncompressed formatsFernando Sahmkow3-10/+27
2019-06-21texture_cache: Only load on recycle with accurate GPU.Fernando Sahmkow1-2/+3
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-21Fix rebase errorsFernando Sahmkow1-0/+4
2019-06-21texture_cache: Handle uncontinuous surfaces.Fernando Sahmkow3-19/+79
2019-06-21texture_cache: return null surface on invalid addressFernando Sahmkow1-0/+12
2019-06-21texture_cache: Add checks for texture buffers.Fernando Sahmkow1-2/+16
2019-06-21texture_cache: Fermi2D reform and implement View MirageFernando Sahmkow3-20/+49
This also does some fixes on compressed textures reinterpret and on the Fermi2D engine in general.
2019-06-21texture_cache: loose TryReconstructSurface when accurate GPU is not on.Fernando Sahmkow2-3/+19
Also corrects some asserts.
2019-06-21texture_cache: Document the most important methods.Fernando Sahmkow1-8/+87
2019-06-21texture_cache: Try to Reconstruct Surface on bigger than overlap.Fernando Sahmkow1-4/+11
This fixes clouds in SMO Cap Kingdom and lens on Cloud Kingdom. Also moved accurate_gpu setting check to Pick Strategy
2019-06-21texture_cache: Implement Guard mechanismFernando Sahmkow1-1/+8
2019-06-21texture_cache: General FixesFernando Sahmkow4-33/+68
Fixed ASTC mipmaps loading Fixed alignment on openGL upload/download Fixed Block Height Calculation Removed unalign_height
2019-06-21surface_params: Ensure pitch is always written to avoid surface leaksReinUsesLisp1-0/+2
2019-06-21gl_framebuffer_cache: Use a hashed struct to cache framebuffersReinUsesLisp1-1/+1
2019-06-21texture_cache return invalid buffer on deactivated color_maskFernando Sahmkow1-0/+5
2019-06-21surface_params: Optimize CreateForTextureReinUsesLisp1-2/+4
Instead of using Common::AlignUp, use Common::AlignBits to align the texture compression factor.
2019-06-21texture_cache: Add ASync ProtectionsFernando Sahmkow1-0/+10
2019-06-21Remove Framebuffer reconfiguration and restrict rendertarget protectionFernando Sahmkow2-26/+19
2019-06-21texture_cache: Implement GPU Dirty FlagsFernando Sahmkow1-15/+22
2019-06-21texture_cache: Optimize GetMipBlockHeight and GetMipBlockDepthFernando Sahmkow1-13/+6
2019-06-21texture_cache: Implement L1_Inner_cacheFernando Sahmkow1-13/+30
2019-06-21video_core: Use un-shifted block sizes to avoid integer divisionsReinUsesLisp4-24/+28
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-21texture_cache: Change internal cache from lists to vectorsReinUsesLisp1-6/+7
2019-06-21Reduce amount of size calculations.Fernando Sahmkow5-86/+85
2019-06-21texture_cache: Correct premature texceptionsFernando Sahmkow2-7/+36
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-21texture_cache: Implement guest flushingFernando Sahmkow2-8/+25
2019-06-21Fixes to mipmap's process and reconstruct processFernando Sahmkow2-3/+3
2019-06-21surface_base: Add parenthesis to EmplaceOverview's predicateReinUsesLisp1-3/+2
2019-06-21Texture Cache: Implement Blitting and Fermi CopiesFernando Sahmkow1-4/+15
2019-06-21surface_view: Add constructor for ViewParamsReinUsesLisp2-28/+19
2019-06-21surface_base: Split BreakDown into layered and non-layered variantsReinUsesLisp1-45/+48
2019-06-21surface_base: Silence truncation warnings and minor renames and reorderingReinUsesLisp2-32/+37
2019-06-21copy_params: Use constructor instead of C-like initializationReinUsesLisp3-47/+39
2019-06-21Correct Mipmaps View method in Texture CacheFernando Sahmkow1-3/+2
2019-06-21Change texture_cache chaching from GPUAddr to CacheAddrFernando Sahmkow3-78/+59
This also reverses the changes to make invalidation and flushing through the GPU address.
2019-06-21Corrections to Structural MatchingFernando Sahmkow2-24/+53
The texture will now be reconstructed if the width only matches on GoB alignment.
2019-06-21Implement Texture Cache V2Fernando Sahmkow1-88/+366
2019-06-21Correct Surface Base and Views for new Texture CacheFernando Sahmkow7-380/+466
2019-06-21texture_cache: Remove execution context copies from the texture cacheReinUsesLisp4-151/+41
This is done to simplify the OpenGL implementation, it is needed for Vulkan.
2019-06-21texture_cache: Split texture cache into different filesReinUsesLisp8-0/+1364