summaryrefslogtreecommitdiff
path: root/src/yuzu_cmd
AgeCommit message (Collapse)Author
2021-11-16Frontend: Add anti-aliasing method settingMarshall Mohror
2021-11-16yuzu_cmd: Read resolution_setup and scaling_filter from configlat9nq
Also adds descriptions and the settings to the default config.
2021-11-04general: Get the current process program id directly from the systemMorph
This allows us to avoid including KProcess' header file in files that only need to get the current process' program id.
2021-11-04general: Rename GetTitleID to GetProgramIDMorph
2021-10-17settings: Remove std::chrono usageameerj
Alleviates the dependency on chrono for all files that include settings.h
2021-10-15core: Move ResultStatus outside of SystemMorph
Allows it to be a forward declaration in other header files.
2021-10-15yuzu_cmd: Remove remaining static system instancesMorph
2021-10-15config: Read network_interfacelat9nq
Let's yuzu_cmd use a network interface. Also adds it to the default ini.
2021-09-29settings: Remove BCAT settingsMorph
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-08-28Garbage Collection: enable as default, eliminate option.Fernando Sahmkow
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-13logging: Simplify and make thread-safeyzct12345
This simplifies the logging system. This also fixes some lost messages on startup. The simplification is simple. I removed unused functions and moved most things in the .h to the .cpp. I replaced the unnecessary linked list with its contents laid out as three member variables. Anything that went through the linked list now directly accesses the backends. Generic functions are replaced with those for each specific use case and there aren't many. This change increases coupling but we gain back more KISS and encapsulation. With those changes it was easy to make it thread-safe. I just removed the mutex and turned a boolean atomic. I was planning to use this thread-safety in my next PR about stacktraces. It was actually async-signal-safety at first but I ended up using a different approach. Anyway getting rid of the linked list is important for that because have the list of backends constantly changing complicates things.
2021-08-08yuzu-cmd/CMakeLists: Correct attribution for this function.Fernando Sahmkow
2021-08-07Merge pull request #6795 from sankasan/cmd-remove-cursor-fullscreenbunnei
yuzu-cmd: hide mouse cursor when started fullscreen
2021-08-04config: Read connected setting for controllerslat9nq
Currently yuzu will read the mapping but does not connect a controller despite adding subsequent configurations for it. Read the `connected` setting for now as a boolean like the Qt frontend.
2021-08-01yuzu-cmd: hide cursor when in fullscreensan
Exposed the SDL_ShowCursor function to EmuWindow baseclass. When creating the window (GL or VK) in fullscreen it now automatically hides the cursor.
2021-07-30Merge pull request #6752 from Morph1984/pt-brbunnei
service: ns, set: Add PT_BR (Brazilian Portuguese)
2021-07-30Merge pull request #6775 from lat9nq/cmd-remove-global-corebunnei
emu_window: Remove global system instance
2021-07-30Merge pull request #6759 from ReinUsesLisp/pipeline-statisticsbunnei
renderer_vulkan: Add setting to log pipeline statistics
2021-07-30emu_window: Remove global system instancelat9nq
It was just the one in emu_window_sdl2, but since _gl and _vk inherit from it, they all needed adjustments. Leaves just the one auto system& in main().
2021-07-30configure_system: Add Brazilian Portuguese to the list of languagesMorph
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-22shader: Adhere to disk shader cache settingameerj
2021-07-21yuzu_cmd: Make use of fullscreen_mode settinglat9nq
Reverts 48259de0c1a6a1aca77eec31cb8aca5ca2b680dd to the previous hierarchy and fixes the resolution issue with this fullscreen mode. yuzu-cmd will now read the fullscreen_mode setting and use it appropriately.
2021-07-21yuzu-cmd: Fullscreen Improvements (#6656)san
* emu_window_sdl2_vk: Use the generated SDL config On Linux, due to the way we include SDL2 as a submodule, it makes it difficult for us to specify which SDL_config.h we intended to include. Before, CMake would default to the dummy one included with SDL and ignore the generated one. This tells CMake to use the generated one. In addition, we define USING_GENERATED_CONFIG_H to throw an error in case the dummy config is used by accident. Fixes Vulkan not working on Linux yuzu-cmd. * emu_window_sdl2_vk: Specify the window manager if it should be supported The original language "not implemented" is wrong if the implementation exists but is not compiled. This causes a bit of a debugging headache when it goes wrong. Log it if the window manager is known before exiting. * sdl_impl, emu_window: Remove clang ignore Fixed upstream by libsdl-org/SDL@25fc40b0bd44c484051064bc6b945ea9943f88dd * Enable fullscreen support for Vulkan on yuzu-cmd Hooked up the existing SDL2 logic for fullscreen support in the Vulkan window of yuzu-cmd. * Change fullscreen logic to attempt desktop resolution first on yuzu-cmd Changed the order in which we attempt to switch to fullscreen. First try desktop resolution first, if it fails fall back to streched fullscreen using windowed resolution. Co-authored-by: lat9nq <22451773+lat9nq@users.noreply.github.com> Co-authored-by: san <san+gitkraken@smederijmerlijn.nl>
2021-07-19Merge pull request #6652 from lat9nq/cmd-vulkan-fixesbunnei
yuzu-cmd: Linux Vulkan fixes
2021-07-16sdl_impl, emu_window: Remove clang ignorelat9nq
Fixed upstream by libsdl-org/SDL@25fc40b0bd44c484051064bc6b945ea9943f88dd
2021-07-16emu_window_sdl2_vk: Specify the window manager if it should be supportedlat9nq
The original language "not implemented" is wrong if the implementation exists but is not compiled. This causes a bit of a debugging headache when it goes wrong. Log it if the window manager is known before exiting.
2021-07-16emu_window_sdl2_vk: Use the generated SDL configlat9nq
On Linux, due to the way we include SDL2 as a submodule, it makes it difficult for us to specify which SDL_config.h we intended to include. Before, CMake would default to the dummy one included with SDL and ignore the generated one. This tells CMake to use the generated one. In addition, we define USING_GENERATED_CONFIG_H to throw an error in case the dummy config is used by accident. Fixes Vulkan not working on Linux yuzu-cmd.
2021-07-16yuzu_cmd: Add missing or update current settingslat9nq
Many settings in common/settings.h are missing from yuzu-cmd, either they were added to default_ini.h but not read in, or vice versa, or the setting was altogether omitted from yuzu-cmd. Some defaults were reported wrong, so those were fixed where noticed.
2021-07-15default_ini: Remove deprecated settingslat9nq
These settings are not being read in config.cpp AND they do not exist in common/settings.h. Remove their references.
2021-07-08config: Remove float {Read,Write}Setting variantsameerj
2021-07-08configure_graphics: Use u8 for bg_color valuesameerj
2021-07-08configure_audio: Use u8 for volume valueameerj
2021-06-30yuzu_cmd: config: Pass a reference inlat9nq
Also adds documentation for the ReadSetting function. Address review comments. Co-authored-by: Mai M. <mathew1800@gmail.com>
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-23Merge pull request #6465 from FernandoS27/sex-on-the-beachMai M
GPU: Implement a garbage collector for GPU Caches (project Reaper+)
2021-06-22bootmanager: Use std::stop_source for stopping emulationReinUsesLisp
Use its std::stop_token to abort shader cache loading. Using std::stop_token instead of std::atomic_bool allows the usage of other utilities like std::stop_callback.
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.