ReinUsesLisp
07b52b1307
kepler_compute: Remove unused variables
7 years ago
ReinUsesLisp
bba58f7272
shader/shader_ir: Track usage in input attribute and of legacy varyings
7 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.
7 years ago
ReinUsesLisp
fcc4b81079
gl_rasterizer: Implement transform feedback bindings
7 years ago
Nguyen Dac Nam
3f688622d7
shader_bytecode: update BFE instructions struct.
7 years ago
ReinUsesLisp
96fdbc638a
gl_rasterizer: Implement polygon modes and fill rectangles
7 years ago
ReinUsesLisp
207b9ba28c
engines/maxwell_3d: Add TFB registers and store them in shader registry
7 years ago
ReinUsesLisp
7a93d38e0f
const_buffer_engine_interface: Store component types
This is required for Vulkan. Sampling integer textures with float
handles is illegal.
7 years ago
ReinUsesLisp
2eb2855b05
state_tracker: Remove type traits with named structures
7 years ago
ReinUsesLisp
31daa97fce
maxwell_3d: Use two tables instead of three for dirty flags
7 years ago
ReinUsesLisp
e94ea8758d
maxwell_3d: Change write dirty flags to a bitset
7 years ago
ReinUsesLisp
95596b787e
maxwell_3d: Flatten cull and front face registers
7 years ago
ReinUsesLisp
005f5ca883
video_core: Reintroduce dirty flags infrastructure
7 years ago
ReinUsesLisp
8b76fc1fff
gl_state: Remove clip distances tracking
7 years ago
ReinUsesLisp
b810da8400
gl_state: Remove viewport and depth range tracking
7 years ago
ReinUsesLisp
c2d3732176
gl_rasterizer: Remove dirty flags
7 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.
7 years ago
ReinUsesLisp
518a6182f9
maxwell_3d: Unify draw methods
Pass instanced state of a draw invocation as an argument instead of
having two separate virtual methods.
7 years ago
ReinUsesLisp
d8a42816d7
gl_query_cache: Optimize query cache
Use a custom cache instead of relying on a ranged cache.
7 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.
7 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
2dd9d660e3
GPU: Address Feedback.
7 years ago
Fernando Sahmkow
04c3213a01
GPU: Implement GPU Clock correctly.
7 years ago
Fernando Sahmkow
8137fb8981
Maxwell3D: Correct query reporting.
7 years ago
ReinUsesLisp
389cb51a33
shader/decode: Fix constant buffer offsets
Some instances were using cbuf34.offset instead of cbuf34.GetOffset().
This returned the an invalid offset. Address those instances and rename
offset to "shifted_offset" to avoid future bugs.
7 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.
7 years ago
ReinUsesLisp
1eef76d7b6
maxwell_3d: Fix stencil back mask
7 years ago
ReinUsesLisp
0ff3ea3188
shader/shift: Implement SHF_LEFT_{IMM,R}
Shifts a pair of registers to the left and returns the high register.
7 years ago
ReinUsesLisp
ca61e82f85
shader/bfi: Implement register-constant buffer variant
It's the same as the variant that was implemented, but it takes the
operands from another source.
7 years ago
ReinUsesLisp
098218ff4c
shader/arithmetic: Implement FCMP
Compares the third operand with zero, then selects between the first and
second.
7 years ago
ReinUsesLisp
0d8f0ad3b3
shader/memory: Implement ATOM.ADD
ATOM operates atomically on global memory. For now only add ATOM.ADD
since that's what was found in commercial games.
This asserts for ATOM.ADD.S32 (handling the others as unimplemented),
although ATOM.ADD.U32 shouldn't be any different.
This change forces us to change the default type on SPIR-V storage
buffers from float to uint. We could also alias the buffers, but it's
simpler for now to just use uint. While we are at it, abstract the code
to avoid repetition.
7 years ago
Fernando Sahmkow
5fb7881077
Shader_IR: Allow constant access of guest driver.
7 years ago
Fernando Sahmkow
e9f3264c8d
GPU: Implement guest driver profile and deduce texture handler sizes.
7 years ago
ReinUsesLisp
4862fc4970
vk_graphics_pipeline: Set front facing properly
Front face was being forced to a certain value when cull face is
disabled. Set a default value on initialization and drop the forcefully
set front facing value with culling disabled.
7 years ago
ReinUsesLisp
c4fd02b47f
shader/memory: Implement ATOMS.ADD.U32
7 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.
7 years ago
ReinUsesLisp
1692dab134
gl_state: Implement PROGRAM_POINT_SIZE
For gl_PointSize to have effect we have to activate
GL_PROGRAM_POINT_SIZE.
7 years ago
ReinUsesLisp
9328c4be0b
yuzu: Remove Maxwell debugger
This was carried from Citra and wasn't really used on yuzu. It also adds
some runtime overhead. This commit removes it from yuzu's codebase.
7 years ago
ReinUsesLisp
9d9c29a986
maxwell_3d: Add depth bounds registers
7 years ago
ReinUsesLisp
0544c7ebce
shader/r2p: Refactor P2R to support P2R
7 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.
7 years ago
ReinUsesLisp
6acbec5666
shader_bytecode: Fix TLD4S encoding
7 years ago
ReinUsesLisp
ac847a8cca
shader/texture: Implement TLD4.PTP
7 years ago
Fernando Sahmkow
e47f66ac4b
Shader_Ir: Correct TLD4S encoding and implement f16 flag.
7 years ago
Fernando Sahmkow
1987e66daa
Maxwell3D: Implement Depth Mode.
This commit finishes adding depth mode that was reverted before due to
other unresolved issues.
7 years ago
ReinUsesLisp
6e95568616
shader: Implement MEMBAR.GL
Implement using memoryBarrier in GLSL and OpMemoryBarrier on SPIR-V.
7 years ago
ReinUsesLisp
243a33aba9
shader_ir/memory: Implement patch stores
7 years ago
ReinUsesLisp
b377e0c75c
maxwell_3d: Add tessellation tess level registers
7 years ago
ReinUsesLisp
cac31c3fbb
maxwell_3d: Add tessellation mode register
7 years ago
ReinUsesLisp
c69c5be931
maxwell_3d: Add patch vertices register
7 years ago