ReinUsesLisp
52973c9b53
renderer_opengl: Reintroduce dirty flags for render targets
2020-02-28 17:56:41 -03:00
ReinUsesLisp
c2d3732176
gl_rasterizer: Remove dirty flags
2020-02-28 16:39:27 -03:00
bunnei
75487d9d84
Merge pull request #3417 from ReinUsesLisp/r32i
...
texture: Implement R32I
2020-02-25 14:08:45 -05:00
bunnei
80e577e2a6
Merge pull request #3425 from ReinUsesLisp/layered-framebuffer
...
texture_cache: Implement layered framebuffer attachments
2020-02-24 10:14:50 -05:00
bunnei
20c01b5dbd
Merge pull request #3422 from ReinUsesLisp/buffer-flush
...
surface_base: Implement texture buffer flushes
2020-02-22 23:09:50 -05:00
ReinUsesLisp
505f30fdaf
texture_cache: Implement layered framebuffer attachments
...
Layered framebuffer attachments is a feature that allows applications to
write attach layered textures to a single attachment. What layer the
fragments are written to is decided from the shader using gl_Layer.
2020-02-16 04:19:32 -03:00
ReinUsesLisp
b4bd0c57e4
texture_cache: Avoid matches in 3D textures
...
Code before this commit was trying to match 3D textures with another
target. Fix that.
2020-02-16 04:15:42 -03:00
ReinUsesLisp
4fd155c282
surface_base: Implement texture buffer flushes
...
Implement downloads to guest memory from texture buffers on the generic
cache and OpenGL.
2020-02-16 04:13:27 -03:00
ReinUsesLisp
f3255c3598
texture: Implement R32I
2020-02-15 16:26:50 -03:00
ReinUsesLisp
b3e4461606
texture_cache/surface_base: Fix layered break down
...
Layered break downs was passing "layer" as a "depth" parameter. This
commit addresses that.
2020-01-26 21:48:07 -03:00
bunnei
17daec30dc
Merge pull request #3311 from ReinUsesLisp/z32fx24s8
...
format_lookup_table: Fix ZF32_X24S8 component types
2020-01-17 08:22:32 -05:00
ReinUsesLisp
078193d8bd
format_lookup_table: Fix ZF32_X24S8 component types
...
Component types for ZF32_X24S8 were using UNORM. Drivers will set FLOAT,
UINT, UNORM, UNORM; causing a format mismatch. This commit addresses
that.
2020-01-16 17:29:13 -03:00
ReinUsesLisp
6fd13dc3b8
texture_cache/surface_params: Make GetNumLayers public
2020-01-13 20:35:43 -03:00
Fernando Sahmkow
7b2a50efdc
Texture Cache: Improve documentation
2019-12-22 12:29:23 -04:00
Fernando Sahmkow
2882099653
Texture Cache: Address Feedback
2019-12-22 12:24:34 -04: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
bunnei
6c951b2c80
Merge pull request #2987 from FernandoS27/texture-invalid
...
Texture_Cache: Redo invalid Surfaces handling.
2019-12-02 12:07:05 -05:00
ReinUsesLisp
94a911d619
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.
2019-11-29 16:51:14 -03:00
Fernando Sahmkow
d465d14f97
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.
2019-11-20 14:59:35 -04:00
ReinUsesLisp
ccb87410ae
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>
2019-11-14 20:57:30 -03:00
ReinUsesLisp
c884dc8af2
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.
2019-11-14 20:57:10 -03:00
ReinUsesLisp
c6afe25477
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.
2019-11-14 18:21:42 -03:00
Rodrigo Locatti
9f3e82bb7b
Merge pull request #2978 from lioncash/doxygen
...
video_core/texture_cache: Amend Doxygen references
2019-10-16 22:09:40 -03:00
Lioncash
1a9c05b197
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.
2019-10-15 19:31:33 -04:00
Lioncash
0f814d8bc5
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.
2019-10-15 15:40:00 -04:00
Lioncash
b5202d5da2
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.
2019-10-15 15:24:50 -04:00
Fernando Sahmkow
3fd1a9707d
Texture_Cache: Blit Deduction corrections and simplifications.
2019-10-04 18:53:47 -04:00
Fernando Sahmkow
a909bf7263
TextureCache: Add the ability to deduce if two textures are depth on blit.
2019-10-04 18:53:46 -04:00
ReinUsesLisp
953a673777
texture_cache: Minor changes
2019-09-05 23:25:15 -03:00
ReinUsesLisp
0c8851163d
gl_rasterizer: Implement image bindings
2019-09-05 20:35:51 -03:00
ReinUsesLisp
67be7aff62
texture_cache: Pass TIC to texture cache
2019-09-05 20:35:51 -03:00
Rodrigo Locatti
598157a8c9
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
2019-08-30 14:08:00 -04:00
bunnei
5d731e30a7
Merge pull request #2739 from lioncash/cflow
...
video_core/control_flow: Minor changes/warning cleanup
2019-07-25 13:04:56 -04:00
Lioncash
f6250ef163
video_core: Resolve -Wreorder warnings
...
Ensures that the constructor members are always initialized in the order
that they're declared in.
2019-07-18 21:03:30 -04:00
Fernando Sahmkow
ca50a64db8
Texture_Cache: Rebase Fixes
2019-07-17 17:29:54 -04:00
Fernando Sahmkow
7c50842226
Maxwell3D: Rework the dirty system to be more consistant and scaleable
2019-07-17 17:29:49 -04:00
Fernando Sahmkow
03e55c48d6
Texture_Cache: Address Feedback
2019-07-14 17:42:39 -04:00
Fernando Sahmkow
3cf8851567
Texture_Cache: Remove some unprecise fallback case and clang format
2019-07-14 12:00:32 -04:00
Fernando Sahmkow
5e7b10ec49
Texture_Cache: Force Framebuffer reset if an active render target is unregistered.
2019-07-14 12:00:31 -04:00
Fernando Sahmkow
c9c7b13f76
Texture_Cache: Correct Linear Structural Match.
2019-07-14 12:00:28 -04:00
Fernando Sahmkow
c3c7215820
texture_cache: Address Feedback
2019-07-05 09:46:53 -04:00
Fernando Sahmkow
98de1132e7
texture_cache: Correct Texture Buffer Uploading
2019-07-04 19:38:19 -04:00
ReinUsesLisp
d63e3694a9
texture_cache: Pack sibling queries inside a method
2019-06-29 20:47:46 -03:00
ReinUsesLisp
f62b935c96
texture_cache: Use std::vector reservation for sampled_textures
2019-06-29 20:10:31 -03:00
ReinUsesLisp
7aab8bd6cf
texture_cache: Style changes
2019-06-29 19:52:37 -03:00
ReinUsesLisp
9102684cff
texture_cache: Use std::array for siblings_table
2019-06-29 18:54:13 -03:00
ReinUsesLisp
cff02c291c
texture_cache: Address feedback
2019-06-29 17:29:39 -03:00
Fernando Sahmkow
d368dbfb1a
texture_cache: Correct variable naming.
2019-06-25 19:35:08 -04:00
Fernando Sahmkow
ed8f90a679
texture_cache: Corrections, documentation and asserts
2019-06-25 18:36:19 -04:00
Fernando Sahmkow
4cbbcaa004
surface_params: Corrections, asserts and documentation.
2019-06-25 18:03:25 -04:00