ReinUsesLisp
d1e0f2095c
maxwell_3d: Reduce severity of logs that can be spammed
These logs were killing performance on some games when they were
spammed. Reduce them to Debug severity.
6 years ago
ReinUsesLisp
ff7b0d7329
maxwell_3d: Add viewport swizzles
6 years ago
ReinUsesLisp
8835d40024
{maxwell_3d,buffer_cache}: Implement memory barriers using 3D registers
Drop MemoryBarrier from the buffer cache and use Maxwell3D's register
WaitForIdle.
To implement this on OpenGL we just call glMemoryBarrier with the
necessary bits.
Vulkan lacks this synchronization primitive, so we set an event and
immediately wait for it. This is not a pretty solution, but it's what
Vulkan can do without submitting the current command buffer to the queue
(which ends up being more expensive on the CPU).
6 years ago
Fernando Sahmkow
b916b58702
VideoCore/Engines: Refactor Engines CallMethod.
6 years ago
Fernando Sahmkow
9311983f3d
Maxwell3D: Process Macros on MultiMethod.
6 years ago
Fernando Sahmkow
ef3a0ae64a
DMAPusher: Propagate multimethod writes into the engines.
6 years ago
Fernando Sahmkow
af9f901764
FenceManager: Manage syncpoints and rename fences to semaphores.
6 years ago
Fernando Sahmkow
6092308fe4
Rasterizer: Document SignalFence & ReleaseFences and setup skeletons on Vulkan.
6 years ago
Fernando Sahmkow
2ee68ad8e4
GPU: Fix rebase errors.
6 years ago
Fernando Sahmkow
802fabe3ab
OpenGL: Implement Fencing backend.
6 years ago
Fernando Sahmkow
fda21f5a93
GPU: Delay Fences.
6 years ago
Fernando Sahmkow
c689dc6804
GPU: Refactor synchronization on Async GPU
6 years ago
ReinUsesLisp
4ef04832a8
maxwell_3d: Initialize format attributes constant as one
nouveau expects this to be true but it doesn't set it.
6 years ago
namkazy
fa1b60cc8c
apply replay logic to all writes. remove replay from MacroInterpreter::Send ( @fincs )
6 years ago
namkazy
30112fcb3c
maxwell_3d: init shadow_state
6 years ago
namkazy
e89c5935f4
maxwell_3d: this seem more correct.
6 years ago
namkazy
854fb1ed2b
maxwell_3d: update comments for shadow ram usage
6 years ago
Nguyen Dac Nam
771d117869
maxwell_3d: track shadow ram ctrl and hw reg value
6 years ago
ReinUsesLisp
7a93d38e0f
const_buffer_engine_interface: Store component types
This is required for Vulkan. Sampling integer textures with float
handles is illegal.
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
c2d3732176
gl_rasterizer: Remove dirty flags
6 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.
6 years ago
ReinUsesLisp
d8a42816d7
gl_query_cache: Optimize query cache
Use a custom cache instead of relying on a ranged cache.
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
2dd9d660e3
GPU: Address Feedback.
6 years ago
Fernando Sahmkow
04c3213a01
GPU: Implement GPU Clock correctly.
6 years ago
Fernando Sahmkow
8137fb8981
Maxwell3D: Correct query reporting.
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
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.
6 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.
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
ReinUsesLisp
5f6a589d63
video_core: Unify ProgramType and ShaderStage into ShaderType
6 years ago
ReinUsesLisp
c884dc8af2
texture_cache: Use a table instead of switch for texture formats
Use a large flat array to look up texture formats. This allows us to
properly implement formats with different component types. It should
also be faster.
6 years ago
ReinUsesLisp
905cc250a4
video_core: Silence implicit conversion warnings
6 years ago
ReinUsesLisp
902431adce
maxwell_3d/kepler_compute: Remove unused arguments in GetTexture
6 years ago
ReinUsesLisp
cea1214e5a
video_core/textures: Remove unused index entry in FullTextureInfo
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
94d32c3cd2
maxwell_3d: Reduce FlushMMEInlineDraw logging to Trace
6 years ago
Lioncash
0b0ac56219
maxwell_3d: Silence truncation warnings
A trivial warning caused by not using size_t as the argument types
instead of u32.
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
David Marcec
5bcd512c3c
Mark DrawArrays as LOG_TRACE
There's no reason to clog logs with DrawArray.
6 years ago
Fernando Sahmkow
ab61f800b6
Rasterizer: Refactor and simplify DrawBatch Interface.
6 years ago
Fernando Sahmkow
ae03b1ebc7
VideoCore: Corrections to the MME Inliner and removal of hacky instance management.
6 years ago