aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/host_shaders/astc_decoder.comp
AgeCommit message (Collapse)Author
2024-01-07Fix typos in video_coreViktor Szépe
2023-08-09flatten color_valuesAmeer J
2023-08-09flatten encoding_valuesAmeer J
2023-08-09flatten result vectorAmeer J
2023-08-09GetUnquantizedWeightVectorAmeer J
2023-08-06Compute ReplicateAmeer J
2023-08-06minorAmeer J
2023-08-06undo uintAmeer J
2023-08-06Revert "vulkan dims specialization"Ameer J
This reverts commit e6243058f2269bd79ac8479d58e55feec2611e9d.
2023-08-06vulkan dims specializationameerj
2023-08-06small_block optAmeer J
2023-08-06remove TexelWeightParamsAmeer J
2023-08-06error/void extent funcsAmeer J
2023-08-06more packingAmeer J
2023-08-06Revert "uint result index"Ameer J
This reverts commit 0e978786b5a8e7382005d8b1e16cfa12f3eeb775.
2023-08-06Revert "bfe instead of mod"Ameer J
This reverts commit 86006a3b09e8a8c17d2ade61be76736a79e3f58a.
2023-08-06Revert "global endpoints"Ameer J
This reverts commit d8f5bfd1df2b7469ef6abcee182aa110602d1751.
2023-08-06global endpointsAmeer J
2023-08-06bfe instead of modAmeer J
2023-08-06uint result indexAmeer J
2023-08-06amd optsAmeer J
2023-08-06const, pack result_vector and replicate tables,Ameer J
undo amd opts
2023-08-06minor redundancy cleanupAmeer J
2023-08-06extractbits robustnessAmeer J
2023-08-06reuse vectors memoryAmeer J
2023-08-06EncodingData packAmeer J
2023-08-06flatteningAmeer J
2023-08-06weights refactorAmeer J
2023-08-06params.max_weightAmeer J
2023-08-06skip bitsAmeer J
2023-08-06restrictAmeer J
2023-03-12general: fix spelling mistakesLiam
2022-09-15video_core: Modify astc texture decode error fill valueFengChen
2022-04-23general: Convert source file copyright comments over to SPDXMorph
This formats all copyright comments according to SPDX formatting guidelines. Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
2022-01-16astc_decoder: Combine FastReplicate functions to work around new NV driver bugameerj
The new Nvidia drivers have a bug where the FastReplicateTo6 function produces a lookup into the REPLICATE_TO_8 table rather than the REPLICATE_TO_6 table. This seems to be an optimization gone wrong. Combining the logic of the FastReplicate functions seems to address the bug.
2021-08-01astc_decoder: Reduce workgroup sizeameerj
This reduces the amount of over dispatching when there are odd dimensions (i.e. ASTC 8x5), which rarely evenly divide into 32x32.
2021-08-01astc_decoder: Compute offset swizzles in-shaderameerj
Alleviates the dependency on the swizzle table and a uniform which is constant for all ASTC texture sizes.
2021-07-31astc_decoder: Make use of uvec4 for payload dataameerj
2021-07-31astc_decoder: Simplify Select2DPartitionameerj
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-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-03-25astc_decoder: Refactor for style and more efficient memory useameerj
2021-03-13astc_decoder: Reimplement LayersRodrigo Locatti
Reimplements the approach to decoding layers in the compute shader. Fixes multilayer astc decoding when using Vulkan.
2021-03-13astc_decoder: Fix out of bounds memory accessameerj
resolves a crash with some anamolous textures found in Astral Chain.
2021-03-13renderer_vulkan: Accelerate ASTC decodingameerj
Co-Authored-By: Rodrigo Locatti <reinuseslisp@airmail.cc>
2021-03-13renderer_opengl: Accelerate ASTC texture decoding with a compute shaderameerj
ASTC texture decoding is currently handled by a CPU decoder for GPU's without native ASTC decoding support (most desktop GPUs). This is the cause for noticeable performance degradation in titles which use the format extensively. This commit adds support to accelerate ASTC decoding using a compute shader on OpenGL for GPUs without native support.