aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/texture_cache
AgeCommit message (Collapse)Author
2021-09-11slot_vector: Add missing <algorithm> includeMorph
2021-08-29Garbage Collection: Make it more agressive on high priority mode.Fernando Sahmkow
2021-08-29Garbage Collection: Adress Feedback.Fernando Sahmkow
2021-08-28Garbage Collection: enable as default, eliminate option.Fernando Sahmkow
2021-08-28VideoCore: Rework Garbage Collection.Fernando Sahmkow
2021-08-08texture_cache: Address ameerj's reviewyzct12345
2021-08-07texture_cache: Address ameerj's reviewyzct12345
2021-08-05texture_cache: Don't change copyright yearyzct12345
2021-08-05texture_cache: Address ameerj's reviewyzct12345
2021-08-05texture_cache: Split templates outyzct12345
2021-07-27render_target: Add missing initializer for size extentLioncash
Everything else has a default constructor that does the straightforward thing of initializing most members to a default value, except for the size. We explicitly initialize the size (and others, for consistency), to prevent potential uninitialized reads from occurring. Particularly given the largeish surface area that this struct is used in.
2021-07-22texture_cache: Reduce invalid image/sampler error severityReinUsesLisp
2021-07-22shader: Initial OpenGL implementationReinUsesLisp
2021-07-22shader: Implement SULD and SUSTReinUsesLisp
2021-07-22shader: Interact texture buffers with buffer cacheReinUsesLisp
2021-07-19Merge pull request #6670 from ReinUsesLisp/prepare-rtFernando S
texture_cache: Always prepare image views on render targets
2021-07-18texture_cache/util: Fix size calculations of multisampled imagesReinUsesLisp
On the texture cache we handle multisampled images by keeping their real size in samples (e.g. 1920x1080 with 4 samples is 3840x2160). This works nicely with size matches and other comparisons, but the calculation for guest sizes was not having this in mind, and the size was being multiplied (again) by the number of samples per dimension. For example a 3840x2160 texture cache image had its width and height multiplied by 2, resulting in a much larger texture. Fix this issue. - Fixes performance regression on cooking related titles when an unrelated bug was fixed.
2021-07-18texture_cache: Always prepare image views on render targetsReinUsesLisp
Images used as render targets were not being "prepared", causing desynchronizations on the texture cache. Needs #6669 to avoid performance regressions on certain cooking titles. - Fixes black shadows on Age of Calamity.
2021-07-09Buffer Cache: Fix High Downloads and don't predownload on Extreme.Fernando Sahmkow
2021-07-08Out of bound blit (#6531)Feng Chen
* Fix out of bound blit error * Fix code read * Fix ci error Co-authored-by: Feng Chen <chen.feng@gloritysolutions.com>
2021-07-06Merge pull request #6497 from FernandoS27/scotty-doesnt-knowbunnei
GPU Memory Manager - Correct handling of non continuous backing memory.
2021-07-05Merge pull request #6537 from Morph1984/warningsbunnei
general: Enforce multiple warnings in MSVC
2021-07-04Texture Cache: Fix collision with multiple overlaps of the same sparse texture.Fernando Sahmkow
2021-07-04Texture Cache: Fix GCC & Clang.Fernando Sahmkow
2021-07-04Texture Cache: Address feedback.Fernando Sahmkow
2021-07-04Texture Cache: Improve accuracy of sparse texture detection.Fernando Sahmkow
2021-07-04Texture Cache: Initial Implementation of Sparse Textures.Fernando Sahmkow
2021-07-03TextureCache: Fix 1D to 2D overlapps.Fernando Sahmkow
2021-06-28video_core: Silence signed/unsigned mismatch warningsMorph
2021-06-26buffer_cache/texture_cache: Make GC functions privateReinUsesLisp
2021-06-24common: Replace common_sizes into user-literalsWunkolo
Removes common_sizes.h in favor of having `_KiB`, `_MiB`, `_GiB`, etc user-literals within literals.h. To keep the global namespace clean, users will have to use: ``` using namespace Common::Literals; ``` to access these literals.
2021-06-23Merge pull request #6465 from FernandoS27/sex-on-the-beachMai M
GPU: Implement a garbage collector for GPU Caches (project Reaper+)
2021-06-22Reaper: Set minimum cleaning limit on OGL.Fernando Sahmkow
2021-06-20Reaper: Guarantee correct deletion.Fernando Sahmkow
2021-06-16Merge pull request #6469 from ReinUsesLisp/blit-view-compatAmeer J
texture_cache/util: Avoid relaxed image views on different bytes per block
2021-06-17Reaper: Change memory restrictions on TC depending on host memory on VK.Fernando Sahmkow
2021-06-16Reaper: Address Feedback.Fernando Sahmkow
2021-06-16Reaper: Setup settings and final tuning.Fernando Sahmkow
2021-06-16Reaper: Tune it up to be an smart GC.Fernando Sahmkow
2021-06-16Initial Reaper SetupReinUsesLisp
WIP
2021-06-15textures: Reintroduce CPU ASTC decoderameerj
Users may want to fall back to the CPU ASTC texture decoder due to hangs and crashes that may be caused by keeping the GPU under compute heavy loads for extended periods of time. This is especially the case in games such as Astral Chain which make extensive use of ASTC textures.
2021-06-14texture_cache/util: Avoid relaxed image views on different bytes per pixelReinUsesLisp
Avoids API usage errors on UE4 titles leading to crashes.
2021-06-10Fix GCC undefined behavior sanitizer.Markus Wick
* Wrong alignment in u64 LOG_DEBUG -> memcpy. * Huge shift exponent in stride calculation for linear buffer, unused result -> skipped. * Large shift in buffer cache if word = 0, skip checking for set bits. Non of those were critical, so this should not change any behavior. At least with the assumption, that the last one used masking behavior, which always yield continuous_bits = 0.
2021-05-07texture_cache: Handle out of bound texture blitsameerj
Some games interleave a texture blit using regions which are out-of-bounds. This addresses the interleaving to avoid oob reads from the src texture.
2021-04-19texture_cache/util: Fix src being used instead of dst within DeduceBlitImagesLioncash
This line can only ever be reached if src is null, so dereferencing it here is a logic bug that slipped through. Instead, we dereference dst instead which is guaranteed to be valid.
2021-04-14common: Move settings to common from core.bunnei
- Removes a dependency on core and input_common from common.
2021-04-12texure_cache/util: Resolve implicit sign conversions with std::reduceLioncash
Amends implicit sign conversions occurring with usages of std::reduce and also relocates it to its own utility function to reduce verbosity a little bit.
2021-03-25astc_decoder: Refactor for style and more efficient memory useameerj
2021-03-13renderer_vulkan: Accelerate ASTC decodingameerj
Co-Authored-By: Rodrigo Locatti <reinuseslisp@airmail.cc>
2021-03-04texture_cache: Blacklist BGRA8 copies and views on OpenGLameerj
In order to force the BGRA8 conversion on Nvidia using OpenGL, we need to forbid texture copies and views with other formats. This commit also adds a boolean relating to this, as this needs to be done only for the OpenGL api, Vulkan must remain unchanged.