summaryrefslogtreecommitdiffstats
path: root/src/video_core/texture_cache/texture_cache.h (unfollow)
Commit message (Collapse)AuthorFilesLines
2019-06-21texture_cache: Implement GPU Dirty FlagsFernando Sahmkow1-15/+22
2019-06-21texture_cache: Implement L1_Inner_cacheFernando Sahmkow1-13/+30
2019-06-21video_core: Use un-shifted block sizes to avoid integer divisionsReinUsesLisp1-0/+3
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 Sahmkow1-20/+20
2019-06-21texture_cache: Correct premature texceptionsFernando Sahmkow1-4/+22
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 Sahmkow1-0/+14
2019-06-21Fixes to mipmap's process and reconstruct processFernando Sahmkow1-1/+1
2019-06-21Texture Cache: Implement Blitting and Fermi CopiesFernando Sahmkow1-4/+15
2019-06-21copy_params: Use constructor instead of C-like initializationReinUsesLisp1-14/+9
2019-06-21Change texture_cache chaching from GPUAddr to CacheAddrFernando Sahmkow1-61/+41
This also reverses the changes to make invalidation and flushing through the GPU address.
2019-06-21Corrections to Structural MatchingFernando Sahmkow1-3/+8
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-21texture_cache: Remove execution context copies from the texture cacheReinUsesLisp1-49/+34
This is done to simplify the OpenGL implementation, it is needed for Vulkan.
2019-06-21texture_cache: Split texture cache into different filesReinUsesLisp1-0/+282