summaryrefslogtreecommitdiffstats
path: root/src/video_core/textures/astc.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* common: remove "yuzu:" prefix from thread namesLiam2022-10-041-1/+1
|
* Merge pull request #8910 from vonchenplus/astc_decode_errorbunnei2022-10-011-1/+1
|\ | | | | video_core: Modify astc texture decode error fill value
| * video_core: Modify astc texture decode error fill valueFengChen2022-09-151-1/+1
| |
* | astc: Enable parallel CPU astc decodingMorph2022-09-161-21/+35
|/ | | | | Given the issues with GPU accelerated ASTC decoding with NVIDIA's latest drivers, parallelize astc decoding on the CPU. Uses half the available threads in the system for astc decoding.
* chore: add missing SPDX tagsAndrea Pappacoda2022-04-281-14/+3
| | | | Follow-up to 99ceb03a1cfcf35968cab589ea188a8c406cda52
* general: Fix clang/gcc build errorsameerj2022-03-201-0/+1
|
* astc_decoder: Optimize the use EncodingDataameerj2021-08-011-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.
* astc.h: Move data to cpp implementationameerj2021-08-011-23/+63
| | | | Moves leftover values that are no longer used by the gpu decoder back to the cpp implementation.
* video_core: Silence signed/unsigned mismatch warningsMorph2021-06-281-2/+2
|
* astc_decoder.comp: Remove unnecessary LUT SSBOsameerj2021-06-191-4/+4
| | | | We can move them to instead be compile time constants within the shader.
* astc: Various robustness enhancements for the gpu decoderameerj2021-06-191-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.
* astc_decoder: Fix LDR CEM1 endpoint calculationameerj2021-06-161-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>
* textures: Reintroduce CPU ASTC decoderameerj2021-06-161-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.
* astc_decoder: Refactor for style and more efficient memory useameerj2021-03-251-1710/+0
|
* astc: Increase integer encoded vector sizeReinUsesLisp2021-01-151-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.
* astc: Return zero on out of bound bitsReinUsesLisp2021-01-151-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.
* video_core: Rewrite the texture cacheReinUsesLisp2020-12-301-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.
* astc: Hard code bit depth changes to 8 and use fast replicateReinUsesLisp2020-04-091-21/+15
|
* astc: Use boost's static_vector to avoid heap allocationsReinUsesLisp2020-04-091-10/+14
|
* astc: Implement a fast precompiled alternative for ReplicateReinUsesLisp2020-04-091-2/+57
|
* astc: Move Replicate to a constexpr LUT when possibleReinUsesLisp2020-04-091-8/+38
|
* astc: Make InputBitStream constexprReinUsesLisp2020-04-091-11/+11
|
* astc: OutputBitStream style changes and make it constexprReinUsesLisp2020-04-091-32/+26
|
* astc: Fix clang build issuesReinUsesLisp2020-03-181-12/+12
|
* astc: Fix typos from search and replaceReinUsesLisp2020-03-141-3/+3
|
* astc: Minor changes to InputBitStreamReinUsesLisp2020-03-141-28/+34
|
* astc: Pass val in Replicate by copyReinUsesLisp2020-03-141-1/+1
|
* astc: Call std::vector:reserve on decodedClolorValues to avoid reallocatingReinUsesLisp2020-03-141-0/+2
|
* astc: Call std::vector::reserve on texelWeightValues to avoid reallocatingReinUsesLisp2020-03-141-0/+2
|
* astc: Create a LUT at compile time for encoding valuesReinUsesLisp2020-03-141-7/+19
|
* astc: Make IntegerEncodedValue a trivial structureReinUsesLisp2020-03-141-212/+177
|
* astc: Make IntegerEncodedValue constructor constexprReinUsesLisp2020-03-141-5/+6
|
* astc: Make IntegerEncodedValue trivially copyableReinUsesLisp2020-03-141-9/+2
|
* astc: Rename C types to common_typesReinUsesLisp2020-03-141-79/+78
|
* astc: Move Popcnt to an anonymous namespace and make it constexprReinUsesLisp2020-03-141-9/+13
|
* astc: Use common types instead of stdint.h integer typesReinUsesLisp2020-03-141-284/+282
|
* astc: Use 'enum class' instead of 'enum' for EIntegerEncodingReinUsesLisp2020-03-141-25/+25
|
* video_core: Silence implicit conversion warningsReinUsesLisp2019-11-081-35/+38
|
* astc: Silence implicit conversion warningsReinUsesLisp2019-10-271-7/+8
|
* video_core/textures/astc: Remove unused variablesLioncash2019-05-101-6/+2
| | | | Silences a few compilation warnings.
* Fix Layered ASTC TexturesFernando Sahmkow2019-05-011-1/+3
| | | | By adding the missing layer offset in ASTC compression.
* gl_rasterizer_cache: Move format conversion to its own fileReinUsesLisp2019-02-271-32/+48
|
* Fix ASTC Decompressor to support depth parameterFernandoS272018-11-021-15/+17
|
* astc: Initialize vector size directly in DecompressLioncash2018-07-181-2/+1
| | | | There's no need to perform a separate resize.
* astc: Mark functions as internally linked where applicableLioncash2018-07-181-17/+20
|
* astc: const-correctness changes where applicableLioncash2018-07-181-14/+13
| | | | | A few member functions didn't actually modify class state, so these can be amended as necessary.
* astc: Delete Bits' copy contstructor and assignment operatorLioncash2018-07-181-8/+6
| | | | | This also potentially avoids warnings, considering the copy assignment operator is supposed to have a return value.
* astc: In-class initialize member variables where appropriateLioncash2018-07-181-39/+22
|
* gl_rasterizer: Implement texture format ASTC_2D_4X4.bunnei2018-06-181-0/+1646