summaryrefslogtreecommitdiffstats
path: root/src/video_core/texture_cache/util.cpp (unfollow)
Commit message (Collapse)AuthorFilesLines
2021-06-16Reaper: Tune it up to be an smart GC.Fernando Sahmkow1-0/+2
2021-06-16textures: Reintroduce CPU ASTC decoderameerj1-2/+11
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-10Fix GCC undefined behavior sanitizer.Markus Wick1-0/+3
* 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-04-19texture_cache/util: Fix src being used instead of dst within DeduceBlitImagesLioncash1-1/+1
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-12texure_cache/util: Resolve implicit sign conversions with std::reduceLioncash1-9/+12
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 useameerj1-12/+2
2021-03-04texture_cache: Blacklist BGRA8 copies and views on OpenGLameerj1-6/+7
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.
2021-02-09texture_cache/util: Remove unused functionsLioncash1-34/+0
Silences a few warnings on clang 12.
2021-01-24video_core: Silence -Wmissing-field-initializers warningsReinUsesLisp1-24/+35
2021-01-17texture_cache/util: Resolve -Wsign-compare warningLioncash1-1/+1
Resolves a -Wsign-compare warning on Clang.
2021-01-15common/alignment: Rename AlignBits to AlignUpLog2ReinUsesLisp1-5/+5
AlignUpLog2 describes what the function does better than AlignBits.
2021-01-04gl_texture_cache: Avoid format views on Intel and AMDReinUsesLisp1-6/+7
Intel and AMD proprietary drivers are incapable of rendering to texture views of different formats than the original texture. Avoid creating these at a cache level. This will consume more memory, emulating them with copies.
2020-12-30video_core: Rewrite the texture cacheReinUsesLisp1-0/+1232
The current texture cache has several points that hurt maintainability and performance. It's easy to break unrelated parts of the cache when doing minor changes. The cache can easily forget valuable information about the cached textures by CPU writes or simply by its normal usage.The current texture cache has several points that hurt maintainability and performance. It's easy to break unrelated parts of the cache when doing minor changes. The cache can easily forget valuable information about the cached textures by CPU writes or simply by its normal usage. This commit aims to address those issues.