summaryrefslogtreecommitdiffstats
path: root/src/video_core/textures/astc.cpp (unfollow)
Commit message (Collapse)AuthorFilesLines
2021-08-01astc_decoder: Optimize the use EncodingDataameerj1-0/+70
This buffer was a list of EncodingData structures sorted by their bit length, with some duplication from the cpu decoder implementation. We can take advantage of its sorted property to optimize its usage in the shader. Thanks to wwylele for the optimization idea.
2021-08-01astc.h: Move data to cpp implementationameerj1-23/+63
Moves leftover values that are no longer used by the gpu decoder back to the cpp implementation.
2021-06-28video_core: Silence signed/unsigned mismatch warningsMorph1-2/+2
2021-06-19astc_decoder.comp: Remove unnecessary LUT SSBOsameerj1-4/+4
We can move them to instead be compile time constants within the shader.
2021-06-19astc: Various robustness enhancements for the gpu decoderameerj1-0/+2
These changes should help in reducing crashes/drivers panics that may occur due to synchronization issues between the shader completion and later access of the decoded texture.
2021-06-16astc_decoder: Fix LDR CEM1 endpoint calculationameerj1-1/+1
Per the spec, L1 is clamped to the value 0xff if it is greater than 0xff. An oversight caused us to take the maximum of L1 and 0xff, rather than the minimum. Huge thanks to wwylele for finding this. Co-Authored-By: Weiyi Wang <wwylele@gmail.com>
2021-06-16textures: Reintroduce CPU ASTC decoderameerj1-0/+1577
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-03-25astc_decoder: Refactor for style and more efficient memory useameerj1-1710/+0
2021-01-15astc: Increase integer encoded vector sizeReinUsesLisp1-1/+1
Invalid ASTC textures seem to write more bytes here, increase the size to something that can't make us push out of bounds.
2021-01-15astc: Return zero on out of bound bitsReinUsesLisp1-17/+22
Avoid out of bound reads on invalid ASTC textures. Games can bind invalid textures that make us read or write out of bounds.
2020-12-30video_core: Rewrite the texture cacheReinUsesLisp1-30/+28
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.
2020-04-09astc: Hard code bit depth changes to 8 and use fast replicateReinUsesLisp1-21/+15
2020-04-09astc: Use boost's static_vector to avoid heap allocationsReinUsesLisp1-10/+14
2020-04-09astc: Implement a fast precompiled alternative for ReplicateReinUsesLisp1-2/+57
2020-04-09astc: Move Replicate to a constexpr LUT when possibleReinUsesLisp1-8/+38
2020-04-09astc: Make InputBitStream constexprReinUsesLisp1-11/+11
2020-04-09astc: OutputBitStream style changes and make it constexprReinUsesLisp1-32/+26
2020-03-18astc: Fix clang build issuesReinUsesLisp1-12/+12
2020-03-14astc: Fix typos from search and replaceReinUsesLisp1-3/+3
2020-03-14astc: Minor changes to InputBitStreamReinUsesLisp1-28/+34
2020-03-14astc: Pass val in Replicate by copyReinUsesLisp1-1/+1
2020-03-14astc: Call std::vector:reserve on decodedClolorValues to avoid reallocatingReinUsesLisp1-0/+2
2020-03-14astc: Call std::vector::reserve on texelWeightValues to avoid reallocatingReinUsesLisp1-0/+2
2020-03-14astc: Create a LUT at compile time for encoding valuesReinUsesLisp1-7/+19
2020-03-14astc: Make IntegerEncodedValue a trivial structureReinUsesLisp1-212/+177
2020-03-14astc: Make IntegerEncodedValue constructor constexprReinUsesLisp1-5/+6
2020-03-14astc: Make IntegerEncodedValue trivially copyableReinUsesLisp1-9/+2
2020-03-14astc: Rename C types to common_typesReinUsesLisp1-79/+78
2020-03-14astc: Move Popcnt to an anonymous namespace and make it constexprReinUsesLisp1-9/+13
2020-03-14astc: Use common types instead of stdint.h integer typesReinUsesLisp1-284/+282
2020-03-14astc: Use 'enum class' instead of 'enum' for EIntegerEncodingReinUsesLisp1-25/+25
2019-11-08video_core: Silence implicit conversion warningsReinUsesLisp1-35/+38
2019-10-27astc: Silence implicit conversion warningsReinUsesLisp1-7/+8
2019-05-10video_core/textures/astc: Remove unused variablesLioncash1-6/+2
Silences a few compilation warnings.
2019-05-01Fix Layered ASTC TexturesFernando Sahmkow1-1/+3
By adding the missing layer offset in ASTC compression.
2019-02-27gl_rasterizer_cache: Move format conversion to its own fileReinUsesLisp1-32/+48
2018-11-02Fix ASTC Decompressor to support depth parameterFernandoS271-15/+17
2018-07-18astc: Initialize vector size directly in DecompressLioncash1-2/+1
There's no need to perform a separate resize.
2018-07-18astc: Mark functions as internally linked where applicableLioncash1-17/+20
2018-07-18astc: const-correctness changes where applicableLioncash1-14/+13
A few member functions didn't actually modify class state, so these can be amended as necessary.
2018-07-18astc: Delete Bits' copy contstructor and assignment operatorLioncash1-8/+6
This also potentially avoids warnings, considering the copy assignment operator is supposed to have a return value.
2018-07-18astc: In-class initialize member variables where appropriateLioncash1-39/+22
2018-06-18gl_rasterizer: Implement texture format ASTC_2D_4X4.bunnei1-0/+1646