ReinUsesLisp
fd2f04bbdc
fixed_pipeline_state: Pack attribute state
Reduce FixedPipelineState's size from 1384 to 664 bytes
6 years ago
ReinUsesLisp
501c92a17f
gl_rasterizer: Implement constant vertex attributes
Credits go to gdkchan from Ryujinx for finding constant attributes are
used in retail games.
6 years ago
ReinUsesLisp
cbbaeeb630
gl_rasterizer: Implement line widths and smooth lines
Implements "legacy" features from OpenGL present on hardware such as
smooth lines and line width.
6 years ago
ReinUsesLisp
17b14be027
video_core: Add MSAA registers in 3D engine and TIC
This adds the registers used for multisampling. It doesn't implement
anything for now.
6 years ago
namkazy
51e13ff50c
maxwell_3d: change declaration order
6 years ago
namkazy
854fb1ed2b
maxwell_3d: update comments for shadow ram usage
6 years ago
Nguyen Dac Nam
f2d9dacfed
maxwell_3d: implement MME shadow RAM
6 years ago
ReinUsesLisp
e7dfc5d8a3
maxwell_3d: Add padding words to XFB entries
Use INSERT_UNION_PADDING_WORDS instead of alignas to ensure a size
requirement.
6 years ago
ReinUsesLisp
fcc4b81079
gl_rasterizer: Implement transform feedback bindings
6 years ago
ReinUsesLisp
96fdbc638a
gl_rasterizer: Implement polygon modes and fill rectangles
6 years ago
ReinUsesLisp
207b9ba28c
engines/maxwell_3d: Add TFB registers and store them in shader registry
6 years ago
ReinUsesLisp
2eb2855b05
state_tracker: Remove type traits with named structures
6 years ago
ReinUsesLisp
31daa97fce
maxwell_3d: Use two tables instead of three for dirty flags
6 years ago
ReinUsesLisp
e94ea8758d
maxwell_3d: Change write dirty flags to a bitset
6 years ago
ReinUsesLisp
95596b787e
maxwell_3d: Flatten cull and front face registers
6 years ago
ReinUsesLisp
005f5ca883
video_core: Reintroduce dirty flags infrastructure
6 years ago
ReinUsesLisp
8b76fc1fff
gl_state: Remove clip distances tracking
6 years ago
ReinUsesLisp
b810da8400
gl_state: Remove viewport and depth range tracking
6 years ago
ReinUsesLisp
c2d3732176
gl_rasterizer: Remove dirty flags
6 years ago
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.
6 years ago
ReinUsesLisp
339a227a5e
gl_query_cache: Implement host queries using a deferred cache
Instead of waiting immediately for executed commands, defer the query
until the guest CPU reads it. This way we get closer to what the guest
program is doing.
To archive this we have to build a dependency queue, because host APIs
(like OpenGL and Vulkan) use ranged queries instead of counters like
NVN.
Waiting for queries implicitly uses fences and this requires a command
being queued, otherwise the driver will lock waiting until a timeout. To
fix this when there are no commands queued, we explicitly call glFlush.
6 years ago
ReinUsesLisp
11206f8a28
maxwell_3d: Slow implementation of passed samples (query 21)
Implements GL_SAMPLES_PASSED by waiting immediately for queries.
7 years ago
Fernando Sahmkow
8137fb8981
Maxwell3D: Correct query reporting.
6 years ago
ReinUsesLisp
3c7276cd1a
gl_rasterizer: Implement GL_POINT_SPRITE
OpenGL core defaults to GL_POINT_SPRITE, meanwhile on OpenGL
compatibility we have to explicitly enable it. This fixes
gl_PointCoord's behaviour.
6 years ago
ReinUsesLisp
1eef76d7b6
maxwell_3d: Fix stencil back mask
6 years ago
Fernando Sahmkow
5fb7881077
Shader_IR: Allow constant access of guest driver.
6 years ago
Fernando Sahmkow
e9f3264c8d
GPU: Implement guest driver profile and deduce texture handler sizes.
6 years ago
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
1692dab134
gl_state: Implement PROGRAM_POINT_SIZE
For gl_PointSize to have effect we have to activate
GL_PROGRAM_POINT_SIZE.
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