Fernando Sahmkow
7a35178ee2
Maxwell3D: Reorganize and address feedback
7 years ago
Fernando Sahmkow
5ad889f6fd
Maxwell3D: Address Feedback
7 years ago
Fernando Sahmkow
8cdbfe69b1
GL_Rasterizer: Corrections to Clearing.
7 years ago
Fernando Sahmkow
0ff4a5fa39
Maxwell3D: Correct marking dirtiness on CB upload
7 years ago
Fernando Sahmkow
fec32fed18
GL_Rasterizer: Rework RenderTarget/DepthBuffer clearing
7 years ago
Fernando Sahmkow
a081dea8ab
Maxwell3D: Implement State Dirty Flags.
7 years ago
Fernando Sahmkow
0d3db58657
Maxwell3D: Rework CBData Upload
7 years ago
Fernando Sahmkow
f2e7b29c14
Maxwell3D: Rework the dirty system to be more consistant and scaleable
7 years ago
ReinUsesLisp
b8c75a845b
maxwell_3d: Partially implement texture buffers as 1D textures
7 years ago
ReinUsesLisp
2f2a61887a
video_core/engines: Move ConstBufferInfo out of Maxwell3D
7 years ago
Fernando Sahmkow
fc975e9021
maxwell_3d: reduce sevirity of different component formats assert.
This was reduced due to happening on most games and at such constant
rate that it affected performance heavily for the end user. In general,
we are well aware of the assert and an implementation is already
planned.
7 years ago
Lioncash
5db1b54b58
video_core/engines/maxwell3d: Get rid of three magic values in CallMethod()
We can use the named constant instead of using 32 directly.
7 years ago
Lioncash
48ce5880a0
video_core/engines/maxwell_3d: Simplify for loops into ranged for loops within InitializeRegisterDefaults()
Lessens the amount of code that needs to be read, and gets rid of the
need to introduce an indexing variable. Instead, we just operate on the
objects directly.
7 years ago
Fernando Sahmkow
021d28c9b8
Corrections and styling
7 years ago
Fernando Sahmkow
701ce1c9d0
Implement Maxwell3D Data Upload
7 years ago
Fernando Sahmkow
ef381e6924
Use ReadBlockUnsafe on TIC and TSC reading
Use ReadBlockUnsafe on TIC and TSC reading as memory is never flushed
from host GPU there.
7 years ago
Fernando Sahmkow
492040bd9c
Move ConstBufferAccessor to Maxwell3d, correct mistakes and clang format.
7 years ago
Fernando Sahmkow
7af82ca022
Implement Bindless Handling on SetupTexture
7 years ago
ReinUsesLisp
ddcb711ee8
maxwell_3d: Reduce severity of ProcessSyncPoint
7 years ago
Fernando Sahmkow
fc91e21206
Implement SyncPoint Register in the GPU.
7 years ago
Lioncash
22f02076c6
video_core/engines: Make memory manager members private
These aren't used externally by anything, so they can be made private
data members.
7 years ago
Lioncash
26223f8124
video_core/engines: Remove unnecessary inclusions where applicable
Replaces header inclusions with forward declarations where applicable
and also removes unused headers within the cpp file. This reduces a few
more dependencies on core/memory.h
7 years ago
bunnei
22d3dfbcd4
gpu: Rewrite virtual memory manager using PageTable.
7 years ago
bunnei
574e89d924
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
7 years ago
bunnei
2eaf6c41a4
gpu: Use host address for caching instead of guest address.
7 years ago
ReinUsesLisp
5219edd715
maxwell_3d: Use std::bitset to manage dirty flags
7 years ago
Lioncash
a8fa5019b5
video_core: Remove usages of System::GetInstance() within the engines
Avoids the use of the global accessor in favor of explicitly making the
system a dependency within the interface.
7 years ago
Lioncash
bd983414f6
core_timing: Convert core timing into a class
Gets rid of the largest set of mutable global state within the core.
This also paves a way for eliminating usages of GetInstance() on the
System class as a follow-up.
Note that no behavioral changes have been made, and this simply extracts
the functionality into a class. This also has the benefit of making
dependencies on the core timing functionality explicit within the
relevant interfaces.
7 years ago
Lioncash
48d9d66dc5
core_timing: Rename CoreTiming namespace to Core::Timing
Places all of the timing-related functionality under the existing Core
namespace to keep things consistent, rather than having the timing
utilities sitting in its own completely separate namespace.
7 years ago
ReinUsesLisp
2bdbb90af7
video_core: Assert on invalid GPU to CPU address queries
7 years ago
ReinUsesLisp
04e68e9738
maxwell_3d: Allow sampler handles with TSC id zero
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
ReinUsesLisp
9a82dec74a
maxwell_3d: Set rt_separate_frag_data to 1 by default
Commercial games assume that this value is 1 but they never set it. On
the other hand nouveau manually sets this register. On
ConfigureFramebuffers we were asserting for what we are actually
implementing (according to envytools).
7 years ago
ReinUsesLisp
b683e41fca
gl_rasterizer_cache: Use dirty flags for the depth buffer
7 years ago
ReinUsesLisp
179ee963db
gl_rasterizer_cache: Use dirty flags for color buffers
7 years ago
ReinUsesLisp
0ab17ab406
gl_shader_cache: Use dirty flags for shaders
7 years ago
bunnei
abea6fa90c
gpu: Rewrite GPU command list processing with DmaPusher class.
- More accurate impl., fixes Undertale (among other games).
7 years ago
bunnei
1a543723ab
maxwell_3d: Initialize rasterizer color mask registers as enabled.
- Fixes rendering regression with Sonic Mania.
7 years ago
Rodolfo Bogado
6a2aa6dbdb
set default value for point size register
7 years ago
Rodolfo Bogado
1881e86c43
fix viewport and scissor behavior
7 years ago
Markus Wick
97f5c4ffd3
gl_rasterizer: Skip VB upload if the state is clean.
7 years ago
Frederic L
ab362aa7e5
gl_rasterizer: Minor cleanup
Minor code cleanup from unaddressed feedback in #1654
7 years ago
Rodolfo Bogado
4a6eff3b7b
Try to fix problems with stencil test in some games, relax translation to opengl enums to avoid crashing and only generate logs of the errors.
7 years ago
Markus Wick
359db6a673
gl_rasterizer: Skip VAO binding if the state is clean.
7 years ago
Rodolfo Bogado
145ae36963
Implement multi-target viewports and blending
7 years ago
bunnei
de0ab806df
maxwell_3d: Restructure macro upload to use a single macro code memory.
- Fixes an issue where macros could be skipped.
- Fixes rendering of distant objects in Super Mario Odyssey.
7 years ago
Frederic L
7a5eda5914
global: Use std::optional instead of boost::optional ( #1578 )
* get rid of boost::optional
* Remove optional references
* Use std::reference_wrapper for optional references
* Fix clang format
* Fix clang format part 2
* Adressed feedback
* Fix clang format and MacOS build
7 years ago
bunnei
949d9a7136
maxwell_3d: Add code for initializing register defaults.
7 years ago
Lioncash
a97cdb5eb4
maxwell_3d: Remove unused variable within ProcessQueryGet()
7 years ago
Lioncash
c1e5525fc6
engines/maxwell_*: Use nested namespace specifiers where applicable
These three source files are the only ones within the engines directory
that don't use nested namespaces. We may as well change these over to
keep things consistent.
7 years ago