summaryrefslogtreecommitdiff
path: root/src/yuzu_cmd
AgeCommit message (Collapse)Author
2021-08-28Garbage Collection: enable as default, eliminate option.Fernando Sahmkow
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.
2021-06-16Merge pull request #6418 from clementgallet/sdl-audio-backendbunnei
Audio: SDL2 audio backend
2021-06-17Reaper: Change memory restrictions on TC depending on host memory on VK.Fernando Sahmkow
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-15yuzu_cmd/config: Add Accelerate ASTC and missing NVDEC emulation settingsameerj
2021-06-11General: Add settings for fastmem and disabling adress space check.FernandoS27
2021-06-07Merge pull request #6412 from clementgallet/yuzu-cmd-window-glbunnei
yuzu-cmd: Fix OpenGL rendering
2021-06-07Various suggestions by v1993 and lioncashClément Gallet
2021-06-06Add sdl2 audio description in the yuzu-cmd config fileClément Gallet
2021-06-05Avoid -Wshadow warningClément Gallet
Co-authored-by: Mai M. <mathew1800@gmail.com>
2021-06-04yuzu-cmd: Fix OpenGL renderingClément Gallet