summaryrefslogtreecommitdiffstats
path: root/src/common/settings.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* yuzu: create linux group in general settingsflodavid2023-11-251-0/+2
| | | | | - Create files dedicated to starting and stopping gamemode functions - Use them in yuzu and yuzu_cmd modules
* config: Unify config handling under frontend_commont8952023-11-211-2/+2
| | | | | | Replaces every way of handling config for each frontend with SimpleIni. frontend_common's Config class is at the center where it saves and loads all of the cross-platform settings and provides a set of pure virtual functions for platform specific settings. As a result of making config handling platform specific, several parts had to be moved to each platform's own config class or to other parts. Default keys were put in platform specific config classes and translatable strings for Qt were moved to shared_translation. Default hotkeys, default_theme, window geometry, and qt metatypes were moved to uisettings. Additionally, to reduce dependence on Qt, QStrings were converted to std::strings where applicable.
* yuzu: Save mute when in background settingNarr the Reg2023-11-101-0/+2
|
* yuzu: Use new setting method for stop emulationFlorian2023-10-121-0/+5
|
* Query Cachge: Fully rework Vulkan's query cacheFernando Sahmkow2023-09-231-3/+7
|
* android: Expose interface for getting settings from native codeCharles Lombardo2023-08-301-0/+2
| | | | Completely removes code related to parsing the settings file on the java side. Now all settings are accessed via NativeConfig.kt and config.cpp has been modified to be closer to the core counterpart. Since the core currently uses QSettings, we can't remove reliance from Wini yet. This also includes simplifications to each settings interface to get closer to native code and prepare for per-game settings.
* settings: Add docked mode helper functionlat9nq2023-08-231-0/+5
|
* settings: Add AspectRatio enum, split res scale functionlat9nq2023-08-161-3/+7
|
* Merge pull request #10839 from lat9nq/pgc-plusliamwhite2023-08-021-116/+132
|\ | | | | general: Reimplement per-game configurations
| * settings: Correct Linkage member impl locationlat9nq2023-07-251-3/+0
| |
| * common,qt-config: Remove usage of forward_listlat9nq2023-07-221-1/+0
| |
| * settings: Remove sorting from loglat9nq2023-07-211-4/+0
| | | | | | | | Unecessary, and would run every time the settings are logged.
| * common: Move global configuration state modifiers back to settingslat9nq2023-07-211-0/+10
| |
| * settings: Cleanuplat9nq2023-07-211-2/+3
| | | | | | | | | | | | Addresses review feedback Co-authored-by: Morph <39850852+Morph1984@users.noreply.github.com>
| * settings: Require time zone setting value for stirnglat9nq2023-07-211-2/+2
| |
| * settings,uisettings: Remove leading underscorelat9nq2023-07-211-1/+1
| |
| * common,yuzu-qt: Avoid explicit instantiation on old clanglat9nq2023-07-211-0/+2
| | | | | | | | | | Clang versions < 15 have compile issues with explicit instantiation. Disable it for these versions.
| * settings: Move IsConfiguringGlobal to settings_commonlat9nq2023-07-211-9/+0
| |
| * settings: Move some simple data to BasicSettinglat9nq2023-07-211-8/+0
| | | | | | | | | | Reduces the need for the compiler to duplicate this code, by about 100KB executable size.
| * (ui,)settings: Use explicit instantiationlat9nq2023-07-211-0/+52
| | | | | | | | Reduces compile times a tad on clang.
| * settings: Report all contained settings valueslat9nq2023-07-211-45/+19
| | | | | | | | | | | | Also adds a couple characters that denotes the state of the setting. M for modified, or not default. C for custom, in context of per-game settings.
| * settings,general: Rename non-confirming enumslat9nq2023-07-211-3/+3
| |
| * configure_audio: Implement ui generationlat9nq2023-07-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * settings, uisettings: Initialize linkage counterlat9nq2023-07-211-1/+1
| |
| * configure_system: Implement with for looplat9nq2023-07-211-0/+1
| |
| * settings: Add UiGeneral classlat9nq2023-07-211-0/+4
| |
| * settings: Recategorize a bitlat9nq2023-07-211-2/+5
| | | | | | | | Will help with generating config UI later.
| * settings: Add a registry of settingslat9nq2023-07-211-1/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * settings,core,config_sys: Remove optional type from custom_rtc, rng_seedlat9nq2023-07-211-1/+2
| | | | | | | | core: Fix MSVC errors
| * settings: Pool SetGlobal functionslat9nq2023-07-211-59/+4
| |
| * settings,video_core: Consolidate ASTC decoding optionslat9nq2023-07-211-2/+0
| | | | | | | | Just puts them all neatly into one place.
* | settings: Disable C++20 tzdb path on MinGWlat9nq2023-07-101-1/+2
|/ | | | | This path always results in Etc/UTC on MinGW, which often is not close to the local time zone.
* settings: Catch runtime error from STLlat9nq2023-07-091-3/+2
| | | | | | This function throws a runtime error we can catch on old Windows 10 installs, so we can catch it here rather than disable this path for everybody.
* settings: Disable C++20 path on MSVClat9nq2023-07-051-1/+2
| | | | | | | | Even though it compiles and runs fine on the latest Windows versions, older LTSC builds will crash due to lacking support somewhere in the OS. For now just disable it for MSVC until either Microsoft fixes this or we no longer support 1809 LTSC.
* settings: Clean up includeslat9nq2023-06-281-2/+3
| | | | | | Adds <version> since we are looking at C++ implementation version details. Also moves exception header includes into the if preprocessor command since we only use it there.
* settings: Catch runtime_error, fallback time zonelat9nq2023-06-281-3/+15
| | | | | | Windows will let you select time zones that will fail in their own C++ implementation library. Evidently from the stack trace, we get a runtime error to work with, so catch it and use the fallback.
* Merge pull request #10603 from lat9nq/tz-more-completebunnei2023-06-131-11/+20
|\ | | | | core,common: Implement missing time zone data/computations
| * common: Move system time zone string detectionlat9nq2023-06-051-72/+7
| | | | | | | | | | | | | | | | | | | | | | | | Moves it from Settings to Common::TimeZone, since this algorithm doesn't depend on the setting. It also lets us use it in other libraries. common: Various fixes time_zone: Don't double up the std::abs Too many absolute values were causing mirrored time zones to resolve as the same.
| * settings: Always report a valid time zonelat9nq2023-06-051-2/+76
| | | | | | | | | | | | | | | | | | | | | | | | Prevents needing to deduce the non-Switch setting in core. Instead, we deduce the meaning of this setting where the heresy is committed, in common. settings: Remove strftime usage GetTimeZoneString: Use standard features Also forces GMT on MinGW due to broken strftime.
* | nvnflinger: allow locking framerate during video playbackLiam2023-06-081-0/+1
|/
* textures: add BC1 and BC3 compressors and recompression settingLiam2023-05-231-0/+2
|
* Merge pull request #10181 from lat9nq/intel-compute-toggleliamwhite2023-05-151-0/+1
|\ | | | | configure_graphics: Add option to enable compute pipelines for Intel proprietary
| * settings: Add enable compute pipelineslat9nq2023-05-071-0/+1
| | | | | | | | | | | | For the Intel proprietary driver's deficiencies. settings: Restore compute option global state
* | Settings: add option to enable / disable reactive flushingFernando Sahmkow2023-05-071-0/+2
|/
* Merge pull request #10125 from lat9nq/vsync-selectbunnei2023-05-071-2/+1
|\ | | | | configuration: Expose separate swap present modes
| * configuration: Expose separate swap present modeslat9nq2023-05-031-2/+1
| | | | | | | | | | | | | | | | 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: remove pessimistic flushingLiam2023-05-041-1/+0
| |
* | Merge pull request #10124 from liamwhite/pebkacMorph2023-05-031-1/+2
|\ \ | |/ |/| settings: rename extended memory layout to unsafe, move from general to system
| * settings: rename extended memory layout to unsafe, move from general to systemLiam2023-04-301-1/+2
| |
* | vk_present_manager: Add toggle for async presentationGPUCode2023-05-011-0/+1
|/
* Merge pull request #9849 from ameerj/async-astcliamwhite2023-02-261-0/+2
|\ | | | | texture_cache: Add asynchronous ASTC texture decoding
| * configuration: Add async ASTC decode settingameerj2023-02-231-0/+2
| |
* | settings: Add more input settings to the logNarr the Reg2023-02-221-0/+7
|/
* Update settings.cppm-HD2023-02-121-0/+4
| | | added missing graphical settings to RestoreGlobalState()
* CPPMatías Locatti2023-01-131-0/+8
|
* 1.5X resolution scaler optionMatías Locatti2023-01-131-0/+4
|
* Merge pull request #9552 from liamwhite/turboliamwhite2023-01-061-0/+1
|\ | | | | vulkan: implement 'turbo mode' clock booster
| * common: add setting for renderer clock workaroundLiam2023-01-051-0/+1
| |
* | config: Set the Vulkan driver pipeline cache option to be globalWollnashorn2023-01-051-0/+1
|/
* Set: Allow setting device nicknameChloe Marcec2022-12-141-0/+1
|
* settings: Reset FSR sharpening global state with the otherslat9nq2022-11-261-0/+1
|
* FSR Sharpening Slider part 1 - only a global sliderMatías Locatti2022-11-241-0/+1
|
* Add break statement in default casesEnrico Mancuso2022-11-091-0/+1
| | | | | | | According to the contributing page (https://github.com/yuzu-emu/yuzu/wiki/Contributing) the default cases should have a break statement default: // Yes, even break for the last case break;
* video_core: add option for pessimistic flushingLiam2022-08-251-0/+1
|
* Allow audio volume up to 200%Kelebek12022-08-121-1/+1
|
* Project AndioKelebek12022-07-221-1/+2
|
* yuzu: settings: Remove framerate cap and merge unlocked framerate setting.bunnei2022-07-171-1/+0
| | | | - These were all somewhat redundant.
* common: Change semantics of UNREACHABLE to unconditionally crashLiam2022-06-141-1/+1
|
* core/debugger: Implement new GDB stub debuggerLiam2022-06-011-0/+1
|
* GCC 12 fixesLiam2022-04-281-1/+1
|
* general: Convert source file copyright comments over to SPDXMorph2022-04-231-3/+2
| | | | | 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.
* dynarmic: Inline exclusive memory accessesmerry2022-02-271-0/+1
| | | | | | | | | | | | | | | 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
* settings: Add a new "use_extended_memory_layout" setting.bunnei2022-02-211-0/+1
| | | | - This will be used to enable emulation of a larger memory arrangement.
* configure_general: Allow framerate cap to be used in custom game configsKewlan2021-11-211-0/+1
|
* Settings: Add anti-aliasing method settingMarshall Mohror2021-11-161-0/+1
|
* VideoCore: Add more rescaling option.FernandoS272021-11-161-0/+13
|
* Texture Cahe: Fix downscaling on SMO.Fernando Sahmkow2021-11-161-0/+2
|
* video_core: Misc resolution scaling related refactoringameerj2021-11-161-1/+1
|
* Renderer: Implement Bicubic and ScaleForce filters.Fernando Sahmkow2021-11-161-9/+1
|
* common/settings: Remove unused scaling optionsReinUsesLisp2021-11-161-16/+7
|
* Settings: eliminate rescaling_factor.Fernando Sahmkow2021-11-161-1/+1
|
* Settings: Add resolution scaling to settings.Fernando Sahmkow2021-11-161-0/+51
|
* VideoCore: Initial Setup for the Resolution Scaler.Fernando Sahmkow2021-11-161-0/+1
|
* settings: Remove BCAT settingsMorph2021-09-291-2/+0
|
* Merge pull request #7020 from Moonlacer/remove_audio_stretchingbunnei2021-09-181-2/+0
|\ | | | | Remove audio stretching
| * fix_accidental_deletionMoonlacer2021-09-161-1/+2
| |
| * remove-audio-stretching-settingMoonlacer2021-09-161-4/+1
| |
* | Merge pull request #6950 from german77/multiplaybunnei2021-09-181-0/+3
|\ \ | |/ |/| input_common: Add advanced setting for 8 player support
| * input_common: Enable steam controllers and 8 player supportgerman772021-09-101-0/+3
| |
* | Merge pull request #6846 from ameerj/nvdec-gpu-decodeFernando S2021-09-111-2/+2
|\ \ | |/ |/| nvdec: Add GPU video decoding for all capable drivers and platforms
| * configure_graphics: Add GPU nvdec decoding as an optionameerj2021-08-161-2/+2
| | | | | | | | | | | | 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>
* | Garbage Collection: enable as default, eliminate option.Fernando Sahmkow2021-08-281-2/+0
|/
* Merge pull request #6696 from ameerj/speed-limit-renamebunnei2021-07-271-4/+4
|\ | | | | general: Rename "Frame Limit" references to "Speed Limit"
| * general: Rename "Frame Limit" references to "Speed Limit"ameerj2021-07-241-4/+4
| | | | | | | | | | 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.
* | general: Add setting shader_backendlat9nq2021-07-231-2/+2
|/ | | | | | | | | | | | | | | | 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.
* Merge pull request #6579 from ameerj/float-settingsbunnei2021-07-161-1/+1
|\ | | | | settings: Eliminate usage of float-point setting values
| * configure_audio: Use u8 for volume valueameerj2021-07-091-1/+1
| |
* | settings, arm_dynarmic, yuzu qt: Move CPU debugging optionlat9nq2021-07-081-1/+1
|/ | | | | | 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.
* general: Make most settings a BasicSettinglat9nq2021-06-281-8/+8
| | | | | | | | | | | 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.
* Merge pull request #6465 from FernandoS27/sex-on-the-beachMai M2021-06-231-0/+2
|\ | | | | GPU: Implement a garbage collector for GPU Caches (project Reaper+)
| * Reaper: Setup settings and final tuning.Fernando Sahmkow2021-06-161-0/+2
| |
* | Update dynarmic and add new unsafe CPU option.Fernando Sahmkow2021-06-201-0/+1
|/
* configure_graphics: Add Accelerate ASTC decoding settingameerj2021-06-161-0/+2
|
* General: Add settings for fastmem and disabling adress space check.FernandoS272021-06-111-0/+8
|
* common: fs: Rework the Common Filesystem interface to make use of std::filesystem (#6270)Morph2021-05-261-6/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * common: fs: fs_types: Create filesystem types Contains various filesystem types used by the Common::FS library * common: fs: fs_util: Add std::string to std::u8string conversion utility * common: fs: path_util: Add utlity functions for paths Contains various utility functions for getting or manipulating filesystem paths used by the Common::FS library * common: fs: file: Rewrite the IOFile implementation * common: fs: Reimplement Common::FS library using std::filesystem * common: fs: fs_paths: Add fs_paths to replace common_paths * common: fs: path_util: Add the rest of the path functions * common: Remove the previous Common::FS implementation * general: Remove unused fs includes * string_util: Remove unused function and include * nvidia_flags: Migrate to the new Common::FS library * settings: Migrate to the new Common::FS library * logging: backend: Migrate to the new Common::FS library * core: Migrate to the new Common::FS library * perf_stats: Migrate to the new Common::FS library * reporter: Migrate to the new Common::FS library * telemetry_session: Migrate to the new Common::FS library * key_manager: Migrate to the new Common::FS library * bis_factory: Migrate to the new Common::FS library * registered_cache: Migrate to the new Common::FS library * xts_archive: Migrate to the new Common::FS library * service: acc: Migrate to the new Common::FS library * applets/profile: Migrate to the new Common::FS library * applets/web: Migrate to the new Common::FS library * service: filesystem: Migrate to the new Common::FS library * loader: Migrate to the new Common::FS library * gl_shader_disk_cache: Migrate to the new Common::FS library * nsight_aftermath_tracker: Migrate to the new Common::FS library * vulkan_library: Migrate to the new Common::FS library * configure_debug: Migrate to the new Common::FS library * game_list_worker: Migrate to the new Common::FS library * config: Migrate to the new Common::FS library * configure_filesystem: Migrate to the new Common::FS library * configure_per_game_addons: Migrate to the new Common::FS library * configure_profile_manager: Migrate to the new Common::FS library * configure_ui: Migrate to the new Common::FS library * input_profiles: Migrate to the new Common::FS library * yuzu_cmd: config: Migrate to the new Common::FS library * yuzu_cmd: Migrate to the new Common::FS library * vfs_real: Migrate to the new Common::FS library * vfs: Migrate to the new Common::FS library * vfs_libzip: Migrate to the new Common::FS library * service: bcat: Migrate to the new Common::FS library * yuzu: main: Migrate to the new Common::FS library * vfs_real: Delete the contents of an existing file in CreateFile Current usages of CreateFile expect to delete the contents of an existing file, retain this behavior for now. * input_profiles: Don't iterate the input profile dir if it does not exist Silences an error produced in the log if the directory does not exist. * game_list_worker: Skip parsing file if the returned VfsFile is nullptr Prevents crashes in GetLoader when the virtual file is nullptr * common: fs: Validate paths for path length * service: filesystem: Open the mod load directory as read only
* general: Demote custom_rtc to regular settinglat9nq2021-05-171-1/+0
|
* configuration: Add CPU tab to game propertieslat9nq2021-05-161-0/+6
| | | | | | Allows setting CPU accuracy to Accurate or Unsafe per-game, as well as the accuracy options for Unsafe. Debug is not allowed here as a per-game CPU accuracy.
* general: Make CPU accuracy and related a Settings::Settinglat9nq2021-05-161-1/+1
| | | | | Required to make CPU accuracy and unsafe settings available to use as a per-game setting.
* common: Move settings to common from core.bunnei2021-04-151-0/+143
- Removes a dependency on core and input_common from common.