Fernando Sahmkow
218ee18417
Texture Cache: Improve documentation
6 years ago
Fernando Sahmkow
a3916588b6
Texture Cache: Address Feedback
6 years ago
Fernando Sahmkow
51c9e98677
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.
6 years ago
ReinUsesLisp
ff64c3951a
texture_cache/surface_base: Fix out of bounds texture views
Some texture views were being created out of bounds (with more layers or
mipmaps than what the original texture has). This is because of a
miscalculation in mipmap bounding. end_layer and end_mipmap are out of
bounds (e.g. layer 6 in a cubemap), there's no need to add one more
there.
Fixes OpenGL errors and Vulkan crashes on Splatoon 2.
6 years ago
Fernando Sahmkow
cc81c0ce64
Texture_Cache: Redo invalid Surfaces handling.
This commit aims to redo the full setup of invalid textures and
guarantee correct behavior across backends in the case of finding one by
using black dummy textures that match the target of the expected
texture.
7 years ago
ReinUsesLisp
4681381a34
format_lookup_table: Address feedback
format_lookup_table: Drop bitfields
format_lookup_table: Use std::array for definition table
format_lookup_table: Include <limits> instead of <numeric>
6 years ago
ReinUsesLisp
80eacdf89b
texture_cache: Use a table instead of switch for texture formats
Use a large flat array to look up texture formats. This allows us to
properly implement formats with different component types. It should
also be faster.
6 years ago
ReinUsesLisp
48a1687f51
texture_cache: Drop abstracted ComponentType
Abstracted ComponentType was not being used in a meaningful way.
This commit drops its usage.
There is one place where it was being used to test compatibility between
two cached surfaces, but this one is implied in the pixel format.
Removing the component type test doesn't change the behaviour.
6 years ago
Lioncash
a24e8bf9cf
texture_cache: Avoid unnecessary surface copies within PickStrategy() and TryReconstructSurface()
We can take these by const reference and avoid making unnecessary
copies, preventing some atomic reference count increments and
decrements.
7 years ago
Lioncash
524eb15513
video_core/texture_cache: Amend Doxygen references
Amends the doxygen comments so that they properly resolve. While we're
at it, we can correct some typos and fix up some of the comments'
formatting in order to make them slightly nicer to read.
7 years ago
Lioncash
ac4dbd3b25
common: Rename binary_find.h to algorithm.h
Makes the header more general for other potential algorithms in the
future. While we're at it, include a missing <functional> include to
satisfy the use of std::less.
7 years ago
Fernando Sahmkow
ab47a660c8
Texture_Cache: Blit Deduction corrections and simplifications.
7 years ago
Fernando Sahmkow
2036504a82
TextureCache: Add the ability to deduce if two textures are depth on blit.
7 years ago
ReinUsesLisp
7228e22098
texture_cache: Minor changes
7 years ago
ReinUsesLisp
6170337001
gl_rasterizer: Implement image bindings
7 years ago
ReinUsesLisp
2424eefad2
texture_cache: Pass TIC to texture cache
7 years ago
Rodrigo Locatti
4d4f9cc104
video_core: Silent miscellaneous warnings ( #2820 )
* texture_cache/surface_params: Remove unused local variable
* rasterizer_interface: Add missing documentation commentary
* maxwell_dma: Remove unused rasterizer reference
* video_core/gpu: Sort member declaration order to silent -Wreorder warning
* fermi_2d: Remove unused MemoryManager reference
* video_core: Silent unused variable warnings
* buffer_cache: Silent -Wreorder warnings
* kepler_memory: Remove unused MemoryManager reference
* gl_texture_cache: Add missing override
* buffer_cache: Add missing include
* shader/decode: Remove unused variables
7 years ago
Lioncash
45fa12a05c
video_core: Resolve -Wreorder warnings
Ensures that the constructor members are always initialized in the order
that they're declared in.
7 years ago
Fernando Sahmkow
7826f0afd9
Texture_Cache: Rebase Fixes
7 years ago
Fernando Sahmkow
f2e7b29c14
Maxwell3D: Rework the dirty system to be more consistant and scaleable
7 years ago
Fernando Sahmkow
2ac7472d3f
Texture_Cache: Address Feedback
7 years ago
Fernando Sahmkow
0f54b541f4
Texture_Cache: Remove some unprecise fallback case and clang format
7 years ago
Fernando Sahmkow
5818959e54
Texture_Cache: Force Framebuffer reset if an active render target is unregistered.
7 years ago
Fernando Sahmkow
5d31bab69a
Texture_Cache: Correct Linear Structural Match.
7 years ago
Fernando Sahmkow
3b9d89839d
texture_cache: Address Feedback
7 years ago
Fernando Sahmkow
30b176f92b
texture_cache: Correct Texture Buffer Uploading
7 years ago
ReinUsesLisp
6e1db6b703
texture_cache: Pack sibling queries inside a method
7 years ago
ReinUsesLisp
8eae66907e
texture_cache: Use std::vector reservation for sampled_textures
7 years ago
ReinUsesLisp
f6f1a8f26a
texture_cache: Style changes
7 years ago
ReinUsesLisp
dd9ace502b
texture_cache: Use std::array for siblings_table
7 years ago
ReinUsesLisp
3f3c3ca5f9
texture_cache: Address feedback
7 years ago
Fernando Sahmkow
223ca80753
texture_cache: Correct variable naming.
7 years ago
Fernando Sahmkow
88bc39374f
texture_cache: Corrections, documentation and asserts
7 years ago
Fernando Sahmkow
c0abc7124d
surface_params: Corrections, asserts and documentation.
7 years ago
Fernando Sahmkow
fb234560b0
copy_params: use constexpr for constructor
7 years ago
Fernando Sahmkow
58c8a44e7a
texture_cache: Query MemoryManager from the system
7 years ago
ReinUsesLisp
7565389700
texture_cache: Include "core/core.h"
7 years ago
ReinUsesLisp
34841a41c3
texture_cache/surface_view: Address feedback
7 years ago
ReinUsesLisp
0837290992
texture_cache/surface_base: Address feedback
7 years ago
Fernando Sahmkow
d1812316e1
texture_cache: Style and Corrections
7 years ago
Fernando Sahmkow
97c8c9f49a
texture_cache: Eliminate linear textures fallthrough
7 years ago
Fernando Sahmkow
6acdae0e4c
texture_cache: Correct format R16U as sibling
7 years ago
Fernando Sahmkow
d7587842eb
texture_cache: Implement texception detection and texture barriers.
7 years ago
Fernando Sahmkow
198a0395bb
texture_cache: Corrections to buffers and shadow formats use.
7 years ago
Fernando Sahmkow
fed773a86c
texture_cache: Implement Irregular Views in surfaces
7 years ago
Fernando Sahmkow
082740d34d
surface: Correct format S8Z24
7 years ago
Fernando Sahmkow
03d489dcf5
texture_cache: Initialize all siblings to invalid pixel format.
7 years ago
Fernando Sahmkow
7232a1ed16
decoders: correct block calculation
7 years ago
Fernando Sahmkow
3dd7643214
texture_cache: Use siblings textures on Rebuild and fix possible error on blitting
7 years ago
Fernando Sahmkow
2d83553ea7
texture_cache: Implement siblings texture formats.
7 years ago