Fernando Sahmkow
9f9e662f1f
Clang Format and Documentation.
2020-04-28 14:02:51 -04:00
Fernando Sahmkow
4d2b23d3c5
MaxwellDMA: Optimize micro copies.
2020-04-28 13:44:14 -04:00
Lioncash
eaeb4520f7
General: Resolve warnings related to missing declarations
2020-04-16 23:43:34 -04:00
Mat M
e638d5dc3a
Merge pull request #3631 from ReinUsesLisp/more-astc
...
texture/astc: More small ASTC optimizations
2020-04-13 10:17:32 -04:00
ReinUsesLisp
17b14be027
video_core: Add MSAA registers in 3D engine and TIC
...
This adds the registers used for multisampling. It doesn't implement
anything for now.
2020-04-12 00:21:27 -03:00
ReinUsesLisp
cc5d2bc965
astc: Hard code bit depth changes to 8 and use fast replicate
2020-04-09 18:37:12 -03:00
ReinUsesLisp
ac81541a37
astc: Use boost's static_vector to avoid heap allocations
2020-04-09 05:27:57 -03:00
ReinUsesLisp
a648629d8a
astc: Implement a fast precompiled alternative for Replicate
2020-04-09 03:58:25 -03:00
ReinUsesLisp
10d59444d9
astc: Move Replicate to a constexpr LUT when possible
2020-04-09 03:35:07 -03:00
ReinUsesLisp
14ea2ced5b
astc: Make InputBitStream constexpr
2020-04-09 02:54:05 -03:00
ReinUsesLisp
2f105bd298
astc: OutputBitStream style changes and make it constexpr
2020-04-09 02:37:51 -03:00
ReinUsesLisp
8591cb316a
video_core/textures: Move GetMaxAnisotropy to cpp file
2020-04-07 20:47:31 -03:00
ReinUsesLisp
8a031dc233
video_core/texture: Use a LUT to convert sRGB texture borders
...
This is a reversed look up table extracted from
https://gist.github.com/rygorous/2203834#file-gistfile1-cpp-L41-L62
that is used in
04d4e9e587/source/maxwell/tsc_generate.cpp (L38)
Games usually bind 0xFD expecting a float texture border of 1.0f.
The conversion previous to this commit was multiplying the uint8 sRGB
texture border color by 255. This is close to 1.0f but when that
difference matters, some graphical glitches appear.
This look up table is manually changed in the edges, clamping towards
0.0f and 1.0f.
While we are at it, move this logic to its own translation unit.
2020-04-07 20:38:14 -03:00
ReinUsesLisp
dc0beee3a1
astc: Fix clang build issues
2020-03-18 04:30:25 -03:00
ReinUsesLisp
5c892bc5fd
astc: Fix typos from search and replace
2020-03-14 01:05:20 -03:00
ReinUsesLisp
932c96f2b0
astc: Minor changes to InputBitStream
2020-03-14 00:45:54 -03:00
ReinUsesLisp
c96749415c
astc: Pass val in Replicate by copy
2020-03-14 00:13:58 -03:00
ReinUsesLisp
83bdac46d1
astc: Call std::vector:reserve on decodedClolorValues to avoid reallocating
2020-03-14 00:09:56 -03:00
ReinUsesLisp
8412a20f00
astc: Call std::vector::reserve on texelWeightValues to avoid reallocating
2020-03-13 23:52:51 -03:00
ReinUsesLisp
fdbedfa8ef
astc: Create a LUT at compile time for encoding values
2020-03-13 23:40:02 -03:00
ReinUsesLisp
bac05076fd
astc: Make IntegerEncodedValue a trivial structure
2020-03-13 22:49:28 -03:00
ReinUsesLisp
ddd428097d
astc: Make IntegerEncodedValue constructor constexpr
2020-03-13 22:36:45 -03:00
ReinUsesLisp
9aad3e84f0
astc: Make IntegerEncodedValue trivially copyable
2020-03-13 22:30:31 -03:00
ReinUsesLisp
0672618026
astc: Rename C types to common_types
2020-03-13 22:28:51 -03:00
ReinUsesLisp
a3969886ca
astc: Move Popcnt to an anonymous namespace and make it constexpr
2020-03-13 22:26:48 -03:00
ReinUsesLisp
0d8b0fe402
astc: Use common types instead of stdint.h integer types
2020-03-13 22:22:27 -03:00
ReinUsesLisp
d9645551bc
astc: Use 'enum class' instead of 'enum' for EIntegerEncoding
2020-03-13 22:20:12 -03:00
ReinUsesLisp
b8e43cb17c
textures: Fix anisotropy hack
...
Previous code could generate an anisotropy value way higher than x16.
2020-03-08 15:59:38 -03:00
Morph
c6e07faf25
Create an "Advanced" tab in the graphics configuration tab and add anisotropic filtering levels.
2020-02-27 21:34:00 -05:00
Fernando Sahmkow
dab454a72b
Texture Cache: Add HLE methods for building 3D textures within the GPU in certain scenarios.
...
This commit adds a series of HLE methods for handling 3D textures in
general. This helps games that generate 3D textures on every frame and
may reduce loading times for certain games.
2019-12-22 12:24:34 -04:00
ReinUsesLisp
905cc250a4
video_core: Silence implicit conversion warnings
2019-11-08 22:48:50 +00:00
ReinUsesLisp
1589a146ed
shader/node: Unpack bindless texture encoding
...
Bindless textures were using u64 to pack the buffer and offset from
where they come from. Drop this in favor of separated entries in the
struct.
Remove the usage of std::set in favor of std::list (it's not std::vector
to avoid reference invalidations) for samplers and images.
2019-10-29 20:53:48 -03:00
ReinUsesLisp
cea1214e5a
video_core/textures: Remove unused index entry in FullTextureInfo
2019-10-28 00:14:38 -03:00
ReinUsesLisp
2140a0cadd
astc: Silence implicit conversion warnings
2019-10-27 03:04:50 -03:00
bunnei
83ac6b9f38
Merge pull request #2765 from FernandoS27/dma-fix
...
MaxwellDMA: Fixes, corrections and relaxations.
2019-09-01 13:13:05 -04:00
Fernando Sahmkow
f1adfe6591
MaxwellDMA: Fixes, corrections and relaxations.
...
This commit fixes offsets on Linear -> Tiled copies, corrects z pos
fortiled->linear copies, corrects bytes_per_pixel calculation in tiled
-> linear copies and relaxes some limitations set by latest dma fixes
refactors.
2019-07-25 20:41:42 -04:00
ReinUsesLisp
93a5cdecbb
textures: Fix texture buffer size calculation
2019-07-18 01:07:08 -03:00
Fernando Sahmkow
b62d22a77d
texture_cache: Style and Corrections
2019-06-20 21:24:47 -04:00
Fernando Sahmkow
7afd5d2367
surface: Correct format S8Z24
2019-06-20 21:38:34 -03:00
Fernando Sahmkow
18322c1369
decoders: correct block calculation
2019-06-20 21:38:34 -03:00
ReinUsesLisp
91b16d383a
maxwell_3d: Partially implement texture buffers as 1D textures
2019-06-20 21:36:12 -03:00
Fernando Sahmkow
53e9e3966a
texture_cache: General Fixes
...
Fixed ASTC mipmaps loading
Fixed alignment on openGL upload/download
Fixed Block Height Calculation
Removed unalign_height
2019-06-20 21:36:12 -03:00
ReinUsesLisp
1d10810d2b
video_core: Use un-shifted block sizes to avoid integer divisions
...
Instead of storing all block width, height and depths in their shifted
form:
block_width = 1U << block_shift;
Store them like they are provided by the emulated hardware (their
block_shift form). This way we can avoid doing the costly
Common::AlignUp operation to align texture sizes and drop CPU integer
divisions with bitwise logic (defined in Common::AlignBits).
2019-06-20 21:36:12 -03:00
ReinUsesLisp
f46a979f19
gl_texture_cache: Add fast copy path
2019-06-20 21:36:11 -03:00
ReinUsesLisp
3b430b5605
gl_texture_cache: Initial implementation
2019-06-20 21:36:11 -03:00
ReinUsesLisp
3466bf45e8
maxwell_to_gl: Use GL_CLAMP to emulate Clamp wrap mode
2019-05-30 13:21:01 -03:00
Lioncash
d6db5ebae2
video_core/textures/astc: Remove unused variables
...
Silences a few compilation warnings.
2019-05-09 18:33:36 -04:00
Fernando Sahmkow
aebe67fac7
Fix Layered ASTC Textures
...
By adding the missing layer offset in ASTC compression.
2019-04-30 23:02:31 -04:00
Fernando Sahmkow
56c2b0ea86
Apply Const correctness to SwizzleKepler and replace u32 for size_t on iterators.
2019-04-16 12:00:46 -04:00
Fernando Sahmkow
15368c6070
Implement Block Linear copies in Kepler Memory.
2019-04-15 21:22:16 -04:00