| Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
|
|
|
|
general: Move most settings' defaults and labels into their definition
|
|
|
|
For simple primitive settings, moves their defaults and labels to
definition time.
Also fixes typo and clang-format
yuzu qt: config: Fix rng_seed
|
|
Creates a new BasicSettings class in common/settings, and forces setting
a default and label for each setting that uses it in common/settings.
Moves defaults and labels from both frontends into common settings.
Creates a helper function in each frontend to facillitate reading the
settings now with the new default and label properties.
Settings::Setting is also now a subclass of Settings::BasicSetting. Also
adds documentation for both Setting and BasicSetting.
|
|
main: Add GPU Vendor name to running title bar
|
|
|
|
astc: Various robustness enhancements for the gpu decoder
|
|
Removes common_sizes.h in favor of having `_KiB`, `_MiB`, `_GiB`, etc
user-literals within literals.h.
To keep the global namespace clean, users will have to use:
```
using namespace Common::Literals;
```
to access these literals.
|
|
GPU: Implement a garbage collector for GPU Caches (project Reaper+)
|
|
|
|
|
|
|
|
We can move them to instead be compile time constants within the shader.
|
|
These changes should help in reducing crashes/drivers panics that may
occur due to synchronization issues between the shader completion and
later access of the decoded texture.
|
|
|
|
|
|
|
|
perf_stats: Rework FPS counter to be more accurate
|
|
The FPS counter was based on metrics in the nvdisp swapbuffers call. This metric would be accurate if the gpu thread/renderer were synchronous with the nvdisp service, but that's no longer the case.
This commit moves the frame counting responsibility onto the concrete renderers after their frame draw calls. Resulting in more meaningful metrics.
The displayed FPS is now made up of the average framerate between the previous and most recent update, in order to avoid distracting FPS counter updates when framerate is oscillating between close values.
The status bar update frequency was also changed from 2 seconds to 500ms.
|
|
Some games interleave a texture blit using regions which are out-of-bounds. This addresses the interleaving to avoid oob reads from the src texture.
|
|
Swaps the Red and Blue channels of the A1B5G5R5_UNORM texture format, which was being incorrectly rendered.
|
|
- Removes a dependency on core and input_common from common.
|
|
vk_master_semaphore: Add missing const qualifier for IsFree()
|
|
We can just reuse the already existing KnownGpuTick() to deduplicate the
access.
|
|
This member function doesn't modify class state.
|
|
Also clarify the TODO comment a little more on the lacking
implementations for std::bit_cast.
|
|
The Vulkan spec states:
If an element of pBuffers is VK_NULL_HANDLE, then the corresponding element of pOffsets must be zero.
https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/vkCmdBindVertexBuffers2EXT.html#VUID-vkCmdBindVertexBuffers2EXT-pBuffers-04112
|
|
We can get into a really bad state by ignoring this
leading to device loss and using incorrect resources.
|
|
|
|
Reimplements the approach to decoding layers in the compute shader. Fixes multilayer astc decoding when using Vulkan.
|
|
Co-Authored-By: Rodrigo Locatti <reinuseslisp@airmail.cc>
|
|
renderer_opengl: Use compute shaders to swizzle BGR textures on copy
|
|
In order to force the BGRA8 conversion on Nvidia using OpenGL, we need to forbid texture copies and views with other formats.
This commit also adds a boolean relating to this, as this needs to be done only for the OpenGL api, Vulkan must remain unchanged.
|
|
This allows drivers to reuse memory more easily and preallocate less.
The optimal number has been measured booting Pokémon Sword.
|
|
Offsets for TexelFetch and TextureGather in Vulkan
|
|
vk_update_descriptor: Inline and improve code for binding buffers
|
|
This was recently introduced on a wrongly rebased commit.
|
|
fixed_pipeline_cache: Use dirty flags to lazily update key
|
|
|
|
offsets for Tlds
Formatting
|
|
Other minor style improvements. Rename free_iterator to hint_iterator,
to describe better what it does.
|
|
Allow compilers with our settings inline hot code.
|
|
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.
|
|
|