Age | Commit message (Collapse) | Author |
|
core: Optimize core timing utility functions to avoid unnecessary math
|
|
Improve mouse panning
|
|
yuzu/configure_filesystem: Remove "Select Cache Directory" option
|
|
vk_rasterizer: Fix loading shader addresses twice
|
|
This was recently introduced on a wrongly rebased commit.
|
|
Port citra-emu/citra#5123: "SDL: Disable hidapi drivers due to compatibility problems with certain controllers"
|
|
- Avoids a lot of unnecessary 128-bit math for imperceptible accuracy.
|
|
instruction.
|
|
|
|
fixed_pipeline_cache: Use dirty flags to lazily update key
|
|
core/CMakeLists: Add web_types.h
|
|
HID: Implement GC controller in game
|
|
|
|
debugger: controller: Add access key
|
|
audren: Implement I3dl2Reverb
|
|
Adds the access key to the Controller P1 selection at View -> Debugger
-> Controller P1. Avoids using the windowTitle as that would add a
literal & to the beginning of the window title.
|
|
Fix LDN Initialization return code & resulting AM overflow
|
|
on Linux.
|
|
|
|
|
|
disabled.
- Fixes crash on Pokemon Sword/Shield when pressing 'Y'.
|
|
|
|
vk_resource_pool: Load GPU tick once and compare with it
|
|
Other minor style improvements. Rename free_iterator to hint_iterator,
to describe better what it does.
|
|
Use dirty flags to avoid building pipeline key from scratch on each draw
call. This saves a bit of unnecesary work on each draw call.
|
|
gl_texture_cache: Lazily create non-sRGB texture views for sRGB formats
|
|
This creates non-sRGB texture views for sRGB texture formats to allow for interfacing with these views in compute shaders using imageLoad and imageStore.
Co-Authored-By: Rodrigo Locatti <reinuseslisp@airmail.cc>
|
|
gl_stream_buffer/vk_staging_buffer_pool: Fix size check
|
|
|
|
Load the current tick to a local variable, moving it out of an atomic
and allowing us to compare the value without going through a pointer
each time. This should make the loop more optimizable.
|
|
Fix a tragic off-by-one condition that causes Vulkan's stream buffer to
think it's always full, using fallback memory. The OpenGL was also
affected by this bug to a lesser extent.
|
|
yuzu: Create screenshot path before capture
|
|
maxwell_to_gl: Remove unused code
|
|
vulkan_device: Require VK_EXT_robustness2
|
|
We are already using robustness2 features without requiring it
explicitly, causing potential crashes on drivers without the extension.
Requiring this at boot allows better diagnostics for it and formalizes
our usage on the extension.
|
|
video_core: Reimplement the buffer cache
|
|
This is a better default for most games, yielding better performance and
less graphical issues.
|
|
|
|
There was still a code path that could wait on a timeline semaphore tick
that would never be signalled.
While we are at it, make use of more STL algorithms.
|
|
Games can bind a null index buffer (size=0) where all indices are
evaluated as zero. VK_EXT_robustness2 doesn't support this and all
drivers segfault when a null index buffer is passed to
vkCmdBindIndexBuffer.
Workaround this by creating a 4 byte buffer and filling it with zeroes.
If it's read out of bounds, robustness takes care of returning zeroes as
indices.
|
|
Bind extra bytes beyond the guest API's bound range.
This is due to some games like Astral Chain operating out of bounds.
Binding the whole map range would be technically correct, but games
have large maps that make this approach unaffordable for now.
|
|
|
|
Avoids waiting idle while the GPU finishes to do work, and fixes an
issue where we'd wait forever if a single command buffer (logic tick)
all the data.
|
|
Due to BindBufferRangeNV limitations and poor quality code emission from
our side, assembly shaders are currently slower than GLSL. Their build
time and feature advantages are still relevant, but they are outweighted
by their runtime performance.
|
|
Remove unused interop code from the OpenGL backend.
|
|
Sacrify runtime performance to avoid generating kernel exceptions on
Windows due to our abusive aliasing of interop buffer objects.
|
|
Detect when a memory region has been joined several times and increase
the size of the created buffer on those instances. The buffer is assumed
to be a "stream buffer", increasing its size should stop us from
constantly recreating it and fragmenting memory.
|
|
Allow adding functionality to each function without making CreateBuffer
more complex.
|
|
Ports from OpenGL the optimization to skip small 3D uniform buffer
uploads. This will take advantage of the previously introduced stream
buffer.
Fixes instances where the staging buffer offset was being ignored.
|
|
This uses a ring buffer similar to OpenGL's stream buffer for small
uploads. This stops us from allocating several small buffers, reducing
memory fragmentation and cache locality.
It uses dedicated allocations when possible.
|