| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|\
| |
| | |
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.
|