liamwhite
a093f3d47a
Merge pull request #12184 from Kelebek1/system_settings
...
Make system settings persistent across boots
2023-12-16 11:47:52 -05:00
liamwhite
360418f1a1
Merge pull request #12290 from liamwhite/deferred-path-split
...
Improve path splitting speed
2023-12-16 11:47:29 -05:00
Kelebek1
4144c517a5
Make system settings persistent across boots
2023-12-16 06:01:54 +00:00
Liam
8ad5f2c506
common: use memory holepunching when clearing memory
2023-12-14 23:44:33 -05:00
t895
6c6e8b8de0
settings: Allow vsync to be changed per-game
2023-12-12 17:25:37 -05:00
t895
62fc386bb4
settings: Allow CPU Debug and Fastmem to be changed per-game
2023-12-12 17:25:37 -05:00
t895
f2eb3c579f
android: Add per-game drivers
2023-12-12 17:25:37 -05:00
t895
70c3d36536
android: Refactor settings to expose more options
...
In AbstractSetting, this removes the category, androidDefault, and valueAsString properties as they are no longer needed and have replacements. isSwitchable, global, and getValueAsString are all exposed and give better options for working with global/per-game settings.
2023-12-12 17:25:36 -05:00
GPUCode
dc0fb56f3a
settings: Clearer NCE error messages
2023-12-09 23:37:14 +02:00
t895
8225ac004e
settings: Enable NCE by default on capable systems
2023-12-08 20:25:07 -05:00
BreadFish64
d5de9402ee
Improve path splitting speed
2023-12-05 23:17:19 -05:00
Jan Beich
01d3e250ab
host_memory: move MAP_ALIGNED_SUPER attempt after 448d4815de
...
src/common/host_memory.cpp:410:14: error: unused function 'ChooseVirtualBase' [-Werror,-Wunused-function]
410 | static void* ChooseVirtualBase(size_t virtual_size) {
| ^~~~~~~~~~~~~~~~~
2023-12-02 00:25:50 +01:00
Jan Beich
270d290e65
host_memory: allow missing MAP_NORESERVE on FreeBSD after 448d4815de
...
src/common/host_memory.cpp:408:47: error: use of undeclared identifier 'MAP_NORESERVE'
MAP_PRIVATE | MAP_ANONYMOUS | MAP_NORESERVE, -1, 0);
^
2023-12-02 00:25:50 +01:00
Alexandre Bouvier
d2bb9e9729
cmake: prefer system gamemode library
2023-11-30 16:54:00 +01:00
liamwhite
3a12fe5d13
Merge pull request #12227 from jbeich/gamemode
...
cmake: unbreak build on FreeBSD by re-enabling gamemode
2023-11-30 09:21:19 -05:00
liamwhite
57a391e71d
Merge pull request #12074 from GPUCode/yuwu-on-the-metal
...
Implement Native Code Execution (NCE)
2023-11-30 09:20:55 -05:00
Jan Beich
df96caec79
cmake: sync gamemode conditionals with code after 5eec980a2d
...
FAILED: bin/yuzu
ld: error: unable to find library -lgamemode
FAILED: bin/yuzu-cmd
ld: error: undefined symbol: Common::Linux::StartGamemode()
>>> referenced by yuzu.cpp
>>> src/yuzu_cmd/CMakeFiles/yuzu-cmd.dir/yuzu.cpp.o:(main)
ld: error: undefined symbol: Common::Linux::StopGamemode()
>>> referenced by yuzu.cpp
>>> src/yuzu_cmd/CMakeFiles/yuzu-cmd.dir/yuzu.cpp.o:(main)
2023-11-30 00:05:11 +01:00
Liam
5eec980a2d
general: conditionally compile gamemode on linux only
2023-11-29 14:26:11 -05:00
liamwhite
337e37f91d
Merge pull request #11946 from flodavid/gamemode
...
Enable (Feral Interactive) Gamemode on Linux
2023-11-29 12:33:09 -05:00
GPUCode
340548aba7
cmake: Move HAS_NCE to root cmake
...
* So we can use it in common
2023-11-29 01:35:06 +02:00
amazingfate
a76a8fb5fe
qt: add cpu_backend configuration
2023-11-26 20:44:07 -05:00
Liam
15f35b8657
general: fix mac compile
2023-11-26 19:50:10 -05:00
Fernando S
f21340f7aa
Merge pull request #11535 from GPUCode/upload_cmdbuf
...
renderer_vulkan: Introduce separate cmd buffer for uploads
2023-11-26 18:33:05 +01:00
flodavid
40644d43f7
yuzu: create linux group in general settings
...
- Create files dedicated to starting and stopping gamemode functions
- Use them in yuzu and yuzu_cmd modules
2023-11-25 19:30:37 +01:00
xcfrg
dfa56765d6
yuzu: integrate gamemode support on linux
2023-11-25 19:30:29 +01:00
GPUCode
5a9ffa81a6
host_memory: Simplify randomness generation
2023-11-25 00:47:43 -05:00
GPUCode
c37b5f431f
common: Enforce fastmem for nce usage
2023-11-25 00:47:36 -05:00
GPUCode
6de2edcca1
Address some review comments
2023-11-25 00:47:35 -05:00
GPUCode
8fab363237
android: Add cpu bakend gui toggle
2023-11-25 00:47:28 -05:00
Liam
9f91ba1f73
arm: Implement native code execution backend
2023-11-25 00:46:47 -05:00
GPUCode
4838837620
device_memory: Enable direct mapped addresses for nce
2023-11-25 00:46:47 -05:00
GPUCode
15331c2a60
settings: Add cpu backend setting
2023-11-25 00:46:15 -05:00
GPUCode
5938a9582a
core: Respect memory permissions in Map
2023-11-25 00:46:15 -05:00
Liam
4766baddf3
host_memory: Switch to FreeRegionManager
2023-11-25 00:46:15 -05:00
Liam
448d4815de
host_memory: ensure map base is between 36 and 39 bits
2023-11-25 00:46:15 -05:00
--author=Liam
29e7d79a86
common: Add free region manager
...
* Abstraction for placeholder region tracking in host_memory
2023-11-25 00:46:15 -05:00
GPUCode
20011dfeb8
common: Add libc sigaction hook
2023-11-25 00:46:15 -05:00
t895
ac522db857
common: settings: Add ifdefs to define android's default settings
2023-11-21 01:58:13 -05:00
t895
da14c7b8e4
config: Unify config handling under frontend_common
...
Replaces every way of handling config for each frontend with SimpleIni. frontend_common's Config class is at the center where it saves and loads all of the cross-platform settings and provides a set of pure virtual functions for platform specific settings.
As a result of making config handling platform specific, several parts had to be moved to each platform's own config class or to other parts. Default keys were put in platform specific config classes and translatable strings for Qt were moved to shared_translation. Default hotkeys, default_theme, window geometry, and qt metatypes were moved to uisettings. Additionally, to reduce dependence on Qt, QStrings were converted to std::strings where applicable.
2023-11-21 01:58:13 -05:00
liamwhite
ea4c92f734
Merge pull request #12007 from german77/moar_buttons
...
core: hid: Split SL and SR buttons
2023-11-16 09:13:39 -05:00
liamwhite
247d66a680
Merge pull request #11990 from german77/audio
...
yuzu: Save mute when in background setting
2023-11-13 09:13:12 -05:00
GPUCode
efc50485b8
renderer_vulkan: Introduce separate cmd buffer for uploads
2023-11-12 20:27:39 +01:00
german77
ae57a99d7d
core: hid: Split SL and SR buttons
2023-11-11 21:03:15 -06:00
Liam
2a255b2d61
kernel: add KPageTableBase
...
Co-authored-by: Kelebek1 <eeeedddccc@hotmail.co.uk>
2023-11-10 12:01:35 -05:00
Narr the Reg
9e331f9957
yuzu: Make mute audio persistent
2023-11-10 10:22:04 -06:00
Narr the Reg
9169cbf728
yuzu: Save mute when in background setting
2023-11-10 10:22:02 -06:00
Charles Lombardo
4b321c003c
arm: NativeClock: Special handling for bad system counter clock frequency reporting
...
On some devices, checking the system counter clock frequency will return 0. Substitute in the correct values to prevent issues.
2023-11-03 16:21:54 -04:00
Charles Lombardo
585b6e9d46
android: Fix resolving android URIs in native code
2023-10-30 11:38:10 -04:00
liamwhite
eec3d356b6
Merge pull request #11689 from liamwhite/breakpad
...
qt: implement automatic crash dump support
2023-10-29 23:41:13 -04:00
Ameer J
9e4d606c4c
nvidia_flags: Enable GL Threaded optimizations
2023-10-28 21:26:22 -04:00
Alexandre Bouvier
79ba5d9c26
cmake: prefer system stb headers
2023-10-25 21:47:32 +02:00
Liam
59b62c6507
common: use SetThreadDescription API for thread names
2023-10-20 11:41:29 -04:00
liamwhite
18672e6a78
Merge pull request #11159 from flodavid/master_bis
...
Enable to use controller to close a game
2023-10-14 09:58:03 -04:00
Valeri Ochinski
ca75c9125d
common/polyfill_thread: use std::forward where appropriate, qualify std::move calls
2023-10-13 18:51:11 +03:00
liamwhite
519c12da15
Merge pull request #11746 from liamwhite/relr
...
jit: add support for relr-type relocations
2023-10-12 18:23:31 -04:00
Liam
2212c9653d
kernel: mark TLS accessors as noinline for non-MSVC LTO
2023-10-12 09:16:22 -04:00
Florian
6c246f2ac5
yuzu: Use new setting method for stop emulation
2023-10-12 01:51:53 +02:00
Liam
7b5d234558
jit: add support for relr-type relocations
2023-10-11 11:13:19 -04:00
Fernando S
b28b05e2aa
Merge pull request #11718 from liamwhite/arm64-native-clock
...
common: add arm64 native clock
2023-10-10 11:48:06 +02:00
liamwhite
c0d152affa
Merge pull request #11705 from FearlessTobi/windows-sc
...
yuzu: Add desktop shortcut support for Windows (continuation of #11344 )
2023-10-08 17:11:52 -04:00
liamwhite
85d99f873f
Merge pull request #10519 from mdmrk/master
...
yuzu-qt: Track play time
2023-10-08 17:11:34 -04:00
Liam
21bc2c14bc
common: add arm64 native clock
2023-10-08 12:54:23 -04:00
Liam
d3997bad9b
qt: implement automatic crash dump support
2023-10-08 11:35:53 -04:00
FearlessTobi
9ef9ca0927
yuzu: Add desktop shortcut support for Windows
...
Allows creating desktop shortcuts with icons for yuzu games.
Co-Authored-By: Jeroen van Schijndel <13182141+roenyroeny@users.noreply.github.com>
2023-10-07 21:24:11 -04:00
Liam
38394f36d7
gdbserver: use numeric character references for unicode
2023-10-01 19:22:08 -04:00
liamwhite
7bae22a3ca
Merge pull request #11402 from FernandoS27/depth-bias-control
...
Vulkan: Implement Depth Bias Control
2023-09-28 09:35:37 -04:00
lat9nq
9335cf8857
settings_setting: Read audio engine
...
This was mysteriously missing, likely from when I ported Citra fixes
semi-recently.
2023-09-25 22:20:24 -04:00
Fernando Sahmkow
f1a2e36711
Query Cachge: Fully rework Vulkan's query cache
2023-09-23 23:05:29 +02:00
Fernando Sahmkow
b99f94a7ff
Vulkan: add temporary workaround for AMDVLK
2023-09-16 11:59:20 -04:00
Kelebek1
67e2d5c28b
Reimplement HardwareOpus
2023-09-16 11:56:25 -04:00
liamwhite
13d551846a
Merge pull request #11499 from Squall-Leonhart/bitlockerfix
...
add std::error_code for std::filesystem exceptions
2023-09-16 11:40:10 -04:00
liamwhite
c05ea35f78
Merge pull request #11492 from lat9nq/c-numeric-conversions
...
general: Remove uncaught usages of C++ string number conversions
2023-09-16 11:40:03 -04:00
Squall-Leonhart
21ecf01a17
add std::error_code for std::filesystem exceptions
...
Resolves a case on Windows where an unmounted bitlocker protected volume containing an assigned game directory would crash Yuzu at start.
May also resolve cases where a disconnected SMB volume causes similar crashes (needs testing)
2023-09-15 04:47:15 +10:00
lat9nq
fea5b758bc
settings_common: Fix typo
2023-09-14 11:30:14 -04:00
GPUCode
c656105a6c
debug: Add renderdoc capture hotkey
2023-09-14 16:37:41 +03:00
liamwhite
04352a9aef
Merge pull request #11496 from liamwhite/ngc
...
ngc: implement service
2023-09-14 09:24:46 -04:00
liamwhite
b5f99164f1
Merge pull request #11433 from liamwhite/shutdown-oopsie
...
polyfill_thread: ensure mutex was locked before signaling stop
2023-09-14 09:24:20 -04:00
Liam
9d7eebde7b
ngc: implement service
2023-09-14 09:14:08 -04:00
lat9nq
fe70c6f481
settings_setting: Don't remove the AudioEngine workaround
2023-09-13 15:59:44 -04:00
lat9nq
0098ecb609
settings: Retro-port Citra Settings work
...
This has yet to be PR'd on Citra, but regressions on yuzu that have
been fixed in Citra needed to appear here.
2023-09-13 13:36:25 -04:00
liamwhite
ce5320c49f
Merge pull request #11447 from xcfrg/portable-compile-out
...
common: add a compile time option to allow disabling portable mode
2023-09-12 09:17:50 -04:00
xcfrg
a02d641042
add a compile time option to allow disabling portable mode
2023-09-06 18:53:39 -04:00
Danila Malyutin
785e480b62
msvc: set warning level to /W4 globally
...
And fix a bunch of warnings
2023-09-03 18:42:10 +04:00
Liam
bdd09d6844
polyfill_thread: ensure mutex was locked before signaling stop
2023-09-02 11:51:40 -04:00
Charles Lombardo
6c8f2b355a
android: Expose interface for getting settings from native code
...
Completely removes code related to parsing the settings file on the java side. Now all settings are accessed via NativeConfig.kt and config.cpp has been modified to be closer to the core counterpart. Since the core currently uses QSettings, we can't remove reliance from Wini yet. This also includes simplifications to each settings interface to get closer to native code and prepare for per-game settings.
2023-08-29 19:40:17 -04:00
Mario
5464423667
yuzu-qt: Track play time
2023-08-26 22:20:19 -04:00
liamwhite
6c4abd23be
Merge pull request #11356 from lat9nq/console-mode-pg
...
general,config-qt: Present Console Mode as an enum with separate options in game properties
2023-08-26 19:15:00 -04:00
comex
91eb5afd0b
Warnings cleanup for GCC 13 and Clang 16
...
Note: For GCC there are still a huge number of `-Warray-bounds` warnings
coming from `externals/dynarmic`. I could have added a workaround in
`externals/CMakeLists.txt` similar to what this PR does for other
externals, but given Dynarmic's close affiliation with Yuzu, it would be
better to fix it upstream.
Besides that, on my machine, this makes the build warning-free except
for some warnings from glslangValidator and AutoMoc.
Details:
- Disable some warnings in externals.
- Disable `-Wnullability-completeness`, which is a Clang warning triggered
by the Vulkan SDK where if any pointers in the header are marked
_Nullable, it wants all pointers to be marked _Nullable or _Nonnull.
Most of them are, but some aren't. Who knows why.
- `src/web_service/verify_user_jwt.cpp`: Disable another warning when
including `jwt.hpp`.
- `src/input_common/input_poller.cpp`: Add missing `override` specifiers.
- src/common/swap.h: Remove redundant `operator&`. In general, this
file declares three overloads of each operator. Using `+` as an
example, the overloads are:
- a member function for `swapped_t + integer`
- a member function for `swapped_t + swapped_t`
- a free function for `integer + swapped_t`
But for `operator&`, there was an additional free function for
`swapped_t + integer`, which was redundant with the member function.
This caused a GCC warning saying "ISO C++ says that these are
ambiguous".
2023-08-25 19:22:31 -04:00
lat9nq
ab862207d7
settings: Add docked mode helper function
2023-08-22 21:58:09 -04:00
lat9nq
387ede76d2
general: Convert use_docked_mode to an enumeration
...
Allows some special interactions with it in the Qt frontend.
2023-08-22 16:07:52 -04:00
liamwhite
ef61d129d3
Merge pull request #11303 from lat9nq/screenshots-configurable
...
yuzu-qt: Add configuration for screenshot resolution
2023-08-22 11:30:25 -04:00
lat9nq
6fe51b48e9
yuzu-qt: Screenshots depend more on the graphics settings
2023-08-16 16:12:42 -04:00
lat9nq
96c98d09cb
yuzu-qt: Implement unspecified screenshot ratio
2023-08-16 00:18:47 -04:00
lat9nq
3e28e85468
settings: Add AspectRatio enum, split res scale function
2023-08-15 22:41:50 -04:00
Liam
50eee9b218
fssystem: rework for yuzu style
2023-08-15 17:47:40 -04:00
Liam
86f6b6b7b2
vfs: expand support for NCA reading
2023-08-15 17:47:25 -04:00
Liam
023b9b38cc
general: fix apple clang build
2023-08-09 22:38:37 -04:00
liamwhite
fca7d975fd
Merge pull request #10839 from lat9nq/pgc-plus
...
general: Reimplement per-game configurations
2023-08-02 14:25:52 -04:00
Morph
bb4e676155
wall_clock: Increase precision requirements
...
We are providing a conversion to nanoseconds in NativeClock, which is more precise than the GPU tick.
2023-07-27 18:40:56 -04:00
liamwhite
d3da1e6517
Merge pull request #10990 from comex/ubsan
...
Fixes and workarounds to make UBSan happier on macOS
2023-07-26 10:33:28 -04:00