Rodrigo Locatti
a5f0cbb0f1
maxwell_3d: Update firmware 4 call stub commentary
6 years ago
ReinUsesLisp
3e5e983799
renderer_opengl: Fix sRGB blits
Removes the sRGB hack of tracking if a frame used an sRGB rendertarget
to apply at least once to blit the final texture as sRGB. Instead of
doing this apply sRGB if the presented image has sRGB.
Also enable sRGB by default on Maxwell3D registers as some games seem to
assume this.
6 years ago
ReinUsesLisp
4f0213d0c7
Revert "Revert #2466" and stub FirmwareCall 4
6 years ago
ReinUsesLisp
9ad95eb74a
maxwell_3d: Avoid moving macro_params
6 years ago
ReinUsesLisp
95df43ec32
maxwell_3d: Fix macro binding cursor
6 years ago
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
6 years ago
Fernando Sahmkow
57e6c1fac3
Maxwell3D: Reorganize and address feedback
7 years ago
Fernando Sahmkow
527a77ec0a
Maxwell3D: Address Feedback
7 years ago
Fernando Sahmkow
2f716f52d9
GL_Rasterizer: Corrections to Clearing.
7 years ago
Fernando Sahmkow
8dd4797e00
Maxwell3D: Correct marking dirtiness on CB upload
7 years ago
Fernando Sahmkow
0d34a53c44
GL_Rasterizer: Rework RenderTarget/DepthBuffer clearing
7 years ago
Fernando Sahmkow
89cc60554a
Maxwell3D: Implement State Dirty Flags.
7 years ago
Fernando Sahmkow
24bf7e4de0
Maxwell3D: Rework CBData Upload
7 years ago
Fernando Sahmkow
7c50842226
Maxwell3D: Rework the dirty system to be more consistant and scaleable
7 years ago
Fernando Sahmkow
67d869b53a
maxwell3d: Implement Conditional Rendering
Conditional Rendering takes care of conditionaly clearing or drawing
depending on a set of queries. This PR implements the query checks to
stablish if things can be rendered or not.
7 years ago
Fernando Sahmkow
779c115dbb
video_core: Implement GPU side Syncpoints
7 years ago
ReinUsesLisp
91b16d383a
maxwell_3d: Partially implement texture buffers as 1D textures
7 years ago
ReinUsesLisp
1073b32300
video_core/engines: Move ConstBufferInfo out of Maxwell3D
7 years ago
Fernando Sahmkow
d7fbe5838c
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
a394c8b35a
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
e9064216a2
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
5c4de1e3fb
Corrections and styling
7 years ago
Fernando Sahmkow
4a2763a121
Implement Maxwell3D Data Upload
7 years ago
Fernando Sahmkow
b33c627670
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
f5792ffeab
Move ConstBufferAccessor to Maxwell3d, correct mistakes and clang format.
7 years ago
Fernando Sahmkow
e6d2e59f07
Implement Bindless Handling on SetupTexture
7 years ago
ReinUsesLisp
8092d3fad0
maxwell_3d: Reduce severity of ProcessSyncPoint
7 years ago
Fernando Sahmkow
e3d9c983aa
Implement SyncPoint Register in the GPU.
7 years ago
Lioncash
1211a5623e
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
33742deaf6
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
fa405371ee
gpu: Rewrite virtual memory manager using PageTable.
7 years ago
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
7 years ago
bunnei
7fccfc3ee7
gpu: Use host address for caching instead of guest address.
7 years ago
ReinUsesLisp
20d8c304f2
maxwell_3d: Use std::bitset to manage dirty flags
7 years ago
Lioncash
12774b7c44
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
1c3371c921
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
1d2de5c4b5
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
af1543712d
video_core: Assert on invalid GPU to CPU address queries
7 years ago
ReinUsesLisp
c73b44fc35
maxwell_3d: Allow sampler handles with TSC id zero
7 years ago
ReinUsesLisp
04fe4a72b9
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
fdb76f6147
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
1c8411dc8d
gl_rasterizer_cache: Use dirty flags for the depth buffer
7 years ago
ReinUsesLisp
6e932fe118
gl_rasterizer_cache: Use dirty flags for color buffers
7 years ago
ReinUsesLisp
5fec808e30
gl_shader_cache: Use dirty flags for shaders
7 years ago
bunnei
f8b215e361
gpu: Rewrite GPU command list processing with DmaPusher class.
- More accurate impl., fixes Undertale (among other games).
7 years ago
bunnei
953c140eca
maxwell_3d: Initialize rasterizer color mask registers as enabled.
- Fixes rendering regression with Sonic Mania.
7 years ago
Rodolfo Bogado
b85b478d33
set default value for point size register
7 years ago
Rodolfo Bogado
bcf804a44e
fix viewport and scissor behavior
7 years ago
Markus Wick
264030c070
gl_rasterizer: Skip VB upload if the state is clean.
7 years ago
Frederic L
56a27afdea
gl_rasterizer: Minor cleanup
Minor code cleanup from unaddressed feedback in #1654
7 years ago