aboutsummaryrefslogtreecommitdiff
path: root/src/common/settings.h
AgeCommit message (Collapse)Author
2021-11-16QtGUI: Add buttton to toggle the filter.FernandoS27
2021-11-16VideoCore: Add gaussian filtering.FernandoS27
2021-11-16VideoCore: Add more rescaling option.FernandoS27
2021-11-16Presentation: add Nearest Neighbor filter.Fernando Sahmkow
2021-11-16vulkan: Implement FidelityFX Super ResolutionMarshall Mohror
2021-11-16Texture Cahe: Fix downscaling on SMO.Fernando Sahmkow
2021-11-16video_core: Refactor resolution scale functionameerj
2021-11-16Renderer: Implement Bicubic and ScaleForce filters.Fernando Sahmkow
2021-11-16common/settings: Remove unused scaling optionsReinUsesLisp
2021-11-16Settings: eliminate rescaling_factor.Fernando Sahmkow
2021-11-16Settings: Add resolution scaling to settings.Fernando Sahmkow
2021-11-16VideoCore: Initial Setup for the Resolution Scaler.Fernando Sahmkow
2021-10-17settings: Remove std::chrono usageameerj
Alleviates the dependency on chrono for all files that include settings.h
2021-09-29settings: Remove BCAT settingsMorph
2021-09-18input_common/tas: Document the main classgerman77
2021-09-18input_common/tas: Fallback to simple updateMonsterDruide1
2021-09-18core: Hacky TAS syncing & load pausingMonsterDruide1
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.
2021-09-18settings: File selector & other settingsMonsterDruide1
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.
2021-09-18input_common/tas: Base playback & recording systemMonsterDruide1
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>
2021-09-18Merge pull request #7020 from Moonlacer/remove_audio_stretchingbunnei
Remove audio stretching
2021-09-17Merge pull request #6950 from german77/multiplaybunnei
input_common: Add advanced setting for 8 player support
2021-09-15remove-audio-stretching-settingMoonlacer
2021-09-11Merge pull request #6846 from ameerj/nvdec-gpu-decodeFernando S
nvdec: Add GPU video decoding for all capable drivers and platforms
2021-09-10input_common: Enable steam controllers and 8 player supportgerman77
2021-08-28Garbage Collection: enable as default, eliminate option.Fernando Sahmkow
2021-08-21settings: Amend language_index maximum setting rangeMorph
The maximum is now 17 with the addition of Brazilian Portuguese
2021-08-16configure_graphics: Add GPU nvdec decoding as an optionameerj
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>
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.