aboutsummaryrefslogtreecommitdiff
path: root/src/common/settings.h
AgeCommit message (Collapse)Author
2021-08-12Merge branch 'yuzu-emu:master' into fix-lan-playspholz
2021-08-12configuration: add option to select network interfacespholz
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.
2021-08-11settings: Fix MSVC issueslat9nq
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.
2021-08-10Merge pull request #6776 from lat9nq/ranged-settingsbunnei
settings: Implement settings ranges
2021-07-31settings: Use std::clamp where possiblelat9nq
Addresses PR review Co-authored-by: PixelyIon <pixelyion@protonmail.com>
2021-07-30settings: Remove unnecessary std::move usageslat9nq
Addresses review feedback. Co-authored-by: Mai M. <mathew1800@gmail.com>
2021-07-30Merge pull request #6759 from ReinUsesLisp/pipeline-statisticsbunnei
renderer_vulkan: Add setting to log pipeline statistics
2021-07-30settings: Fix function virtualizationlat9nq
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.
2021-07-30settings: Implement setting rangeslat9nq
Clamps the setting's values against the specified minimum and maximum values.
2021-07-28Merge pull request #6700 from lat9nq/fullscreen-enumbunnei
general: Implement FullscreenMode enumeration
2021-07-27renderer_vulkan: Add setting to log pipeline statisticsReinUsesLisp
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.
2021-07-26Merge pull request #6696 from ameerj/speed-limit-renamebunnei
general: Rename "Frame Limit" references to "Speed Limit"
2021-07-25Merge pull request #6697 from ameerj/fps-capbunnei
config, nvflinger: Add FPS cap setting
2021-07-25Merge branch 'master' into fullscreen-enumlat9nq
2021-07-23general: Rename "Frame Limit" references to "Speed Limit"ameerj
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.
2021-07-23config, nvflinger: Add FPS cap settingameerj
Allows finer tuning of the FPS limit.
2021-07-23general: Implement FullscreenMode enumerationlat9nq
Prevents us from using an unclear 0 or 1 to describe the fullscreen mode.
2021-07-22general: Add setting shader_backendlat9nq
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.
2021-07-22shader: Add shader loop safety check settingslat9nq
Also add a setting for enable Nsight Aftermath.
2021-07-16input_common: Fix mouse panning behaivourgerman77
2021-07-15Merge pull request #6579 from ameerj/float-settingsbunnei
settings: Eliminate usage of float-point setting values
2021-07-11Merge pull request #6576 from ameerj/unlock-fps-settingMorph
settings: Disable FPS unlimit setting between title launches
2021-07-10settings: Disable FPS unlimit setting between title launchesameerj
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.
2021-07-08configure_input: Use u8 for mouse sensitivityameerj
2021-07-08configure_graphics: Use u8 for bg_color valuesameerj
2021-07-08configure_audio: Use u8 for volume valueameerj
2021-07-08settings, arm_dynarmic, yuzu qt: Move CPU debugging optionlat9nq
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.
2021-07-08settings, yuzu qt: Add migration code for CPU accuracylat9nq
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.
2021-07-08core,common,yuzu qt: Add CPU accuracy option 'Auto'lat9nq
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.
2021-07-08general: Code formatting improvementslat9nq
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>
2021-07-01settings: Set resolution_factor default to 1lat9nq
Fixes Disgaea 6 Demo issues.
2021-06-28general: Make most settings a BasicSettinglat9nq
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.
2021-06-26common: Force defaults for Settings::Setting'slat9nq
Requires a default value when creating each per-game setting.
2021-06-23Merge pull request #6465 from FernandoS27/sex-on-the-beachMai M
GPU: Implement a garbage collector for GPU Caches (project Reaper+)
2021-06-21Merge pull request #6499 from FernandoS27/we-were-on-a-breakbunnei
Update dynarmic and add new unsafe CPU option.
2021-06-20Update dynarmic and add new unsafe CPU option.Fernando Sahmkow
2021-06-17nvflinger: Add toggle to disable buffer swap interval limitsameerj
Enabling this setting will allow some titles to present more frames to the screen as they become available in the nvflinger buffer queue.
2021-06-16Reaper: Setup settings and final tuning.Fernando Sahmkow
2021-06-16Merge pull request #6464 from ameerj/disable-astcbunnei
textures: Add a toggle for GPU Accelerated ASTC decoder
2021-06-16fsp_srv: Fix filesystem access loggingMorph
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.
2021-06-15configure_graphics: Add Accelerate ASTC decoding settingameerj
2021-06-11General: Add settings for fastmem and disabling adress space check.FernandoS27
2021-05-17general: Demote custom_rtc to regular settinglat9nq
2021-05-15general: Make CPU accuracy and related a Settings::Settinglat9nq
Required to make CPU accuracy and unsafe settings available to use as a per-game setting.
2021-04-14common: Move settings to common from core.bunnei
- Removes a dependency on core and input_common from common.