summaryrefslogtreecommitdiffstats
path: root/src/common/settings.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* settings: Allow vsync to be changed per-gamet8952023-12-121-1/+1
|
* settings: Allow CPU Debug and Fastmem to be changed per-gamet8952023-12-121-4/+4
|
* settings: Enable NCE by default on capable systemst8952023-12-091-4/+10
|
* Merge pull request #12074 from GPUCode/yuwu-on-the-metalliamwhite2023-11-301-0/+11
|\ | | | | Implement Native Code Execution (NCE)
| * qt: add cpu_backend configurationamazingfate2023-11-271-1/+1
| |
| * Address some review commentsGPUCode2023-11-251-1/+1
| |
| * arm: Implement native code execution backendLiam2023-11-251-1/+1
| |
| * device_memory: Enable direct mapped addresses for nceGPUCode2023-11-251-1/+2
| |
| * settings: Add cpu backend settingGPUCode2023-11-251-0/+10
| |
* | Merge pull request #11946 from flodavid/gamemodeliamwhite2023-11-291-0/+3
|\ \ | | | | | | Enable (Feral Interactive) Gamemode on Linux
| * | yuzu: create linux group in general settingsflodavid2023-11-251-2/+3
| | | | | | | | | | | | | | | - Create files dedicated to starting and stopping gamemode functions - Use them in yuzu and yuzu_cmd modules
| * | yuzu: integrate gamemode support on linuxxcfrg2023-11-251-0/+2
| |/
* | Merge pull request #11535 from GPUCode/upload_cmdbufFernando S2023-11-261-0/+2
|\ \ | |/ |/| renderer_vulkan: Introduce separate cmd buffer for uploads
| * renderer_vulkan: Introduce separate cmd buffer for uploadsGPUCode2023-11-121-0/+2
| |
* | common: settings: Add ifdefs to define android's default settingst8952023-11-211-6/+36
| |
* | yuzu: Make mute audio persistentNarr the Reg2023-11-101-1/+1
|/
* Merge pull request #11689 from liamwhite/breakpadliamwhite2023-10-301-1/+0
|\ | | | | qt: implement automatic crash dump support
| * qt: implement automatic crash dump supportLiam2023-10-081-1/+0
| |
* | yuzu: Use new setting method for stop emulationFlorian2023-10-121-0/+5
|/
* Merge pull request #11402 from FernandoS27/depth-bias-controlliamwhite2023-09-281-0/+2
|\ | | | | Vulkan: Implement Depth Bias Control
| * Vulkan: add temporary workaround for AMDVLKFernando Sahmkow2023-09-161-0/+2
| |
* | Query Cachge: Fully rework Vulkan's query cacheFernando Sahmkow2023-09-231-0/+2
|/
* debug: Add renderdoc capture hotkeyGPUCode2023-09-141-0/+2
|
* settings: Add docked mode helper functionlat9nq2023-08-231-0/+2
|
* general: Convert use_docked_mode to an enumerationlat9nq2023-08-221-1/+7
| | | | Allows some special interactions with it in the Qt frontend.
* settings: Add AspectRatio enum, split res scale functionlat9nq2023-08-161-0/+1
|
* (ui)settings: Add more runtime_modifiable settingslat9nq2023-07-261-4/+5
|
* settings: Set GPU as default ASTC decoderlat9nq2023-07-241-1/+1
|
* common: Move global configuration state modifiers back to settingslat9nq2023-07-211-0/+3
|
* core,common: Give memory layout setting an enumlat9nq2023-07-211-2/+6
| | | | Allows for 6GB and 8GB layouts to be selected.
* settings: Require time zone setting value for stirnglat9nq2023-07-211-1/+1
|
* settings,configuration: Add a default suffixlat9nq2023-07-211-6/+20
|
* settings: Define paired settingslat9nq2023-07-211-6/+15
| | | | settings_common: Remove unused optional
* settings: Define specializations for settingslat9nq2023-07-211-50/+86
| | | | Suggests to a frontend how to represent each setting.
* settings,uisettings: Remove leading underscorelat9nq2023-07-211-1/+1
|
* settings: Move speed_limit to corelat9nq2023-07-211-4/+4
|
* 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: Delete cpu_accuracy_first_timelat9nq2023-07-211-2/+0
| | | | Almost a 2 year old migration setting now
* settings: Move IsConfiguringGlobal to settings_commonlat9nq2023-07-211-3/+0
|
* (ui,)settings: Use explicit instantiationlat9nq2023-07-211-471/+42
| | | | Reduces compile times a tad on clang.
* settings: Remove redundant false literalslat9nq2023-07-211-19/+16
|
* general: Add typeinfo where neededlat9nq2023-07-211-0/+1
| | | | Using typeid without including typeinfo first produces an ill-formed program.
* settings: yuzu is not capitalized why is it capitalized stop no badlat9nq2023-07-211-1/+1
|
* settings: Reorderlat9nq2023-07-211-75/+78
| | | | | | 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.
* settings,general: Rename non-confirming enumslat9nq2023-07-211-16/+24
|
* settings: Make volume runtime-configurablelat9nq2023-07-211-1/+1
|
* configure_audio: Implement ui generationlat9nq2023-07-211-3/+8
| | | | | | | | | | | | | | | | 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: Split enums to new filelat9nq2023-07-211-186/+3
|
* settings, uisettings: Initialize linkage counterlat9nq2023-07-211-1/+1
|
* configure_system: Implement with for looplat9nq2023-07-211-12/+102
|
* settings: Move runtime and save to parameterslat9nq2023-07-211-63/+85
| | | | These don't need to be whole new types.
* settings: Add UiGeneral classlat9nq2023-07-211-2/+5
|
* configuration: Implement sliderlat9nq2023-07-211-2/+11
|
* settings: Define base renderer runtime modifiable settingslat9nq2023-07-211-21/+22
|
* settings: Add anisotropy mode enumlat9nq2023-07-211-0/+8
|
* shared_translation: Finish using int idslat9nq2023-07-211-2/+2
|
* settings,uisettings: Add IDs to settingslat9nq2023-07-211-3/+13
|
* configure_graphics: Partial runtime implementationlat9nq2023-07-211-1/+1
|
* settings: Recategorize a bitlat9nq2023-07-211-38/+49
| | | | Will help with generating config UI later.
* configure_graphics_advance: Generate UI at runtimelat9nq2023-07-211-12/+41
| | | | | | | 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.
* settings: Add a registry of settingslat9nq2023-07-211-186/+434
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-2/+4
| | | | core: Fix MSVC errors
* settings: Pool SetGlobal functionslat9nq2023-07-211-2/+10
|
* settings,video_core: Consolidate ASTC decoding optionslat9nq2023-07-211-2/+9
| | | | Just puts them all neatly into one place.
* input_common: Tune mouse controlsNarr the Reg2023-06-291-6/+4
|
* Merge pull request #10495 from bm01/masterliamwhite2023-06-271-2/+9
|\ | | | | input_common: Redesign mouse panning
| * input_common: Redesign mouse panningBaptiste Marie2023-06-121-2/+9
| |
* | video_core: optionally skip barriers on feedback loopsLiam2023-06-141-0/+1
|/
* nvnflinger: allow locking framerate during video playbackLiam2023-06-081-0/+1
|
* textures: add BC1 and BC3 compressors and recompression settingLiam2023-05-231-0/+9
|
* 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
* | service: nfp: Allow to load with a different amiibo idgerman772023-05-101-0/+2
| |
* | Settings: add option to enable / disable reactive flushingFernando Sahmkow2023-05-071-0/+1
|/
* Merge pull request #10125 from lat9nq/vsync-selectbunnei2023-05-071-1/+9
|\ | | | | configuration: Expose separate swap present modes
| * settings: Enable FIFO relaxedlat9nq2023-05-031-5/+6
| | | | | | | | | | | | | | Not entirely sure if we need this, but there's also no reason not to support it. settings: Give VSyncMode values
| * configuration: Expose separate swap present modeslat9nq2023-05-031-1/+8
| | | | | | | | | | | | | | | | 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 #9906 from german77/metroid2bunnei2023-03-081-1/+1
|\ | | | | input_common: Increase mouse sensitivity range
| * input_common: Increase mouse sensitivity rangegerman772023-03-081-1/+1
| |
* | fix typo in settings.hIkko Eltociear Ashimine2023-03-061-4/+4
|/ | | Intial -> Initial
* Revert "yuzu: config: Remove player 8 and 9 from config file"Narr the Reg2023-02-261-1/+1
|
* Merge pull request #9849 from ameerj/async-astcliamwhite2023-02-261-0/+1
|\ | | | | texture_cache: Add asynchronous ASTC texture decoding
| * configuration: Add async ASTC decode settingameerj2023-02-231-0/+1
| |
* | yuzu: config: Remove player 8 and 9 from config fileNarr the Reg2023-02-261-1/+1
|/
* input_common: Reintroduce custom pro controller supportNarr the Reg2023-02-101-0/+1
|
* Move to Clang Format 15Levi Behunin2023-01-301-4/+8
| | | | | | Depends on https://github.com/yuzu-emu/build-environments/pull/69 clang-15 primary run
* input_common: Disable SDL driver with switch controllersNarr the Reg2023-01-201-0/+1
|
* Update settings.hMatías Locatti2023-01-131-0/+2
|
* 1.5X resolution scaler optionMatías Locatti2023-01-131-5/+6
|
* renderer_vulkan: disable turbo by defaultLiam2023-01-081-1/+1
|
* 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: Better wording for VK pipeline cache option and enable by defaultWollnashorn2023-01-051-1/+1
| |
* | video_core/vulkan: Added `VkPipelineCache` to store Vulkan pipelinesWollnashorn2023-01-051-0/+2
|/ | | | | | 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.
* yuzu-ui: Add setting for disabling macro HLEFernando Sahmkow2023-01-041-0/+1
|
* Set: Allow setting device nicknameChloe Marcec2022-12-141-0/+1
|
* video_core: Integrate SMAALiam2022-12-081-1/+2
| | | | | Co-authored-by: goldenx86 <goldenx86@users.noreply.github.com> Co-authored-by: BreadFish64 <breadfish64@users.noreply.github.com>
* Merge pull request #9370 from liamwhite/break-unmappedmerry2022-12-061-0/+1
|\ | | | | core: add option to break on unmapped access
| * core: add option to break on unmapped accessLiam2022-12-021-0/+1
| |
* | video_core: add null backendLiam2022-11-291-1/+2
|/
* Merge pull request #9276 from goldenx86/fsrSliderbunnei2022-11-271-0/+1
|\ | | | | FSR Sharpening Slider
| * FSR Sharpening Slider part 1 - only a global sliderMatías Locatti2022-11-241-0/+1
| |
* | OopsMatías Locatti2022-11-261-1/+1
| |
* | Replace GLSL as the default OpenGL shader backendMatías Locatti2022-11-261-1/+1
|/ | | GLASM is not very compatible with the latest games, and too many people have the special superpower to break their Vulkan support.
* settings: Update aspect_ratio rangeMorph2022-10-131-1/+1
| | | | Since 16:10 was added, the maximum value is now 4.
* yuzu qt: Add option to disable startup Vulkan checklat9nq2022-09-191-0/+1
| | | | | | | 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.
* Merge pull request #8682 from lat9nq/dumpyMorph2022-09-161-0/+1
|\ | | | | yuzu qt: Add option to create Windows crash dumps
| * yuzu: Use a debugger to generate minidumpslat9nq2022-09-051-0/+1
| | | | | | | | | | | | yuzu: Move mini_dump out of core startup_checks: Better exception handling
* | video_core: add option for pessimistic flushingLiam2022-08-251-0/+1
|/
* Allow audio volume up to 200%Kelebek12022-08-121-1/+1
|
* yuzu: Add webcam support and rebase to latest masterNarr the Reg2022-07-241-2/+2
|
* input_common: Add camera drivergerman772022-07-241-0/+3
|
* Project AndioKelebek12022-07-221-1/+3
|
* yuzu: settings: Remove framerate cap and merge unlocked framerate setting.bunnei2022-07-171-2/+0
| | | | - These were all somewhat redundant.
* common/setting: Make ranged a property of the typemerry2022-07-151-34/+33
| | | | | - 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
* settings: Consolidate RangedSetting's with regular oneslat9nq2022-06-301-270/+182
| | | | | | | | | | | | 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.
* Merge pull request #8393 from lat9nq/default-vulkanbunnei2022-06-111-1/+1
|\ | | | | general: Set renderer_backend's default to Vulkan
| * settings: Set Vulkan to the default renderer backendlat9nq2022-05-301-1/+1
| |
* | core/debugger: Implement new GDB stub debuggerLiam2022-06-011-1/+1
|/
* VideoCore: Add option to dump the macros.Fernando Sahmkow2022-05-091-0/+1
| | | | Co-Authored-By: liamwhite <liamwhite@users.noreply.github.com>
* 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.
* yuzu: Add custom ringcon configurationgerman772022-04-161-0/+3
|
* configuration: Add Paranoid CPU accuracy levelmerry2022-03-261-1/+2
| | | | Disables most optimizations for the paranoid.
* dynarmic: Inline exclusive memory accessesmerry2022-02-271-0/+3
| | | | | | | | | | | | | | | 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.
* yuzu: Add setting to disable controller navigationgerman772022-01-241-0/+1
|
* ShaderDecompiler: Add a debug option to dump the game's shaders.Fernando Sahmkow2022-01-041-0/+1
|
* settings: Add debug setting to enable all controllersgerman772021-11-281-0/+1
|
* input_common: Fully implement UDP controllersNarr the Reg2021-11-261-0/+1
|
* core/hid: Fully implement native mousegerman772021-11-251-1/+0
|
* input_common: Allow keyboard to be backwards compatiblegerman772021-11-251-2/+0
|
* config: Cleanup and documentationgerman772021-11-251-3/+0
|
* kraken: Address comments from reviewgerman772021-11-251-1/+0
| | | | start lion review
* core/hid: Add TAS inputgerman772021-11-251-1/+0
|
* settings: Cleanup settingsgerman772021-11-251-3/+0
|
* configure_general: Allow framerate cap to be used in custom game configsKewlan2021-11-211-1/+1
|
* TextureCache: Add automatic anisotropic filtering and refactor code.Fernando Sahmkow2021-11-161-1/+1
|
* Yuzu UI: Add button for Anti AliasFernando Sahmkow2021-11-161-0/+1
|
* Settings: Add anti-aliasing method settingMarshall Mohror2021-11-161-0/+6
|
* QtGUI: Add buttton to toggle the filter.FernandoS272021-11-161-0/+1
|
* VideoCore: Add gaussian filtering.FernandoS272021-11-161-2/+3
|
* VideoCore: Add more rescaling option.FernandoS272021-11-161-4/+7
|
* Presentation: add Nearest Neighbor filter.Fernando Sahmkow2021-11-161-4/+5
|
* vulkan: Implement FidelityFX Super ResolutionMarshall Mohror2021-11-161-0/+1
|
* Texture Cahe: Fix downscaling on SMO.Fernando Sahmkow2021-11-161-0/+1
|
* video_core: Refactor resolution scale functionameerj2021-11-161-0/+14
|
* Renderer: Implement Bicubic and ScaleForce filters.Fernando Sahmkow2021-11-161-6/+11
|
* common/settings: Remove unused scaling optionsReinUsesLisp2021-11-161-2/+0
|
* Settings: eliminate rescaling_factor.Fernando Sahmkow2021-11-161-1/+1
|
* Settings: Add resolution scaling to settings.Fernando Sahmkow2021-11-161-4/+9
|
* VideoCore: Initial Setup for the Resolution Scaler.Fernando Sahmkow2021-11-161-0/+18
|
* settings: Remove std::chrono usageameerj2021-10-171-3/+2
| | | | Alleviates the dependency on chrono for all files that include settings.h
* settings: Remove BCAT settingsMorph2021-09-291-2/+0
|
* input_common/tas: Document the main classgerman772021-09-181-7/+4
|
* input_common/tas: Fallback to simple updateMonsterDruide12021-09-181-4/+3
|
* core: Hacky TAS syncing & load pausingMonsterDruide12021-09-181-5/+4
| | | | | | | | 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.
* settings: File selector & other settingsMonsterDruide12021-09-181-0/+3
| | | | | | 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.
* input_common/tas: Base playback & recording systemMonsterDruide12021-09-181-0/+7
| | | | | | | | | 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>
* Merge pull request #7020 from Moonlacer/remove_audio_stretchingbunnei2021-09-181-1/+0
|\ | | | | Remove audio stretching
| * remove-audio-stretching-settingMoonlacer2021-09-161-1/+0
| |
* | Merge pull request #6950 from german77/multiplaybunnei2021-09-181-3/+3
|\ \ | |/ |/| input_common: Add advanced setting for 8 player support
| * input_common: Enable steam controllers and 8 player supportgerman772021-09-101-3/+3
| |
* | Merge pull request #6846 from ameerj/nvdec-gpu-decodeFernando S2021-09-111-1/+7
|\ \ | |/ |/| nvdec: Add GPU video decoding for all capable drivers and platforms
| * configure_graphics: Add GPU nvdec decoding as an optionameerj2021-08-161-1/+7
| | | | | | | | | | | | 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-1/+0
| |
* | settings: Amend language_index maximum setting rangeMorph2021-08-211-1/+1
| | | | | | | | The maximum is now 17 with the addition of Brazilian Portuguese
* | Merge branch 'yuzu-emu:master' into fix-lan-playspholz2021-08-121-28/+153
|\|
| * settings: Fix MSVC issueslat9nq2021-08-111-7/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * Merge pull request #6776 from lat9nq/ranged-settingsbunnei2021-08-111-26/+136
| |\ | | | | | | settings: Implement settings ranges
| | * settings: Use std::clamp where possiblelat9nq2021-07-311-39/+9
| | | | | | | | | | | | | | | | | | Addresses PR review Co-authored-by: PixelyIon <pixelyion@protonmail.com>
| | * settings: Remove unnecessary std::move usageslat9nq2021-07-311-12/+12
| | | | | | | | | | | | | | | | | | Addresses review feedback. Co-authored-by: Mai M. <mathew1800@gmail.com>
| | * settings: Fix function virtualizationlat9nq2021-07-301-12/+18
| | | | | | | | | | | | | | | | | | | | | 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.
| | * settings: Implement setting rangeslat9nq2021-07-301-18/+152
| | | | | | | | | | | | | | | Clamps the setting's values against the specified minimum and maximum values.
* | | configuration: add option to select network interfacespholz2021-08-121-1/+2
|/ / | | | | | | 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.
* | Merge pull request #6759 from ReinUsesLisp/pipeline-statisticsbunnei2021-07-301-0/+1
|\ \ | |/ |/| renderer_vulkan: Add setting to log pipeline statistics
| * renderer_vulkan: Add setting to log pipeline statisticsReinUsesLisp2021-07-281-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Merge pull request #6700 from lat9nq/fullscreen-enumbunnei2021-07-281-3/+8
|\ \ | |/ |/| general: Implement FullscreenMode enumeration
| * Merge branch 'master' into fullscreen-enumlat9nq2021-07-251-1/+10
| |\
| * | general: Implement FullscreenMode enumerationlat9nq2021-07-231-3/+8
| | | | | | | | | | | | | | | Prevents us from using an unclear 0 or 1 to describe the fullscreen mode.
* | | Merge pull request #6696 from ameerj/speed-limit-renamebunnei2021-07-271-2/+2
|\ \ \ | | | | | | | | general: Rename "Frame Limit" references to "Speed Limit"
| * | | general: Rename "Frame Limit" references to "Speed Limit"ameerj2021-07-241-2/+2
| |/ / | | | | | | | | | | | | 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.
* | | Merge pull request #6697 from ameerj/fps-capbunnei2021-07-261-0/+1
|\ \ \ | |_|/ |/| | config, nvflinger: Add FPS cap setting
| * | config, nvflinger: Add FPS cap settingameerj2021-07-241-0/+1
| |/ | | | | | | Allows finer tuning of the FPS limit.
* | general: Add setting shader_backendlat9nq2021-07-231-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | shader: Add shader loop safety check settingslat9nq2021-07-231-0/+3
|/ | | | Also add a setting for enable Nsight Aftermath.
* input_common: Fix mouse panning behaivourgerman772021-07-171-1/+1
|
* Merge pull request #6579 from ameerj/float-settingsbunnei2021-07-161-5/+5
|\ | | | | settings: Eliminate usage of float-point setting values
| * configure_input: Use u8 for mouse sensitivityameerj2021-07-091-1/+1
| |
| * configure_graphics: Use u8 for bg_color valuesameerj2021-07-091-3/+3
| |
| * configure_audio: Use u8 for volume valueameerj2021-07-091-1/+1
| |
* | Merge pull request #6576 from ameerj/unlock-fps-settingMorph2021-07-111-1/+1
|\ \ | | | | | | settings: Disable FPS unlimit setting between title launches
| * | settings: Disable FPS unlimit setting between title launchesameerj2021-07-101-1/+1
| |/ | | | | | | | | | | 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.
* | 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.
* | settings, yuzu qt: Add migration code for CPU accuracylat9nq2021-07-081-0/+2
| | | | | | | | | | | | 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.
* | core,common,yuzu qt: Add CPU accuracy option 'Auto'lat9nq2021-07-081-4/+5
|/ | | | | | | 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.
* general: Code formatting improvementslat9nq2021-07-081-2/+1
| | | | | | | | | | | | 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>
* settings: Set resolution_factor default to 1lat9nq2021-07-011-1/+1
| | | | Fixes Disgaea 6 Demo issues.
* general: Make most settings a BasicSettinglat9nq2021-06-281-119/+287
| | | | | | | | | | | 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.
* common: Force defaults for Settings::Setting'slat9nq2021-06-261-44/+57
| | | | Requires a default value when creating each per-game setting.
* Merge pull request #6465 from FernandoS27/sex-on-the-beachMai M2021-06-231-0/+1
|\ | | | | GPU: Implement a garbage collector for GPU Caches (project Reaper+)
| * Reaper: Setup settings and final tuning.Fernando Sahmkow2021-06-161-0/+1
| |
* | Merge pull request #6499 from FernandoS27/we-were-on-a-breakbunnei2021-06-211-0/+1
|\ \ | | | | | | Update dynarmic and add new unsafe CPU option.
| * | Update dynarmic and add new unsafe CPU option.Fernando Sahmkow2021-06-201-0/+1
| |/
* / nvflinger: Add toggle to disable buffer swap interval limitsameerj2021-06-171-0/+1
|/ | | | | Enabling this setting will allow some titles to present more frames to the screen as they become available in the nvflinger buffer queue.
* Merge pull request #6464 from ameerj/disable-astcbunnei2021-06-161-0/+1
|\ | | | | textures: Add a toggle for GPU Accelerated ASTC decoder
| * configure_graphics: Add Accelerate ASTC decoding settingameerj2021-06-161-0/+1
| |
* | fsp_srv: Fix filesystem access loggingMorph2021-06-161-0/+1
|/ | | | | | | | 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.
* General: Add settings for fastmem and disabling adress space check.FernandoS272021-06-111-0/+4
|
* general: Demote custom_rtc to regular settinglat9nq2021-05-171-1/+1
|
* general: Make CPU accuracy and related a Settings::Settinglat9nq2021-05-161-4/+4
| | | | | 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/+261
- Removes a dependency on core and input_common from common.