ReinUsesLisp
fbc232426d
video_core: Rearrange pixel format names
Normalizes pixel format names to match Vulkan names. Previous to this
commit pixel formats had no convention, leading to confusion and
potential bugs.
6 years ago
ReinUsesLisp
a7baf6fee4
video_core: Add MSAA registers in 3D engine and TIC
This adds the registers used for multisampling. It doesn't implement
anything for now.
6 years ago
ReinUsesLisp
a209d464f9
video_core/textures: Move GetMaxAnisotropy to cpp file
6 years ago
ReinUsesLisp
d7db088180
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.
6 years ago
ReinUsesLisp
1aa75b1081
textures: Fix anisotropy hack
Previous code could generate an anisotropy value way higher than x16.
6 years ago
Morph
7ee6065178
Create an "Advanced" tab in the graphics configuration tab and add anisotropic filtering levels.
6 years ago
ReinUsesLisp
096f339a2a
video_core: Silence implicit conversion warnings
6 years ago
ReinUsesLisp
a993df1ee2
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.
6 years ago
ReinUsesLisp
538ddd220e
video_core/textures: Remove unused index entry in FullTextureInfo
6 years ago
ReinUsesLisp
e7bdf8b22a
textures: Fix texture buffer size calculation
7 years ago
Fernando Sahmkow
082740d34d
surface: Correct format S8Z24
7 years ago
ReinUsesLisp
b8c75a845b
maxwell_3d: Partially implement texture buffers as 1D textures
7 years ago
ReinUsesLisp
345e73f2fe
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).
7 years ago
ReinUsesLisp
a89cc0bafc
maxwell_to_gl: Use GL_CLAMP to emulate Clamp wrap mode
7 years ago
Lioncash
fbf452ab0e
video_core/texures/texture: Remove unnecessary includes
Nothing in this header relies on common_funcs or the memory manager.
This gets rid of reliance on indirect inclusions in the OpenGL caches.
7 years ago
ReinUsesLisp
a63295a872
video_core/texture: Fix up sampler lod bias
7 years ago
ReinUsesLisp
aa59d77c3b
vk_sampler_cache: Implement a sampler cache
7 years ago
ReinUsesLisp
8ebeb9ade2
video_core/texture: Add a raw representation of TSCEntry
7 years ago
ReinUsesLisp
a0be7b3b92
gl_rasterizer: Encapsulate sampler queries into methods
7 years ago
ReinUsesLisp
b5e685b297
video_core/texture: Fix BitField size for depth_minus_one
7 years ago
ReinUsesLisp
390721a561
maxwell_3d: Allow texture handles with TIC id zero
Also remove "enabled" field from Tegra::Texture::FullTextureInfo because
it would become unused.
7 years ago
FernandoS27
ddfbe0b58d
Implemented Tile Width Spacing
7 years ago
Rodolfo Bogado
81a9c5fe6f
fix sampler configuration, thanks to Marcos for his investigation
7 years ago
Rodolfo Bogado
e9610ec0dd
set sampler max lod, min lod, lod bias and max anisotropy
7 years ago
Rodolfo Bogado
0287b2be6d
Implement sRGB Support, including workarounds for nvidia driver issues and QT sRGB support
7 years ago
FernandoS27
e0ca938b22
Propagate depth and depth_block on modules using decoders
7 years ago
FernandoS27
af653906d0
Fixed block height settings for RenderTargets and Depth Buffers, and added block width and block depth
7 years ago
FernandoS27
752faff2bc
Implemented Depth Compare and Shadow Samplers
7 years ago
bunnei
f543b43fd0
gl_rasterizer_cache: Implement render to cubemap.
7 years ago
bunnei
ce8291f6c5
gl_rasterizer_cache: Track texture depth.
7 years ago
bunnei
69c45ce71c
gl_rasterizer: Implement texture border color.
8 years ago
Lioncash
bb960c8cb4
video_core: Use nested namespaces where applicable
Compresses a few namespace specifiers to be more compact.
8 years ago
Subv
47629c89a8
GPU: Support changing the texture swizzles for Maxwell textures.
8 years ago
greggameplayer
220d4672df
add all the known TextureFormat ( #474 )
8 years ago
Subv
7ddc872b52
GPU: Implemented the A1B5G5R5 texture format (0x14)
8 years ago
Subv
c079cf4eec
GPU: Implement the A2BGR10 texture format.
8 years ago
Subv
2985056340
GPU: Implemented the B5G6R5 format.
8 years ago
Subv
6b63aaa5b4
GPU: Allow using a configurable block height when unswizzling textures.
8 years ago
Subv
db5f2bfa7e
GPU/TIC: Added the pitch and block height fields to the TIC structure.
8 years ago
bunnei
9df8e924fb
texture: Add missing formats.
8 years ago
Subv
dcc27d6dc1
GPU: Assert when finding a texture with a format type other than UNORM.
8 years ago
Subv
ad1810e895
Textures: Added a helper function to know if a texture is blocklinear or pitch.
8 years ago
Subv
56e2013c1f
GPU: Added the TSC structure. It contains information about the sampler.
8 years ago
Subv
6afe9e0105
GPU: Added more fields to the TIC structure.
8 years ago
Subv
1b8d798835
GPU: Added a method to unswizzle a texture without decoding it.
Allow unswizzling of DXT1 textures.
8 years ago
Subv
71ebc3e90d
GPU: Preliminary work for texture decoding.
8 years ago