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
Lioncash
053aae66c1
video_core/textures/convert: Replace include with a forward declaration
...
Avoids dragging in a direct dependency in a header.
2019-04-06 00:14:36 -04:00
Lioncash
44d91d561a
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.
2019-04-06 00:03:35 -04:00
bunnei
d3f26c1546
video_core: Refactor to use MemoryManager interface for all memory access.
...
# Conflicts:
# src/video_core/engines/kepler_memory.cpp
# src/video_core/engines/maxwell_3d.cpp
# src/video_core/morton.cpp
# src/video_core/morton.h
# src/video_core/renderer_opengl/gl_global_cache.cpp
# src/video_core/renderer_opengl/gl_global_cache.h
# src/video_core/renderer_opengl/gl_rasterizer_cache.cpp
2019-03-16 00:38:48 -04:00
bunnei
5e4baabe78
Merge pull request #2229 from ReinUsesLisp/vk-sampler-cache
...
vk_sampler_cache: Implement a sampler cache
2019-03-14 21:22:34 -04:00
ReinUsesLisp
3288b12a28
video_core/texture: Fix up sampler lod bias
2019-03-13 00:45:54 -03:00
ReinUsesLisp
a9c05dfcd7
vk_sampler_cache: Implement a sampler cache
2019-03-12 20:20:57 -03:00
ReinUsesLisp
1fc1607e10
video_core/texture: Add a raw representation of TSCEntry
2019-03-12 16:56:29 -03:00
ReinUsesLisp
d949475417
gl_rasterizer: Encapsulate sampler queries into methods
2019-03-09 04:35:57 -03:00
ReinUsesLisp
3989075e5f
gl_rasterizer_cache: Move format conversion to its own file
2019-02-26 20:08:27 -03:00
ReinUsesLisp
64612bf940
decoders: Minor style changes
2019-02-26 20:08:27 -03:00
bunnei
af54c6770a
Merge pull request #2042 from ReinUsesLisp/nouveau-tex
...
maxwell_3d: Allow texture handles with TIC id zero
2019-02-06 20:19:20 -05:00
ReinUsesLisp
c1e8fe0067
video_core/texture: Fix BitField size for depth_minus_one
2019-02-05 04:32:06 -03:00
ReinUsesLisp
04fe4a72b9
maxwell_3d: Allow texture handles with TIC id zero
...
Also remove "enabled" field from Tegra::Texture::FullTextureInfo because
it would become unused.
2019-02-03 04:58:24 -03:00
David Marcec
1dfb0a513a
Fixed uninitialized memory due to missing returns in canary
...
Functions which are suppose to crash on non canary builds usually don't return anything which lead to uninitialized memory being used.
2018-12-19 12:52:32 +11:00
FernandoS27
b509890e4c
Implemented Tile Width Spacing
2018-11-26 09:05:12 -04:00
bunnei
e84cceb645
Merge pull request #1717 from FreddyFunk/swizzle-gob
...
textures/decoders: Replace magic numbers
2018-11-18 20:13:00 -08:00
bunnei
3418342724
Merge pull request #1693 from Tinob/master
...
Missing ogl states
2018-11-18 19:59:10 -08:00
Frederic L
d2dd9cfc1d
Eliminated unnessessary memory allocation and copy ( #1702 )
2018-11-18 19:53:03 -08:00
Rodolfo Bogado
23a2acdf61
fix sampler configuration, thanks to Marcos for his investigation
2018-11-17 19:59:34 -03:00
Frederic Laing
9d588877ef
textures/decoders: Replace magic numbers
2018-11-17 01:55:28 +01:00
Frederic Laing
8dcfc75e4e
textures/decoders: Minor cleanup
2018-11-15 21:04:17 +01:00
greggameplayer
ec188ec832
Implement ASTC_2D_10X8 & ASTC_2D_10X8_SRGB ( #1666 )
...
* Implement ASTC_2D_10X8 & ASTC_2D_10X8_SRGB
( needed by Mario+Rabbids Kingdom Battle )
* Small placement correction
2018-11-12 18:34:54 -08:00
Rodolfo Bogado
6233b6b235
set sampler max lod, min lod, lod bias and max anisotropy
2018-11-11 16:31:00 -03:00
FernandoS27
82d04c5e99
Fix ASTC Decompressor to support depth parameter
2018-11-01 19:22:12 -04:00
FernandoS27
fe596b4c6e
Fix ASTC formats
2018-11-01 13:08:19 -04:00
FernandoS27
be78be20dc
Fixed mipmap block autosizing algorithm
2018-10-28 19:00:05 -04:00
Rodolfo Bogado
1670155ee2
Implement sRGB Support, including workarounds for nvidia driver issues and QT sRGB support
2018-10-28 01:13:55 -03:00
bunnei
6bf7e0d83d
Merge pull request #1524 from FernandoS27/layers-fix
...
rasterizer: Fix Layered Textures Loading and Cubemaps
2018-10-25 00:29:18 -04:00
Lioncash
a3c2defab1
decoders: Remove unused variable within SwizzledData()
2018-10-23 23:51:13 -04:00