Fernando Sahmkow
b97608ca64
Shader_IR: Allow constant access of guest driver.
6 years ago
Fernando Sahmkow
c921e496eb
GPU: Implement guest driver profile and deduce texture handler sizes.
6 years ago
Lioncash
9e874898f5
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
c375d735e6
gl_state: Implement PROGRAM_POINT_SIZE
For gl_PointSize to have effect we have to activate
GL_PROGRAM_POINT_SIZE.
6 years ago
ReinUsesLisp
5770418fb3
maxwell_3d: Add depth bounds registers
6 years ago
ReinUsesLisp
da0aa4da6b
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
7ffb672f61
Maxwell3D: Implement Depth Mode.
This commit finishes adding depth mode that was reverted before due to
other unresolved issues.
6 years ago
ReinUsesLisp
36651f215a
maxwell_3d: Add tessellation tess level registers
6 years ago
ReinUsesLisp
707bf41c6f
maxwell_3d: Add tessellation mode register
6 years ago
ReinUsesLisp
d2b50c5ebd
maxwell_3d: Add patch vertices register
6 years ago
ReinUsesLisp
180417c514
gl_shader_cache: Remove dynamic BaseBinding specialization
6 years ago
ReinUsesLisp
c8a48aacc0
video_core: Unify ProgramType and ShaderStage into ShaderType
6 years ago
ReinUsesLisp
7990220df7
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
1bdae0fe29
common_func: Use std::array for INSERT_PADDING_* macros.
- Zero initialization here is useful for determinism.
6 years ago
ReinUsesLisp
fa31e5b868
maxwell_3d/kepler_compute: Remove unused arguments in GetTexture
6 years ago
ReinUsesLisp
961fe4d19b
maxwell_3d: Remove unused method GetStageTextures
6 years ago
ReinUsesLisp
3e469cecc1
maxwell_3d: Silence implicit conversion warnings
While we are at it, unify types for dirty reg pointers.
6 years ago
Fernando Sahmkow
33fcec3502
Shader_IR: allow lookup of texture samplers within the shader_ir for instructions that don't provide it
6 years ago
Fernando Sahmkow
1a58f45d76
VideoCore: Unify const buffer accessing along engines and provide ConstBufferLocker class to shaders.
6 years ago
ReinUsesLisp
fe7f20e659
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
68f5aff64f
Maxwell3D: Corrections and refactors to MME instance refactor
6 years ago
Fernando Sahmkow
7606da5611
VideoCore: Corrections to the MME Inliner and removal of hacky instance management.
6 years ago
Fernando Sahmkow
ba02d564f8
Video Core: initial Implementation of InstanceDraw Packaging
6 years ago
ReinUsesLisp
6170337001
gl_rasterizer: Implement image bindings
7 years ago
ReinUsesLisp
5f309b88db
Revert "Revert #2466" and stub FirmwareCall 4
6 years ago
ReinUsesLisp
701dedcfad
maxwell_3d: Avoid moving macro_params
6 years ago
ReinUsesLisp
52a41f482f
maxwell_3d: Fix macro binding cursor
6 years ago
Fernando Sahmkow
7a35178ee2
Maxwell3D: Reorganize and address feedback
7 years ago
Fernando Sahmkow
4be61013a1
GL_State: Feedback and fixes
7 years ago
Fernando Sahmkow
5ad889f6fd
Maxwell3D: Address Feedback
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
Fernando Sahmkow
e42bcf2314
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
7ecf64257a
gl_rasterizer: Minor style changes
7 years ago
ReinUsesLisp
2f2a61887a
video_core/engines: Move ConstBufferInfo out of Maxwell3D
7 years ago
Lioncash
c212fc9b2c
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
bd81a03d9d
gl_shader_decompiler: Declare all possible varyings on physical attribute usage
7 years ago
Fernando Sahmkow
e64c41efe8
Refactors and name corrections.
7 years ago
Fernando Sahmkow
e140e2ebc6
Add Documentation Headers to all the GPU Engines
7 years ago
Fernando Sahmkow
701ce1c9d0
Implement Maxwell3D Data Upload
7 years ago
ReinUsesLisp
fbe8d1ceaa
video_core: Silent -Wswitch warnings
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
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
Lioncash
b9238edd0d
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
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