Morph
2986e26179
video_core: Silence signed/unsigned mismatch warnings
5 years ago
ameerj
79621cca95
astc_decoder.comp: Remove unnecessary LUT SSBOs
We can move them to instead be compile time constants within the shader.
5 years ago
ameerj
fe7d3006f5
astc: Various robustness enhancements for the gpu decoder
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.
5 years ago
ameerj
13b046aae1
astc_decoder: Fix LDR CEM1 endpoint calculation
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>
5 years ago
ameerj
e5da434498
textures: Reintroduce CPU ASTC decoder
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.
5 years ago
ameerj
e0977af861
astc_decoder: Refactor for style and more efficient memory use
5 years ago
ReinUsesLisp
c0c51e4be0
astc: Increase integer encoded vector size
Invalid ASTC textures seem to write more bytes here, increase
the size to something that can't make us push out of bounds.
5 years ago
ReinUsesLisp
185c16d893
astc: Return zero on out of bound bits
Avoid out of bound reads on invalid ASTC textures.
Games can bind invalid textures that make us read or write out of bounds.
5 years ago
ReinUsesLisp
d25b097e84
video_core: Rewrite the texture cache
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.
5 years ago
ReinUsesLisp
cc5d2bc965
astc: Hard code bit depth changes to 8 and use fast replicate
6 years ago
ReinUsesLisp
ac81541a37
astc: Use boost's static_vector to avoid heap allocations
6 years ago
ReinUsesLisp
a648629d8a
astc: Implement a fast precompiled alternative for Replicate
6 years ago
ReinUsesLisp
10d59444d9
astc: Move Replicate to a constexpr LUT when possible
6 years ago
ReinUsesLisp
14ea2ced5b
astc: Make InputBitStream constexpr
6 years ago
ReinUsesLisp
2f105bd298
astc: OutputBitStream style changes and make it constexpr
6 years ago
ReinUsesLisp
dc0beee3a1
astc: Fix clang build issues
6 years ago
ReinUsesLisp
5c892bc5fd
astc: Fix typos from search and replace
6 years ago
ReinUsesLisp
932c96f2b0
astc: Minor changes to InputBitStream
6 years ago
ReinUsesLisp
c96749415c
astc: Pass val in Replicate by copy
6 years ago
ReinUsesLisp
83bdac46d1
astc: Call std::vector:reserve on decodedClolorValues to avoid reallocating
6 years ago
ReinUsesLisp
8412a20f00
astc: Call std::vector::reserve on texelWeightValues to avoid reallocating
6 years ago
ReinUsesLisp
fdbedfa8ef
astc: Create a LUT at compile time for encoding values
6 years ago
ReinUsesLisp
bac05076fd
astc: Make IntegerEncodedValue a trivial structure
6 years ago
ReinUsesLisp
ddd428097d
astc: Make IntegerEncodedValue constructor constexpr
6 years ago
ReinUsesLisp
9aad3e84f0
astc: Make IntegerEncodedValue trivially copyable
6 years ago
ReinUsesLisp
0672618026
astc: Rename C types to common_types
6 years ago
ReinUsesLisp
a3969886ca
astc: Move Popcnt to an anonymous namespace and make it constexpr
6 years ago
ReinUsesLisp
0d8b0fe402
astc: Use common types instead of stdint.h integer types
6 years ago
ReinUsesLisp
d9645551bc
astc: Use 'enum class' instead of 'enum' for EIntegerEncoding
6 years ago
ReinUsesLisp
905cc250a4
video_core: Silence implicit conversion warnings
6 years ago
ReinUsesLisp
2140a0cadd
astc: Silence implicit conversion warnings
6 years ago
Lioncash
d6db5ebae2
video_core/textures/astc: Remove unused variables
Silences a few compilation warnings.
7 years ago
Fernando Sahmkow
aebe67fac7
Fix Layered ASTC Textures
By adding the missing layer offset in ASTC compression.
7 years ago
ReinUsesLisp
3989075e5f
gl_rasterizer_cache: Move format conversion to its own file
7 years ago
FernandoS27
82d04c5e99
Fix ASTC Decompressor to support depth parameter
7 years ago
Lioncash
e0c31daa57
astc: Initialize vector size directly in Decompress
There's no need to perform a separate resize.
8 years ago
Lioncash
fa13cedc7a
astc: Mark functions as internally linked where applicable
8 years ago
Lioncash
03f1f17552
astc: const-correctness changes where applicable
A few member functions didn't actually modify class state, so these can
be amended as necessary.
8 years ago
Lioncash
62eb3b3ede
astc: Delete Bits' copy contstructor and assignment operator
This also potentially avoids warnings, considering the copy assignment
operator is supposed to have a return value.
8 years ago
Lioncash
6b32ef1d9e
astc: In-class initialize member variables where appropriate
8 years ago
bunnei
9feb7f7a63
gl_rasterizer: Implement texture format ASTC_2D_4X4.
8 years ago