summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
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-20gl_shader_decompiler: Implement image binding settingsReinUsesLisp
2019-06-20shader: Implement bindless imagesReinUsesLisp
2019-06-20shader: Decode SUST and implement backing image functionalityReinUsesLisp
2019-06-20gl_rasterizer: Track texture buffer usageReinUsesLisp
2019-06-20video_core: Make ARB_buffer_storage a required extensionReinUsesLisp
2019-06-20gl_rasterizer_cache: Use texture buffers to emulate texture buffersReinUsesLisp
2019-06-20maxwell_3d: Partially implement texture buffers as 1D texturesReinUsesLisp
2019-06-20gl_shader_decompiler: Allow 1D textures to be texture buffersReinUsesLisp
2019-06-20shader: Implement texture buffersReinUsesLisp
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-20engine_upload: Addapt to new Texture CacheFernando Sahmkow
2019-06-20surface_params: Optimize CreateForTextureReinUsesLisp
Instead of using Common::AlignUp, use Common::AlignBits to align the texture compression factor.
2019-06-20gl_texture_cache: Make main views be proxy textures instead of a full view.Fernando Sahmkow
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
2019-06-20surface_base: Silence truncation warnings and minor renames and reorderingReinUsesLisp
2019-06-20copy_params: Use constructor instead of C-like initializationReinUsesLisp
2019-06-20Correct Mipmaps View method in Texture CacheFernando Sahmkow
2019-06-20Change texture_cache chaching from GPUAddr to CacheAddrFernando Sahmkow
This also reverses the changes to make invalidation and flushing through the GPU address.
2019-06-20Corrections to Structural MatchingFernando Sahmkow
The texture will now be reconstructed if the width only matches on GoB alignment.
2019-06-20Implement Texture Cache V2Fernando Sahmkow
2019-06-20Correct Surface Base and Views for new Texture CacheFernando Sahmkow
2019-06-20Add OGLTextureViewFernando Sahmkow
2019-06-20Deglobalize Memory Manager on texture cahe and Implement Invalidation and ↵Fernando Sahmkow
Flushing using GPUVAddr
2019-06-20texture_cache: Remove execution context copies from the texture cacheReinUsesLisp
This is done to simplify the OpenGL implementation, it is needed for Vulkan.
2019-06-20gl_texture_cache: Implement fermi copiesReinUsesLisp
2019-06-20texture_cache: Split texture cache into different filesReinUsesLisp
2019-06-20texture_cache: Move staging buffer into a generic implementationReinUsesLisp
2019-06-20texture_cache: Flush 3D textures in the order they are drawnReinUsesLisp