Lioncash
e481a676de
maxwell_3d: Make dirty_pointers private
This isn't used outside of the class itself, so we can make it private
for the time being.
6 years ago
ReinUsesLisp
9d9c29a986
maxwell_3d: Add depth bounds registers
6 years ago
ReinUsesLisp
0eb9f3b107
gl_rasterizer: Implement RASTERIZE_ENABLE
RASTERIZE_ENABLE is the opposite of GL_RASTERIZER_DISCARD. Implement it
naturally using this.
NVN games expect rasterize to be enabled by default, reflect that in our
initial GPU state.
6 years ago
Fernando Sahmkow
1987e66daa
Maxwell3D: Implement Depth Mode.
This commit finishes adding depth mode that was reverted before due to
other unresolved issues.
6 years ago
ReinUsesLisp
b377e0c75c
maxwell_3d: Add tessellation tess level registers
6 years ago
ReinUsesLisp
cac31c3fbb
maxwell_3d: Add tessellation mode register
6 years ago
ReinUsesLisp
c69c5be931
maxwell_3d: Add patch vertices register
6 years ago
ReinUsesLisp
0ecd1a227d
gl_shader_cache: Remove dynamic BaseBinding specialization
6 years ago
ReinUsesLisp
5f6a589d63
video_core: Unify ProgramType and ShaderStage into ShaderType
6 years ago
ReinUsesLisp
2f14d6ba63
maxwell_3d: Fix stencil_back_func_mask offset
stencil_back_func_mask and stencil_back_mask were misplaced. This commit
addresses that issue.
6 years ago
bunnei
fe02b9f968
common_func: Use std::array for INSERT_PADDING_* macros.
- Zero initialization here is useful for determinism.
6 years ago
ReinUsesLisp
902431adce
maxwell_3d/kepler_compute: Remove unused arguments in GetTexture
6 years ago
ReinUsesLisp
cf7206fe7b
maxwell_3d: Remove unused method GetStageTextures
6 years ago
ReinUsesLisp
15a52a86bd
maxwell_3d: Silence implicit conversion warnings
While we are at it, unify types for dirty reg pointers.
6 years ago
Fernando Sahmkow
4168b287c9
Shader_IR: allow lookup of texture samplers within the shader_ir for instructions that don't provide it
6 years ago
Fernando Sahmkow
d4da704ac5
VideoCore: Unify const buffer accessing along engines and provide ConstBufferLocker class to shaders.
6 years ago
ReinUsesLisp
521b03ddb4
maxwell_3d: Add dirty flags for depth bounds values
This is useful in Vulkan where we want to update depth bounds without
caring if it's enabled or disabled through vkCmdSetDepthBounds.
6 years ago
Fernando Sahmkow
d53d764965
Maxwell3D: Corrections and refactors to MME instance refactor
6 years ago
Fernando Sahmkow
ae03b1ebc7
VideoCore: Corrections to the MME Inliner and removal of hacky instance management.
6 years ago
Fernando Sahmkow
b61203a547
Video Core: initial Implementation of InstanceDraw Packaging
6 years ago
ReinUsesLisp
0c8851163d
gl_rasterizer: Implement image bindings
7 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
Fernando Sahmkow
57e6c1fac3
Maxwell3D: Reorganize and address feedback
7 years ago
Fernando Sahmkow
c9690e912e
GL_State: Feedback and fixes
7 years ago
Fernando Sahmkow
527a77ec0a
Maxwell3D: Address Feedback
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
ReinUsesLisp
e6d37e10db
gl_rasterizer: Minor style changes
7 years ago
ReinUsesLisp
1073b32300
video_core/engines: Move ConstBufferInfo out of Maxwell3D
7 years ago
Lioncash
b66f9188cb
video_core/engines/maxwell_3d: Add is_trivially_copyable_v check for Regs
std::memset is used to clear the entire register structure, which
requires that the Regs struct be trivially copyable (otherwise undefined
behavior is invoked). This prevents the case where a non-trivial type is
potentially added to the struct.
7 years ago
ReinUsesLisp
ac78410d39
gl_shader_decompiler: Declare all possible varyings on physical attribute usage
7 years ago
Fernando Sahmkow
08f861a820
Refactors and name corrections.
7 years ago
Fernando Sahmkow
bcf4b19fca
Add Documentation Headers to all the GPU Engines
7 years ago
Fernando Sahmkow
4a2763a121
Implement Maxwell3D Data Upload
7 years ago
ReinUsesLisp
7a56d07632
video_core: Silent -Wswitch warnings
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
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
Lioncash
e59ae7210a
common/math_util: Move contents into the Common namespace
These types are within the common library, so they should be within the
Common namespace.
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
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