aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/textures/astc.cpp
AgeCommit message (Collapse)Author
2023-05-23textures: add BC1 and BC3 compressors and recompression settingLiam
2023-03-12general: fix spelling mistakesLiam
2023-02-22configuration: Add async ASTC decode settingameerj
2022-11-22general: fix compile for Apple ClangLiam
2022-10-22general: Resolve -Wunused-lambda-capture and C5233Morph
2022-10-03common: remove "yuzu:" prefix from thread namesLiam
2022-09-30Merge pull request #8910 from vonchenplus/astc_decode_errorbunnei
video_core: Modify astc texture decode error fill value
2022-09-16astc: Enable parallel CPU astc decodingMorph
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.
2022-09-15video_core: Modify astc texture decode error fill valueFengChen
2022-04-28chore: add missing SPDX tagsAndrea Pappacoda
Follow-up to 99ceb03a1cfcf35968cab589ea188a8c406cda52
2022-03-20general: Fix clang/gcc build errorsameerj
2021-07-31astc_decoder: Optimize the use EncodingDataameerj
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-07-31astc.h: Move data to cpp implementationameerj
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 warningsMorph
2021-06-19astc_decoder.comp: Remove unnecessary LUT SSBOsameerj
We can move them to instead be compile time constants within the shader.
2021-06-19astc: Various robustness enhancements for the gpu decoderameerj
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-15astc_decoder: Fix LDR CEM1 endpoint calculationameerj
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-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-03-25astc_decoder: Refactor for style and more efficient memory useameerj
2021-01-15astc: Increase integer encoded vector sizeReinUsesLisp
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 bitsReinUsesLisp
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 cacheReinUsesLisp
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 replicateReinUsesLisp
2020-04-09astc: Use boost's static_vector to avoid heap allocationsReinUsesLisp
2020-04-09astc: Implement a fast precompiled alternative for ReplicateReinUsesLisp
2020-04-09astc: Move Replicate to a constexpr LUT when possibleReinUsesLisp
2020-04-09astc: Make InputBitStream constexprReinUsesLisp
2020-04-09astc: OutputBitStream style changes and make it constexprReinUsesLisp
2020-03-18astc: Fix clang build issuesReinUsesLisp
2020-03-14astc: Fix typos from search and replaceReinUsesLisp
2020-03-14astc: Minor changes to InputBitStreamReinUsesLisp
2020-03-14astc: Pass val in Replicate by copyReinUsesLisp
2020-03-14astc: Call std::vector:reserve on decodedClolorValues to avoid reallocatingReinUsesLisp
2020-03-13astc: Call std::vector::reserve on texelWeightValues to avoid reallocatingReinUsesLisp
2020-03-13astc: Create a LUT at compile time for encoding valuesReinUsesLisp
2020-03-13astc: Make IntegerEncodedValue a trivial structureReinUsesLisp
2020-03-13astc: Make IntegerEncodedValue constructor constexprReinUsesLisp
2020-03-13astc: Make IntegerEncodedValue trivially copyableReinUsesLisp
2020-03-13astc: Rename C types to common_typesReinUsesLisp
2020-03-13astc: Move Popcnt to an anonymous namespace and make it constexprReinUsesLisp
2020-03-13astc: Use common types instead of stdint.h integer typesReinUsesLisp
2020-03-13astc: Use 'enum class' instead of 'enum' for EIntegerEncodingReinUsesLisp
2019-11-08video_core: Silence implicit conversion warningsReinUsesLisp
2019-10-27astc: Silence implicit conversion warningsReinUsesLisp
2019-05-09video_core/textures/astc: Remove unused variablesLioncash
Silences a few compilation warnings.
2019-04-30Fix Layered ASTC TexturesFernando Sahmkow
By adding the missing layer offset in ASTC compression.
2019-02-26gl_rasterizer_cache: Move format conversion to its own fileReinUsesLisp
2018-11-01Fix ASTC Decompressor to support depth parameterFernandoS27
2018-07-17astc: Initialize vector size directly in DecompressLioncash
There's no need to perform a separate resize.
2018-07-17astc: Mark functions as internally linked where applicableLioncash