| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
Allows some special interactions with it in the Qt frontend.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Allows for 6GB and 8GB layouts to be selected.
|
| |
|
| |
|
|
|
|
| |
settings_common: Remove unused optional
|
|
|
|
| |
Suggests to a frontend how to represent each setting.
|
| |
|
| |
|
|
|
|
|
| |
Clang versions < 15 have compile issues with explicit instantiation.
Disable it for these versions.
|
|
|
|
| |
Almost a 2 year old migration setting now
|
| |
|
|
|
|
| |
Reduces compile times a tad on clang.
|
| |
|
|
|
|
| |
Using typeid without including typeinfo first produces an ill-formed program.
|
| |
|
|
|
|
|
|
| |
Groups graphics audio and system settings together in a way that
reflects the frontend. This also just conceptually groups them more
nicely than they were.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Needs a considerable amount of management specific to some of
the comoboboxes due to the audio engine configuration.
general: Partial audio config implmentation
configure_audio: Implement ui generation
Needs a considerable amount of management specific to some of
the comoboboxes due to the audio engine configuration.
general: Partial audio config implmentation
settings: Make audio settings as enums
|
| |
|
| |
|
| |
|
|
|
|
| |
These don't need to be whole new types.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Will help with generating config UI later.
|
|
|
|
|
|
|
| |
We can iterate through the AdvancedGraphics settings and generate the UI
during runtime. This doesn't help runtime efficiency, but it helps a ton
in reducing the amount of work a developer needs in order to add a new
setting.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
LoadString: Sanitize input
settings: Handle empty string, remove redundant category
settings: Rename Input to Controls, FS to DataStorage
settings: Fix Controls groups information
settings: Move use_docked_mode to System (again)
settings: Document
settings: Add type identification function
settings: Move registry into values
settings: Move global_reset_registry into values
settings: Separate AdvGraphics from Renderer
settings: More document
squash
settings: Use linkage object
uisettings: Move registry into settings
Probably wont build without
uisettings: Use settings linkage object
config: Load settings with a map
Uses the new all_settings vector to load settings.
qt-config: Rename settings category
qt config: Rename to read category
config: Read/write contols category with for_each
This is extremely limited due to the complexity of the Controls group,
but this handles the the settings that use the interface.
qt-config: Use new settings registry
qt-config: Read/write advgrphics
qt-config: Use settings linkage object
yuzu_cmd: Load setting off of vector
cmd-config: Finish settings rename
config: Read controls settings group with for_each
cmd/config: Move registry into values
cmd: Read adv graphics
cmd-config: Use settings linkage object
|
|
|
|
| |
core: Fix MSVC errors
|
| |
|
|
|
|
| |
Just puts them all neatly into one place.
|
| |
|
|\
| |
| | |
input_common: Redesign mouse panning
|
| | |
|
|/ |
|
| |
|
| |
|
|\
| |
| | |
configure_graphics: Add option to enable compute pipelines for Intel proprietary
|
| |
| |
| |
| |
| |
| | |
For the Intel proprietary driver's deficiencies.
settings: Restore compute option global state
|
| | |
|
|/ |
|
|\
| |
| | |
configuration: Expose separate swap present modes
|
| |
| |
| |
| |
| |
| |
| | |
Not entirely sure if we need this, but there's also no reason not to
support it.
settings: Give VSyncMode values
|
| |
| |
| |
| |
| |
| |
| |
| | |
Previously, yuzu would try and guess which vsync mode to use given
different scenarios, but apparently we didn't always get it right. This
exposes the separate modes in a drop-down the user can select.
If a mode isn't available in Vulkan, it defaults to FIFO.
|
| | |
|
|\ \
| |/
|/| |
settings: rename extended memory layout to unsafe, move from general to system
|
| | |
|
|/ |
|
|\
| |
| | |
input_common: Increase mouse sensitivity range
|
| | |
|
|/
|
| |
Intial -> Initial
|
| |
|
|\
| |
| | |
texture_cache: Add asynchronous ASTC texture decoding
|
| | |
|
|/ |
|
| |
|
|
|
|
|
|
| |
Depends on https://github.com/yuzu-emu/build-environments/pull/69
clang-15 primary run
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| | |
vulkan: implement 'turbo mode' clock booster
|
| | |
|
| | |
|
|/
|
|
|
|
| |
As an optional feature which can be enabled in the advanced graphics configuration, all pipelines that get built at the initial shader loading are stored in a VkPipelineCache object and are dumped to the disk.
These vendor specific pipeline cache files are located at `/shader/GAME_ID/vulkan_pipelines.bin`. This feature was mainly added because of an issue with the AMD driver (see yuzu-emu#8507) causing invalidation of the cache files the driver builds automatically.
|
| |
|
| |
|
|
|
|
|
| |
Co-authored-by: goldenx86 <goldenx86@users.noreply.github.com>
Co-authored-by: BreadFish64 <breadfish64@users.noreply.github.com>
|
|\
| |
| | |
core: add option to break on unmapped access
|
| | |
|
|/ |
|
|\
| |
| | |
FSR Sharpening Slider
|
| | |
|
| | |
|
|/
|
| |
GLASM is not very compatible with the latest games, and too many people have the special superpower to break their Vulkan support.
|
|
|
|
| |
Since 16:10 was added, the maximum value is now 4.
|
|
|
|
|
|
|
| |
The startup check apparently confuses other programs when yuzu launches
2 processes and then quickly closes one of them. Though this isn't
really our issues it's also not a big deal for me to add an option to
work around that issue.
|
|\
| |
| | |
yuzu qt: Add option to create Windows crash dumps
|
| |
| |
| |
| |
| |
| | |
yuzu: Move mini_dump out of core
startup_checks: Better exception handling
|
|/ |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
- These were all somewhat redundant.
|
|
|
|
|
| |
- Avoids new GCC 12 warnings when Type is of form std::optional<T>
- Makes more sense this way, because ranged is not a property which would change over time
|
|
|
|
|
|
|
|
|
|
|
|
| |
The latest git version of GCC has issues with my diamond inheritance
shenanigans. Since that's now two compilers that don't like it I thought
it'd be best to just axe all of it and just have the two templates like
before.
This rolls the features of BasicRangedSetting into BasicSetting, and
likewise RangedSetting into Setting. It also renames them from
BasicSetting and Setting to Setting and SwitchableSetting respectively.
Now longer name corresponds to more complex thing.
|
|\
| |
| | |
general: Set renderer_backend's default to Vulkan
|
| | |
|
|/ |
|
|
|
|
| |
Co-Authored-By: liamwhite <liamwhite@users.noreply.github.com>
|
|
|
|
|
| |
This formats all copyright comments according to SPDX formatting guidelines.
Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
|
| |
|
|
|
|
| |
Disables most optimizations for the paranoid.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Inlines implementation of exclusive instructions into JITted code,
improving performance of applications relying heavily on these
instructions.
We also fastmem these instructions for additional speed, with
support for appropriate recompilation on fastmem failure.
An unsafe optimization to disable the intercore global_monitor is also
provided, should one wish to rely solely on cmpxchg semantics for
safety.
See also: merryhime/dynarmic#664
|
|
|
|
| |
- This will be used to enable emulation of a larger memory arrangement.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
start lion review
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Alleviates the dependency on chrono for all files that include settings.h
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
To keep the TAS inputs synced to the game speed even through lag spikes and loading zones, deeper access is required.
First, the `TAS::UpdateThread` has to be executed exactly once per frame. This is done by connecting it to the service method the game calls to pass parameters to the GPU: `Service::VI::QueueBuffer`.
Second, the loading time of new subareas and/or kingdoms (SMO) can vary. To counteract that, the `CPU_BOOST_MODE` can be detected: In the `APM`-interface, the call to enabling/disabling the boost mode can be caught and forwarded to the TASing system, which can pause the script execution if neccessary and enabled in the settings.
|
|
|
|
|
|
| |
First of all, TASing requires a script to play back. The user can select the parent directory at `System -> Filesystem`, next to an option to pause TAS during loads: This requires a "hacky" setup deeper in the code and will be added in the last commit.
Also, Hotkeys are being introduced: CTRL+F5 for playback start/stop, CTRL+F6 for re-reading the script and CTRL+F7 for recording a new script.
|
|
|
|
|
|
|
|
|
| |
The base playback system supports up to 8 controllers (specified by `PLAYER_NUMBER` in `tas_input.h`), which all change their inputs simulataneously when `TAS::UpdateThread` is called.
The recording system uses the controller debugger to read the state of the first controller and forwards that data to the TASing system for recording. Currently, this process sadly is not frame-perfect and pixel-accurate.
Co-authored-by: Naii-the-Baf <sfabian200@gmail.com>
Co-authored-by: Narr-the-Reg <juangerman-13@hotmail.com>
|
|\
| |
| | |
Remove audio stretching
|
| | |
|
|\ \
| |/
|/| |
input_common: Add advanced setting for 8 player support
|
| | |
|
|\ \
| |/
|/| |
nvdec: Add GPU video decoding for all capable drivers and platforms
|
| |
| |
| |
| |
| |
| | |
Some system configurations may see visual regressions or lower performance using GPU decoding compared to CPU decoding. This setting provides the option for users to specify their decoding preference.
Co-Authored-By: yzct12345 <87620833+yzct12345@users.noreply.github.com>
|
| | |
|
| |
| |
| |
| | |
The maximum is now 17 with the addition of Brazilian Portuguese
|
|\| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
According to https://stackoverflow.com/questions/469508, we run into a
MSVC bug (since VS 2005) when using diamond inheritance for
RangedSetting.
This explicitly implements those functions in RangedSetting. GetValue is
implemented as just calling the inherited version. The explicit
converson operator is reimplemented. I opted for this over ignoring the
warning with a pragma since this specifies the inherited behavior, and I
have now less faith in MSVC to pick the right one.
In addition, we mark destructors as virtual to silence what I believe is
a fair MSVC compilation error.
|
| |\
| | |
| | | |
settings: Implement settings ranges
|
| | |
| | |
| | |
| | |
| | |
| | | |
Addresses PR review
Co-authored-by: PixelyIon <pixelyion@protonmail.com>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Addresses review feedback.
Co-authored-by: Mai M. <mathew1800@gmail.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Fixes a theoretical scenario where a Setting is using the BasicSetting's
GetValue function. In practice this probably only happens on yuzu-cmd,
where there is no need for a Setting's additional features. Need to fix
regardless.
|
| | |
| | |
| | |
| | |
| | | |
Clamps the setting's values against the specified minimum and maximum
values.
|
|/ /
| |
| |
| | |
This commit renames the "Services" tab to "Network" and adds a combobox that allows the user to select the network interface that yuzu should use. This new setting is now used to get the local IP address in Network::GetHostIPv4Address. This prevents yuzu from selecting the wrong network interface and thus using the wrong IP address. The return type of Network::GetHostIPv4Adress has also been changed.
|
|\ \
| |/
|/| |
renderer_vulkan: Add setting to log pipeline statistics
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Use VK_KHR_pipeline_executable_properties when enabled and available to
log statistics about the pipeline cache in a game.
For example, this is on Turing GPUs when generating a pipeline cache
from Super Smash Bros. Ultimate:
Average pipeline statistics
==========================================
Code size: 6433.167
Register count: 32.939
More advanced results could be presented, at the moment it's just an
average of all 3D and compute pipelines.
|
|\ \
| |/
|/| |
general: Implement FullscreenMode enumeration
|
| |\ |
|
| | |
| | |
| | |
| | |
| | | |
Prevents us from using an unclear 0 or 1 to describe the fullscreen
mode.
|
|\ \ \
| | | |
| | | | |
general: Rename "Frame Limit" references to "Speed Limit"
|
| |/ /
| | |
| | |
| | |
| | | |
This setting is best referred to as a speed limit, as it involves the limits of all timing based aspects of the emulator, not only framerate.
This allows us to differentiate it from the fps unlocker setting.
|
|\ \ \
| |_|/
|/| | |
config, nvflinger: Add FPS cap setting
|
| |/
| |
| |
| | |
Allows finer tuning of the FPS limit.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
GLASM is getting good enough that we can move it out of advanced
graphics settings. This removes the setting `use_assembly_shaders`,
opting for a enum class `shader_backend`. This comes with the benefits
that it is extensible for additional shader backends besides GLSL and
GLASM, and this will work better with a QComboBox.
Qt removes the related assembly shader setting from the Advanced
Graphics section and places it as a new QComboBox in the API Settings
group. This will replace the Vulkan device selector when OpenGL is
selected.
Additionally, mark all of the custom anisotropic filtering settings as
"WILL BREAK THINGS", as that is the case with a select few games.
|
|/
|
|
| |
Also add a setting for enable Nsight Aftermath.
|
| |
|
|\
| |
| | |
settings: Eliminate usage of float-point setting values
|
| | |
|
| | |
|
| | |
|
|\ \
| | |
| | | |
settings: Disable FPS unlimit setting between title launches
|
| |/
| |
| |
| |
| |
| | |
Some titles crash if the FPS limit is disabled when launching. This change ensures that titles launch with the limit in-place to avoid issues.
In order to simplify the change, the UI toggle was removed as it will always be overridden at launch to be disabled.
The setting can still be toggled during gameplay with the hotkey, and indicated by the fps label in the status bar.
|
| |
| |
| |
| |
| |
| | |
Decouples the CPU debugging mode from the enumeration to its own
boolean. After this, it moves the CPU Debugging tab over to a sub tab
underneath the Debug tab in the configuration UI.
|
| |
| |
| |
| |
| |
| | |
Old CPU Accuracy setting won't translate well into since we're adding
one at the beginning of the list. On first boot with the new setting,
just use the default setting.
|
|/
|
|
|
|
|
| |
The current CPU accuracy settings in yuzu are fairly polarized and
require more than common knowledge to know what the optimal settings for
yuzu would be. This adds a curated option called 'Auto' that applies a
few at the moment known-good unsafe optimizations to Dynarmic.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Slight improvements to readability.
Dropped suggestions for string_view (settings.h:101), pass by value
(settings.h:82), reverting double to a float (config.cpp:316), and other
smaller ones, some out of scope.
Addresses review feedback.
Co-authored-by: Ameer J <52414509+ameerj@users.noreply.github.com>
|
|
|
|
| |
Fixes Disgaea 6 Demo issues.
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Requires a default value when creating each per-game setting.
|
|\
| |
| | |
GPU: Implement a garbage collector for GPU Caches (project Reaper+)
|
| | |
|
|\ \
| | |
| | | |
Update dynarmic and add new unsafe CPU option.
|
| |/ |
|
|/
|
|
|
| |
Enabling this setting will allow some titles to present more frames to
the screen as they become available in the nvflinger buffer queue.
|
|\
| |
| | |
textures: Add a toggle for GPU Accelerated ASTC decoder
|
| | |
|
|/
|
|
|
|
|
|
| |
This introduces a new setting Enable FS Access Log which saves the filesystem access log to sdmc:/FsAccessLog.txt
If this setting is not enabled, this will indicate to FS to not call OutputAccessLogToSdCard.
Fixes softlocks during loading in Xenoblade Chronicles 2 when certain DLC is enabled.
|
| |
|
| |
|
|
|
|
|
| |
Required to make CPU accuracy and unsafe settings available to use as a
per-game setting.
|
|
- Removes a dependency on core and input_common from common.
|