Compare commits

...

2283 Commits

Author SHA1 Message Date
yuzubot 93e1b78826 Android 273 2024-02-28 00:57:36 +00:00
yuzubot f69a4f53d0 Merge yuzu-emu#13177 2024-02-28 00:57:36 +00:00
yuzubot 4c1db495b8 Merge yuzu-emu#13174 2024-02-28 00:57:36 +00:00
yuzubot 9b56f9a1a8 Merge yuzu-emu#13018 2024-02-28 00:57:36 +00:00
yuzubot aa76d24901 Merge yuzu-emu#12461 2024-02-28 00:57:36 +00:00
liamwhite dc94882c90
Merge pull request #13135 from german77/hid-interface
service: hid: Migrate HidServer to new IPC
2024-02-27 12:26:26 -05:00
liamwhite 30567a5909
Merge pull request #13175 from liamwhite/asan
general: fix asan errors
2024-02-27 09:42:59 -05:00
liamwhite f1b1530249
Merge pull request #13171 from liamwhite/fake-address
texture_cache: do not track invalid addresses
2024-02-27 09:42:46 -05:00
liamwhite 6948ac8c16
general: workarounds for SMMU syncing issues (#12749) 2024-02-27 15:42:15 +01:00
liamwhite b2e129eaa5
vk_rasterizer: flip scissor y on lower left origin mode (#13122) 2024-02-27 15:40:33 +01:00
liamwhite 1de37306a5
buffer_cache: avoid overflow in usage tracker (#13166) 2024-02-27 15:39:11 +01:00
liamwhite 9bc85dda5f
texture_cache: use two-pass collection for costly load resources (#13096) 2024-02-27 15:38:14 +01:00
Liam c7174d5f61 general: fix asan errors 2024-02-26 19:28:49 -05:00
Narr the Reg 1bec420695
Merge pull request #13172 from liamwhite/gl-streams
renderer_opengl: declare geometry stream support in profile
2024-02-26 11:51:25 -06:00
liamwhite 79edad2533
Merge pull request #13159 from liamwhite/web-error
core: enable error applet, add stubs for web applet
2024-02-26 12:44:55 -05:00
liamwhite ce62fa6f7b
Merge pull request #13149 from liamwhite/per-channel-program
video_core: make gpu context aware of rendering program
2024-02-26 12:44:46 -05:00
Liam a0e254e7c4 renderer_opengl: declare geometry stream support in profile 2024-02-26 11:18:30 -05:00
Liam 25c3bbba0e settings: remove global override for smash on amdvlk 2024-02-26 11:16:18 -05:00
Liam d66ca8b731 video_core: make gpu context aware of rendering program 2024-02-26 11:16:14 -05:00
Liam fd9ed54f27 texture_cache: do not track invalid addresses 2024-02-26 10:26:27 -05:00
liamwhite f9bfdb1555
Merge pull request #13164 from merryhime/reset-submodules
tools: Add reset submodules script
2024-02-25 14:01:11 -05:00
liamwhite 15831b19a3
Merge pull request #13163 from german77/ring
core: hid: hid_core doesn't have access to LIBUSB
2024-02-25 14:01:05 -05:00
liamwhite 8416d1c028
Merge pull request #13154 from german77/vibration-filter
core: hid: Reintroduce vibration filter
2024-02-25 14:00:59 -05:00
Merry 4d5d37ae61 tools: Add reset submodules script 2024-02-25 17:17:01 +00:00
german77 e62cea20d1 core: hid: hid_core doesn't have access to LIBUSB 2024-02-25 10:06:43 -06:00
Narr the Reg 9e27dbb53b
Merge pull request #13160 from liamwhite/time
glue: load initial year setting as s32
2024-02-25 08:47:16 -06:00
Liam dc50b95a47 settings: enable error applet 2024-02-24 22:56:08 -05:00
Liam 4050242cf3 ldn: return no connection from GetStateForMonitor 2024-02-24 22:56:08 -05:00
Liam fd718f350c ssl: add cert store 2024-02-24 22:56:05 -05:00
Liam 0d6fd12231 glue: load initial year setting as s32 2024-02-24 22:49:38 -05:00
Liam f297e98a9e acc: add account manager for acc:u1 2024-02-24 22:25:34 -05:00
Liam 637c54e205 fs: add stubs for online web applet 2024-02-24 22:25:34 -05:00
Liam f045fa576b erpt: stub report creation 2024-02-24 22:25:34 -05:00
Liam 692ba0fa7d set: add GetPlatformRegion 2024-02-24 22:25:34 -05:00
liamwhite a93d249ac1
Merge pull request #13155 from german77/GetSettingsItemValue
service: set: Fix GetSettingsItemValue
2024-02-24 16:24:01 -05:00
german77 9fccccedee service: set: Fix GetSettingsItemValue 2024-02-24 14:44:21 -06:00
german77 ca7f949ee8 core: hid: Reintroduce vibration filter 2024-02-24 12:19:51 -06:00
liamwhite 05f94dc5fc
Merge pull request #13153 from german77/defaultset
service: set: Enable nfc and others by default and bump version
2024-02-24 12:48:31 -05:00
liamwhite dcf7698924
Merge pull request #13081 from FearlessTobi/aoc-ipc
aoc: Migrate to use cmif serialization
2024-02-24 12:48:26 -05:00
Narr the Reg 7b68d7d467
Merge pull request #13150 from liamwhite/region
set: fix region code for system settings
2024-02-24 11:40:31 -06:00
german77 4741e50047 service: set: Enable nfc and others by default and bump version 2024-02-24 11:19:51 -06:00
Liam 7836c0867d set: fix region code for system settings 2024-02-24 00:48:44 -05:00
liamwhite d1e0039bc8
Merge pull request #13142 from t895/vibration-queue
android: Play vibrations asynchronously
2024-02-24 00:38:13 -05:00
liamwhite 7a51eaa727
Merge pull request #13146 from wheremyfoodat/patch-1
common/ring_buffer: Include <limits> header
2024-02-23 20:32:40 -05:00
liamwhite 6c40d75e47
Merge pull request #13140 from german77/yet-more-qlaunch
service: Stub multiple function for qlaunch
2024-02-23 20:32:32 -05:00
Narr the Reg 0a0c257206 service: audio: Add missing logging properties of SetHeadphoneOutputLevelMode 2024-02-23 18:58:51 -06:00
Narr the Reg 7019023cbc service: btdrv: Add EnableRadio for Qlaunch 2024-02-23 18:58:51 -06:00
Narr the Reg c48c182fe0 service: friend: Add GetFriendCount, GetNewlyFriendCount, GetReceivedFriendRequestCount, GetPlayHistoryStatistics, GetReceivedFriendInvitationCountCache for QLaunch 2024-02-23 18:58:51 -06:00
Narr the Reg 98be02898b service: hid: Add IsAnyCustomButtonConfigEnabled for QLaunch 2024-02-23 18:58:51 -06:00
Narr the Reg e1bdeb2942 service: lbl: Add SaveCurrentSetting, LoadCurrentSetting and IsAutoBrightnessControlSupported for QLaunch 2024-02-23 18:58:50 -06:00
Narr the Reg 015d666a4d service: nfc: Implement SetNfcEnabled 2024-02-23 18:58:50 -06:00
Narr the Reg 624c90a439 service: npns: Add ListenTo and GetReceiveEvent for QLaunch 2024-02-23 18:58:39 -06:00
Narr the Reg 0fb26acccc service: set: Add default eula setting 2024-02-23 18:58:19 -06:00
wheremyfoodat ed315fb8a5
common/ring_buffer: Include <limits> header 2024-02-24 02:34:09 +02:00
Narr the Reg fc6a87bba1 service: hid: Migrate HidServer to new IPC 2024-02-23 17:49:02 -06:00
Narr the Reg d08f201e0c service: hid: Move and migrate AppletResource and ActiveVibrationDevice 2024-02-23 17:49:02 -06:00
t895 0369c65870 android: Play vibrations asynchronously 2024-02-23 16:41:59 -05:00
liamwhite 975d6f1ec4
Merge pull request #13141 from liamwhite/swap
fs: fix argument order
2024-02-23 15:23:06 -05:00
liamwhite 7c9e2255be
Merge pull request #13137 from liamwhite/mac-ci
ci: fix mac build
2024-02-23 15:21:18 -05:00
liamwhite 9f6818a6e5
Merge pull request #13136 from liamwhite/fs-launch
fs: add ISaveDataTransferProhibiter, stub FindSaveDataWithFilter
2024-02-23 15:21:12 -05:00
Liam f1c16b487a fs: fix argument order 2024-02-23 15:10:35 -05:00
Liam 6512f39061 ci: fix mac build 2024-02-23 13:25:48 -05:00
Liam 22b91afa69 fs: add ISaveDataTransferProhibiter, stub FindSaveDataWithFilter 2024-02-23 12:17:24 -05:00
liamwhite 77107ba124
Merge pull request #13133 from liamwhite/libstdcxx-issue
vi: workaround conductor includes
2024-02-23 11:34:34 -05:00
liamwhite fa4dec9fe9
Merge pull request #13115 from liamwhite/olsc-pctl
olsc, pctl: move to new ipc
2024-02-23 11:34:29 -05:00
liamwhite 215e887be0
Merge pull request #13100 from liamwhite/audio-ipc
audio: move to new ipc
2024-02-23 11:34:21 -05:00
liamwhite 0da6704fc2
Merge pull request #13073 from FearlessTobi/fsp-srv-ipc
fsp: Migrate remaining interfaces to cmif serialization
2024-02-23 11:34:06 -05:00
Liam 812754edec vi: workaround conductor includes 2024-02-23 10:34:49 -05:00
Liam 964e19ab56 oboe_sink: handle temporary stream creation failure 2024-02-23 10:30:52 -05:00
liamwhite 9dc624f5dc
Merge pull request #13121 from german77/clean-shortcut
yuzu: Fix shortcut error message
2024-02-22 23:04:28 -05:00
liamwhite dad9ea3e07
Merge pull request #13117 from liamwhite/ovln
psc: stub overlay notification channel
2024-02-22 20:26:03 -05:00
Liam 2c00599a53 audio: fix released buffer bounds check 2024-02-22 20:20:31 -05:00
FearlessTobi 2786d34dd7 aoc: Rename AOC_U to IAddOnContentManager 2024-02-23 01:19:18 +01:00
Narr the Reg 864b046500 yuzu: Fix shortcut error message 2024-02-22 17:52:30 -06:00
liamwhite d12d9dad40
Merge pull request #12982 from FearlessTobi/fs-rewrite-part0
fs: Add FileSystemAccessor and use cmif serialization
2024-02-22 12:34:47 -05:00
Narr the Reg 2b3f1d3fc5
Merge pull request #13000 from liamwhite/skip-null-memory
device_memory_manager: skip unregistered interfaces on invalidate
2024-02-22 11:34:23 -06:00
Narr the Reg 984396a21a
Merge pull request #13001 from liamwhite/scaled-availability
vulkan_device: don't use fixed cap for memory limits
2024-02-22 11:31:17 -06:00
Narr the Reg 4f95ee5209
Merge pull request #13075 from liamwhite/mali-having-a-bad-time
shader_recompiler: throw on missing geometry streams in geometry shaders
2024-02-22 11:30:26 -06:00
Liam c04567fad4 audio: add NotifyHeadphoneVolumeWarningDisplayedEvent 2024-02-21 23:54:10 -05:00
Liam 89c2fd3d28 pctl: rewrite IParentalControlService 2024-02-21 23:42:33 -05:00
Liam 5ab49c833d pctl: rewrite IParentalControlServiceFactory 2024-02-21 23:00:01 -05:00
Liam 0e74204aad pctl: move IParentalControlServiceFactory 2024-02-21 23:00:01 -05:00
Liam a37bd0b9a7 pctl: move IParentalControlService 2024-02-21 23:00:01 -05:00
Liam 01d89acd13 pctl: move types and results 2024-02-21 22:58:20 -05:00
Liam e85466c1ae psc: stub overlay notification channel 2024-02-21 22:54:05 -05:00
Liam 352297d361 psc: rewrite IPmService 2024-02-21 22:26:32 -05:00
Liam 6c2d6cff19 psc: move IPmControl, IPmModule, IPmService 2024-02-21 22:26:12 -05:00
Liam e540757279 olsc: rewrite IOlscServiceForSystemService 2024-02-21 20:02:00 -05:00
Liam a8bca24292 olsc: add IRemoteStorageController 2024-02-21 19:47:54 -05:00
Liam 5f3c03d6a8 olsc: add IDaemonController 2024-02-21 19:05:19 -05:00
Liam 6b956a6951 olsc: rewrite ITransferTaskListController 2024-02-21 18:36:17 -05:00
Liam 8689370830 olsc: rewrite INativeHandleHolder 2024-02-21 18:19:48 -05:00
Liam 8ffa27b311 olsc: rewrite IOlscServiceForApplication 2024-02-21 18:19:12 -05:00
Liam 6334616b44 olsc: move INativeHandleHolder, IOlscServiceForApplication, IOlscServiceForSystemService, ITransferTaskListController 2024-02-21 16:13:01 -05:00
liamwhite 8bbc209950
Merge pull request #13105 from t895/connection-fix
android: Misc controller fixes
2024-02-21 10:43:46 -05:00
liamwhite 9e1a67b950
fs: add missing mutex header for member (#13106) 2024-02-21 16:43:05 +01:00
t895 de5422b1fd android: Connect controllers with supported styles
If you tried to connect a controller that was previously configured with an unsupported style for your game, when you try to connect that controller, it will immediately disconnect. This ensures that the controller that is being connected will be changed to the first supported style index before being connected.
2024-02-21 08:37:55 -05:00
t895 45f450fca5 android: Add additional check for hasMapping
Controls can have no mapping if they are either "[empty]" or and empty string. This was causing an issue if you reset mapping on all controllers and then tried to play a game. The check to determine whether auto mapping was required would fail and leave you will no mapped controllers. This feels a bit like user error but it smooths things out if you forget so I see it as necessary.
2024-02-21 08:17:30 -05:00
t895 9a3fd76b25 android: Enable all controller styles on emulation shutdown 2024-02-21 08:13:54 -05:00
Charles Lombardo 60fc6df407
Merge pull request #13099 from t895/default-fix
android: Fix extra stick setting default values
2024-02-21 07:02:58 -05:00
Liam 2e4a6b7f92 audio: format 2024-02-20 22:51:39 -05:00
Liam 5f90bd88da audio: rewrite IHardwareOpusDecoder 2024-02-20 22:15:38 -05:00
Liam c575a85233 audio: rewrite IAudioDevice 2024-02-20 22:15:38 -05:00
Liam ea4703cb31 audio: rewrite IHardwareOpusDecoderManager 2024-02-20 22:15:38 -05:00
Liam 0471e54e5a audio: rewrite IAudioRenderer 2024-02-20 22:15:38 -05:00
Liam 6012c9fe3a audio: rewrite IAudioRendererManager 2024-02-20 22:15:37 -05:00
Liam f65539504f audio: split IHardwarweOpusDecoder, move IHardwareOpusDecoderManager 2024-02-20 22:15:37 -05:00
Liam 62083fcafd audio: split IAudioDevice, IAudioRenderer, move IAudioRendererManager 2024-02-20 22:15:37 -05:00
Liam 2e5a9cf119 audio: move IFinalOutputRecorderManager{,ForApplet} 2024-02-20 22:15:37 -05:00
Liam a45b8bc9bc audio: rewrite IAudioOutManager 2024-02-20 22:15:37 -05:00
Liam a05bd3c47e audio: rewrite IAudioOut 2024-02-20 22:15:37 -05:00
Liam 2a2c92f181 audio: rewrite IAudioInManager 2024-02-20 22:15:37 -05:00
Liam f54277364c audio: rewrite IAudioIn 2024-02-20 22:15:37 -05:00
t895 de2d496e71 android: Fix extra stick setting default values
The default value was accidentally hardcoded for all extra stick settings
2024-02-20 22:13:59 -05:00
liamwhite 7b5bdd076d
Merge pull request #13095 from liamwhite/ns-oops
ns: fix alignment of uid type
2024-02-20 21:19:35 -05:00
Matías Locatti e0c17a2113
Merge pull request #10529 from liamwhite/critical-spacing
caches: make critical reclamation less eager and possible in more cases
2024-02-20 23:19:27 -03:00
Liam b107435a3f ns: fix alignment of uid type 2024-02-20 18:43:44 -05:00
liamwhite 4e1fcd4a63
Merge pull request #13091 from t895/device-renaming
android: Expose device name setting
2024-02-20 18:30:54 -05:00
liamwhite ea4a96b45e
Merge pull request #13079 from liamwhite/vi3
vi: misc fixes
2024-02-20 18:30:47 -05:00
t895 6a90db8c19 android: Expose device name setting 2024-02-20 08:16:38 -05:00
t895 0e5972b0b5 android: Add StringInputSetting settings item 2024-02-20 08:06:56 -05:00
Liam 5f7608a7c6 vi: ignore shared buffer destruction failure on termination 2024-02-20 00:02:56 -05:00
Liam 668ff0db3a vi: remove superfluous locking in shared buffer manager 2024-02-19 23:59:35 -05:00
Liam 9f159dd62c nvnflinger/vi: don't recreate buffer queue on open/close 2024-02-19 23:59:35 -05:00
Andrew Pilley d1eaeeed8c
Import keys from filesystem. (#13056)
* Import keys, re-initialize KeyManager, re-scan vfs, re-populate game list.

* <.< spelling.

* Update based on feedback on #13047 and this PR

* Based on feedback: Don't delete existing files. There's legitimate reasons that someone may want to keep their retail keys and title key handling is resilient to mismatches.

* Update src/yuzu/main.cpp

Co-authored-by: Tobias <thm.frey@gmail.com>

* Remove translation of literal filename/filter format.

* clang-format.

---------

Co-authored-by: Tobias <thm.frey@gmail.com>
2024-02-19 19:18:13 -05:00
liamwhite 10e27a2902
Merge pull request #13086 from t895/clear-button-fix
android: Fix broken clear button check
2024-02-19 19:18:05 -05:00
Charles Lombardo f567a41f53
android: Have input overlay follow player 1 style index (#13085) 2024-02-19 22:47:21 +01:00
t895 704c62ca01 android: Fix broken clear button check 2024-02-19 15:54:52 -05:00
liamwhite 8d5473e67c
Merge pull request #13031 from german77/btm-interfcae
service: btm: Migrate service to new IPC
2024-02-19 14:49:42 -05:00
Charles Lombardo 3b1b98c645
android: Fix overlay visibility reset (#13083) 2024-02-19 19:44:42 +01:00
Charles Lombardo daf350f5d3
android: Show done button when configuring input overlay (#13082) 2024-02-19 19:26:18 +01:00
FearlessTobi ef50277124 Address review comments pt. 2 2024-02-19 19:22:51 +01:00
FearlessTobi ba70dc4c13 Address review comments 2024-02-19 19:20:46 +01:00
FearlessTobi 934e420e36 fs: Refactor to use cmif serialization 2024-02-19 19:20:46 +01:00
FearlessTobi d5e4617ab5 fs: Add FileSystemAccessor classes 2024-02-19 19:20:40 +01:00
FearlessTobi b5a17b501b Address review comments 2024-02-19 19:11:07 +01:00
FearlessTobi 2b18957365 fs: Add and use fs_save_data_types.h 2024-02-19 19:06:31 +01:00
FearlessTobi 4c71bf3d90 fsp: Migrate remaining interfaces to cmif serialization 2024-02-19 19:06:31 +01:00
FearlessTobi fdf4a5bc90 fsp-srv: Migrate to use cmif serialization 2024-02-19 19:06:31 +01:00
FearlessTobi b7d9eba72b fsp: Move IMultiCommitManager to a seperate file 2024-02-19 19:06:31 +01:00
FearlessTobi 380475af32 fsp: Move ISaveDataInfoReader to a seperate file 2024-02-19 19:06:31 +01:00
FearlessTobi a2a0be4246 aoc: Migrate to use cmif serialization 2024-02-19 17:20:02 +01:00
liamwhite c9ef2e26ca
Merge pull request #13080 from FearlessTobi/scope-exit
scope_exit: Make constexpr
2024-02-19 10:50:45 -05:00
FearlessTobi aa6532cf34 core/aoc: Move IPurchaseEventManager to separate file 2024-02-19 16:36:24 +01:00
FearlessTobi 310c1f50be scope_exit: Make constexpr
Allows the use of the macro in constexpr-contexts.
Also avoids some potential problems when nesting braces inside it.
2024-02-19 16:00:46 +01:00
FearlessTobi 665fce871f core/CMakeLists: Sort alphabetically 2024-02-19 15:51:02 +01:00
Narr the Reg 58c7e846cb
Merge pull request #13006 from liamwhite/a-hat-in-vram
buffer_cache: use mapped range with large vertex buffer size
2024-02-18 23:37:49 -06:00
Narr the Reg 8b0fb98a11
Merge pull request #13026 from liamwhite/scale-this-mf
shader_recompiler: fix non-const offset for arrayed image types
2024-02-18 23:37:25 -06:00
Narr the Reg 8615509c40
Merge pull request #13035 from liamwhite/vi2
vi: manage resources independently of nvnflinger and refactor
2024-02-18 23:36:53 -06:00
Narr the Reg d0af52f28e
Merge pull request #13048 from liamwhite/new-shell
ns: rewrite for new IPC
2024-02-18 23:36:29 -06:00
Liam f46dc31683 shader_recompiler: throw on missing geometry streams in geometry shaders 2024-02-19 00:34:00 -05:00
liamwhite ef89b79d7e
Merge pull request #13070 from liamwhite/offset
am: account for offset in transfer memory storage
2024-02-18 19:03:56 -05:00
liamwhite 3e41f9a673
Merge pull request #13030 from german77/audio-controller
service: audio: Rewrite IAudioController to new IPC
2024-02-18 19:03:49 -05:00
Liam d45a12826c ns: address review comments 2024-02-18 19:02:00 -05:00
Liam 56810541f0 vulkan_device: don't use fixed cap for memory limits 2024-02-18 18:59:13 -05:00
Liam 911ee8fd1f am: account for offset in transfer memory storage 2024-02-18 14:56:48 -05:00
Charles Lombardo 5361027ef0
Merge pull request #13068 from german77/no_errors
core: hid: Remove driver errors from log
2024-02-18 13:30:54 -05:00
german77 56721517ea core: hid: Remove driver errors from log 2024-02-18 10:54:56 -06:00
Liam 940a71422e nvnflinger: check for layers before compose 2024-02-18 11:25:52 -05:00
liamwhite da225d4aa1
Merge pull request #13067 from t895/xbox-automap-invert
android: Flip AB/XY for xbox controllers during auto-mapping
2024-02-18 10:48:54 -05:00
t895 8d74c107f5 android: Flip AB/XY for xbox controllers during auto-mapping 2024-02-18 10:40:33 -05:00
liamwhite 1fc86b1e3a
Merge pull request #13032 from german77/qlauncher
service: Implement functions needed by Qlaunch
2024-02-18 10:37:52 -05:00
Liam 4cdf18095d ns: rewrite IQueryService 2024-02-18 10:35:39 -05:00
Liam 2d43831d1f ns: rewrite IServiceGetterInterface 2024-02-18 10:35:39 -05:00
Liam 2e96921f9c ns: rewrite IApplicationManagerInterface 2024-02-18 10:35:39 -05:00
Liam cf0de18982 ns: move IDevelopInterface 2024-02-18 10:35:37 -05:00
Liam ae83ee28a3 ns: rewrite ISystemUpdateInterface 2024-02-18 10:32:21 -05:00
Liam 306ed4984b ns: move ISystemUpdateControl 2024-02-18 10:32:21 -05:00
Liam 626f2e65b1 ns: rewrite IVulnerabilityManagerInterface 2024-02-18 10:32:21 -05:00
Liam 2eded86b4b ns: rewrite IReadOnlyApplicationControlDataInterface 2024-02-18 10:32:21 -05:00
Liam 786fc512e2 ns: rewrite IReadOnlyApplicationRecordInterface 2024-02-18 10:32:21 -05:00
Liam c31ac45332 ns: add IDynamicRightsInterface 2024-02-18 10:32:21 -05:00
Liam db172ba249 ns: rewrite IDownloadTaskInterface 2024-02-18 10:32:21 -05:00
Liam bb59940b03 ns: rewrite IDocumentInterface 2024-02-18 10:32:21 -05:00
Liam 04887953ff ns: rewrite IContentManagementInterface 2024-02-18 10:32:21 -05:00
Liam 8ea72cc99d ns: move IFactoryResetInterface 2024-02-18 10:32:21 -05:00
Liam 44d2e90217 ns: move IECommerceInterface 2024-02-18 10:32:21 -05:00
Liam 12926eb5db ns: move IApplicationVersionInterface 2024-02-18 10:32:21 -05:00
Liam ae114d2fa1 ns: move IAccountProxyInterface 2024-02-18 10:32:21 -05:00
Liam 270d07be2f ns: rewrite IPlatformServiceManager 2024-02-18 10:32:21 -05:00
Liam 947cdbe4b1 ns: rename results header 2024-02-18 10:32:21 -05:00
liamwhite 5583957616
Merge pull request #13064 from t895/auto-map-fail
android: Only do first startup automapping if nothing has been mapped
2024-02-18 10:27:49 -05:00
liamwhite 6d731e1aa1
Merge pull request #13049 from Leystryku/master
Fix Just Dance 2023 not booting
2024-02-18 10:25:18 -05:00
liamwhite 839ded7d59
Merge pull request #13065 from t895/cancel-button-fail
android: Show cancel button for the content install notice
2024-02-18 10:25:04 -05:00
liamwhite f57281ebc1
Merge pull request #13066 from t895/touch-fix
android: Map touches to touchscreen
2024-02-18 10:24:58 -05:00
t895 0a3bc6c0cf android: Map touches to touchscreen
I neglected to map touches to the touchscreen when refactoring in the input mapping PR. This fixes that regression.
2024-02-18 10:00:37 -05:00
t895 55a7815064 android: Show cancel button for the content install notice 2024-02-18 09:23:46 -05:00
t895 a1c4f53c8c android: Only do first startup automapping if nothing has been mapped 2024-02-18 09:18:54 -05:00
Leystryku 8bbb44a74e service: Change unique_ptr to make_unique in GetCacheStorageMax 2024-02-18 07:03:50 +01:00
Leystryku bc5ae04ea0 file_sys: Formatting changes and use unique_ptr in GetCacheStorageMax 2024-02-18 06:17:35 +01:00
Leystryku 4f387b0b74 file_sys: Fix nacp field cache_storage_max_index datatype 2024-02-18 06:00:42 +01:00
liamwhite bdf8aca750
Merge pull request #13047 from anpilley/import-firmware
Import firmware from folder of loose NCA files
2024-02-17 23:18:00 -05:00
liamwhite acfc4d6dfb
Merge pull request #13054 from t895/lifecycle-utils
android: Create lifecycle utility to simplify common StateFlow operations
2024-02-17 23:17:49 -05:00
t895 35a3c7226a android: Create lifecycle utility to simplify common StateFlow operations 2024-02-17 23:09:09 -05:00
Leystryku d93fdc8a6c service: Add proper GetCacheStorageMax implementation to IApplicationFunctions 2024-02-18 05:02:35 +01:00
liamwhite 5d3c7433b8
Merge pull request #13050 from t895/marquee-helper
android: Use extension functions for view visibility and text marquee
2024-02-17 22:48:36 -05:00
t895 0010d42f82 android: Use extension functions for view visibility and text marquee 2024-02-17 22:45:33 -05:00
liamwhite 316089c39f
Merge pull request #13052 from t895/serializable-stuff
android: Move CoreErrorDialogFragment to its own file
2024-02-17 22:22:46 -05:00
liamwhite 5024df1925
Merge pull request #13051 from german77/cheatmiss
dmnt: cheats: Fix valid address range
2024-02-17 22:22:14 -05:00
liamwhite e7146309de
Merge pull request #13034 from t895/map-all-the-inputs
android: Input mapping
2024-02-17 22:22:06 -05:00
t895 c327d2a62c android: Move CoreErrorDialogFragment to its own file 2024-02-17 21:58:25 -05:00
Andrew Pilley cb2e312f13 Add check for corrupted firmware files after install. 2024-02-18 12:31:14 +11:00
german77 366bb52ec8 dmnt: cheats: Fix valid address range 2024-02-17 19:10:17 -06:00
Leystryku 82949085c0 fsp: Add FlushAccessLogOnSdCard stub 2024-02-18 00:52:22 +01:00
Leystryku 90c43aa2e7 service: Add GetCacheStorageMax stub to IApplicationFunctions 2024-02-18 00:49:41 +01:00
german77 a07f0883b9 service: vi: Implement ListDisplayMode 2024-02-17 18:08:41 -05:00
Liam 812f23d05c vi: manage resources independently of nvnflinger and refactor 2024-02-17 18:08:38 -05:00
Liam dcce9837d2 vi: move shared buffer management from nvnflinger 2024-02-17 18:01:41 -05:00
Liam ee8eccc5fa nvnflinger: convert to process 2024-02-17 18:01:41 -05:00
Liam 7b79cddacd am: unify display layer management 2024-02-17 18:00:28 -05:00
Narr the Reg 53f8383354
Merge pull request #13017 from liamwhite/suspension
kernel: add and enable system suspend type
2024-02-17 17:00:07 -06:00
liamwhite 36108ce2be
Merge pull request #13040 from Kelebek1/timezone_shutdown
Close reference to TimeZoneBinary on game close
2024-02-17 17:53:53 -05:00
Narr the Reg 4cbafc1ef6 service: audio: Rewrite IAudioController to new IPC 2024-02-17 15:05:13 -06:00
Andrew Pilley e31c926bf0 >.> spelling 2024-02-18 07:58:41 +11:00
Andrew Pilley 59ede32f8e cleanup by clang-format. 2024-02-18 07:41:24 +11:00
Andrew Pilley 9eba64adce Improve behavior when one or more firmware files can't be deleted. 2024-02-18 07:38:47 +11:00
Narr the Reg 110969e207 service: btm: Implement function needed by QLaunch 2024-02-17 12:39:36 -06:00
t895 50ecad547e android: Input mapping 2024-02-17 12:32:33 -05:00
Kelebek1 34fb14ec9a Close reference to TimeZoneBinary on game close 2024-02-17 16:00:14 +00:00
Andrew Pilley e2e0916100
Merge branch 'yuzu-emu:master' into import-firmware 2024-02-17 23:36:43 +11:00
Andrew Pilley 501e3ae05a Implement In-app firmware installation. 2024-02-17 23:33:55 +11:00
t895 ac33847b30 hid_core: Prevent crash if we try to iterate through empty color devices list 2024-02-16 21:11:47 -05:00
t895 18494b0ad6 hid_core: Use dedicated "port" for android's input overlay 2024-02-16 21:09:42 -05:00
t895 dc2c302a84 config: Reset per-game profile name on load if empty 2024-02-16 21:07:03 -05:00
t895 a251f77556 android: Allow SettingsItems to use String or StringRes 2024-02-16 21:04:26 -05:00
Narr the Reg ec02a1cfe5 service: erpt: Implement SubmitContext 2024-02-16 12:22:09 -06:00
Narr the Reg 39b958ab86 service: caps: Implement GetAlbumFIleList 2024-02-16 12:15:37 -06:00
Narr the Reg 9c0724b270 service: btm: Migrate service to new IPC 2024-02-16 12:15:06 -06:00
Narr the Reg dbcc447f43 service: am: Fix GetMainAppletAvailableUsers for user creation 2024-02-16 12:13:10 -06:00
Narr the Reg 2954c01b47 service: am: Add QLaunch launcher 2024-02-16 12:13:10 -06:00
liamwhite c7588c042b
Merge pull request #13016 from german77/set-interface2
service: set: Migrate ISystemSettingsServer to new IPC
2024-02-16 13:11:36 -05:00
Narr the Reg 6e2678a42c
Merge pull request #13011 from liamwhite/vi-ipc
vi: rewrite for new IPC
2024-02-16 12:11:02 -06:00
Liam 462ea921e3 shader_recompiler: fix non-const offset for arrayed image types 2024-02-15 18:49:23 -05:00
Liam cb29aa0473 Revert "shader_recompiler: use only ConstOffset for OpImageFetch"
This reverts commit f296a9ce9a.
2024-02-15 18:38:56 -05:00
Liam af42482565 kernel: add and enable system suspend type 2024-02-14 17:03:50 -05:00
Narr the Reg caf16982d9 service: set: Migrate ISystemSettingsServer to new IPC 2024-02-14 12:40:10 -06:00
Liam 1842df1da5 vi: rewrite IApplicationDisplayService 2024-02-14 12:03:32 -05:00
Liam 8863940bf5 vi: rewrite ISystemDisplayService 2024-02-14 12:03:32 -05:00
Liam b1c71f976c vi: rewrite IManagerDisplayService 2024-02-14 12:03:32 -05:00
Liam 59011a04a1 vi: rewrite IHOSBinderDriver 2024-02-14 12:03:32 -05:00
Liam c448001d47 vi: rewrite IApplicationRootService, IManagerRootService, ISystemRootService 2024-02-14 12:03:32 -05:00
Liam 2e8c0e9247 vi: split into implementation files 2024-02-14 12:03:32 -05:00
Liam db871677b0 vi: extract types 2024-02-14 12:03:31 -05:00
liamwhite a40adbc142
Merge pull request #12996 from german77/settings-ipc
service: set: Migrate ISettingsServer to new interface
2024-02-14 12:02:46 -05:00
Narr the Reg 1e8554b01f
Merge pull request #12993 from liamwhite/am-rewrite-part1
am: rewrite part 1
2024-02-14 11:02:38 -06:00
german77 75bfbadb23 service: set: Migrate ISettingsServer to new interface 2024-02-13 17:21:52 -06:00
liamwhite ad4ae39903
Merge pull request #13009 from t895/message-dialog-fix
android: Message dialog tweaks
2024-02-13 14:46:56 -05:00
liamwhite fefdba05ca
Merge pull request #13007 from t895/screen-bias
android: Expose FSR slider and add vertical alignment setting
2024-02-13 14:46:48 -05:00
t895 f813dc78b2 android: Prevent user from dismissing mod/cheat notice
Makes sure that a user can't miss this dialog by touching outside the window. They must press "OK" or "Close" to continue.
2024-02-13 13:46:14 -05:00
t895 10ba318807 android: Show cancel option for delete addons dialog 2024-02-13 13:45:17 -05:00
t895 86fc1e5b32 android: Swap ok and close default strings for MessageDialogFragment 2024-02-13 13:44:35 -05:00
t895 3c823254ff android: Add screen vertical alignment setting
It's a bit of a hack since I'm moving the view instead of telling the Vulkan surface to bias itself to the top/bottom/center but it works fine for now.
2024-02-13 10:10:59 -05:00
t895 a0513bc45b android: Expose FSR sharpness slider 2024-02-13 10:04:59 -05:00
Liam 3067bfd126 buffer_cache: use mapped range with large vertex buffer size 2024-02-13 08:27:33 -05:00
liamwhite 95d96cfe66
Merge pull request #12974 from german77/ldn-interface
service: ldn: Migrate and refractor service to new IPC
2024-02-13 08:18:31 -05:00
liamwhite f75fceb3c0
Merge pull request #12975 from FernandoS27/keep-your-own-vodoo-doll-away-from-gf
Texture Cache: Fix untracking on GPU remap
2024-02-13 08:17:59 -05:00
liamwhite 3511d5552a
Merge pull request #12989 from german77/hotcake
yuzu: Allow non npad hotkeys and disable controller navigation requirement
2024-02-13 08:17:50 -05:00
liamwhite f27bdce70f
Merge pull request #12998 from t895/swap-clear-actions
android: Swap confirmation buttons for delete save data dialog
2024-02-13 08:17:39 -05:00
liamwhite 85fd2bcb82
Merge pull request #12941 from FearlessTobi/setting-tooltips
shared_translation: Add tooltips for yuzu settings
2024-02-13 08:17:32 -05:00
Liam 461eaca7e8 device_memory_manager: skip unregistered interfaces on invalidate 2024-02-12 20:02:59 -05:00
t895 836592c447 android: Swap confirmation buttons for delete save data dialog 2024-02-12 16:54:46 -05:00
t895 fbc1b61bff android: Extend MessageDialogFragment to support a negative action and button titles 2024-02-12 16:54:19 -05:00
Liam bca698a17a am: move out omm interfaces to new module 2024-02-12 09:18:29 -05:00
Liam a65fb85b6d am: rewrite IApplicationCreator 2024-02-12 09:18:27 -05:00
Liam bbb1ff6574 am: add IApplicationAccessor 2024-02-12 09:17:25 -05:00
Liam 927fa532e5 am: rewrite ILockAccessor 2024-02-12 09:17:25 -05:00
Liam 87b740df46 am: rewrite IWindowController 2024-02-12 09:17:25 -05:00
Liam 203d213529 am: rewrite IStorage 2024-02-12 09:17:25 -05:00
Liam 2e614ce08f am: rewrite IStorageAccessor, ITransferStorageAccessor 2024-02-12 09:17:25 -05:00
Liam 9e271f2017 am: rewrite ISelfController 2024-02-12 09:17:21 -05:00
Liam 79f225bd59 am: rewrite IProcessWindingController 2024-02-12 09:16:03 -05:00
Liam c7e94e2175 am: rewrite ILibraryAppletSelfAccessor 2024-02-12 09:16:02 -05:00
Liam 1c797a8048 am: rewrite ILibraryAppletCreator 2024-02-12 09:16:02 -05:00
Liam f9bba8007d am: rewrite ILibraryAppletAccessor 2024-02-12 09:16:02 -05:00
Liam 2c49ebbeea am: rewrite IHomeMenuFunctions 2024-02-12 09:16:02 -05:00
Liam 17460def8e am: rewrite IGlobalStateController, add ICradleFirmwareUpdater 2024-02-12 09:16:02 -05:00
Liam 77b7e1e682 am: rewrite IDisplayController 2024-02-12 09:16:02 -05:00
Liam eafaa5511d am: move IDebugFunctions 2024-02-12 09:16:02 -05:00
Liam 96fea99af9 am: rewrite ICommonStateGetter 2024-02-12 09:16:02 -05:00
Liam 44e7e85f23 am: rewrite IApplicationFunctions 2024-02-12 09:16:00 -05:00
Liam af35057212 am: rewrite IAppletCommonFunctions 2024-02-11 21:59:33 -05:00
Liam 590e86792c am: rewrite IAudioController 2024-02-11 21:59:33 -05:00
Liam 6fd6c65fd4 am: rewrite ISystemAppletProxy 2024-02-11 21:59:33 -05:00
Liam c809f7193a am: rewrite ILibraryAppletProxy 2024-02-11 21:59:33 -05:00
Liam c7e97b22fb am: rewrite IApplicationProxy 2024-02-11 21:59:33 -05:00
Liam b2e140b032 am: rewrite appletAE, appletOE 2024-02-11 21:59:33 -05:00
Narr the Reg 2ff45cd0da
Merge pull request #12756 from liamwhite/applet-multiprocess-hwc
general: applet multiprocess
2024-02-11 20:58:28 -06:00
liamwhite b6b56f48b7
Merge pull request #12991 from german77/news2
service: news: Stub remaining functions
2024-02-11 21:44:23 -05:00
german77 04a9d14f35 service: news: Stub remaining functions 2024-02-11 17:56:26 -06:00
german77 26e028808a yuzu: Allow non npad hotkeys and disable controller navigation requirement 2024-02-11 16:29:31 -06:00
Narr the Reg 2053ff96fc service: ldn: Migrate and refractor service to new IPC 2024-02-11 13:11:11 -06:00
Liam 368bf2211f texture_cache: tweak iteration tracking change 2024-02-11 13:41:13 -05:00
Liam de8a623932 texture_cache: avoid overestimation of ASTC texture sizes 2024-02-11 13:41:13 -05:00
Liam 865a0186b6 caches: make critical reclamation less eager and possible in more cases 2024-02-11 13:41:13 -05:00
liamwhite 98db796fde
Merge pull request #12986 from t895/input-config-clear-fix
config: Always delete control settings in ClearControlPlayerValues
2024-02-11 12:24:18 -05:00
t895 adebc96a9c config: Always delete control settings in ClearControlPlayerValues 2024-02-11 07:35:54 -05:00
liamwhite 564a65a82e
Merge pull request #12981 from lat9nq/tzdb-asan-custom
tzdb_to_nx: Update to latest
2024-02-10 22:42:47 -05:00
liamwhite 501ff2eda5
Merge pull request #12980 from merryhime/race-me
dynarmic: Fix invalidation race
2024-02-10 22:42:42 -05:00
Charles Lombardo 999ec5739d
Merge pull request #12978 from liamwhite/ffs-qcom
host_shaders: add vendor workaround for adreno drivers
2024-02-10 22:42:25 -05:00
lat9nq 68b2db21b1 tzdb_to_nx: Update to latest
Includes memory leak fix.

Includes option to specify a custom zoneinfo dir.
2024-02-10 17:45:18 -05:00
liamwhite 2337397a15
Merge pull request #12969 from german77/bcat-interface
service: bcat: Migrate and refractor service to new IPC
2024-02-10 16:00:43 -05:00
liamwhite 7c56ecca3f
Merge pull request #12949 from liamwhite/multi-wait
service: add os types and multi wait API
2024-02-10 16:00:34 -05:00
Merry 211544fbc8 externals: Update dynarmic to 6.6.3 2024-02-10 19:40:47 +00:00
Liam 4677fd3f64 am: use applet program loading for tested versions 2024-02-10 12:38:19 -05:00
Liam 4eeac731ff host_shaders: add vendor workaround for adreno drivers 2024-02-10 12:02:37 -05:00
Fernando Sahmkow 9ce43ee677 Texture Cache: Fix untracking on GPU remap 2024-02-10 14:49:49 +01:00
Narr the Reg 816d03f7d9 service: bcat: Address review issues 2024-02-10 00:23:23 -06:00
Narr the Reg 909f7eb3d2 service: bcat: Implement news interfaces 2024-02-10 00:23:22 -06:00
Narr the Reg 7c2e9a6596 service: bcat: Migrate and refractor service to new IPC 2024-02-10 00:23:22 -06:00
Kevnkkm fe6934593f
Fix multiplayer player count color in dark themes | Temp fix until #12744: Add green color for counts > 0 and < max_players - 1 (#12930)
* fix intended player count color in dark themes

* Refactor

* Change to green color for white and dark themes

* Add const to the colors and extra name for green color
2024-02-09 18:45:11 -06:00
Narr the Reg 52c8adc7ed
Merge pull request #12951 from liamwhite/more-ipc
ipc: additional fixes
2024-02-09 10:51:03 -06:00
liamwhite 7ec7ff0f30
Merge pull request #12920 from t895/jni-common
android: Move JNI setup and helpers to common
2024-02-09 11:49:25 -05:00
liamwhite a133eadf06
Merge pull request #12927 from german77/cheat-pause
dmnt: cheat: Add pause and resume support
2024-02-09 11:47:34 -05:00
liamwhite 89dd0fa932
Merge pull request #12968 from t895/thermal-status
android: Thermal throttling indicator
2024-02-09 11:47:17 -05:00
liamwhite a9dcfe2a42
Merge pull request #12964 from t895/foreground-service-test
android: Remove foreground service
2024-02-09 11:47:11 -05:00
liamwhite 2ad8d614b5
Merge pull request #12966 from german77/free_npad
service: hid: Free npad applet resource
2024-02-09 11:47:05 -05:00
Liam b206ea5cfe am: fix focus states and display of indirect keyboard 2024-02-09 09:20:53 -05:00
Liam 70590f79f8 am: stub SetMediaPlaybackState for self controller 2024-02-09 09:20:53 -05:00
Liam fa12384350 general: add default configurations for applet mode 2024-02-09 09:20:53 -05:00
Liam 78aac6b403 gpu: dependency-inject scaling/antialiasing filter state for capture layers 2024-02-09 09:20:53 -05:00
Liam 0cb413c3d3 nvnflinger/gpu: implement applet capture 2024-02-09 09:20:53 -05:00
Liam 962c82540c nvnflinger/gpu: implement blending 2024-02-09 09:20:53 -05:00
Liam 06fd7f2012 nvservices: unmap only on last container free 2024-02-09 09:20:53 -05:00
Liam 0cbb555e9a video_core: defensively program around unmapped device pointers 2024-02-09 09:20:53 -05:00
Liam 2e8c21ad2d core: fix multiprocess with nce 2024-02-09 09:20:53 -05:00
t895 f44183db9e android: Use utility function for applying view margins 2024-02-09 07:07:06 -05:00
t895 5fa9bc192c android: Add thermal throttling overlay 2024-02-09 07:07:05 -05:00
liamwhite f9a559d2b7
Merge pull request #12967 from german77/let_me_out
service: Fix OutLargeData attributes
2024-02-08 21:33:22 -05:00
t895 af87365672 android: Remove foreground service 2024-02-08 21:04:14 -05:00
Narr the Reg 03a23c037a service: Fix OutLargeData attributes 2024-02-08 19:40:06 -06:00
Narr the Reg 0ac777460d service: hid: Free npad applet resource 2024-02-08 18:50:54 -06:00
liamwhite 71e59bdcd8
Merge pull request #12963 from t895/versioning-fix
android: Fix regex for git version
2024-02-08 17:03:32 -05:00
t895 0a1283f94f android: Fix regex for git version 2024-02-08 14:24:15 -05:00
t895 2600ac65c8 android: Run OnEmulationStarted frontend callback in another thread
The JVM has problems with attaching to a Fiber so we start a new thread and wait for the result here.
2024-02-08 14:13:46 -05:00
t895 c8e8c614a0 common: fs: Expand android macros 2024-02-08 14:13:46 -05:00
t895 e7c4c8b993 android: Move JNI setup and helpers to common 2024-02-08 13:45:26 -05:00
FearlessTobi 7cfb51e5e7 shared_translation: Add tooltips for general settings 2024-02-08 18:13:22 +01:00
Fernando S f049453dd6
Merge pull request #12903 from liamwhite/const-offset
shader_recompiler: use only ConstOffset for OpImageFetch
2024-02-08 17:00:45 +01:00
liamwhite cac37a6f6e
Merge pull request #12954 from german77/hidbus-interface
service: hid: Migrate hidbus to new interface
2024-02-08 11:00:11 -05:00
liamwhite 263dfa95e4
Merge pull request #12914 from FernandoS27/vc-refactor
VideoCore Refactor Part 1.
2024-02-08 10:59:59 -05:00
liamwhite bc9711cb1e
Merge pull request #12953 from FernandoS27/zero-fps-mah-ass
SMMU: Ensure the backing address range matches the current
2024-02-08 10:59:52 -05:00
Narr the Reg b4d88a7bb4 service: hid: Migrate hidbus to new interface 2024-02-07 18:07:32 -06:00
Fernando Sahmkow ae833aa9c0 SMMU: Ensure the backing address range matches the current 2024-02-07 23:47:42 +01:00
liamwhite 4463ded603
Merge pull request #12939 from german77/wonder
dmnt: cheat: Invalidate cache on memory writes
2024-02-07 15:33:44 -05:00
liamwhite 159dec01ee
Merge pull request #12932 from german77/any-key-is-good
yuzu: Make controller keys easier to assign
2024-02-07 15:33:39 -05:00
liamwhite 6319bafafa
Merge pull request #12912 from FearlessTobi/ports-feb-24
Port some small changes from Citra (web_backend and translations)
2024-02-07 15:33:28 -05:00
Charles Lombardo c000a5ff09
Merge pull request #12909 from t895/play-store-automation
ci: android: Play store publishing setup
2024-02-07 15:32:42 -05:00
Liam fee263c59c ipc: additional fixes 2024-02-07 15:06:15 -05:00
Liam 5a64a77df3 glue: use multi wait API 2024-02-07 12:15:01 -05:00
Liam 6810929f6a server_manager: use multi wait API 2024-02-07 12:15:01 -05:00
Liam 9404633bfd service: add os types and multi wait API 2024-02-07 12:14:46 -05:00
german77 12f86f89fc yuzu: Make controller keys easier to assign 2024-02-06 16:51:39 -06:00
Narr the Reg 9858ea79fb dmnt: cheat: Invalidate cache on memory writes 2024-02-06 13:49:48 -06:00
FearlessTobi 2c357c929c shared_translation: Add tooltips for advanced graphics and system settings 2024-02-06 16:42:57 +01:00
FearlessTobi 482e203d5c shared_translation: Add tooltips for core and graphics settings 2024-02-06 16:29:13 +01:00
liamwhite c10e720ba9
Merge pull request #12883 from FernandoS27/memory_manager_mem
MemoryManager: Reduce the page table size based on last big page address.
2024-02-06 10:25:03 -05:00
liamwhite 5016de3626
Merge pull request #12928 from german77/motion-mp
service: hid: Add multiprocess support to six axis input
2024-02-06 10:24:46 -05:00
liamwhite d5fb9fd12c
Merge pull request #12933 from german77/irs-interface
service: irs: Migrate service to new interface
2024-02-06 10:24:30 -05:00
liamwhite c79b3af610
Merge pull request #12934 from german77/hid_debug_interface
service: hid: Migrate hid debug service to new interface
2024-02-06 10:24:20 -05:00
FearlessTobi c0a383d960 web_backend: Fix compilation 2024-02-06 15:48:04 +01:00
german77 b6106604c4 service: hid: Migrate hid debug service to new interface 2024-02-06 00:38:46 -06:00
german77 12b6162852 service: irs: Migrate service to new interface 2024-02-06 00:14:16 -06:00
german77 8f192b494a service: hid: Add multiprocess support to six axis input 2024-02-05 17:19:31 -06:00
german77 372897aac4 service: hid: Ensure aruid data is initialized 2024-02-05 17:17:21 -06:00
Fernando Sahmkow fa47ac1c9f Common: Rename SplitRangeSet to OverlapRangeSet 2024-02-05 23:01:17 +01:00
german77 c52d7cc694 dmnt: cheat: Add pause and resume support 2024-02-05 14:38:26 -06:00
Charles Lombardo a2f23746c2
Merge pull request #12905 from liamwhite/hwc-release
nvnflinger: release buffers before presentation sleep
2024-02-05 13:43:22 -05:00
Charles Lombardo 215b13f2a2
Merge pull request #12924 from liamwhite/pedantic-unsigned
typed_address: test values are unsigned
2024-02-05 13:43:06 -05:00
liamwhite 35ed9425d7
Merge pull request #12925 from german77/linux-tab
yuzu: Fully hide linux tab
2024-02-05 13:41:31 -05:00
liamwhite 74cc8721c7
Merge pull request #12915 from german77/cheat
dmnt: cheats: Update cheat vm to latest version
2024-02-05 13:41:21 -05:00
liamwhite 8ef1db78b0
Merge pull request #12916 from liamwhite/float-fix
gdb: fix load/save of fp values in a32
2024-02-05 13:41:15 -05:00
Charles Lombardo 18c8f10ff2
Merge pull request #12922 from FearlessTobi/lang-mappins
.tx/config: Use language mappings for android "tx pull"
2024-02-05 13:40:53 -05:00
german77 96d881f087 yuzu: Fully hide linux tab 2024-02-05 11:58:20 -06:00
Liam 0e950baf41 typed_address: test values are unsigned 2024-02-05 12:47:10 -05:00
german77 8113f55f4b dmnt: cheats: Silence memory errors 2024-02-05 11:08:24 -06:00
Liam f296a9ce9a shader_recompiler: use only ConstOffset for OpImageFetch 2024-02-05 12:01:09 -05:00
FearlessTobi ddbefc71cb .tx/config: Use language mappings for android "tx pull"
The language names we are using in the android resources differ from those on Transifex.

We need to manually specify mappings for them, so Transifex is able to place the files in the correct folders.
2024-02-05 15:57:13 +01:00
Fernando Sahmkow 0d5a3abeae Buffer Cache: Refactor to use Range sets instead 2024-02-05 11:06:52 +01:00
Liam 85143e8376 gdb: fix load/save of fp values in a32 2024-02-04 20:28:43 -05:00
german77 504abbd6e0 dmnt: cheats: Update cheat vm to latest version 2024-02-04 17:46:20 -06:00
Fernando Sahmkow accccc0cbf NVDRV: Refactor HeapMapper to use RangeSets 2024-02-04 20:01:50 +01:00
Fernando Sahmkow 01ba6cf610 Common: Introduce Range Sets 2024-02-04 20:01:50 +01:00
Fernando Sahmkow 4841dc0b74 VideoCore: Move Slot Vector to Common 2024-02-04 20:01:47 +01:00
Tobias 185125e4e4 citra_qt/configure_ui: Show country of language in the combobox
This prevents an issue where we had seperate versions of the same language for different regions and they were not distinguishable (e.g. "Chinese (China)" and "Chinese (Taiwan)").

Also makes it so we do not need to hardcode specific languages anymore.
2024-02-04 17:06:44 +01:00
t895 99ea31faa8 ci: android: Play store publishing setup 2024-02-04 10:54:18 -05:00
FearlessTobi 9ade941de1 web_backend: Sync with Citra implementation
While porting https://github.com/citra-emu/citra/pull/7347, I noticed the code of yuzu was not up-to-date with the implementation from Citra.
2024-02-04 16:51:52 +01:00
liamwhite 4cccbe7989
Merge pull request #12892 from liamwhite/serialization-stuff
cmif_serialization: enforce const for references
2024-02-04 09:48:33 -05:00
Liam 5eb5c96750 nvnflinger: release buffers before presentation sleep 2024-02-03 17:14:43 -05:00
liamwhite 5da55cbac9
Merge pull request #12901 from Kelebek1/timezone_firmware_fix
Fix firmware timezone boot load check.
2024-02-03 11:10:30 -05:00
liamwhite 81cc4df1f9
Merge pull request #12895 from german77/files
service: fs: Skip non user id folders
2024-02-03 11:10:24 -05:00
liamwhite 25f3d358b1
Merge pull request #12877 from german77/npad-fixed
service: hid: Multiple fixes
2024-02-03 11:10:14 -05:00
liamwhite a3c8bb251d
Merge pull request #12852 from Calinou/multiplayer-color-player-counts
Color player counts in the multiplayer public lobby list
2024-02-03 11:10:00 -05:00
liamwhite 327533be1f
Merge pull request #12851 from Calinou/multiplayer-persist-filters
Persist filters in multiplayer public lobby list
2024-02-03 11:09:51 -05:00
liamwhite 61ea2115c7
Merge pull request #12850 from Calinou/multiplayer-add-hotkeys
Add hotkeys for multiplayer actions
2024-02-03 11:09:41 -05:00
Kelebek1 108a72ea8a Fix firmware timezone boot load check. 2024-02-03 15:21:10 +00:00
Narr the Reg fb3ef957bb service: fs: Skip non user id folders 2024-02-02 13:25:38 -06:00
Liam 78f72b3bf5 cmif_serialization: enforce const for references 2024-02-02 09:32:10 -05:00
Fernando S 6baf965777
Merge pull request #12857 from liamwhite/const
service: use const references for input raw data
2024-02-02 15:10:46 +01:00
Fernando S 3f86b339f3
Merge pull request #12845 from liamwhite/notif
notif: rewrite for new IPC
2024-02-02 15:09:57 +01:00
liamwhite 32d38a5df6
Merge pull request #12887 from abouvier/cmake-vulkan-headers
cmake: use vulkan-headers config file
2024-02-02 09:09:02 -05:00
liamwhite 3ac46aeced
Merge pull request #12885 from Moonlacer/eclipse-fix
structured_control_flow: Add Samsung Proprietary Driver ID to Reorder Pass
2024-02-02 09:08:54 -05:00
Fernando S 58cf2ee1f9
Merge pull request #12761 from liamwhite/mp-composite
video_core: rewrite presentation for layer composition
2024-02-02 15:08:06 +01:00
Alexandre Bouvier c74b5f9ee6 cmake: use vulkan-headers config file 2024-02-02 04:38:56 +01:00
Moonlacer 11a8ef6640 Clang Fix 2024-02-01 18:15:21 -06:00
Moonlacer b51b47e707 Add Samsung Proprietary Driver ID to Reorder Pass
For RDNA-based Samsung Xclipse GPUs
2024-02-01 17:53:26 -06:00
Liam 35e3c68028 service: use const references for input raw data 2024-02-01 12:57:54 -05:00
Narr the Reg 818721d12d service: hid: Multiple fixes 2024-02-01 10:37:44 -06:00
liamwhite 3212bf5294
Merge pull request #12878 from zhaobot/tx-update-20240201020554
Update translations (2024-02-01)
2024-02-01 11:34:21 -05:00
liamwhite d49275f0e7
Merge pull request #12875 from FernandoS27/sw-blitter
SwBlitter: Fix Pitch linear reading/writting
2024-02-01 11:34:06 -05:00
liamwhite c9ff4b9de4
Merge pull request #12848 from german77/caps-interface
service: capsrv: Migrate to new IPC
2024-02-01 11:33:55 -05:00
liamwhite 21138b6a86
Merge pull request #12780 from german77/touch_resource5
service: hid: Fully implement touch resource
2024-02-01 11:33:44 -05:00
Fernando Sahmkow f740d8b9be MemoryManager: Reduce the page table size based on last big page address. 2024-02-01 13:00:36 +01:00
The yuzu Community d4ac84d50d Update translations (2024-02-01) 2024-02-01 02:06:09 +00:00
Fernando Sahmkow 5cb9fe7819 SwBlitter: Fix Pitch linear reading/writting 2024-01-31 23:02:10 +01:00
liamwhite c98d0e185f
Merge pull request #12870 from liamwhite/mac-ci
ci: bump mac to macos-14
2024-01-31 11:52:27 -05:00
Liam 2c421a7046 hardware_composer: implement speed limit extensions 2024-01-31 11:27:21 -05:00
Liam a595e9e8a7 nvnflinger/gpu: implement layer stack composition 2024-01-31 11:27:21 -05:00
Liam 10cf058518 renderer_opengl: implement layer stack composition 2024-01-31 11:27:21 -05:00
Liam 9bdf09bd76 renderer_vulkan: implement layer stack composition 2024-01-31 11:27:21 -05:00
Liam d4de04584f renderer_opengl: split up blit screen resources into antialias and window adapt passes 2024-01-31 11:27:21 -05:00
Liam dd2918efd8 renderer_opengl: move out ownership of FSR resources 2024-01-31 11:27:21 -05:00
Liam 2ed9586130 renderer_vulkan: convert FSR to graphics pipeline 2024-01-31 11:27:21 -05:00
Liam b78900e956 renderer_opengl: move out FSR shader source construction 2024-01-31 11:27:20 -05:00
Liam 60ee29aac3 renderer_opengl: split out FXAA 2024-01-31 11:27:20 -05:00
Liam b90eff4bc6 renderer_opengl: split out SMAA 2024-01-31 11:27:20 -05:00
Liam 0c2e5b64c9 renderer_vulkan: split up blit screen resources into separate antialias and window adapt passes 2024-01-31 11:27:20 -05:00
Liam 9568b310be renderer_vulkan: isolate FXAA from blit screen 2024-01-31 11:27:20 -05:00
Liam 2b1dd3bef5 renderer_opengl: isolate core presentation code 2024-01-31 11:27:20 -05:00
Liam 453091f611 video_core: consistently account for resolution scaling when rendering 2024-01-31 11:27:20 -05:00
Liam 80de01a5b4 video_core: simplify accelerated surface fetch and crop handling between APIs 2024-01-31 11:27:20 -05:00
Narr the Reg 7cc7d027f7
Merge pull request #12760 from liamwhite/mp-am
am: rewrite for multiprocess support
2024-01-31 10:25:28 -06:00
Narr the Reg 12e5293c73
Merge pull request #12858 from liamwhite/non-blocking
internal_network: only poll for accept on blocking sockets
2024-01-31 10:24:30 -06:00
liamwhite 22492b68b7
Merge pull request #12869 from FernandoS27/smmu-fixes
SMMU: A set of different fixes.
2024-01-31 11:22:29 -05:00
liamwhite a12a26e19b
Merge pull request #12864 from Kelebek1/small_time_fixes
Small time fixes
2024-01-31 11:22:16 -05:00
liamwhite 2a2a1d98b3
Merge pull request #12868 from t895/engine-per-game
settings: Allow audio sink, input, and output to be set per game
2024-01-31 11:22:04 -05:00
liamwhite 6e92a7a149
aoc: fix DLC listing (#12867) 2024-01-31 17:21:34 +01:00
Liam 4dfe9dd038 ci: bump mac to macos-14 2024-01-31 11:17:09 -05:00
Fernando Sahmkow d57165df45 Device Memory Manager: ensure raster protection only within mapped device addresses. 2024-01-31 16:38:51 +01:00
Fernando Sahmkow 738e9a79a0 DeviceMemory: Make counter types configurable 2024-01-31 16:38:51 +01:00
Fernando Sahmkow aaab11e36f NVDRV: Join the heaper optimization blocks 2024-01-31 16:38:51 +01:00
Liam 8f848f43e9 smmu: use new range mutex construction for protecting counters 2024-01-31 16:38:51 +01:00
Fernando Sahmkow a7c1306e2d Texture Cache: make sparse texture table per channel 2024-01-31 16:38:51 +01:00
t895 e8be665f11 settings: Allow audio sink, input, and output to be set per game 2024-01-31 09:31:19 -05:00
Kelebek1 9ed82a280e Remove a few hacks for clock setups, which seem to no longer be needed, but fix network clock to local clock on every boot. Also fix some logging strings. 2024-01-31 01:41:59 +00:00
Liam 817d916233 am: push storage from error applet with non-zero size 2024-01-30 20:13:48 -05:00
liamwhite ffe3984353
Merge pull request #12860 from liamwhite/serialization2
cmif_serialization: fix LargeData types
2024-01-30 14:29:41 -05:00
liamwhite ec734cb06c
Merge pull request #12859 from german77/led
service: hid: Implement GetPlayerLedPattern accurately
2024-01-30 14:29:33 -05:00
Liam 8292ba7ad6 cmif_serialization: fix LargeData types 2024-01-30 12:26:32 -05:00
liamwhite 2e65616761
Merge pull request #12856 from liamwhite/serialization
cmif_serialization: fix out layout calculation
2024-01-30 11:59:00 -05:00
liamwhite 07aa1a99fa
Merge pull request #12849 from LotP1/patch-1
Add support for the CONNREFUSED socket error
2024-01-30 11:58:55 -05:00
liamwhite 6524f20de4
Merge pull request #12847 from abouvier/cmake-oaknut
cmake: prefer system oaknut library
2024-01-30 11:58:48 -05:00
Narr the Reg a0f7f2b309 service: hid: Implement GetPlayerLedPattern accurately 2024-01-30 10:57:03 -06:00
Hugo Locurcio 442aad9b27
Persist filters in multiplayer public lobby list
After connecting to a room, the chosen filter text, "Games I Own",
"Hide Empty Rooms" and "Hide Full Rooms" values are persisted
to configuration so they are preserved across restarts.

This makes it easier to rejoin a room if you regularly play the same
game, or after a crash.
2024-01-30 17:40:29 +01:00
Hugo Locurcio 8e0f97ac96
Color player counts in the multiplayer public lobby list
- Full lobbies have their player count displayed in red.
- Lobbies with one slot left have their player count displayed in orange.
- Empty lobbies have their player count grayed out.
2024-01-30 17:38:21 +01:00
Liam 5510b31972 internal_network: only poll for accept on blocking sockets 2024-01-30 10:29:05 -05:00
LotP1 ecea5ef757
Update sockets.h
forgot to realign the enum
2024-01-30 12:24:47 +01:00
LotP1 a1ce45b0b1
Update src/core/hle/service/sockets/sockets.h
Co-authored-by: liamwhite <liamwhite@users.noreply.github.com>
2024-01-30 11:01:04 +01:00
Liam 9ba9780a96 cmif_serialization: fix out layout calculation 2024-01-30 02:22:45 -05:00
Narr the Reg 4afca6bf5d service: capsrv: Migrate to new IPC 2024-01-29 20:35:45 -06:00
Alexandre Bouvier 73e7a259fd cmake: prefer system oaknut library 2024-01-30 02:57:50 +01:00
Liam 8e0a40434c am: stop emulation when all applets are closed 2024-01-29 20:17:33 -05:00
Liam 68303ed601 core: support offline web applet 2024-01-29 20:17:33 -05:00
Liam 8a146469c0 am: return AppletDataBroker and use for frontend applets 2024-01-29 20:17:33 -05:00
Liam b1c2f791af am: rework IStorage for transfer storage 2024-01-29 20:17:33 -05:00
Liam 182137a9a4 am: migrate global state to per-applet state structure 2024-01-29 20:17:33 -05:00
Liam 3155f4e96d am: retrieve main applet creation info from frontend 2024-01-29 20:17:09 -05:00
Hugo Locurcio 345d691328
Add hotkeys for multiplayer actions
Default shortcuts were chosen as to be intuitive (use the first letter
of the action, or the second word's first letter) and work on all
types of keyboards. The hotkeys can be used while playing a game too,
as they are application-wide.
2024-01-30 01:32:14 +01:00
Liam dfb9fa0144 am: re-namespace frontend applets to frontend directory 2024-01-29 18:43:45 -05:00
Liam a7e9d7842d am: add new datatypes for per-applet state 2024-01-29 18:43:45 -05:00
Liam 7de6b41030 service: split am into components 2024-01-29 18:43:45 -05:00
LotP1 2cc5c517cf
Update sockets_translate.cpp
Align the error case with it's index in the Errno enum
2024-01-30 00:34:07 +01:00
LotP1 c0775e74ec
Update sockets.h
Add the CONNREFUSED error to the Service::Sockets::Errno enum
2024-01-30 00:27:11 +01:00
LotP1 3acf35bb98
Update sockets_translate.cpp
Add support for the CONNREFUSED Errno.
Without this Connect() will return SUCCESS when a connection is refused, instead of an error code. This causes code, that relies on the result of Connect() being SUCCESS, to execute when it shouldn't.
2024-01-30 00:23:43 +01:00
liamwhite 8ddfecfbae
Merge pull request #12846 from german77/mii_const
service: mii: Set arguments as const
2024-01-29 15:27:12 -05:00
liamwhite 51f5a6f1f8
Merge pull request #12830 from merryhime/dynamic-dual_code_block
externals/dynarmic: Update to 6.6.1
2024-01-29 15:27:04 -05:00
Narr the Reg 64fca24b32 service: mii: Set arguments as const 2024-01-29 11:22:44 -06:00
Liam 41149d061d notif: rewrite for new IPC 2024-01-29 11:56:32 -05:00
liamwhite ba4cee1812
Merge pull request #12843 from t895/system-driver-whoops
android: Don't show delete button for system driver
2024-01-29 09:09:38 -05:00
liamwhite 06abf3205a
Merge pull request #12837 from german77/cat
service: am: Focus state changed goes last
2024-01-29 09:09:00 -05:00
liamwhite adfdc9520a
Merge pull request #12836 from german77/im_home
service: hid: Implement home, capture and sleep buttons
2024-01-29 09:08:52 -05:00
liamwhite 90cb852908
Merge pull request #12814 from Kelebek1/time_new_ipc
Move time services to new IPC and add debug printing
2024-01-29 09:08:46 -05:00
liamwhite 278dd589ec
Merge pull request #12439 from FireBurn/vkresult
Simplify VkResult lookup
2024-01-29 09:08:32 -05:00
t895 15e8791f9d android: Don't show delete button for system driver 2024-01-29 06:59:34 -05:00
Narr the Reg 498c9bd96a
Merge pull request #12840 from amazingfate/fix-gcc11
fix build for gcc 11
2024-01-29 04:36:57 -06:00
amazingfate 6c8df6af44 fix build for gcc 11 2024-01-29 14:00:56 +08:00
german77 8e93537266 service: am: Focus state changed goes last 2024-01-28 22:02:01 -06:00
german77 b8f16f3538 service: hid: Implement home, capture and sleep buttons 2024-01-28 19:28:37 -06:00
german77 87e26de0fc service: hid: Restore active aruid 2024-01-28 18:27:25 -06:00
Narr the Reg 575183d6dc service: hid: Fully implement touch resource 2024-01-28 18:27:25 -06:00
liamwhite 6a2532fe17
Merge pull request #12555 from flodavid/fix-gamemode-setting
Save gamemode configuration and add per-game config
2024-01-28 15:02:34 -05:00
liamwhite 3655115105
Merge pull request #12821 from merryhime/atomic_ops
atomic_ops: Reduce code duplication with templates
2024-01-28 15:02:28 -05:00
liamwhite 5561a08d59
Merge pull request #12831 from Kelebek1/audren_multi
Use the input process handle to get the correct application's memory
2024-01-28 15:02:22 -05:00
liamwhite e687ca8735
Merge pull request #12833 from merryhime/vsync-crash
configure_graphics: Avoid crash when vsync_mode_combobox is empty
2024-01-28 15:02:15 -05:00
Merry 0bf46cb1ee configure_graphics: Avoid crash when vsync_mode_combobox is empty (occurs when renderer backend is Null) 2024-01-28 19:14:38 +00:00
Kelebek1 19a2f12692 Use the input process handle to get the correct application's memory 2024-01-28 18:51:43 +00:00
Merry 6cc82fd430 externals/dynarmic: Update to 6.6.1 2024-01-28 17:04:01 +00:00
liamwhite 72c897c49d
Merge pull request #12826 from t895/system-driver-version
android: Show system driver information
2024-01-28 11:57:58 -05:00
liamwhite 077a50a547
Merge pull request #12825 from liamwhite/why
kernel: clear pinned waiter list on unpin
2024-01-28 11:57:53 -05:00
liamwhite 820f1c8a16
Merge pull request #12823 from german77/set-audio
service: set: Implement more Qlaunch Settings
2024-01-28 11:57:47 -05:00
liamwhite b163757e1f
Merge pull request #12802 from german77/mii_interface
service: mii: Migrate service to new interface
2024-01-28 11:57:40 -05:00
Merry 2bc0132d0c externals/oaknut: Update to 2.0.1 2024-01-28 16:50:14 +00:00
german77 b75401a2cb service: set: Increase settings version 2024-01-28 09:32:54 -06:00
german77 12e7ee2357 service: set: Implement more Qlaunch Settings 2024-01-28 09:32:46 -06:00
Charles Lombardo 3ec41503e3
Merge pull request #12827 from t895/focus-color
android: Disable focus on loading card
2024-01-28 08:52:57 -05:00
t895 c770af9b12 android: Disable focus on loading card
Additionally de-emphasize the ripple that I can't disable
2024-01-28 00:25:07 -05:00
t895 2d8f80b65e android: Show system driver information 2024-01-27 23:59:02 -05:00
Liam 6c4eb2733d kernel: clear pinned waiter list on unpin 2024-01-27 22:53:49 -05:00
liamwhite d5e8c9d04f
Merge pull request #12824 from t895/multi-boot
android: Multi-program app switching
2024-01-27 21:48:54 -05:00
t895 3f1290cee3 android: Multi-program app switching 2024-01-27 20:05:51 -05:00
Merry 5a20d07c21 atomic_ops: Fix MSVC 2024-01-27 21:42:16 +00:00
Merry 9f91d310c6 atomic_ops: Remove volatile qualifier 2024-01-27 21:36:39 +00:00
Merry 6527c0d2fc atomic_ops: Reduce code duplication with templates
Also fixes builds on unusual toolchains where:
- u32 is unsigned int
- u64 is unsigned long long
- uintptr_t is unsigned long
2024-01-27 21:12:12 +00:00
liamwhite ce2eb6e8ee
Merge pull request #12818 from K900/small-fixes
A few small fixes
2024-01-27 12:13:46 -05:00
K900 8b47465586 input: add a missing null pointer check
There's a few other places where the result of GetAruidData is accessed without a null check,
but I couldn't find a code path that hits those.
2024-01-27 17:32:49 +03:00
K900 3065ab0fd8 nx_tzdb: add another safety assertion 2024-01-27 17:28:04 +03:00
K900 a2407a2964 nx_tzdb: check for unpacked directory
Otherwise things get funny if the archive is downloaded, but the unpacking was interrupted.
2024-01-27 17:25:52 +03:00
liamwhite 16b79df836
Merge pull request #12815 from t895/visual-driver-silly
android: Reload global settings on closing emulation
2024-01-27 01:36:26 -05:00
t895 6a4b25699d android: Reload global settings on closing emulation
UI like the driver manager expects the global settings to be loaded when in the MainActivity so we reload global config to properly reset state on exit.
2024-01-26 23:05:02 -05:00
Kelebek1 da410506a4 Move time services to new IPC.
Add some fixes/improvements to usage with the new IPC
2024-01-27 03:30:09 +00:00
Narr the Reg c5e88c654e service: mii: Migrate service to new interface 2024-01-26 10:43:34 -06:00
liamwhite bd8635e26a
Merge pull request #12808 from t895/uri-moment
vfs: Fix getting URI filename
2024-01-26 10:23:08 -05:00
liamwhite 4349cdba07
Merge pull request #12769 from german77/no-log
core: hid: Reduce controller requests
2024-01-26 09:57:40 -05:00
t895 f2fb761bac vfs: Fix getting URI filename 2024-01-26 09:57:22 -05:00
liamwhite 59aee2b461
Merge pull request #12809 from t895/error-message
android: Add cancel condition to installed content check
2024-01-26 09:56:01 -05:00
liamwhite 4d206d849e
Merge pull request #12765 from german77/sys-hid
service: set: Implement more settings functions for Qlaunch
2024-01-26 09:55:47 -05:00
liamwhite 744c0173d1
Merge pull request #12801 from german77/vibration-fix
service: hid: Don't try to vibrate if device isn't initialized
2024-01-26 09:55:37 -05:00
liamwhite 55482ab5dc
Merge pull request #12707 from FearlessTobi/fs-housekeeping
fs: Various cleanups & add path class for later use
2024-01-26 09:55:25 -05:00
t895 e56b44dee6 android: Add cancel condition to installed content check 2024-01-26 09:29:51 -05:00
Narr the Reg f2012e5aff service: hid: Don't try to vibrate if device isn't initialized 2024-01-25 23:46:46 -06:00
liamwhite 4526fdaf64
Merge pull request #12796 from t895/controller-optimizations
android: Controller focus optimizations
2024-01-25 23:01:44 -05:00
liamwhite bc22b4e782
Merge pull request #12798 from liamwhite/cmif-fixes
cmif_serialization: fixes
2024-01-25 23:01:10 -05:00
liamwhite f70821ce0d
Merge pull request #12794 from abouvier/cmake-simpleini-module
cmake: support simpleini config and pc file
2024-01-25 23:01:04 -05:00
Liam a774ff935c cmif_serialization: support non-domain sessions on domain servers 2024-01-25 22:18:42 -05:00
Liam 431df5ae93 cmif_types: improve ergonomics of types 2024-01-25 22:18:37 -05:00
t895 677c2c2cd2 android: Disable default focus highlight on views that shouldn't be selected 2024-01-25 20:49:57 -05:00
t895 ee540c712c android: Allow controller to focus on toolbar menu items
Workaround for this
https://issuetracker.google.com/issues/256948272
2024-01-25 20:48:58 -05:00
t895 d23c4393fd android: Add 600dp layout for GameInfoFragment 2024-01-25 20:46:03 -05:00
t895 b24a111136 android: Fix button click listener for build version name
Was set to the text instead of the parent view by mistake
2024-01-25 20:43:12 -05:00
t895 91636deaaf android: Disable focus for the root of cards that contain buttons 2024-01-25 20:42:23 -05:00
t895 68cbf67f4c android: Focus on the in game menu when opened 2024-01-25 20:39:52 -05:00
Alexandre Bouvier 645961613f cmake: support simpleini cmake config and pc file 2024-01-26 01:13:47 +01:00
Narr the Reg 53b321c945 service: set: Implement more settings functions for Qlaunch 2024-01-25 17:14:18 -06:00
FearlessTobi 975deb7528 Address review comments and fix compilation problems 2024-01-25 16:43:53 -05:00
FearlessTobi 2c049ae06d fs: Add path class 2024-01-25 16:42:06 -05:00
FearlessTobi 54372fdff5 result: Make fully constexpr, add ON_RESULT_INCLUDED 2024-01-25 16:42:06 -05:00
FearlessTobi c60ab6bbf6 fs/errors: Unify naming of result codes 2024-01-25 16:42:06 -05:00
FearlessTobi cc09c265e1 fs: Replace Mode enum by OpenMode enum 2024-01-25 16:42:05 -05:00
FearlessTobi 0f9288e38d vfs: Move vfs files to their own directory 2024-01-25 16:40:42 -05:00
FearlessTobi 06fb7f90da fs: Move fsp_srv subclasses to separate files
fs: Move additional files to the fsp directory
2024-01-25 16:40:42 -05:00
liamwhite e04368ad7c
Merge pull request #12759 from liamwhite/mp-misc
core: miscellaneous fixes
2024-01-25 16:21:38 -05:00
liamwhite 3e2d3548f2
Merge pull request #12777 from t895/firmware-warning
android: Add key warning
2024-01-25 16:21:29 -05:00
liamwhite eb9036d75b
Merge pull request #12783 from liamwhite/cmif-generation
service: add template serializer for method calls
2024-01-25 15:40:09 -05:00
Liam 01a2d978eb service: add template serializer for method calls 2024-01-25 14:35:51 -05:00
liamwhite 6e67b25af9
Merge pull request #12787 from t895/game-list-refresh
android: Only compare game contents for GameAdapter
2024-01-25 14:19:32 -05:00
liamwhite e91667ba75
Merge pull request #12786 from t895/driver-overlay
android: Show driver vendor in FPS overlay
2024-01-25 14:19:25 -05:00
liamwhite d45561ace0
Merge pull request #12499 from Kelebek1/time
Rework time services
2024-01-25 14:19:01 -05:00
t895 0fdd6e8934 android: Fix waiting for driver install on startup 2024-01-25 13:04:04 -05:00
t895 35794f4f18 android: Add current driver vendor to FPS overlay 2024-01-25 13:04:03 -05:00
t895 b8be8dff69 android: Add key check 2024-01-25 12:58:19 -05:00
t895 bc317a9807 android: Add option to make MessageDialogFragments non-dismissible
Additionally fixes an issue where its viewmodel could hold onto a stale positive action
2024-01-25 12:53:49 -05:00
t895 97ca160b08 frontend_common: Consistently use references
Was swapping between references and pointers for no reason. Just unify them here since each of these utility functions will need their parameters to be alive.
2024-01-25 12:53:49 -05:00
t895 1a3fc3724a frontend_common: Remove key rederivation and keep key check 2024-01-25 12:53:48 -05:00
t895 7b01454d5f android: Only compare game contents for GameAdapter 2024-01-25 08:04:59 -05:00
Matías Locatti f3749394ac
Merge pull request #12781 from goldenx86/dozen
Demote dozen to the bottom of the device list
2024-01-25 03:58:09 -03:00
Matías Locatti 807f421752 Demote Mesa dozen to the bottom of the device list 2024-01-24 23:36:14 -03:00
Kelebek1 e4915fb7d2 Rework time service to fix time passing offline. 2024-01-24 04:26:55 +00:00
liamwhite a76f6a2775
Merge pull request #12763 from liamwhite/fix-hbl-again
loader: also register fs process for raw exefs partition
2024-01-23 13:31:41 -05:00
liamwhite ba518f6899
Merge pull request #12768 from german77/wrong_conversion
service: properly convert buffers to strings
2024-01-23 13:31:27 -05:00
Narr the Reg ad4622da2c core: hid: Skip duplicated vibrations 2024-01-23 11:33:08 -06:00
Narr the Reg 3b1c2896d9 core: hid: Only set polling mode if needed 2024-01-23 11:11:09 -06:00
Narr the Reg fc5d76e6e2 service: properly convert buffers to strings 2024-01-23 10:24:05 -06:00
Liam 5f9a45ada9 loader: also register fs process for raw exefs partition 2024-01-23 00:01:38 -05:00
Liam a120f8ff4d nvservices: close map handles on session close 2024-01-22 21:18:52 -05:00
Liam 96833cd809 kernel: target invalidate to given process 2024-01-22 21:18:52 -05:00
Charles Lombardo 8649a80071
Merge pull request #12753 from liamwhite/why
device_memory_manager: fix ScratchBuffer indexing
2024-01-22 14:55:07 -05:00
Liam 550cadbee4 device_memory_manager: fix ScratchBuffer indexing 2024-01-22 14:07:33 -05:00
liamwhite 8bd10473d6
Merge pull request #12579 from FernandoS27/smmu
Core: Implement Device Mapping & GPU SMMU
2024-01-22 10:55:39 -05:00
liamwhite 8d708b0c79
Merge pull request #12747 from t895/homescreen-widget
android: Add to launcher button
2024-01-22 10:55:25 -05:00
t895 beaab10c8f android: Add to launcher button 2024-01-22 08:19:20 -05:00
Charles Lombardo 889c5d2705
Merge pull request #12739 from t895/debug-keystore
android: Provide debug.keystore for debug and relWithDebInfo builds
2024-01-22 04:34:17 -05:00
Charles Lombardo 17b0aac809
Merge pull request #12738 from t895/lock-drawer
android: Port "Lock drawer" feature from Citra
2024-01-22 04:34:08 -05:00
Charles Lombardo 399220ddbc
Merge pull request #12736 from t895/verify-contents
android: Add verify contents buttons
2024-01-22 04:33:56 -05:00
Mike Lothian 23e074ff14 Simplify VkResult lookup 2024-01-22 03:10:43 +00:00
t895 59080a3d1d android: Provide debug.keystore for debug and relWithDebInfo builds
Allows devs to share debug builds with testers without uninstalling the previous build
2024-01-21 22:08:07 -05:00
t895 3a25a217e6 android: Port "Lock drawer" feature from Citra 2024-01-21 20:47:28 -05:00
Mike Lothian f854ffd015 Add Vulkan-Utility-Libraries dependency 2024-01-22 01:30:44 +00:00
t895 961b5586a5 frontend_common: Remove default value for installer callbacks
We never used these without callbacks and these will break without them in their current state. I could write the default value to return false always but that's unnecessary for now.
2024-01-21 19:31:26 -05:00
liamwhite 57ff934f0d
Merge pull request #12734 from german77/enable-applet
service: hid: Implement EnableAppletForInput
2024-01-21 19:15:53 -05:00
liamwhite 92ce9273ee
Merge pull request #12735 from german77/disable-vibration
core: hid: Allow to disable vibration
2024-01-21 19:15:46 -05:00
t895 dd36d43ea1 android: Add options to verify installed content 2024-01-21 19:15:11 -05:00
Narr the Reg a7a7720752 core: hid: Allow to disable vibration 2024-01-21 16:44:31 -06:00
t895 c725f3c86c frontend_common: Move integrity verification to content_manager 2024-01-21 16:36:37 -05:00
Narr the Reg 1b984738ab service: hid: Implement EnableAppletForInput 2024-01-21 14:05:18 -06:00
Charles Lombardo a3199401f4
Merge pull request #12733 from german77/settings_services
service: set: Don't allow invalid mii author id
2024-01-21 14:08:58 -05:00
german77 a7620a29be service: set: Don't allow invalid mii author id 2024-01-21 12:18:18 -06:00
Charles Lombardo 5ac1297fa5
Merge pull request #12728 from t895/sync-translations
android: Sync translations
2024-01-21 00:38:49 -05:00
t895 fe69105f71 android: Sync translations 2024-01-20 23:26:47 -05:00
liamwhite 93a3342841
Merge pull request #12720 from t895/return-to-global
android: Change "Clear" to "Use global setting" for per-game settings
2024-01-20 13:56:31 -05:00
t895 7b3e26acc9 android: Change "Clear" to "Use global setting" for per-game settings 2024-01-20 13:37:47 -05:00
liamwhite 444e86d191
Merge pull request #12688 from liamwhite/wl-present-fix
renderer_vulkan: recreate swapchain when frame size changes
2024-01-20 13:36:18 -05:00
liamwhite 61ce0088ae
Merge pull request #12724 from merryhime/fs-u8str-overloads
fs/file: Explicitly convert std::u8string to std::filesystem::path
2024-01-20 13:35:41 -05:00
liamwhite b3aa3633c7
Merge pull request #12721 from t895/card-elevation
android: Use elevated card style for home setting card
2024-01-20 13:35:30 -05:00
liamwhite 627ba271ad
Merge pull request #12719 from t895/sort-search
android: Sort recently added/played games by time
2024-01-20 13:35:14 -05:00
liamwhite 2faa631676
Merge pull request #12715 from t895/remove-addons
android: Add uninstall addon button
2024-01-20 13:35:03 -05:00
liamwhite 5838779162
Merge pull request #12660 from german77/better-vibration
service: hid: Fully implement abstract vibration
2024-01-20 13:34:54 -05:00
liamwhite 23fd1041c1
Merge pull request #12701 from liamwhite/flinger-layer-issues
vi: check layer state before opening or closing
2024-01-20 13:34:32 -05:00
Merry 5c398ede6f fs/file: Explicitly convert std::u8string to std::filesystem::path 2024-01-20 17:46:30 +00:00
t895 378e4752a6 android: Use elevated card style for home setting card 2024-01-20 03:55:48 -05:00
t895 dad48f16b7 android: Sort recently added/played games by time 2024-01-20 03:18:48 -05:00
t895 a363fa78ef frontend_common: Add documentation for content_mananger 2024-01-19 20:54:50 -05:00
t895 03fa91ba3c android: Add addon delete button
Required some refactoring of retrieving patches in order for the frontend to pass the right information to ContentManager for deletion.
2024-01-19 20:54:50 -05:00
t895 d79d4d5986 android: Use callback to update progress bar dialogs 2024-01-19 17:09:36 -05:00
t895 ccd3dd842f frontend_common: Add content manager utility functions
Creates utility functions to remove/install DLC, updates, and base game content
2024-01-19 17:09:35 -05:00
liamwhite b4a8e1ef8a
Merge pull request #12713 from shinra-electric/mvk-127
macOS: Bump MoltenVK to v1.2.7
2024-01-19 13:07:14 -05:00
shinra-electric 5ea8f05ec6
Bump MoltenVK to v1.2.7 2024-01-19 17:28:53 +01:00
liamwhite 10535e0016
Merge pull request #12687 from german77/amiibo-lock
core: hid: Disable special features before disconnecting the controllers
2024-01-19 09:33:31 -05:00
liamwhite a8c552e261
Merge pull request #12695 from anpilley/user-arguments-v2
Allow -u to accept a username string in addition to index
2024-01-19 09:33:25 -05:00
liamwhite 932bd98824
Merge pull request #12709 from german77/npad-disc
service: hid: Clear controller status when aruid is no longer used
2024-01-19 09:33:16 -05:00
Narr the Reg 9f376cd901 service: hid: Clear controller status when aruid is no longer used 2024-01-19 00:09:49 -06:00
liamwhite a560b9f5a2
Merge pull request #12678 from german77/settings_impl
service: set: Implement stubbed functions
2024-01-18 21:18:37 -05:00
liamwhite 4f04bd3697
Merge pull request #12683 from german77/amiibo-dump
service: nfc: Create backup when none exist
2024-01-18 21:18:27 -05:00
liamwhite 97c8b49444
Merge pull request #12644 from liamwhite/vkspec-image-offset
shader_recompiler: fix Offset operand usage for non-OpImage*Gather
2024-01-18 21:18:19 -05:00
Liam 748465f5a5 device_memory_manager: use unique_lock for update 2024-01-18 21:12:30 -05:00
Liam 04867e2456 nvhost_vic: use map erase by key 2024-01-18 21:12:30 -05:00
Liam 32f623e029 nvdrv: clean up preallocation 2024-01-18 21:12:30 -05:00
Liam b6c6534c30 nvdrv: use correct names for interface factory 2024-01-18 21:12:30 -05:00
Liam beb438bb0b nvdrv: use static typing for SessionId, smmu Asid types 2024-01-18 21:12:30 -05:00
Fernando Sahmkow 4b963ca8a5 Core: Invert guest memory depandancy 2024-01-18 21:12:30 -05:00
Fernando Sahmkow 648ed55fe6 Core: Make sure GPU Dirty Managers ae shared by all processes. 2024-01-18 21:12:30 -05:00
Fernando Sahmkow 23430e6772 Core: Eliminate core/memory dependancies. 2024-01-18 21:12:30 -05:00
Fernando Sahmkow 0672847330 SMMU: Fix Right Shift UB. 2024-01-18 21:12:30 -05:00
Fernando Sahmkow a874ab0133 SMMU: Fix 8Gb layout. 2024-01-18 21:12:30 -05:00
Fernando Sahmkow 590d9b7e1d Core: Clang format and other small issues. 2024-01-18 21:12:30 -05:00
Fernando Sahmkow b0bca0f8b0 SMMU: Fix software rendering and cleanup 2024-01-18 21:12:30 -05:00
Fernando Sahmkow d8f1ce2f76 SMMU: Add continuity tracking optimization. 2024-01-18 21:12:30 -05:00
Fernando Sahmkow 9b11b9dce5 SMMU: Simplify and remove old code. 2024-01-18 21:12:30 -05:00
Fernando Sahmkow 303cd31162 SMMU: Add Android compatibility 2024-01-18 21:12:30 -05:00
Fernando Sahmkow 0adc09e0af GPU-SMMU: Estimate game leak and preallocate device region. 2024-01-18 21:12:30 -05:00
Fernando Sahmkow 96fd1348ae GPU SMMU: Expand to 34 bits 2024-01-18 21:12:30 -05:00
Fernando Sahmkow bad705f245 SMMU: Fix Unregister on MultiAddress 2024-01-18 21:12:30 -05:00
Fernando Sahmkow 34a8d0cc8e SMMU: Implement physical memory mirroring 2024-01-18 21:12:30 -05:00
Fernando Sahmkow 0a2536a0df SMMU: Initial adaptation to video_core. 2024-01-18 21:12:30 -05:00
Fernando Sahmkow c85d7ccd79 SMMU: Implement backing CPU page protect/unprotect 2024-01-18 21:12:30 -05:00
Fernando Sahmkow 7a9d1ad2f8 NVDRV: Implement sessions and initial implementation of SMMU 2024-01-18 21:12:30 -05:00
Fernando Sahmkow 2f0418c101 Core: Initial implementation of device memory mapping 2024-01-18 21:12:30 -05:00
Charles Lombardo 3092855d5a
Merge pull request #12702 from german77/android-input
input_common: Add android input engine
2024-01-18 09:16:58 -05:00
Narr the Reg 72f803c366 input_common: Add android input engine 2024-01-17 22:47:56 -06:00
liamwhite c87b96435d
Merge pull request #12699 from t895/overlay-saving
android: Save overlay data while using emulation fragment
2024-01-17 22:56:40 -05:00
Liam e4bbb24dcf vi: check layer state before opening or closing 2024-01-17 22:03:40 -05:00
Andrew Pilley 6536d29c61 Update based on feedback 2024-01-17 18:14:05 -08:00
t895 116f76e4b6 android: Save overlay data while using emulation fragment
This should have been fully embraced before but the items within the popup menu and the adjust controls dialog fell through. This ensures that everything related to the overlay is saved during emulation and can't be lost during a crash.
2024-01-17 20:14:25 -05:00
Liam ce89580749 nvnflinger: ensure display abandonment considers all layers and future layers 2024-01-17 18:45:39 -05:00
Andrew Pilley dff0a7c52a Allow -u to accept a username string in addition to index, and suppress the User selector even if settings requires it to be shown for one instance only. 2024-01-17 10:31:00 -08:00
liamwhite 915efa4236
Merge pull request #12689 from liamwhite/remove-format
ci: remove format dep from mainline step2
2024-01-17 00:36:07 -05:00
Liam 4548e5ae1d ci: remove format dep from mainline step2 2024-01-16 22:59:20 -05:00
Narr the Reg 46c2435235
Merge pull request #12380 from flodavid/save-profile
Save configuration profile name used by players
2024-01-16 21:27:25 -06:00
Liam e9eb017aac renderer_vulkan: recreate swapchain when frame size changes 2024-01-16 16:09:39 -05:00
Narr the Reg 0b0e9ef18d core: hid: Disable special features before disconnecting the controllers 2024-01-16 14:44:54 -06:00
Narr the Reg 7f5adf8982 service: set: Implement stubbed functions 2024-01-15 23:17:03 -06:00
Narr the Reg 89d6856090 service: set: Refractor setting service 2024-01-15 23:16:36 -06:00
Narr the Reg 2cacb9d48c service: hid: Fully implement abstract vibration 2024-01-15 23:15:40 -06:00
liamwhite 2c29c2b8dd
Merge pull request #12686 from szepeviktor/typos3
Fix more typos
2024-01-15 23:26:08 -05:00
Viktor Szépe 16abda59be Fix typos in master 2024-01-16 00:09:25 +00:00
Viktor Szépe 90ab89a0b0 Merge remote-tracking branch 'origin/master' into typos3 2024-01-16 00:09:00 +00:00
Viktor Szépe 6531ad56a6 Fix typos in arrays.xml 2024-01-15 23:39:45 +00:00
Viktor Szépe e8671ed04e Fix one more typo 2024-01-15 23:34:11 +00:00
Viktor Szépe 2044ae6b3a Fix more typos 2024-01-15 23:26:53 +00:00
Narr the Reg c661b95864 service: nfc: Create backup when none exist 2024-01-15 14:07:54 -06:00
liamwhite c683ec2bcb
Merge pull request #12681 from t895/stick-toggles
android: Fix overlay toggle ordering
2024-01-15 13:52:53 -05:00
liamwhite 2e4e33156e
Merge pull request #12680 from t895/format-mainline
ci: Remove format step from mainline builds
2024-01-15 13:52:48 -05:00
liamwhite 04f4eeaca2
Merge pull request #12677 from GPUCode/whyy-modders
core: Support multiple modules per patcher
2024-01-15 13:52:38 -05:00
liamwhite 2e4b32204c
Merge pull request #12665 from german77/proof
service: acc: Only save profiles when profiles have changed
2024-01-15 13:52:33 -05:00
Charles Lombardo 34db13486a
Merge pull request #12659 from liamwhite/audio-memory
audio: fetch process object from handle table
2024-01-15 13:52:01 -05:00
Charles Lombardo c6c6bb4041
Merge pull request #12652 from liamwhite/huge-pile-of-spirv-spaghetti
shader_recompiler: emulate 8-bit and 16-bit storage writes with cas loop
2024-01-15 13:51:36 -05:00
Charles Lombardo a2ffb419c9
Merge pull request #12612 from liamwhite/fs-pid
fsp-srv: use program registry for SetCurrentProcess
2024-01-15 13:51:14 -05:00
Charles Lombardo 0127cec371
Merge pull request #12611 from liamwhite/resource-management-is-hard
kernel: fix resource management issues
2024-01-15 13:50:58 -05:00
Charles Lombardo db3a6075f5
Merge pull request #12610 from liamwhite/reply-and-dont-receive
server_manager: respond to session close correctly
2024-01-15 13:50:43 -05:00
t895 8876a15227 android: Fix overlay toggle ordering 2024-01-15 12:41:49 -05:00
t895 954eb40237 ci: Remove format step from mainline builds 2024-01-15 10:30:57 -05:00
GPUCode d4acdac168 core: Support multiple modules per patcher 2024-01-15 00:46:05 +02:00
liamwhite 817c7c445d
Merge pull request #12667 from t895/version-info
android: Show version name instead of build hash in about fragment
2024-01-13 20:23:12 -05:00
liamwhite da714a362b
Merge pull request #12666 from t895/ktlint-yuzu-verify
android: Move ktlintCheck to yuzu-verify
2024-01-13 20:23:02 -05:00
t895 7b3941e5d4 android: Show version name instead of git hash in the about fragment 2024-01-13 18:12:19 -05:00
t895 15d8a40529 android: Clean up git commands in build.gradle 2024-01-13 18:06:33 -05:00
t895 cdeaca73c4 android: Move ktlintCheck to yuzu-verify 2024-01-13 17:41:01 -05:00
german77 bee22540a1 service: acc: Only save profiles when profiles have changed 2024-01-13 14:28:29 -06:00
Liam 76880b84f9 loader: fix homebrew nro registration 2024-01-13 13:48:56 -05:00
Liam 2f0b57ca13 kernel: optimize page free on shutdown 2024-01-12 19:19:07 -05:00
Liam f90a022d3a kernel: fix debugger and process list lifetime 2024-01-12 18:31:33 -05:00
Liam f2fed21c11 kernel: fix page leak on process termination 2024-01-12 18:31:33 -05:00
Liam d940974789 audio: fetch process object from handle table 2024-01-12 10:03:16 -05:00
liamwhite f7a3c135e2
Merge pull request #12605 from german77/abstract
service: hid: Create abstracted pad structure
2024-01-12 10:02:13 -05:00
liamwhite fcb0dff67c
Merge pull request #12642 from t895/adapter-refactor
android: Refactor list adapters
2024-01-12 10:01:54 -05:00
german77 b5dac5f525 service: hid: Create abstracted pad structure 2024-01-11 19:35:04 -06:00
Charles Lombardo a4d90a9a64
Merge pull request #12653 from liamwhite/once-more
ci: fix file mode check in format script
2024-01-11 19:58:41 -05:00
Liam 84787a2ada ci: fix file mode check in format script 2024-01-11 18:57:07 -05:00
Liam 2a0d707ce1 shader_recompiler: emulate 8-bit and 16-bit storage writes with cas loop 2024-01-11 16:50:59 -05:00
Liam aae9eea532 fsp-srv: use program registry for SetCurrentProcess 2024-01-11 11:28:52 -05:00
Liam 2044a289f8 shader_recompiler: fix Offset operand usage for non-OpImage*Gather 2024-01-11 00:56:37 -05:00
t895 d3ba6b334b android: Fix added driver path
While this didn't break anything, the extra separator was unnecessary
2024-01-10 23:14:04 -05:00
t895 dac8c4ce4d android: Add button to use global driver value 2024-01-10 23:14:04 -05:00
t895 9e974d4c7e android: Reload driver data on importing user data 2024-01-10 23:14:04 -05:00
t895 6bfc3c530c android: Rework driver fragment
Applies settings upon selection and uses a new Driver model to represent the information in-view. Also switches from an async diff list to a plain one.
2024-01-10 23:14:04 -05:00
t895 93239f191a android: Refactor DriverAdapter to use AbstractSingleSelectionList 2024-01-10 23:14:04 -05:00
t895 b17db2b462 android: Create generic single selection list adapter 2024-01-10 23:14:04 -05:00
t895 9130366a58 android: Refactor recycler view adapters to use AbstractListAdapter 2024-01-10 23:14:04 -05:00
t895 ad0066a6b6 android: Create generic list adapter for basic lists
Simplifies basic setup for lists
2024-01-10 23:14:04 -05:00
t895 78c323c4eb android: Refactor async diff adapters to use AbstractDiffAdapter 2024-01-10 23:14:04 -05:00
t895 51ad2d10de android: Create generic adapter and viewholder
Eliminates repeated code associated with every async differ list
2024-01-10 23:14:04 -05:00
Charles Lombardo 6533dfd7ce
Merge pull request #12639 from liamwhite/format-oops
ci: fix format task
2024-01-10 12:44:07 -05:00
Liam e11a3414ae ci: fix format task 2024-01-10 11:52:58 -05:00
liamwhite 4fdc900581
Merge pull request #12634 from lat9nq/apple-intl-2
externals: Update txdb_to_nx
2024-01-09 18:42:57 -05:00
lat9nq d99830b59c externals: Update txdb_to_nx
Includes a fix lat9nq/tzdb_to_nx@1e82342 that fixes a build issue on Mac OS.
2024-01-09 17:29:38 -05:00
Narr the Reg 23c11e50f9
Merge pull request #12609 from liamwhite/wrong-name-again
vi: minor cleanups
2024-01-09 11:15:56 -06:00
liamwhite 5fde5e62a8
Merge pull request #12622 from liamwhite/format
ci: make verify format workflow output more helpful
2024-01-09 07:31:34 -05:00
Viktor Szépe f124461674
Fix typos in src/core (#12625)
* Fix typos in src/core

* Fix typo correction

* Fix indentation of MemoryStateNames

* Fix indent
2024-01-08 13:31:48 -06:00
flodavid 63b835f822 Save profile name used
- Save the profile name in global config
- Read the profile name when reading the global config
2024-01-08 18:43:56 +01:00
Liam 30743eff56 ci: make verify format workflow output more helpful 2024-01-08 09:52:25 -05:00
Liam 4f83b00f6f general: fix trailing whitespace 2024-01-08 09:34:32 -05:00
Liam ea710e6523 vi: connect vsync event handle lifetime to application display service interface 2024-01-07 21:47:41 -05:00
Liam 200b371d13 server_manager: respond to session close correctly 2024-01-07 21:33:24 -05:00
Liam ae88ea79b2 vi: fix name of nvnflinger 2024-01-07 21:31:03 -05:00
liamwhite 82b58668ed
Merge pull request #12608 from szepeviktor/typos
Fix typos in video_core
2024-01-07 20:42:54 -05:00
liamwhite bd80929ac1
Merge pull request #12606 from german77/npad_close
service: hid: Delete shared memory handle when unused
2024-01-07 20:41:11 -05:00
liamwhite 2a4ac7cfac
Merge pull request #12600 from german77/npad-impl
service: hid: Hook interface implementations
2024-01-07 20:41:06 -05:00
liamwhite ab513c378a
Merge pull request #12599 from german77/settings
service: set: Use official names
2024-01-07 20:40:56 -05:00
Viktor Szépe a959fb011f Fix "Propietary" typo elsewhere 2024-01-07 23:15:38 +00:00
Viktor Szépe 53085a45e0 Fix typos in video_core 2024-01-07 22:44:55 +00:00
german77 bc2d1262d7 service: hid: Delete shared memory handle when unused 2024-01-07 12:55:24 -06:00
Charles Lombardo 1220309323
Merge pull request #12560 from GayPotatoEmma/master
android: add basic support for google game dashboard
2024-01-07 10:43:53 -05:00
liamwhite a972341b5d
Merge pull request #12601 from german77/rocket
service: hid: Make sure there's an active aruid handle
2024-01-07 07:33:38 -05:00
liamwhite 87430acff1
Merge pull request #12576 from t895/total-save-manager
android: Re-add global save manager
2024-01-07 07:33:31 -05:00
german77 0b4cc6e14c service: hid: Make sure there's an active aruid handle 2024-01-06 23:49:52 -06:00
german77 5105b90017 service: hid: Implement GetLastActiveNpad 2024-01-06 23:30:43 -06:00
german77 3516a2d0bf service: hid: Implement AssigningSingleOnSlSrPress 2024-01-06 23:30:42 -06:00
german77 f224ef6185 service: hid: Implement SetNpadSystemExtStateEnabled 2024-01-06 23:30:41 -06:00
german77 8e27a485d8 service: set: Rename files 2024-01-06 23:16:03 -06:00
german77 a36f4d0a9f service: hid: Implement CaptureButtonAssignment 2024-01-06 21:18:44 -06:00
liamwhite b71840bbd2
Merge pull request #12596 from german77/hid_qlaunch
service: hid: Add functions needed by QLaunch
2024-01-06 21:51:29 -05:00
liamwhite 71fbc87dbd
Merge pull request #12593 from german77/pending-delete
service: hid: Handle pending delete
2024-01-06 21:51:22 -05:00
german77 37b0870ee3 service: set: Use official names 2024-01-06 17:37:36 -06:00
Narr the Reg 3dbe998f9b service: hid: Add functions needed by Qlaunch 2024-01-06 16:10:37 -06:00
Narr the Reg edfbf363de service: hid: Handle pending delete 2024-01-06 15:42:19 -06:00
Narr the Reg 12fd2ae86d
Merge pull request #12582 from german77/hid-core
hid_core: Move hid to it's own subproject
2024-01-06 15:38:59 -06:00
Narr the Reg ee847f8ff0 hid_core: Move hid to it's own subproject 2024-01-05 11:41:15 -06:00
liamwhite 92a331af76
Merge pull request #12437 from ameerj/gl-amd-fixes
OpenGL: Fixes and workaround updates for AMD
2024-01-04 15:53:44 -05:00
liamwhite a8f62bff43
Merge pull request #12575 from t895/inconsistent-settings-application
frontend_common: config: Only write setting related to opened config file
2024-01-04 15:51:24 -05:00
liamwhite 519904e8a8
Merge pull request #12571 from t895/apply-orientation-on-start
android: Expose more orientation options
2024-01-04 15:51:08 -05:00
liamwhite 8d3463dbdd
Merge pull request #12570 from t895/generic-config-pain
frontend_common: config: Move WriteIntegerSetting definition to header
2024-01-04 15:51:00 -05:00
liamwhite b125cb97a2
Merge pull request #12568 from t895/actions-button
actions: android: Allow for manually triggering Android builds
2024-01-04 15:50:54 -05:00
liamwhite d7e7a69e00
Merge pull request #12558 from t895/zip-storage-method
android: Disable compression for zip exports
2024-01-04 15:50:47 -05:00
liamwhite 246cffb624
Merge pull request #12557 from merryhime/termination-ipi
KThread: Send termination interrupt to all cores a thread has affinity to
2024-01-04 15:50:40 -05:00
liamwhite 0e93cad4f0
Merge pull request #12549 from german77/npadresource
service: hid: Implement NpadResource and NpadData
2024-01-04 15:50:33 -05:00
t895 53d4dbacf0 android: Re-add global save manager
Reworked to correctly collect and import/export saves that could exist in either /nand/user/save/000...000/<user id> or /nand/user/save/account/<user id raw string>
2024-01-04 00:56:40 -05:00
t895 39d28a5131 android: Save global config synchronously in onCloseGameFoldersFragment
Could cause multiple global saves at once that went untracked previously
2024-01-03 22:50:21 -05:00
t895 fa04dea7c4 frontend_common: config: Only write setting related to opened config file
If we tried to write a switchable setting to config that was not using global in the global config instance, we could write the per-game setting accidentally. This ensures that we always use the global setting for global config and the currently applied setting for custom config.
2024-01-03 22:49:41 -05:00
t895 1c278974a8 android: Don't save settings on config destruction
Android doesn't have a proper way of destroying its config object so it's best to stick to the built-in methods to control saving config
2024-01-03 22:12:15 -05:00
t895 2b838b6d06 android: Update orientation on emulation fragment start 2024-01-03 21:35:45 -05:00
t895 82ea082997 android: Expose all orientation locking options 2024-01-03 21:35:45 -05:00
Narr the Reg 5562322290 service: hid: Remove data races when handling shared memory 2024-01-03 20:21:16 -06:00
Narr the Reg 6a244465ce service: hid: Implement NpadResource and NpadData 2024-01-03 20:21:14 -06:00
Emma e5de3d5a77 android: add basic support for google game dashboard 2024-01-04 01:07:43 +01:00
t895 bdf87ba0f8 frontend_common: config: Move WriteIntegerSetting definition to header
Fixes a compiler error where the compiler could not see the definition of the method in qt_config and others.
2024-01-03 17:57:20 -05:00
t895 3b314a68a1 actions: android: Prevent resolving tag commit to PR link 2024-01-03 17:01:31 -05:00
t895 06c68fb196 actions: android: Resolve PR commits to link 2024-01-03 17:00:49 -05:00
t895 9a31122c82 actions: android: Move trigger logic to be yuzu-android specific 2024-01-03 03:15:07 -05:00
t895 dace726d08 android: Add internal option to disable compression for zip exports
Disables compression for user data and save exports
2024-01-02 18:11:22 -05:00
Merry 0f7fc94111 KThread: Send termination interrupt to all cores a thread has affinity to
KThread::RequestTerminate may run from a thread which is not the CurrentCore, and thus
masking this out is erroneous.
2024-01-02 21:34:34 +00:00
flodavid e231b8b6f5 yuzu: Add per-game linux gamemode configuration 2024-01-02 21:21:40 +01:00
flodavid 68fe1e3476 fix linux config values not saved 2024-01-02 21:21:40 +01:00
liamwhite 148ad0cf0b
Merge pull request #12554 from german77/directconnect
yuzu: Use displayed port on direct connect
2024-01-02 13:09:53 -05:00
Narr the Reg 1b4cf7fc27 yuzu: Use displayed port on direct connect 2024-01-02 10:17:26 -06:00
liamwhite cec91c5fd6
Merge pull request #12551 from t895/dpad-save-fix
android: Fix dpad position saving
2024-01-02 10:44:26 -05:00
liamwhite 974ccb6f00
Merge pull request #12552 from t895/i-am-a-dummy
android: Use case-insensitive check for addon directory
2024-01-02 10:44:15 -05:00
t895 3c78926d75 android: Use case-insensitive check for addon directory 2024-01-01 22:51:32 -05:00
t895 466cdeb8a0 android: Fix dpad position saving
Was using the wrong key previously
2024-01-01 22:48:10 -05:00
liamwhite 29b983398c
Merge pull request #12544 from zhaobot/tx-update-20240101021433
Update translations (2024-01-01)
2024-01-01 15:02:28 -05:00
liamwhite 15cf34cd62
Merge pull request #12543 from FernandoS27/stop-liking-posts-from-ur-friends-ex
VideoCore: A few fixes to DMA and swapchain
2024-01-01 15:02:20 -05:00
liamwhite 59d81ae614
Merge pull request #12536 from german77/npad_interface
service: hid: Use applet resource to get latest shared memory handle
2024-01-01 15:02:13 -05:00
liamwhite c3c676b7d6
Merge pull request #12518 from t895/theme-settings
android: Migrate remaining settings to ini
2024-01-01 15:02:06 -05:00
Narr the Reg aa9ff2ffc2
Merge pull request #12454 from liamwhite/ct-stuff
core_timing: minor refactors
2024-01-01 13:56:31 -06:00
Narr the Reg f0f92edbd0
Merge pull request #12466 from liamwhite/sh2
core: track separate heap allocation for linux
2024-01-01 13:56:16 -06:00
Narr the Reg 4d49f095b3
Merge pull request #12501 from liamwhite/ips
ips_layer: prevent out of bounds access with offset exceeding module size
2024-01-01 13:56:06 -06:00
Narr the Reg f47d618e54
Merge pull request #12513 from liamwhite/jit-fix
jit: use code memory handles correctly
2024-01-01 13:55:51 -06:00
The yuzu Community 583e04bdd6 Update translations (2024-01-01) 2024-01-01 02:14:51 +00:00
Fernando Sahmkow 737e6e531c Vulkan: Only recreate swapchain if the frame is bigger than the swap image. 2023-12-31 21:03:46 +01:00
Fernando Sahmkow d07397931a MaxwellDMA: Don't flush the outputs of a dma copy. 2023-12-31 21:00:01 +01:00
Narr the Reg 865abfc37c service: hid: Use applet resource to get latest shared memory handle 2023-12-31 10:51:01 -06:00
t895 aa4d15594f android: Expose touchscreen toggle 2023-12-30 15:11:36 -05:00
t895 278cafb76c android: Don't apply material you below android 12
Since you can manually change the config file now, users can force the material you theme under Android 12 and that will result in crashing on startup. This swaps to the default theme if that happens.
2023-12-30 15:11:36 -05:00
t895 24a78dba31 frontend_common: config: Do not count "." as a special character
It would break reading floating point settings
2023-12-30 15:11:36 -05:00
t895 d163b18208 android: Migrate in-game overlay settings to ini 2023-12-30 15:11:36 -05:00
t895 051afd21e7 frontend_common: config: Refactor WriteSetting to stricter types
Previously this could cause problems if a version of the template generated for WriteSetting didn't use the type you needed (e.g. floating point values). Now these are all ready without having to be used within frontend_common first.
2023-12-30 15:11:36 -05:00
t895 d3f38ce56c android: Migrate theme settings to ini 2023-12-30 15:11:35 -05:00
t895 b2b4742e61 android: Update Kotlin version to 1.9.20 2023-12-30 15:11:00 -05:00
liamwhite 09bfc852dc
Merge pull request #12509 from liamwhite/ktrace
k_capabilities: simplify KTrace map skip logic
2023-12-30 14:59:09 -05:00
liamwhite ace74bd066
Merge pull request #12486 from t895/debug-ci
actions: android: Build relWithDebInfo on main repo
2023-12-30 14:59:04 -05:00
liamwhite f6ee53af14
Merge pull request #12527 from DCNick3/log-more-sdl-errors
Report more SDL errors
2023-12-30 14:58:58 -05:00
liamwhite 6c6cb5745f
Merge pull request #12521 from ReillyBrogan/fix-wayland-appid
Fix Wayland appId
2023-12-30 14:58:52 -05:00
liamwhite 3262c0f747
Merge pull request #12520 from t895/settings-tomfoolery
android: Small settings tweaks
2023-12-30 14:58:45 -05:00
Nikita Strygin 9323a1f9b2 yuzu_cmd: Report more SDL errors 2023-12-30 13:32:33 +03:00
Fernando S f02a8d0ae9
Merge pull request #12479 from GPUCode/linear-bcn
video_core: Fix buffer_row_length for linear compressed textures
2023-12-30 06:56:08 +01:00
Fernando S 8517d7cb44
Merge pull request #12487 from liamwhite/clip3
shader_recompiler: use default value for clip distances array
2023-12-30 06:54:44 +01:00
Reilly Brogan cb4b4f3d6e
Fix Wayland appId
On compliant Wayland compositors windows are matched to their .desktop files by comparing the appId window property to the name of the .desktop file without the .deskop extension.

Qt5/6 by default set this property to the basename of the binary (IE `yuzu`) which does not match the expected value `org.yuzu_emu.yuzu`. We can fix this and fix window associations on compliant compositors (like Plasma) by using the `setDesktopFileName()` function which will set the appId window property. This is a no-op on X11 so is safe to be ran without guards.
2023-12-29 20:32:08 -06:00
t895 21e7f86697 android: Expose anisotropic filtering setting 2023-12-29 17:43:36 -05:00
t895 347b3bd18d android: Center switch setting title when no description is present 2023-12-29 17:28:01 -05:00
t895 755c45777f android: Pair fastmem toggle to CPU Debug toggle
Hides fastmem toggle when CPU Debugging is disabled
2023-12-29 17:27:36 -05:00
Liam 558192abf4 jit: use code memory handles correctly 2023-12-29 01:07:47 -05:00
t895 d677052e8c actions: android: Build relWithDebInfo on main repo 2023-12-28 20:53:16 -05:00
Liam 95bfc542aa k_capabilities: simplify KTrace map skip logic 2023-12-28 01:22:57 -05:00
Liam d1c99c5d52 ips_layer: prevent out of bounds access with offset exceeding module size 2023-12-28 01:16:51 -05:00
Liam adb2af0a2b heap_tracker: use linear-time mapping eviction 2023-12-27 10:42:27 -05:00
Liam d0c60605ab shader_recompiler: use default value for clip distances array 2023-12-26 19:32:47 -05:00
Liam 6697b665ca shader_recompiler: respect clip distance limits in indexed store 2023-12-26 19:10:25 -05:00
liamwhite 12178c694a
Merge pull request #12455 from liamwhite/end-wait
kernel: use simple mutex for object list container
2023-12-26 11:46:19 -05:00
liamwhite de1e5584b3
Merge pull request #12465 from liamwhite/proper-handle-table
service: fetch objects from the client handle table
2023-12-26 11:46:11 -05:00
liamwhite 1559984f77
Merge pull request #12471 from FearlessTobi/port-7146
Port citra-emu/citra#7146: "assert/logging: Stop the logging thread and flush the backends before crashing"
2023-12-26 11:46:04 -05:00
liamwhite 467ac4fdfe
Merge pull request #12472 from FearlessTobi/port-7239
Port citra-emu/citra#7239: "common: Miscellaneous cleanups"
2023-12-26 11:45:57 -05:00
liamwhite 69b7100dac
Merge pull request #12449 from liamwhite/debug-utils
renderer_vulkan: skip SetObjectNameEXT on unsupported driver
2023-12-26 11:45:39 -05:00
liamwhite 14dc41d4b3
Merge pull request #12448 from liamwhite/format-assert
renderer_vulkan: demote format assert to error log
2023-12-26 11:45:33 -05:00
liamwhite ad049f13aa
Merge pull request #12415 from ameerj/ogl-draw-auto
gl_rasterizer: Implement DrawTransformFeedback macro
2023-12-26 11:45:25 -05:00
GPUCode 20e0407235 video_core: Fix buffer_row_length computation for linear compressed textures 2023-12-26 16:33:03 +02:00
FearlessTobi 4f569fd568 assert/logging: Stop the logging thread and flush the backends before crashing
Co-Authored-By: SachinVin <26602104+SachinVin@users.noreply.github.com>
2023-12-26 10:35:14 +01:00
Liam ddda76f9b0 core: track separate heap allocation for linux 2023-12-25 23:30:56 -05:00
FearlessTobi 553dac2ae0 ring_buffer: Use feature macro
Co-Authored-By: GPUCode <47210458+GPUCode@users.noreply.github.com>
2023-12-25 14:10:40 +01:00
FearlessTobi 96abe0d7d3 main: Remove unused enum
Co-Authored-By: GPUCode <47210458+GPUCode@users.noreply.github.com>
2023-12-25 14:10:05 +01:00
Liam 47e44a6693 am/jit: reference memory instance from context 2023-12-24 19:36:42 -05:00
Liam cf8c7d4ed3 kernel: remove unecessary process member from handle table 2023-12-24 19:23:03 -05:00
Liam 5165ed9efd service: fetch objects from the client handle table 2023-12-24 19:20:43 -05:00
Fernando S 05e3db3ac9
Merge pull request #12394 from liamwhite/per-process-memory
general: properly support multiple memory instances
2023-12-24 16:23:14 +01:00
Liam e3491a9ee8 kernel: use simple mutex for object list container 2023-12-23 16:26:07 -05:00
Liam 3a4e7d45f1 core_timing: block advance thread while clearing and signal after 2023-12-23 15:36:46 -05:00
Liam 05eda56e66 core_timing: handle concurrent unscheduling of looping events 2023-12-23 15:36:46 -05:00
Liam 575db04172 core_timing: use static typing for no-wait unschedule 2023-12-23 15:36:46 -05:00
Liam f34d3d7e84 core_timing: remove user data value 2023-12-23 15:36:44 -05:00
Liam 6a1ddc5028 renderer_vulkan: skip SetObjectNameEXT on unsupported driver 2023-12-23 11:08:02 -05:00
Liam b1d4804c07 renderer_vulkan: demote format assert to error log 2023-12-23 11:04:02 -05:00
Liam c57ae803a6 kernel: fix resource limit imbalance 2023-12-22 21:52:49 -05:00
Liam db7b2bc8f1 kernel: restrict nce to applications 2023-12-22 21:52:49 -05:00
Liam 31bf57a310 general: properly support multiple memory instances 2023-12-22 21:52:49 -05:00
Liam cae675343c k_server_session: remove scratch buffer usage in favor of direct copy 2023-12-22 21:52:49 -05:00
Liam 35501ba41c k_server_session: process for guest servers 2023-12-22 21:52:49 -05:00
Liam 419055e484 kernel: instantiate memory separately for each guest process 2023-12-22 21:52:49 -05:00
liamwhite 91290b9be4
Merge pull request #12412 from ameerj/gl-query-prims
OpenGL: Add GL_PRIMITIVES_GENERATED and GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN queries
2023-12-22 11:42:05 -05:00
Fernando S 820f113d9e
Merge pull request #12435 from liamwhite/type-check
shader_recompiler: ensure derivatives for textureGrad are f32
2023-12-22 17:41:13 +01:00
Fernando S 373a1ff2ce
Merge pull request #12410 from liamwhite/more-mali-null
renderer_vulkan: don't pass null view when nullDescriptor is not supported
2023-12-22 17:40:47 +01:00
Fernando S 4d6b6ba76c
Merge pull request #12432 from liamwhite/float-write
shader_recompiler: use float image operations on load/store when required
2023-12-22 17:40:26 +01:00
Ameer J 139b4cc9ea Settings: Indicate AMD's compatibility with SPIR-V on OGL 2023-12-21 22:00:49 -05:00
Ameer J d5d0d2cb0e spirv_emit_context: Fix BaseInstance for OGL spirv 2023-12-21 21:53:24 -05:00
Liam 4aa713e861 shader_recompiler: ensure derivatives for textureGrad are f32 2023-12-21 19:06:33 -05:00
Liam 9e9aed41be shader_recompiler: use float image operations on load/store when required 2023-12-21 14:34:46 -05:00
liamwhite 3d268b8480
Merge pull request #12424 from t895/vsync-per-game-qt
qt: settings: Fix per-game vsync combobox
2023-12-21 10:53:06 -05:00
liamwhite ad7445d4cc
Merge pull request #12425 from german77/temp-fix
service: hid: Fix crash on InitializeVibrationDevice
2023-12-21 10:50:22 -05:00
liamwhite 3a30271219
Merge pull request #12426 from t895/reload-text-fix
android: Fix "No games found" text appearing on load
2023-12-21 10:50:11 -05:00
t895 bb5196aaae qt: settings: Fix per-game vsync combobox 2023-12-21 01:15:05 -05:00
t895 d3070cafa7 android: Fix "No games found" text appearing on load 2023-12-21 00:49:22 -05:00
Narr the Reg 5cd3b6f58c service: hid: Fix crash on InitializeVibrationDevice 2023-12-20 22:52:36 -06:00
Ameer J a5b2b8b91b emit_glsl_image: Use inlined texelFetch offsets 2023-12-20 19:24:11 -05:00
Ameer J b4b301d22e gl_device: Remove AMD blacklists that are no longer applicable 2023-12-20 18:19:15 -05:00
liamwhite bedc758fe7
Merge pull request #12414 from jbeich/vk274
externals: update Vulkan-Headers to v1.3.274
2023-12-20 12:46:50 -05:00
liamwhite 76701185ad
Merge pull request #12400 from ameerj/vk-query-prefix-fix
vk_query_cache: Fix prefix sum max_accumulation_limit logic
2023-12-20 12:46:41 -05:00
Fernando S f1cb14eb54
Merge pull request #12417 from liamwhite/arm64-gcc-fix
nce: hide shadowing warnings from dynarmic headers
2023-12-20 18:46:08 +01:00
Fernando S f4f4a469a9
Merge pull request #12409 from liamwhite/bits-and-bytes
nce: fix read size in simd immediate emulation
2023-12-20 18:45:44 +01:00
Fernando S 9e5b4052ed
Merge pull request #12403 from liamwhite/clipdistance
shader_recompiler: use minimal clip distance array
2023-12-20 18:45:20 +01:00
Fernando S 234867b84d
Merge pull request #12390 from liamwhite/binding-insanity
renderer_vulkan: work around turnip binding bug in a610
2023-12-20 18:44:47 +01:00
Ameer J 61e8c5f798 gl_rasterizer: Less spammy log for unimplemented resets 2023-12-20 11:51:44 -05:00
Liam 4b60aec190 nce: hide shadowing warnings from dynarmic headers 2023-12-20 11:07:50 -05:00
Ameer J bbc0ed118d gl_rasterizer: Implement DrawTransformFeedback macro 2023-12-19 19:54:57 -05:00
Jan Beich ecfba79d98 externals: update Vulkan-Headers to v1.3.274 2023-12-20 01:13:09 +01:00
Jan Beich 310834aea2 vulkan_common: unbreak build with Vulkan-Headers 1.3.274
src/video_core/vulkan_common/vulkan_wrapper.cpp:293:13: error: enumeration value 'VK_ERROR_INVALID_VIDEO_STD_PARAMETERS_KHR' not handled in switch [-Werror,-Wswitch]
    switch (result) {
            ^~~~~~
2023-12-20 01:12:41 +01:00
liamwhite 6a1fa9bb17
Merge pull request #12411 from ameerj/gl-nv-tfb-fixups
gl_buffer_cache: Reintroduce NV_vertex_buffer_unified_memory
2023-12-19 18:36:50 -05:00
Ameer J db8a601cf8 OpenGL: Add GL_PRIMITIVES_GENERATED and GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN queries 2023-12-19 17:32:31 -05:00
Ameer J 1bb76201e6 gl_rasterizer: Silence spammy logs 2023-12-19 17:13:23 -05:00
Ameer J 372bca5945 gl_buffer_cache: Reintroduce NV_vertex_buffer_unified_memory
Workaround Nvidia drivers complaining when a buffer is bound as both a vertex buffer and transform feedback buffer
2023-12-19 17:13:23 -05:00
Liam 93c19a40bf nce: increase handler stack size 2023-12-19 15:24:13 -05:00
Liam d0a75580da renderer_vulkan: don't pass null view when nullDescriptor is not supported 2023-12-19 15:13:10 -05:00
Charles Lombardo 345ec25532
Merge pull request #12408 from german77/lang
yuzu: Read/Save category Paths
2023-12-19 14:40:10 -05:00
Liam a94721fde0 nce: fix read size in simd immediate emulation 2023-12-19 12:51:19 -05:00
Narr the Reg 816c7a8d1f yuzu: Read/Save category Paths 2023-12-19 11:34:53 -06:00
Fernando S efe52db690
Merge pull request #12382 from liamwhite/image-limit
renderer_vulkan: allow up to 7 swapchain images
2023-12-19 16:15:40 +01:00
Fernando S d61df0f400
Merge pull request #12387 from liamwhite/oboe
android: add oboe audio sink
2023-12-19 16:15:07 +01:00
Fernando S b14547b8b6
Merge pull request #12392 from liamwhite/mode
fs: implement OpenDirectoryMode
2023-12-19 16:14:29 +01:00
Fernando S 97ad3e7530
Merge pull request #12391 from yuzu-emu/revert-12344-its-free-real-estate
Revert "video_core: use interval map for page count tracking"
2023-12-19 16:14:09 +01:00
Fernando S 0589a32f75
Merge pull request #12304 from liamwhite/flinger-wtf
nvnflinger: mark buffer as acquired when acquired
2023-12-19 16:12:56 +01:00
liamwhite 617dc0f822
Merge pull request #12402 from german77/lang
yuzu: Make language persistent and remove symbols_path
2023-12-18 23:10:59 -05:00
Liam fcfa8b680b shader_recompiler: use minimal clip distance array 2023-12-18 22:25:14 -05:00
Liam 94244437de shader_recompiler: ignore clip distances beyond driver support level 2023-12-18 22:25:14 -05:00
Narr the Reg 53956a2990 yuzu: Make language persistent and remove symbols_path 2023-12-18 20:28:55 -06:00
Liam a7731abb72 oboe_sink: specify additional required parameters 2023-12-18 17:27:32 -05:00
liamwhite 50fd029eaa
Merge pull request #12349 from Kelebek1/return_system_channels_active
Have GetActiveChannelCount return the system channels instead of host device channels
2023-12-18 15:06:16 -05:00
Ameer J a2b567dfd6 vk_query_cache: Fix prefix sum max_accumulation_limit logic 2023-12-18 12:37:55 -05:00
Liam b770f6a985 fs: implement OpenDirectoryMode 2023-12-18 00:12:38 -05:00
Liam 797e8fdbc3 oboe_sink: set low latency performance mode 2023-12-17 21:05:00 -05:00
liamwhite b8c5027686
Merge pull request #12389 from liamwhite/string-copy
path_util: copy output for GetParentPath
2023-12-17 19:01:04 -05:00
liamwhite 65e646eeba
Revert "video_core: use interval map for page count tracking" 2023-12-17 18:59:49 -05:00
Liam fba3fa705d renderer_vulkan: work around turnip binding bug in a610 2023-12-17 15:45:09 -05:00
Liam 09e8fb75ce path_util: copy output for GetParentPath 2023-12-17 14:25:42 -05:00
Liam 6ca530a721 android: add oboe to audio configuration 2023-12-17 11:44:49 -05:00
Liam e01c535178 oboe_sink: implement channel count querying 2023-12-17 10:10:14 -05:00
Liam 7239547ead android: add oboe audio sink 2023-12-17 01:42:59 -05:00
Liam 7fc06260d1 renderer_vulkan: allow up to 7 swapchain images 2023-12-16 18:59:44 -05:00
liamwhite e357896674
Merge pull request #12378 from liamwhite/offsetof
set: add cstddef for offsetof macro
2023-12-16 13:58:13 -05:00
liamwhite 225f4f40cb
Merge pull request #12377 from ameerj/tfb-batch-oopsie
gl_buffer_cache: Fix tfb binding typo
2023-12-16 13:58:06 -05:00
liamwhite 927be75616
Merge pull request #12345 from liamwhite/a-flock-of-seagulls
renderer_vulkan: cap async presentation frame count
2023-12-16 13:58:00 -05:00
liamwhite 00965e6c34
Merge pull request #12335 from t895/per-game-settings
android: Game Properties
2023-12-16 13:57:54 -05:00
liamwhite 4bf1f217ae
Merge pull request #12331 from liamwhite/layer-confusion
vi: fix confusion between closing and destroying layers
2023-12-16 13:57:42 -05:00
Liam fcc85abe27 nvnflinger: mark buffer as acquired when acquired 2023-12-16 13:40:04 -05:00
Liam 6851e93296 audio: skip coefficient normalization for downmix 2023-12-16 13:05:55 -05:00
Liam 67660972c9 set: add cstddef for offsetof macro 2023-12-16 12:57:37 -05:00
Kelebek1 ffbba74c91 Have GetActiveChannelCount return the system channels instead of host device channels 2023-12-16 12:49:28 -05:00
Ameer J 2b0cf73bf0 gl_buffer_cache: Fix tfb binding typo 2023-12-16 12:48:21 -05:00
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 4f600f746a
Merge pull request #12237 from liamwhite/nce-sigtrap
nce: implement instruction emulation for misaligned memory accesses
2023-12-16 11:47:35 -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
liamwhite 3bc7575c47
Merge pull request #12344 from liamwhite/its-free-real-estate
video_core: use interval map for page count tracking
2023-12-16 11:47:21 -05:00
liamwhite fde8dc1652
Merge pull request #12358 from liamwhite/optimized-alloc
common: use memory holepunching when clearing memory
2023-12-16 11:47:03 -05:00
liamwhite b8f83aa4bf
Merge pull request #12359 from german77/real_shared
service: hid: Allow to create multiple instances of shared memory
2023-12-16 11:46:51 -05:00
liamwhite 85b1e17df6
ssl: fix output byte buffer size issue (#12372) 2023-12-16 17:42:33 +01: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
Liam 2a3f84aaf2 video_core: lock interval map update 2023-12-14 22:10:21 -05:00
Liam 030e6b3980 video_core: use interval map for page count tracking 2023-12-14 21:54:36 -05:00
Narr the Reg e8ad603cd9 core: Make sure npad is initialized 2023-12-14 20:04:38 -06:00
Liam b560ade663 renderer_vulkan: bound async presentation queue growth 2023-12-14 15:54:56 -05:00
Narr the Reg d10464de30 core: hid: Clean up headers 2023-12-14 09:36:33 -06:00
Narr the Reg 64f68e9635 service: hid: Allow to create multiple instances of shared memory 2023-12-13 23:24:28 -06:00
liamwhite 462ba1b360
Merge pull request #12354 from liamwhite/mackage-panager
ci: fix homebrew installation issue in actions runner images
2023-12-13 23:15:43 -05:00
Liam 4a86a55174 ci: fix homebrew installation issue in actions runner images 2023-12-13 14:03:51 -05:00
t895 86d26914a2 android: Rework InstallableProperty view with icon 2023-12-12 17:25:37 -05:00
t895 6ae4177b25 android: Prevent editing non-savable settings in per-game settings 2023-12-12 17:25:37 -05:00
t895 f6bf8b3ed3 android: Pre-select custom config in game launch dialog 2023-12-12 17:25:37 -05:00
t895 345fb6b226 android: Use confirmation dialog when deleting shader cache 2023-12-12 17:25:37 -05:00
t895 87a9dc9489 android: Always use custom settings when launched from intent 2023-12-12 17:25:37 -05:00
t895 6c6e8b8de0 settings: Allow vsync to be changed per-game 2023-12-12 17:25:37 -05:00
t895 5acffe75df android: Adjust variable name format for native config 2023-12-12 17:25:37 -05:00
t895 ac222ceba2 android: Add game dir entries to FilesystemProvider
Allows us to correctly parse update metadata
2023-12-12 17:25:37 -05:00
t895 f9d4827102 android: Fix games list loading thread safety
Previously we relied on a stateflow for reloading state. Now we use an atomic boolean.
2023-12-12 17:25:37 -05:00
t895 7ea7c72dde android: Collect latest information for games list 2023-12-12 17:25:37 -05:00
t895 809230f634 android: Remove global save import/exporter UI
The original implementation exposed here was fundamentally broken where it would not export or import all of your saves depending on your user profile configuration
2023-12-12 17:25:37 -05:00
t895 698c854d5b android: Compare all properties between games in DiffCallback 2023-12-12 17:25:37 -05:00
t895 ca5b135ddf android: Expose MemoryUtil size formatting function 2023-12-12 17:25:37 -05:00
t895 dbddc627d4 android: Add JNI initialization information for Game class
Unused in this PR, but will be useful later
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 2fce812026 android: Add per-game settings 2023-12-12 17:25:36 -05:00
t895 e975f3cde9 android: Add Game properties
This commit has the UI for viewing a game's properties on long-press and some links to useful tools like
- Game info
- Shortcut to settings (global in this commit)
- Addon manager with installer
- Save data manager
- Option to clear all save data
- Option to clear shader cache
2023-12-12 17:25:36 -05:00
t895 6b5fb2063f frontend_common: Fix settings reload bug
This clears the touch_from_button_maps array before we read new data into it because this read duplicate data on a reload otherwise.
2023-12-12 17:25:36 -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
liamwhite d590cfb9d0
Merge pull request #12342 from FearlessTobi/fix-msvc
vcpkg: Update fmt to 10.1.1
2023-12-12 15:32:09 -05:00
liamwhite ded419ef2b
Merge pull request #12343 from FearlessTobi/fix-typo
configure_debug: Fix small typo
2023-12-12 15:32:00 -05:00
FearlessTobi 4c3f898789 configure_debug: Fix small typo 2023-12-12 20:38:54 +01:00
FearlessTobi 46c259bb20 vcpkg: Update fmt to 10.1.1
Should fix compiling on the latest version of MSVC.
2023-12-12 19:27:20 +01:00
Liam adc3079613 vi: fix confusion between closing and destroying layers 2023-12-12 12:14:23 -05:00
liamwhite 15bebf1695
Merge pull request #12328 from german77/profile_manager
core: Use single instance of profile manager
2023-12-12 11:06:37 -05:00
liamwhite 5c840334b8
Merge pull request #12333 from german77/aruid_free
service: hid: Improve CreateAppletResource implementation and free resources
2023-12-12 11:06:24 -05:00
Liam a05c242429 nce: adjust initialization for repeated calls 2023-12-11 23:02:01 -05:00
Liam bd59934350 nce: implement instruction emulation for misaligned memory accesses 2023-12-10 18:23:42 -05:00
liamwhite 11b123ba01
Merge pull request #12322 from liamwhite/savedata-absurdity
fs: don't enumerate hidden savedata size file
2023-12-10 18:17:11 -05:00
liamwhite 24e7ace876
Merge pull request #12327 from liamwhite/tipc
sm:: fix tipc deserialization
2023-12-10 18:17:04 -05:00
liamwhite 62586c1676
Merge pull request #12317 from liamwhite/sc-fix
kernel: fix single core
2023-12-10 18:16:58 -05:00
liamwhite 108737fcc6
Merge pull request #12321 from liamwhite/ro2
ro: add separate ro service
2023-12-10 18:16:50 -05:00
german77 abfebe5cc4 service: hid: Improve CreateAppletResource implementation and free resources 2023-12-10 16:17:51 -06:00
german77 a22a025c5b core: Use single instance of profile manager 2023-12-10 11:29:43 -06:00
Liam a529ef4c09 sm:: fix tipc deserialization 2023-12-09 22:56:21 -05:00
liamwhite 875568bb3e
Merge pull request #12296 from liamwhite/client-session
kernel: implement remaining IPC syscalls
2023-12-09 19:03:56 -05:00
liamwhite 988e557ec8
Merge pull request #12299 from liamwhite/light-ipc
kernel: implement light IPC
2023-12-09 19:03:50 -05:00
liamwhite 6d2af32f29
Merge pull request #12323 from liamwhite/buffer-format
fbshare: set external format correctly
2023-12-09 19:00:52 -05:00
liamwhite 8f9d5c3143
Merge pull request #12325 from GPUCode/better-nce-message
settings: Clearer NCE error messages
2023-12-09 19:00:44 -05:00
GPUCode dc0fb56f3a settings: Clearer NCE error messages 2023-12-09 23:37:14 +02:00
Liam 7ba4a8f4a3 ro: add separate ro service 2023-12-09 15:50:34 -05:00
Liam 8ef1fdafa2 fbshare: set external format correctly 2023-12-09 14:51:15 -05:00
Liam d597383ab2 fs: don't enumerate hidden savedata size file 2023-12-09 14:05:16 -05:00
Liam 5feda37688 service: populate pid and handle table from client 2023-12-09 13:45:25 -05:00
Liam 34e4012998 service: use interface factory in server manager 2023-12-09 13:45:25 -05:00
liamwhite c1924951ad
Merge pull request #12289 from german77/aruid
service: hid: Introduce proper AppletResource emulation
2023-12-09 13:41:06 -05:00
liamwhite 5646e313a0
Merge pull request #12320 from liamwhite/debug-fix
debug: fix reading of module names
2023-12-09 13:38:39 -05:00
liamwhite f447996080
Merge pull request #12319 from t895/refresh-list-bug
android: Listen for directory selection in viewmodel
2023-12-09 13:38:34 -05:00
liamwhite 42b34a0dc5
Merge pull request #12318 from t895/nce-default
settings: Enable NCE by default on capable systems
2023-12-09 13:38:27 -05:00
Liam fe5e4bd846 debug: fix reading of module names 2023-12-09 11:18:10 -05:00
t895 a53cd2854e android: Listen for directory selection in viewmodel
Fixes broken game directory selection setup flow
2023-12-08 22:02:04 -05:00
Liam 1d731dd1ff kernel: fix single core 2023-12-08 20:31:18 -05:00
t895 8225ac004e settings: Enable NCE by default on capable systems 2023-12-08 20:25:07 -05:00
liamwhite 52e6b8a2d3
Merge pull request #12274 from liamwhite/srgb-nonsense
renderer_vulkan: do not recreate swapchain for srgb
2023-12-08 12:26:13 -05:00
liamwhite 13131e602f
Merge pull request #12208 from liamwhite/romfs
romfs: optimize parsing and building
2023-12-08 12:25:58 -05:00
liamwhite 7761f29892
Merge pull request #11214 from lat9nq/ff-deprecated
codec: Update to use av frame flags
2023-12-07 23:13:13 -05:00
HurricanePootis e92b10f971
dist: add udev rule to enable user hidraw access (#12292)
* dist: add udev rule to enable user hidraw access

* dist: amend install instructions for udev rules

* dist: change udev prefix prefix from 99 to 72

* dist: fix header typo for udev rule

* Update dist/72-yuzu-input.rules

shoutout to @liamwhite

Co-authored-by: liamwhite <liamwhite@users.noreply.github.com>

* Update dist/72-yuzu-input.rules

shout out to @liamwhite

Co-authored-by: liamwhite <liamwhite@users.noreply.github.com>

* Update dist/72-yuzu-input.rules

shout out to @liamwhite

Co-authored-by: liamwhite <liamwhite@users.noreply.github.com>

* Update dist/72-yuzu-input.rules

shout out to @liamwhite

Co-authored-by: liamwhite <liamwhite@users.noreply.github.com>

* Update dist/72-yuzu-input.rules

Co-authored-by: liamwhite <liamwhite@users.noreply.github.com>

* dist: add spdx header to udev rules

* dist: change udev modes to 0660

* Update dist/72-yuzu-input.rules

Co-authored-by: liamwhite <liamwhite@users.noreply.github.com>

* Update dist/72-yuzu-input.rules

Co-authored-by: liamwhite <liamwhite@users.noreply.github.com>

---------

Co-authored-by: HurricanePootis <hurricanepootis@protonmail.com>
Co-authored-by: liamwhite <liamwhite@users.noreply.github.com>
2023-12-07 23:12:56 -05:00
Liam 9268f265a1 kernel: implement light IPC 2023-12-07 09:13:43 -05:00
Narr the Reg e445ef9d60 service: hid: Introduce proper AppletResource emulation 2023-12-06 20:24:04 -06:00
Liam 40bb176c39 kernel: implement remaining IPC syscalls 2023-12-06 17:33:00 -05:00
Fernando S 8a79dd2d6c
Merge pull request #12236 from liamwhite/cpu-refactor
core: refactor emulated cpu core activation
2023-12-06 14:19:17 +01:00
BreadFish64 d5de9402ee Improve path splitting speed 2023-12-05 23:17:19 -05:00
lat9nq 4cd3f9f4f9 codec: Update to use av frame flags
Resolves Clang -Wdeprecated-declarations warning from interlaced_frame
2023-12-05 21:10:38 -05:00
liamwhite 167efb2d2b
Merge pull request #12271 from liamwhite/pretext-fix
nce: fix pre-text patch for single modules
2023-12-05 07:51:53 -05:00
liamwhite 8e0e066c3f
Merge pull request #12283 from t895/language-troubles
frontend_common: Use optional for language default
2023-12-04 22:45:08 -05:00
Liam f0ee3e29cb arm: fix context save of vector regs 2023-12-04 22:19:11 -05:00
t895 5d4da07943 frontend_common: Use optional for language default 2023-12-04 19:49:01 -05:00
Liam 45c87c7e6e core: refactor emulated cpu core activation 2023-12-04 10:37:16 -05:00
liamwhite 90e87c40e8
Merge pull request #12235 from liamwhite/flip-clip
renderer_vulkan: adjust window origin and swizzle independently
2023-12-03 21:59:11 -05:00
Liam 6b7dc587cf texture_cache: fix max_element comparison function 2023-12-03 18:40:19 -05:00
Liam f05cb69d4f renderer_opengl: remove srgb conversion logic 2023-12-03 17:08:25 -05:00
Liam 382cf087a0 renderer_vulkan: do not recreate swapchain for srgb 2023-12-03 16:43:54 -05:00
Liam 0751488727 fsmitm_romfsbuild: optimize for data locality 2023-12-03 16:29:57 -05:00
Liam 4bc932261b romfs: cache file and directory metadata tables 2023-12-03 16:29:57 -05:00
liamwhite 5fb1a83e4c
Merge pull request #12094 from ameerj/gl-buffer-cache-batch-vtx
gl_buffer_cache: Batch vertex/tfb buffer binding
2023-12-03 16:27:22 -05:00
liamwhite 6da8301773
Merge pull request #12196 from ameerj/glsl-cbuf-sizes
GLSL: Use known cbuf sizes when possible
2023-12-03 16:27:07 -05:00
liamwhite fedeff7a89
Merge pull request #12263 from liamwhite/null-romfs
file_sys: handle null romfs
2023-12-03 16:26:14 -05:00
Liam 9de99839bd nce: fix pre-text patch for single modules 2023-12-02 16:14:52 -05:00
liamwhite 69529a748c
Merge pull request #12261 from liamwhite/fruit-company
texture_cache: use pedantic type names
2023-12-02 09:28:43 -05:00
liamwhite 0ed292568f
Merge pull request #12260 from t895/install-reload-fix
android: Don't reload filesystem on update install
2023-12-02 09:28:38 -05:00
liamwhite 7fb6fbcd87
Merge pull request #12259 from jbeich/freebsd-mmap
host_memory: unbreak build on FreeBSD x86_64
2023-12-02 09:28:30 -05:00
liamwhite 82ac3003a6
Merge pull request #12256 from GPUCode/fxaa
vk_blit_screen: Use correct format for fxaa renderpass
2023-12-02 09:28:18 -05:00
Liam 45b6161582 file_sys: handle null romfs 2023-12-01 23:39:48 -05:00
Liam 345ea568ba texture_cache: use pedantic type names 2023-12-01 22:46:33 -05:00
t895 08be9cff0f android: Don't reload filesystem on update install 2023-12-01 20:19:28 -05:00
liamwhite e9a43bae6f
Merge pull request #12255 from german77/amiibo
service: nfc: Don't tag amiibos as corrupted if they are loaded as read only
2023-12-01 18:39:38 -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
GPUCode d74dd4faf9 vk_blit_screen: Use correct format for fxaa renderpass 2023-12-01 22:55:50 +02:00
Narr the Reg e40a2d2fd2 service: nfc: Don't tag amiibos as corrupted if they are loaded as read only 2023-12-01 14:21:55 -06:00
liamwhite f6fdacd935
Merge pull request #12243 from zhaobot/tx-update-20231201021513
Update translations (2023-12-01)
2023-12-01 09:17:06 -05:00
liamwhite 1c21d6c2c2
Merge pull request #12056 from ameerj/opengl-neglect
OpenGL: Implement async downloads in buffer and texture caches
2023-12-01 09:16:56 -05:00
The yuzu Community 7dd78e8dcc Update translations (2023-12-01) 2023-12-01 02:15:30 +00:00
Liam e7dd968ac4 renderer_vulkan: adjust window origin and swizzle independently 2023-11-30 12:33:26 -05:00
liamwhite 3c45ba1c22
Merge pull request #12234 from abouvier/unbundle-gamemode
cmake: prefer system gamemode library
2023-11-30 11:52:03 -05:00
Alexandre Bouvier d2bb9e9729 cmake: prefer system gamemode library 2023-11-30 16:54:00 +01:00
liamwhite 127bfb81d5
Merge pull request #12229 from liamwhite/qcom-wtf
renderer_vulkan: exclude more qcom drivers from extensions
2023-11-30 09:21:27 -05: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 5345ab40eb
Merge pull request #12225 from liamwhite/mac-ci
Add mac workflow
2023-11-30 09:21:12 -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
Liam 8f62e8e63f renderer_vulkan: exclude more qcom drivers from extensions 2023-11-29 21:06:06 -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
GPUCode 4a3abba16d core: Rename patcher file 2023-11-29 23:49:16 +02:00
Liam d21305c2e7 add mac workflow 2023-11-29 16:02:37 -05:00
Narr the Reg 9dc9aaf4af
Merge pull request #12223 from liamwhite/fruit-company
general: conditionally compile gamemode on linux only
2023-11-29 14:28:37 -06:00
Liam 5eec980a2d general: conditionally compile gamemode on linux only 2023-11-29 14:26:11 -05:00
liamwhite aded28f276
Merge pull request #12204 from t895/config-migration
android: Multi directory UI
2023-11-29 12:34:09 -05:00
liamwhite 80c4743754
Merge pull request #12203 from liamwhite/crash-fix
set: don't load version nca with null romfs
2023-11-29 12:34:02 -05:00
liamwhite 498159d719
Merge pull request #12201 from Macj0rdan/controller-applet-fix
Fixed controller applet crashing when on FW17+
2023-11-29 12:33:50 -05:00
liamwhite 91ad6b7098
Merge pull request #12194 from liamwhite/fruit-company
video_core: fix mac compile
2023-11-29 12:33:41 -05:00
liamwhite df49795bcb
Merge pull request #12154 from liamwhite/more-drivers
vulkan_device: add names for more driverID enumeration values
2023-11-29 12:33:34 -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
liamwhite 992ca8c358
Merge pull request #11902 from ameerj/ssbo-align
shader_recompiler: Align SSBO offsets to meet host requirements
2023-11-29 12:32:52 -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
t895 7dddf5cb3c android: Save global settings in onStop 2023-11-27 23:46:30 -05:00
t895 b8f66c9412 android: Multi directory UI 2023-11-27 23:46:29 -05:00
Liam fd29227bc4 set: don't load version nca with null romfs 2023-11-27 15:20:18 -05:00
FrozenAra e21f96ffde Fixed controller applet crashing when on FW17+ 2023-11-27 20:01:30 +01:00
liamwhite c7649a0cdb
Merge pull request #12183 from german77/justmii
service: nfc: Validate mii data
2023-11-27 11:56:37 -05:00
liamwhite 5a96c525e3
Merge pull request #12160 from german77/mouse_constrain
yuzu: Constrain mouse in render window when emulated
2023-11-27 11:56:24 -05:00
Ameer J db1d32485e GLSL: Prefer known used cbuf sizes 2023-11-26 23:25:29 -05:00
Ameer J 1d11fe00a3
Merge branch 'master' into ssbo-align 2023-11-26 21:08:53 -05:00
amazingfate a76a8fb5fe qt: add cpu_backend configuration 2023-11-26 20:44:07 -05:00
Liam 7c1cb5e8c9 video_core: fix mac compile 2023-11-26 20:04:06 -05:00
Liam 15f35b8657 general: fix mac compile 2023-11-26 19:50:10 -05:00
Liam 7482e03c77 loader: fix gcc compile 2023-11-26 19:34:07 -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
liamwhite e0c894408a
Merge pull request #12180 from german77/cabinetmii
service: am: Create random mii for cabinet applet
2023-11-26 09:50:08 -05:00
liamwhite 257a1c884d
Merge pull request #12156 from german77/firmwarevs
yuzu: Display firmware version
2023-11-26 09:49:53 -05:00
liamwhite c100d7e802
Merge pull request #12175 from abouvier/unbundle-simpleini
cmake: prefer system simpleini library
2023-11-26 09:49:43 -05:00
german77 281eb020ea service: nfc: Validate mii data 2023-11-25 23:40:01 -06:00
german77 4ce6762945 service: am: Create random mii for cabinet applet 2023-11-25 21:31:05 -06:00
Alexandre Bouvier fe3702223f cmake: prefer system simpleini library 2023-11-26 03:45:10 +01:00
liamwhite 83aa66b17d
Merge pull request #12166 from german77/redmagic
android: input: Flip abxy on redmagic controllers
2023-11-25 20:56:40 -05:00
liamwhite 8d7a55be5b
Merge pull request #12169 from liamwhite/its-time-to-stop
time: undef GetCurrentTime for Windows
2023-11-25 20:56:31 -05:00
german77 de58618421 android: input: Flip abxy on backbone labs controllers 2023-11-25 18:22:03 -06:00
Liam e6847c65a8 time: undef GetCurrentTime for Windows 2023-11-25 16:18:02 -05:00
flodavid ac11f6e4c5 cmake: move gamemode target include into its file 2023-11-25 19:30:45 +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
german77 b5bde8451c android: input: Flip abxy on redmagic controllers 2023-11-25 10:53:59 -06:00
liamwhite 090ea0281c
Merge pull request #12153 from liamwhite/deck2
renderer_vulkan: exclude steam deck oled from force max clock setting
2023-11-25 10:17:18 -05:00
liamwhite bc4818b058
Merge pull request #12151 from german77/no-crash
core: hid: Ensure output devices are initialized
2023-11-25 10:17:11 -05:00
liamwhite 2993d3bb49
Merge pull request #12110 from liamwhite/mali-nullview
vk_texture_cache: add workaround for nullDescriptor on Mali
2023-11-25 10:17:00 -05:00
GPUCode 6432508740 oaknut: Address warnings 2023-11-25 00:47:43 -05:00
GPUCode 5a9ffa81a6 host_memory: Simplify randomness generation 2023-11-25 00:47:43 -05:00
GPUCode 9ff8d0f3e6 Address more review comments 2023-11-25 00:47:43 -05:00
Liam d040b27a35 loader: apply nso patch to offset program image 2023-11-25 00:47:36 -05:00
Liam cf534f5149 arm_nce: skip data aborts for crash handling parity 2023-11-25 00:47:36 -05:00
Liam 20de0ddf1f android: show current backend in fps overlay 2023-11-25 00:47:36 -05:00
GPUCode 1cde01c8c8 arm: Print backtrace on data abort 2023-11-25 00:47:36 -05:00
Liam f542a3bb7a patch: check offsets from first code word 2023-11-25 00:47:36 -05:00
GPUCode 3ec3cca4d8 core: Define HAS_NCE macro 2023-11-25 00:47:36 -05:00
GPUCode c37b5f431f common: Enforce fastmem for nce usage 2023-11-25 00:47:36 -05:00
Liam 263b7a44f9 arm_nce: skip dc cvac on possibly write-protected areas 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 2e02efbdd0 externals: Add oaknut submodule 2023-11-25 00:46:47 -05:00
GPUCode 15331c2a60 settings: Add cpu backend setting 2023-11-25 00:46:15 -05:00
Liam f2a8409083 kernel: Manually specify aslr region start 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
Charles Lombardo 5a182f4e7c
Merge pull request #11889 from t895/ini-lib
configuration: Unify config handling across frontends
2023-11-24 22:59:55 -05:00
Narr the Reg f61cf14646 yuzu: Constrain mouse in render window when emulated 2023-11-24 19:32:35 -06:00
Narr the Reg 2d4e7c8264 yuzu: Display firmware version 2023-11-24 12:58:07 -06:00
Liam dee792937f vulkan_device: add names for more driverID enumeration values 2023-11-24 12:00:41 -05:00
Liam 4a278b69b1 renderer_vulkan: exclude steam deck oled from force max clock setting 2023-11-24 11:38:39 -05:00
Narr the Reg 02a0b41a15 core: hid: Ensure output devices are initialized 2023-11-24 10:18:16 -06:00
liamwhite 093eb075a6
Merge pull request #12140 from liamwhite/qcr-unreachable
query_cache: demote report synced unreachable to assert
2023-11-24 00:09:00 -05:00
liamwhite 0b766e4523
Merge pull request #12076 from german77/resource
service: hid: Create appropriate hid resources
2023-11-23 12:36:19 -05:00
Liam 453fd47030 query_cache: demote report synced unreachable to assert 2023-11-23 09:33:02 -05:00
t895 dda187d300 frontend_common: Don't specify default value for screenshot_path 2023-11-23 00:36:45 -05:00
t895 0b8218d8eb frontend_common: Don't load config files that we fail to open 2023-11-23 00:30:49 -05:00
liamwhite 91c12db070
Merge pull request #12123 from merryhime/explicit-this
Explicit this
2023-11-21 22:17:42 -05:00
t895 d8f380961e frontend_common: Add option to read unsigned integers 2023-11-21 21:01:46 -05:00
Merry b088a448cd game_list_worker: Explicit caputure of 'this' 2023-11-21 22:57:47 +00:00
Merry c4f6c3b00b shared_widget: Explicit capture of 'this' 2023-11-21 22:57:09 +00:00
t895 1654b8f9e0 frontend_common: Set config array size to 0 if the array is ended without changing its index 2023-11-21 15:14:41 -05:00
t895 14398a1cbb frontend_common: Manually handle opening config file
SimpleIni only has the ability to use ANSI strings for config paths so this breaks opening configs on paths with special characters. This ensures that we open the right path on each platform.
2023-11-21 14:53:32 -05:00
liamwhite cddb28cf26
Merge pull request #12107 from daisymlleung/patch-1
Stub CheckBlockedUserListAvailability for Super Bomberman R 2
2023-11-21 09:19:41 -05:00
liamwhite 538e137bca
Merge pull request #12100 from t895/android-translations
translations: Add android translations to transifex config
2023-11-21 09:19:34 -05:00
liamwhite e69118042f
Merge pull request #12045 from liamwhite/codec-refactor
video_core: refactor video frame and packet parsing
2023-11-21 09:19:26 -05:00
liamwhite a6b8d85b34
Merge pull request #11984 from lat9nq/lupdate
shared_translation: Call tr more directly
2023-11-21 09:19:13 -05:00
t895 f3fe362c93 frontend_common: Add special config case for unmapped windows network drives
Normally we save paths with '/' as the delimiter for each segment but when you manually select a network drive instead of using a mapped location, this would break. This ensures that if the read filesystem location starts with '//', we keep that pattern.
2023-11-21 01:58:13 -05:00
t895 eedecaef96 frontend_common: Disable UTF-8 BOM in config 2023-11-21 01:58:13 -05:00
t895 e637ec0c38 android: Rework config lifecycle
Exposes options for initializing, unloading, reloading, and saving settings that let us update the config much more granularly based on what's happening in the UI.
2023-11-21 01:58:13 -05:00
t895 e744c06f61 android: Remove ini4j 2023-11-21 01:58:13 -05:00
t895 ac522db857 common: settings: Add ifdefs to define android's default settings 2023-11-21 01:58:13 -05:00
t895 aa20311969 general: Remove inih 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
Liam e7878e3cf8 vk_texture_cache: add workaround for nullDescriptor on Mali 2023-11-20 20:09:12 -05:00
Narr the Reg cff2d0e19e service: hid: Create appropriate hid resources 2023-11-20 17:19:17 -06:00
Narr the Reg 8da5bd27e9
Merge pull request #12011 from Macj0rdan/controller-applet
Implemented qlaunch version of the controller applet
2023-11-20 16:53:33 -06:00
daisymlleung 0216aa55b4
Stub CheckBlockedUserListAvailability 2023-11-21 01:57:58 +08:00
t895 0298c2cc5d translations: Add android translations to transifex config 2023-11-20 10:37:09 -05:00
liamwhite 00dcf69ce8
Merge pull request #12093 from t895/zip-intent
android: Use file picker intent for save exporter
2023-11-20 09:38:44 -05:00
liamwhite 1ea0890a36
Merge pull request #12092 from t895/recent-games-default
android: Select recently played games by default in search tab
2023-11-20 09:38:36 -05:00
liamwhite a77feca086
Merge pull request #12091 from t895/silly-speed
android: Allow up to 400% for the limit speed percent setting
2023-11-20 09:38:21 -05:00
Narr the Reg 99a8f7fb72
Merge pull request #12097 from Squall-Leonhart/ResourceToGetResource
service: hid: Ensure resource manager is initialized
2023-11-19 20:10:38 -06:00
Squall-Leonhart 8ae26df15c service: hid: Ensure resource manager is initialized
Ensures the proper initialization of the IActiveVibrationDeviceList. By using GetResourceManager() instead of resource_manager, we make sure that the IActiveVibrationDeviceListis initialized before it's used, preventing potential null issues.

Fixes #12088
2023-11-20 11:43:56 +11:00
t895 82a4a67f6b android: Use file picker intent for save exporter 2023-11-19 17:52:53 -05:00
Ameer J a595ed499d gl_buffer_cache: Batch vertex/tfb buffer binding 2023-11-19 17:17:16 -05:00
t895 8e93a9a9ef android: Use path instead of programId for recently added / played key 2023-11-19 16:00:41 -05:00
t895 23c1f7c72f android: Select recently played games by default in search tab 2023-11-19 15:57:05 -05:00
t895 d3ed771f39 android: Allow up to 400% for the limit speed percent setting 2023-11-19 15:36:25 -05:00
liamwhite 12fba361bd
Merge pull request #12083 from liamwhite/viewport
renderer_vulkan: ignore viewport stores on non-supporting drivers
2023-11-19 14:09:25 -05:00
liamwhite 6bcde572dd
Merge pull request #12085 from liamwhite/build-fix
qt: fix linux build
2023-11-19 14:09:18 -05:00
FrozenAra cb004d1ba1 Implemented qlaunch version of the controller applet 2023-11-19 18:38:58 +01:00
Liam 20a17607ae qt: fix linux build 2023-11-19 11:49:51 -05:00
Liam 473caaff5b renderer_vulkan: ignore viewport stores on non-supporting drivers 2023-11-19 11:27:12 -05:00
liamwhite 787552f832
Merge pull request #12081 from FernandoS27/check-out-on-your-broke-crypto-friends
Vulkan: Be more generous with pipeline workers for Android
2023-11-19 11:16:19 -05:00
liamwhite 5f945e2fcd
Merge pull request #12036 from FernandoS27/you-should-have-more-than-one-towel
Query Cache: Disable write syncing on Android
2023-11-19 09:52:22 -05:00
liamwhite c08da2d6ad
Merge pull request #11792 from boludoz/new-shortcut
Improved shortcut: add games in applist for Windows, question for sta…
2023-11-19 09:50:49 -05:00
liamwhite 4458920799
Merge pull request #12066 from ameerj/nvidia-nsanity
shader_recompiler: add byteswap pattern workaround for Nvidia
2023-11-19 09:49:45 -05:00
liamwhite 61fed8a3a6
Merge pull request #12068 from ameerj/glasm-xfb-fixes
gl_graphics_pipeline: GLASM: Fix transform feedback attribs buffer mode
2023-11-19 09:49:38 -05:00
liamwhite efb3165e3d
Merge pull request #12072 from FernandoS27/winter-is-2-seconds-too-soon
Buffer Cache: Eliminate clears on Indirect buffers
2023-11-19 09:49:30 -05:00
Fernando Sahmkow a493ba76b4 Vulkan: Be more generous with pipeline workers for Android 2023-11-19 14:54:15 +01:00
Fernando Sahmkow ae60a5657e Buffer Cache: Eliminate clears on Indirect buffers 2023-11-18 19:26:14 +01:00
Ameer J feb60de5c3
shader_recompiler: Fix spelling of "derivate" (#12067) 2023-11-18 13:39:47 +01:00
Ameer J c67644f1da gl_graphics_pipeline: GLASM: Fix transform feedback attribs buffer mode
GL_SEPARATE_ATTRIBS only applies when multiple buffers are being used, else GL_INTERLEAVED_ATTRIBS handles the cases for a single buffer with potentially more than one attribute
2023-11-18 00:44:05 -05:00
Ameer J 9343b81afd shader_recompiler: add byteswap pattern workaround for Nvidia 2023-11-17 22:29:12 -05:00
liamwhite 71f53b4218
Merge pull request #12058 from liamwhite/opus-again
opus: fix stereo stream count check in multistream decoder object
2023-11-17 20:41:50 -05:00
liamwhite f131b0faeb
Merge pull request #11912 from liamwhite/nv-graphic-buffer
nvnflinger: use graphic buffer lifetime for map handle
2023-11-17 20:41:34 -05:00
liamwhite 6c64d5aff2
Merge pull request #11917 from liamwhite/abandonment
nvnflinger: implement consumer abandonment
2023-11-17 20:41:23 -05:00
Liam de594995da opus: fix stereo stream count check in multistream decoder object 2023-11-17 08:26:22 -05:00
liamwhite 4c16a1a26f
Merge pull request #12055 from german77/activate
service: hid: Introduce firmware settings and update activate controller calls
2023-11-16 21:28:06 -05:00
Narr the Reg 862e66202c service: hid: Introduce firmware settings and update activate controller calls 2023-11-16 18:51:14 -06:00
Liam 4055a476aa video_core: refactor video frame and packet parsing 2023-11-16 17:01:38 -05:00
liamwhite 2136a46ab7
Merge pull request #12053 from german77/no_functional
service: hid: Implement xpad calls
2023-11-16 16:54:01 -05:00
Narr the Reg b9c7e5c2c8 service: hid: Implement xpad calls 2023-11-16 11:18:11 -06:00
liamwhite d86e88a622
Merge pull request #11995 from FernandoS27/you-dont-need-the-new-iphone
Revert PR #11806 and do a proper fix to the memory handling.
2023-11-16 09:17:13 -05:00
liamwhite 7eac28e410
Merge pull request #12038 from german77/no_implement
service: hid: Split hid.cpp into individual interfaces
2023-11-16 09:13:56 -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
Narr the Reg c9cd938dfd service: hid: Split hid.cpp into individual interfaces 2023-11-15 09:59:54 -06:00
liamwhite 4c5e3d5f7a
Merge pull request #12043 from t895/disable-pip-default
android: Disable PiP by default
2023-11-15 10:33:12 -05:00
t895 e2be180136 android: Disable PiP by default 2023-11-15 10:30:43 -05:00
Fernando Sahmkow c9437e5244 Query Cache: Disable write syncing on Android 2023-11-15 02:23:39 +01:00
liamwhite 24548b1f5c
Merge pull request #12034 from t895/fps-outline
android: Add drop shadow to FPS counter
2023-11-14 18:20:24 -05:00
liamwhite be0ecae108
Merge pull request #12035 from t895/pip-startup-shutdown-fix
android: Don't enter PiP during startup or shutdown
2023-11-14 18:20:18 -05:00
t895 fcd54c6479 android: Don't enter PiP during startup or shutdown 2023-11-14 18:11:38 -05:00
t895 08296f151e android: Add drop shadow to FPS counter
Also let the style control the text size
2023-11-14 17:53:40 -05:00
liamwhite a134e924ff
Merge pull request #12032 from liamwhite/fruit-compiler
fix apple clang build again
2023-11-14 12:23:28 -05:00
liamwhite 31ed6bae11
Merge pull request #12030 from t895/blocking-fix
android: Use suspend function for creating dynamic shortcuts
2023-11-14 12:23:17 -05:00
liamwhite 9a5ef835cc
Merge pull request #12028 from liamwhite/coretiming-shutdown
core_timing: lock event queue access
2023-11-14 12:23:11 -05:00
liamwhite df0d3698ae
Merge pull request #12025 from liamwhite/kernel-shutdown-deadlock
core: check for thread dpc before eret
2023-11-14 12:23:04 -05:00
liamwhite 51fc608f68
Merge pull request #12019 from liamwhite/more-shutdown-deadlocks
audio_core: ignore renderer wait when stream is paused
2023-11-14 12:22:56 -05:00
Liam b30e19ba24 fix apple clang build again 2023-11-14 11:53:02 -05:00
Liam ec6b67d862 core_timing: lock event queue access 2023-11-14 11:51:04 -05:00
t895 4d0b7f8496 android: Use suspend function for creating dynamic shortcuts
If the coil loader ever got stuck when creating a dynamic shortcut icon, the app would freeze. This would happen most notably when booting nca format games. This pushes that process to a separate coroutine that can be cancelled by the main activity's lifecycle.
2023-11-14 10:57:00 -05:00
Liam e3b510a4b4 core: check for thread dpc before eret 2023-11-13 11:28:23 -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
liamwhite 0047d8a01e
Merge pull request #12014 from t895/shrink-logo
android: Shrink branding images
2023-11-13 09:12:16 -05:00
liamwhite efc0187537
Merge pull request #12015 from t895/remove-auto
android: Remove "auto" region option
2023-11-13 09:12:07 -05:00
liamwhite b6fe8a0b3f
Merge pull request #12018 from t895/settings-cleanup
android: Settings visual cleanup
2023-11-13 09:11:55 -05:00
Liam ecaa038b4d audio_core: ignore renderer wait when stream is paused 2023-11-12 23:10:53 -05:00
t895 4aac971864 android: Use the same transition animation between every fragment in settings
The animation that I used for entering search was prone to weird visual bugs and could appear visually jarring. This just makes things appear more consistent.
2023-11-12 21:36:51 -05:00
t895 6c93cdffb1 android: Use more padding on top of each settings header 2023-11-12 21:36:51 -05:00
t895 470714e2d1 android: Remove dividers between each setting 2023-11-12 21:36:51 -05:00
t895 6b888b0fa8 android: Add icons and descriptions to the first-level advanced settings page
Additionally adjusts padding to place the icons in-line with the back button in the top app bar and makes the text for normal settings appear in-line with the expanded top app bar title.
2023-11-12 21:36:50 -05:00
t895 1a1393dad7 android: Remove general section from settings
Limit speed options were moved to system, cpu accuracy was moved to debug, and PiP was moved to graphics.
2023-11-12 19:08:57 -05:00
t895 55412962c0 android: Remove "auto" region option
This doesn't exist and if you clicked it, your region would be set to Taiwan.
2023-11-12 15:45:42 -05:00
Fernando Sahmkow 50bcfa5fb9 Vulkan: Add a final barrier to the upload command buffer 2023-11-12 20:58:30 +01:00
GPUCode efc50485b8 renderer_vulkan: Introduce separate cmd buffer for uploads 2023-11-12 20:27:39 +01:00
t895 d920da2631 android: Add a landscape-specific layout to the about page
Moves the logo to the side to fit more information on screen
2023-11-12 13:56:42 -05:00
t895 ff72bf2cb2 android: Shrink logo in about page 2023-11-12 13:56:13 -05:00
t895 4efb9763d9 android: Shrink logo in settings tab
Adjusts padding between the cards and logo to fit appropriately
2023-11-12 13:55:20 -05:00
t895 c600bc8652 android: Fix top app bar tint being cut off in the about fragment
Adjust margin on the toolbar, not the app bar
2023-11-12 13:54:31 -05:00
Fernando Sahmkow f1806d237f Memory: Fix invalidation handling from the CPU/Services 2023-11-12 14:10:40 +01:00
german77 ae57a99d7d core: hid: Split SL and SR buttons 2023-11-11 21:03:15 -06:00
liamwhite 767c4b5a99
Merge pull request #11980 from german77/moment
service: irs: Implement moment image processor
2023-11-11 20:02:23 -05:00
liamwhite 904d03b01f
Merge pull request #12005 from german77/homebrew_id
yuzu: Keep homebrew on the recently played list
2023-11-11 20:02:09 -05:00
liamwhite 9f1c9599a2
Merge pull request #12004 from liamwhite/fix-hbl
k_capabilities: ignore map region when KTrace is disabled
2023-11-11 20:02:01 -05:00
liamwhite 5f6666a7cd
Merge pull request #12003 from liamwhite/read-modules
gdbstub: read module information from memory layout
2023-11-11 20:01:53 -05:00
liamwhite 1906e2724f
Merge pull request #11992 from t895/frame-check
android: Hide loading animation on first frame
2023-11-11 20:01:32 -05:00
german77 0c032d3f2f yuzu: Keep homebrew on the recently played list 2023-11-11 10:14:11 -06:00
Liam a6735cba5f k_capabilities: ignore map region when KTrace is disabled 2023-11-11 10:45:43 -05:00
Liam 3b872b89d1 gdbstub: read module information from memory layout 2023-11-11 10:41:06 -05:00
liamwhite 40d4e9543b
Merge pull request #11914 from liamwhite/newer-kpagetable
kernel: add KPageTableBase
2023-11-11 09:45:29 -05:00
Narr the Reg e588f341ed service: irs: Implement moment image processor 2023-11-11 00:28:12 -06:00
Liam 875246f5b2 k_page_table: fix shutdown 2023-11-10 12:01:35 -05:00
Liam b16fefa106 k_page_table: use more precise icache invalidates 2023-11-10 12:01:35 -05: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
liamwhite 2f9487cd38
Merge pull request #11981 from lucasreis1/patch
Allocate resources for test window before getting system info
2023-11-10 10:38:49 -05:00
Fernando Sahmkow 1d03a0fa75 Revert "renderer_vulkan: add locks to avoid scheduler flushes from CPU"
This reverts commit d9dde7e6f3.
2023-11-10 15:40:48 +01:00
t895 09f993899e android: Hide loading animation on first frame 2023-11-09 22:27:40 -05:00
Franco M c9038af29e Fix out_icon_path = Common::FS::GetYuzuPath(Common::FS::YuzuPath::IconsDir); 2023-11-09 04:53:10 +00:00
Franco M f3053920bf Minor changes 2023-11-09 03:37:06 +00:00
Franco M c7b31d24b9 Final change, i think 2023-11-08 21:04:30 +00:00
lat9nq cb3559539a CMakeLists: Add option to call lupdate directly
qt_create_translation silently fails to run at all on my system. Since
there is no error, I was unable to determine a fix. This sidesteps the
convenience function by setting up the rules ourselves.

This is left as an option since this path likely does not work on
Windows.
2023-11-08 11:54:05 -05:00
lat9nq 71cdfa6ad5 shared_translation: Call tr for each string
Qt can't parse tr called within a macro, so we must call it on each
string.

shared_translation: Remove redundant include
2023-11-08 11:54:01 -05:00
Lucas Reis edce713fc9 Allocate resources for test window before getting system info 2023-11-07 22:47:02 -04:00
Franco M 8d0d0e1c7a Fixed clang 2023-11-07 02:32:19 +00:00
liamwhite f75363177e
Merge pull request #11977 from SamayXD/patch-1
Update CMakeLists.txt
2023-11-06 16:46:57 -05:00
Samay Navale 4c6217f09b
Update CMakeLists.txt 2023-11-07 02:20:29 +05:30
Samay Navale c95f35ea85
Update CMakeLists.txt
Updated Comments for better readability.
2023-11-07 02:13:15 +05:30
liamwhite 40357098a2
Merge pull request #11896 from liamwhite/crop
renderer_vulkan: fix cropping for presentation
2023-11-06 12:08:03 -05:00
liamwhite e7f4110791
Merge pull request #11873 from liamwhite/buffer-control
nvdrv: add ioctl command serialization wrapper
2023-11-06 12:07:50 -05:00
liamwhite ca1dd1862b
Merge pull request #11972 from t895/fps-counter-adjustments
android: FPS counter adjustments
2023-11-06 11:09:59 -05:00
Charles Lombardo 737d1cea62
Merge pull request #11974 from t895/ci-fix-again
ci: android: Declare secrets during build step
2023-11-06 11:03:19 -05:00
Charles Lombardo 2f8e237ab7 ci: android: Declare secrets during build step 2023-11-05 21:09:21 -05:00
Charles Lombardo 5191465b0a android: Simplify FPS counter padding 2023-11-05 18:34:27 -05:00
Charles Lombardo 50c604f37f android: Color the FPS counter white 2023-11-05 18:29:00 -05:00
liamwhite dfbc22c291
Merge pull request #11971 from german77/recent
service: am: Set the correct album program id
2023-11-05 18:27:24 -05:00
german77 a5a3167eba service: am: Set the correct album program id 2023-11-05 17:26:34 -06:00
liamwhite a423e0f9e0
renderer_vulkan: render on bottom of surface clip when flipped (#11894) 2023-11-05 21:47:35 +01:00
liamwhite 511c1f0c8b
Merge pull request #11957 from liamwhite/null2
renderer_null: fix
2023-11-05 13:15:19 -05:00
liamwhite 8369fcd71a
Merge pull request #11969 from german77/profile
service: acc: Ensure proper profile size
2023-11-05 13:15:14 -05:00
liamwhite 626916e9a4
Merge pull request #11961 from german77/recent
yuzu: Only store games in the recently played list
2023-11-05 13:15:07 -05:00
german77 507f360a81 yuzu: Only store games in the recently played list 2023-11-05 09:34:16 -06:00
german77 5323d9f6b3 service: acc: Ensure proper profile size 2023-11-05 09:28:22 -06:00
liamwhite 770d4b0b72
Merge pull request #11965 from german77/color
core: hid: Signal color updates
2023-11-04 23:26:24 -04:00
liamwhite e5fed31009
Merge pull request #11963 from Kelebek1/eol_lf
Convert src/ to LF eol
2023-11-04 23:26:09 -04:00
Franco M 4b8b223db2 modified: src/yuzu/main.cpp 2023-11-05 00:39:43 +00:00
Franco M 728aca7703
Merge branch 'master' into new-shortcut 2023-11-04 21:28:16 -03:00
Narr the Reg f07484bc64 core: hid: Signal color updates 2023-11-04 14:13:18 -06:00
Kelebek1 78b9956a04 Skip git blame 2023-11-04 18:26:49 +00:00
Kelebek1 90aa937593 Convert files to LF eol 2023-11-04 18:25:40 +00:00
liamwhite 940618a64d
Merge pull request #11952 from liamwhite/opus_stereo_count
opus: Allow 0 stereo count
2023-11-04 11:28:47 -04:00
liamwhite 409fa5dda2
Merge pull request #11960 from german77/silence
service: hid: Silence EnableUnintendedHomeButtonInputProtection
2023-11-04 11:14:27 -04:00
liamwhite 211b67668d
Merge pull request #11959 from t895/firmware-reload-fix
android: Don't reload log/system after loading firmware/backup
2023-11-04 11:14:21 -04:00
liamwhite f0cd02b9bd
Merge pull request #11881 from liamwhite/sockets-safe-access
sockets: use safe access helpers
2023-11-04 11:14:08 -04:00
liamwhite 34101d8c5e
Merge pull request #11885 from liamwhite/stop-nagging-me
qt: remove duplicate exit confirmation setting
2023-11-04 11:14:01 -04:00
german77 bf8d7bc0da service: hid: Silence EnableUnintendedHomeButtonInputProtection 2023-11-03 23:22:28 -06:00
Charles Lombardo 9543adf072 android: Always update FPS counter 2023-11-04 00:04:20 -04:00
Charles Lombardo 036d2686af android: Don't reload log/system after loading firmware/backup 2023-11-03 22:49:31 -04:00
Charles Lombardo a80e0e7da5
Merge pull request #11954 from t895/log-hardware
android: Log more system information
2023-11-03 21:16:35 -04:00
liamwhite 9631dedea9
Merge pull request #11955 from t895/cntfrq-fix
arm: NativeClock: Special handling for bad system counter clock frequ…
2023-11-03 21:14:01 -04:00
Liam 75de0cadcf renderer_null: fix 2023-11-03 20:54:38 -04: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 0a83047368 android: Log more system information during startup
Logs device manufacturer/model, SoC manufacturer/model where available, and the total system memory
2023-11-03 15:52:01 -04:00
Charles Lombardo 9bb8ac7cb6 android: Fix fetching system memory size from MemoryUtil
We weren't rounding up the value at a unit before (GB, MB, etc) we were rounding up the total bytes and that would do nothing. This fixes that, and the check for total system memory during first emulation start where we tried to check the required system memory against 1 gigabyte.
2023-11-03 15:51:17 -04:00
liamwhite d6e6ab11b1
Merge pull request #11953 from t895/surface-tweak
android: Update surface parameters on emulation start
2023-11-03 14:35:57 -04:00
Charles Lombardo b3a1f793c3 android: Update surface parameters on emulation start
This adds a quick update that notifies the render surface if there was a change between surface creation and emulation starting.
2023-11-03 13:31:06 -04:00
Kelebek1 a294beb116 Allow 0 stereo count 2023-11-03 11:45:40 -04:00
liamwhite eda403388a
Merge pull request #11948 from german77/hard_ring
service: hid: Ensure GetNextEntryIndex can't fail
2023-11-03 09:14:17 -04:00
liamwhite 3032980478
Merge pull request #11947 from german77/battery
core: hid: Fix wrong battery values
2023-11-03 09:14:10 -04:00
liamwhite 7f96f4db3f
Merge pull request #11943 from liamwhite/silence-logspam
renderer_vulkan: minimize transform feedback support log
2023-11-03 09:14:02 -04:00
liamwhite a0f9a3ab5b
Merge pull request #11936 from liamwhite/romfs-nonsense
romfs: fix extraction of single-directory root
2023-11-03 09:13:46 -04:00
german77 b36fec486e service: hid: Ensure GetNextEntryIndex can't fail 2023-11-02 20:33:19 -06:00
german77 57cf830862 core: hid: Fix wrong battery values 2023-11-02 18:39:08 -06:00
Liam 41701052d3 renderer_vulkan: minimize transform feedback support log 2023-11-01 20:47:08 -04:00
liamwhite 57c8dcfd77
Merge pull request #11942 from t895/log-version
android: Adjust log lifecycle
2023-11-01 15:45:53 -04:00
Charles Lombardo 398e881428 android: Adjust log lifecycle
Now logging will start when the frontend starts like qt does. This also adjusts the share log button to follow where we share the current log if we just returned from a game or return the old log if we haven't started a game yet.
2023-11-01 14:41:19 -04:00
Charles Lombardo 92418e909f android: Use yuzu logging system
Now anything that's logged in the frontend will be printed into the log file
2023-11-01 14:41:19 -04:00
liamwhite 7b10ceda02
Merge pull request #11940 from t895/controller-null-check
android: Default to player number 0 if we get an input from an unreco…
2023-11-01 13:50:50 -04:00
Charles Lombardo 344162db75 android: Default to player number 0 if we get an input from an unrecognized controller 2023-11-01 13:10:51 -04:00
liamwhite 48f913b6e7
Merge pull request #11937 from t895/reorganize-options
android: Reorganize settings tab
2023-11-01 09:14:27 -04:00
liamwhite 0efda40b57
Merge pull request #11933 from t895/android-ci-agony
ci: android: Use signing key if available
2023-11-01 09:14:19 -04:00
Charles Lombardo 5872c7d420 android: Adjust driver manager source string 2023-11-01 00:18:20 -04:00
Charles Lombardo 2b6edd3efd android: Reorganize settings tab 2023-11-01 00:17:38 -04:00
Liam b0c6bf497a romfs: fix extraction of single-directory root 2023-10-31 23:26:51 -04:00
liamwhite bf16289d77
Merge pull request #11934 from zhaobot/tx-update-20231101020822
Update translations (2023-11-01)
2023-10-31 23:06:23 -04:00
Charles Lombardo 987b37798a
Merge pull request #11932 from t895/translations-update
android: Update translations
2023-10-31 23:04:13 -04:00
Charles Lombardo 135b645b3d ci: android: Use signing key if available
Lets gradle handle apk signing when available
2023-10-31 22:23:57 -04:00
The yuzu Community 1e468eac94 Update translations (2023-11-01) 2023-11-01 02:08:34 +00:00
Charles Lombardo 97b4ca1d01 android: Auto-generate locale config 2023-10-31 22:07:44 -04:00
Charles Lombardo 1d7ff850d6 android: Update translations from transifex 2023-10-31 22:07:43 -04:00
Ameer J 75c5be55af shader_recompiler: Align SSBO offsets in GlobalMemory functions 2023-10-31 20:14:18 -04:00
Ameer J 735612c9b3 buffer_cache: Apply storage buffer alignment only to the offset 2023-10-31 20:10:54 -04:00
Ameer J 7d34800531 shader_recompiler: Align SSBO offsets to meet host requirements
Co-Authored-By: Billy Laws <blaws05@gmail.com>
2023-10-31 20:10:54 -04:00
liamwhite 7e284809de
Merge pull request #11931 from t895/applet-launcher
android: Applet launcher UI
2023-10-31 16:55:57 -04:00
liamwhite 324c93e4aa
Merge pull request #11929 from dima-xd/swkbd-applet
service: am: Add support for LLE Software Keyboard Applet
2023-10-31 16:55:49 -04:00
Charles Lombardo 133788d0d4 android: Initialize filesystem components during application start 2023-10-31 14:41:40 -04:00
Charles Lombardo e8cb8b2668 android: Implement applet launcher 2023-10-31 14:41:40 -04:00
Dzmitry Dubrova 361dbdddcc service: am: Add support for LLE Software Keyboard Applet 2023-10-31 21:14:37 +03:00
Liam 6a7123826a qt: remove duplicate exit confirmation setting 2023-10-31 10:31:50 -04:00
liamwhite ab3e3c11af
Merge pull request #11925 from t895/controller-fix
android: Fix controllers stuck on player 2
2023-10-31 09:47:42 -04:00
liamwhite db5c24eb66
Merge pull request #11892 from german77/pkm_screenshot
service: am: Implement ISelfController::SaveCurrentScreenshot
2023-10-31 09:47:19 -04:00
Charles Lombardo f7755df2af android: Reorder controller indexes and only use controllers
Before we could ignore controller inputs by forwarding them to player two if a non-controller was connected before and recognized as an input device.
2023-10-30 21:38:51 -04:00
liamwhite c60204e255
Merge pull request #11922 from t895/simplify-card-layout
android: Simplify game card layout
2023-10-30 15:32:45 -04:00
liamwhite 5e69769356
Merge pull request #11903 from Macj0rdan/scrollable-volume-button
Implemented wheel event for volume control in VolumeButton
2023-10-30 15:32:39 -04:00
liamwhite 22cac3a5e3
Merge pull request #11728 from liushuyu/update-deps
Update external dependencies
2023-10-30 15:32:31 -04:00
Charles Lombardo e867768316 android: Simplify game card layout
Using a material card view to shape the image was just a waste of a layout pass. A shapeable image view does what we want and does it faster.
2023-10-30 13:28:52 -04:00
liamwhite 07276cf62a
Merge pull request #11908 from t895/log-spam
android: Fix URI parsing in native code
2023-10-30 13:28:11 -04:00
Charles Lombardo f04bc172ae android: FileUtil: Add option to suppress log for native exists() calls
We often check for the existence of files that only exist in ExeFS so this can spam logcat with useless messages when scanning for games.
2023-10-30 11:38:10 -04:00
Charles Lombardo 585b6e9d46 android: Fix resolving android URIs in native code 2023-10-30 11:38:10 -04:00
Charles Lombardo a9e29a3972 android: Refactor game metadata collection to new file
This also removes irrelevant data and adds new information from/to the Game data class and RomMetadata struct
2023-10-30 11:38:09 -04:00
Charles Lombardo 1e61c3e1e7 android: Use header for EmulationSession 2023-10-30 11:28:23 -04:00
liamwhite 79d3cef8db
Merge pull request #11920 from Termynat0r/master
Fix macOS build
2023-10-30 10:01:03 -04:00
liamwhite 3e0da4f698
Merge pull request #11916 from t895/focus-fix
android: Release touch on input overlay when opening in-game menu
2023-10-30 09:59:53 -04:00
liamwhite 789c16305d
Merge pull request #11915 from t895/startup-freeze
android: Move game deserialization to another thread
2023-10-30 09:59:45 -04:00
liamwhite 1836e62d33
Merge pull request #11910 from liamwhite/surface-lost-on-creation
renderer_vulkan: ensure exception on surface loss
2023-10-30 09:59:37 -04:00
Termynat0r 0bbbe80f75
Fix macOS build
Added missing preprocessor macros for macOS analog to linux and freebsd
2023-10-30 10:49:39 +01:00
Charles Lombardo 70be45c992 android: InputHandler: Convert to object
This doesn't need to be an instance of a class because it doesn't hold any data. It's just all helper functions.
2023-10-30 01:20:27 -04:00
Charles Lombardo 9b3c64f4a4 android: Removed unused ControllerMappingHelper 2023-10-30 01:20:27 -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
Liam a872030a35 nvnflinger: implement consumer abandonment 2023-10-29 23:38:24 -04:00
Liam 79e7d7f4ba nvnflinger: use graphic buffer lifetime for map handle 2023-10-29 22:12:16 -04:00
Charles Lombardo 2c1d850b46 android: Release touch on input overlay when opening in-game menu 2023-10-29 21:42:47 -04:00
Charles Lombardo 2581590023 android: Move game deserialization to another thread
Deserializing games from the cache in shared preferences was done on the main thread and could cause a stutter on startup.
2023-10-29 21:29:32 -04:00
liamwhite adb0900906
Merge pull request #11911 from german77/leak_event
core: Close all KEvents
2023-10-29 19:46:47 -04:00
liamwhite 2d608cd625
Merge pull request #11909 from t895/card-grid
android: Break home settings into grid with large screens
2023-10-29 19:46:41 -04:00
liamwhite 29955de767
Merge pull request #11904 from ameerj/gl_threaded_opts_on
nvidia_flags: Enable GL Threaded optimizations
2023-10-29 19:46:34 -04:00
liamwhite b0f62d8f24
Merge pull request #11898 from hebo6/patch-1
Adding StartupWmClass for .desktop file
2023-10-29 19:46:27 -04:00
liamwhite ed2d77ddbc
Merge pull request #11893 from liamwhite/swizzle
renderer_vulkan: fix viewport swizzle dirty state tracking
2023-10-29 19:46:20 -04:00
german77 6e883a26da core: Close all KEvents 2023-10-29 13:52:12 -06:00
Liam 8427b9d49d renderer_vulkan: ensure exception on surface loss 2023-10-29 15:31:05 -04:00
FrozenAra 0bb1c7c804 Implemented wheel event for volume control in VolumeButton 2023-10-29 20:29:17 +01:00
Charles Lombardo a5aa5876b4 android: Break home settings into grid with large screens 2023-10-29 13:47:41 -04:00
liamwhite 911d2216be
Merge pull request #11866 from liamwhite/more-qt-nonsense
qt: fix game list shutdown crash
2023-10-29 11:25:22 -04:00
liamwhite 4da2105a32
Merge pull request #11862 from liamwhite/pascal-robust
Manually robust on Pascal and earlier
2023-10-29 11:25:15 -04:00
liamwhite 1f9684eaf9
Merge pull request #11859 from Kelebek1/compute_findbuffer
Add missing loop around compute FindBuffer calls
2023-10-29 11:25:09 -04:00
liamwhite 40c97c0549
Merge pull request #11852 from german77/async_brr
input_common: joycon: Move vibrations to a queue
2023-10-29 11:25:02 -04:00
liamwhite 6aee148b17
Merge pull request #11843 from liamwhite/sync-process
kernel: update KProcess
2023-10-29 11:24:52 -04:00
liamwhite b5b93e6741
Merge pull request #11827 from liamwhite/preallocated
nvnflinger: fix reporting and freeing of preallocated buffers
2023-10-29 11:24:44 -04:00
Narr the Reg 18a4529851
Merge pull request #11803 from flodavid/improve-controller-applet-click
yuzu: Improve behavior when clicking on controller box in Controller applet
2023-10-29 09:13:07 -06:00
Ameer J 9e4d606c4c nvidia_flags: Enable GL Threaded optimizations 2023-10-28 21:26:22 -04:00
Liam 6513a356f0 renderer_vulkan: fix FSR cropping 2023-10-28 11:43:00 -04:00
Bo He 64f60f0acb
Adding StartupWmClass for .desktop file 2023-10-28 13:45:35 +08:00
Liam 65d4a16afd renderer_vulkan: fix cropping for presentation 2023-10-28 00:05:06 -04:00
Liam 21c631b33b renderer_vulkan: fix viewport swizzle dirty state tracking 2023-10-27 14:23:47 -04:00
Narr the Reg f26dddf3b5 service: am: Implement ISelfController::SaveCurrentScreenshot 2023-10-26 22:29:52 -06:00
boludoz 7f62a48ab5 We dont need that 2023-10-27 00:30:35 -03:00
Franco M b5415b6872
Merge branch 'yuzu-emu:master' into new-shortcut 2023-10-26 19:11:15 -03:00
liamwhite 43be2bfe33
Merge pull request #11880 from abouvier/unbundle-stb
cmake: prefer system stb headers
2023-10-25 17:21:37 -04:00
Alexandre Bouvier 79ba5d9c26 cmake: prefer system stb headers 2023-10-25 21:47:32 +02:00
Liam ca75c58f43 sockets: use safe access helpers 2023-10-25 14:07:22 -04:00
Liam 723df0f368 nvdrv: rework to remove memcpy 2023-10-25 13:05:56 -04:00
Liam 94b7ac50bb nvdrv: fix up remaining copy calls 2023-10-25 13:05:56 -04:00
Liam 18450ebd78 nvdrv: convert nvmap 2023-10-25 13:05:56 -04:00
Liam efdb2e8f3d nvdrv: convert codec devices 2023-10-25 13:05:56 -04:00
Liam 7a84a1a974 nvdrv: convert nvhost_gpu 2023-10-25 13:05:56 -04:00
Liam 789d9c8af9 nvdrv: convert nvhost_ctrl 2023-10-25 13:05:56 -04:00
Liam 4df063209b nvdrv: convert nvhost_ctrl_gpu 2023-10-25 13:05:55 -04:00
Liam 6256e3ca8e nvdrv: add ioctl command serialization, convert nvhost_as_gpu 2023-10-25 13:05:55 -04:00
liamwhite 008d7e8c5f
Merge pull request #11876 from liamwhite/apiversion
vulkan_common: use highest API version
2023-10-25 12:22:21 -04:00
Liam 19e9bde9e0 kernel: make sure new process is in list 2023-10-25 10:05:45 -04:00
liamwhite 6eb3a583cb
Merge pull request #11812 from german77/save_capture
service: caps: Implement SaveScreenShotEx0 and variants
2023-10-24 21:43:51 -04:00
Liam e0834ee50b vulkan_common: use highest API version 2023-10-24 17:04:17 -04:00
Liam 79894152a8 qt: fix game list shutdown crash 2023-10-23 23:06:07 -04:00
liamwhite 9274eaecd0
Merge pull request #11863 from german77/buffer
service: ipc: Add third read buffer index
2023-10-23 17:04:09 -04:00
Narr the Reg c733620024 service: ipc: Add third read buffer index 2023-10-23 10:33:01 -06:00
german77 897b411ae7 service: caps: Implement SaveScreenShotEx0 and variants 2023-10-23 10:18:22 -06:00
german77 94836ba3b1 externals: stb: Add image write 2023-10-23 10:18:14 -06:00
liamwhite b1909b0435
Merge pull request #11841 from german77/halp
yuzu: fix restore shortcuts button
2023-10-23 10:36:40 -04:00
liamwhite 1cc764988f
Merge pull request #11846 from german77/cheats
cheats: Clamp cheat names without failing
2023-10-23 10:33:37 -04:00
liamwhite da5c49f22d
Merge pull request #11847 from ameerj/glsl-shfl-fix
emit_glsl_warp: Fix shfl_in_bounds conditional
2023-10-23 10:33:24 -04:00
liamwhite 6b93b0b08c
Merge pull request #11854 from german77/vibration-ui
yuzu: Fix vibration reseting to 1%
2023-10-23 10:33:03 -04:00
Kelebek1 68f25217b8 Add missing dowhile loops around FindBuffer calls 2023-10-23 15:08:56 +01:00
Liam 0604b14263 Manually robust on Pascal and earlier 2023-10-23 09:08:57 -04:00
liushuyu a065dcdcd9
externals/opus: use CMakeLists shipped with Opus itself 2023-10-22 14:21:33 -06:00
german77 3d4a064674 yuzu: Fix vibration reseting to 1% 2023-10-22 13:39:45 -06:00
german77 e4dfd51337 input_common: joycon: Move vibrations to a queue 2023-10-22 11:30:59 -06:00
Ameer J cfe73af6f2 emit_glsl_warp: Fix shfl_in_bounds conditional 2023-10-22 00:45:23 -04:00
liushuyu d6bd16b2c0
externals/libusb: remove the GUID override workaround ...
... on Windows MSVC, it seems to have been fixed
2023-10-21 22:29:32 -06:00
liushuyu a49b146ccc externals: update libusb to c060e9ce30ac2e3ffb49d94209c4dae77b6642f7 ...
... this fixes an issue when compiling with newer MSVC
2023-10-21 22:29:19 -06:00
liushuyu fd9e157184 externals: update VulkanMemoryAllocator to 2f382df218d7e8516dee3b3caccb819a62b571a2 2023-10-21 22:29:19 -06:00
liushuyu 6cbd4020e8 externals: update Vulkan-Headers to 1.3.265 2023-10-21 22:29:19 -06:00
liushuyu 3558b236cd externals: update ffmpeg to 9c1294eaddb88cb0e044c675ccae059a85fc9c6c
... to fix build with binutils 2.41+
2023-10-21 22:29:19 -06:00
liushuyu 48e82c4138 externals: update vcpkg to ef2eef17340f3fbd679327d286fad06dd6e838ed 2023-10-21 22:29:19 -06:00
liushuyu 9eb70aea1d externals: update SDL to 2.28.4 2023-10-21 22:29:19 -06:00
liushuyu 0460fbacc9 externals: update cpp-jwt to 10ef5735d842b31025f1257ae78899f50a40fb14 2023-10-21 22:29:19 -06:00
liushuyu c73297e840 externals: update cpp-httplib to 0.14.1 2023-10-21 22:29:19 -06:00
liushuyu 633d869ff4 externals: update libusb to 1.0.26 2023-10-21 22:29:19 -06:00
liushuyu e03f86cc54 externals: update inih to r57 2023-10-21 22:29:19 -06:00
liushuyu a0a3566977 externals: update opus to 1.4 2023-10-21 22:29:19 -06:00
Narr the Reg 77fb9d415b yuzu: Fix restore shortcuts button 2023-10-21 21:16:20 -06:00
german77 bbdaa62175 cheats: Clamp cheat names without failing 2023-10-21 21:04:03 -06:00
Liam 31bffc7299 kernel: fix extraneous ref 2023-10-21 22:16:41 -04:00
Liam 5f8f09d750 kernel: shutdown app before gpu 2023-10-21 20:35:18 -04:00
Liam dcfe674ed4 kernel: signal thread on termination completed 2023-10-21 20:03:41 -04:00
Liam bb195c2c2b kernel: add missing TLR clear 2023-10-21 20:03:41 -04:00
Liam 8c59543ee3 kernel: update KProcess 2023-10-21 20:03:41 -04:00
liamwhite db37e583ff
Merge pull request #11831 from liamwhite/hosversionbetween
set: return version info from system archive
2023-10-21 18:22:20 -04:00
liamwhite d28e826e47
Merge pull request #11830 from liamwhite/ts-session
ts: add OpenSession
2023-10-21 18:22:13 -04:00
liamwhite 13beb85514
Merge pull request #11828 from liamwhite/setthreadescription
common: use SetThreadDescription API for thread names
2023-10-21 18:22:04 -04:00
liamwhite 4b06bcc82c
Merge pull request #11789 from Kelebek1/spirv_shift_right
Manually robust on Maxwell and earlier
2023-10-21 18:21:53 -04:00
Franco M b76a1d987f
Merge branch 'yuzu-emu:master' into new-shortcut 2023-10-21 02:25:27 -03:00
Liam 12ebc8d9d1 set: return version info from system archive 2023-10-20 13:29:52 -04:00
Liam 2b85e9e997 ts: add OpenSession 2023-10-20 13:29:32 -04:00
Liam 59b62c6507 common: use SetThreadDescription API for thread names 2023-10-20 11:41:29 -04:00
Fernando S 2e760a9833
Merge pull request #11748 from liamwhite/kern_1700
kernel: update for 17.0.0
2023-10-20 17:08:00 +02:00
Fernando S bab4a13a41
Merge pull request #11825 from liamwhite/system-resource
kernel: fix incorrect calculation of used non system memory value
2023-10-20 16:40:15 +02:00
liamwhite b56c7397ad
Merge pull request #11806 from liamwhite/needs-more-locking
renderer_vulkan: add locks to avoid scheduler flushes from CPU
2023-10-20 10:26:03 -04:00
Liam 689f346e97 nvnflinger: fix reporting and freeing of preallocated buffers
Co-authored-by: Kelebek1 <eeeedddccc@hotmail.co.uk>
2023-10-20 10:17:32 -04:00
Liam 249db0a59b kernel: fix incorrect calculation of used non system memory value 2023-10-20 09:12:10 -04:00
Liam 9526ce95dd gdbstub: add PermissionLocked to mappings table 2023-10-20 02:53:31 -04:00
Liam 687158fe00 kernel: fix format string error 2023-10-20 02:41:32 -04:00
Liam d8507332c1 kernel: make check fully constexpr for broken msvc constant folding 2023-10-20 02:34:15 -04:00
Liam 67e983a354 codespell: allow 'VAs' 2023-10-20 02:34:15 -04:00
Liam f21058a6c0 k_page_table: add MapFirstGroup 2023-10-20 02:34:15 -04:00
Liam b456af31e6 kernel: update KMemoryRegionType values 2023-10-20 02:34:15 -04:00
Liam 0441853d0f k_page_table: implement PermissionLocked 2023-10-20 02:34:15 -04:00
Liam 60a1c6b95b k_page_table: add new CheckMemoryState helper 2023-10-20 02:34:15 -04:00
Liam 794e6c7a96 kernel: split Io memory state, add PermissionLocked attribute 2023-10-20 02:34:15 -04:00
Liam 22afa2c7a3 kernel: reshuffle ini1 size, add slab clear note 2023-10-20 02:34:15 -04:00
liamwhite 85a89ca3e3
Merge pull request #11822 from german77/no-name
service: mii: Create random mii with name
2023-10-19 16:54:05 -04:00
Narr the Reg 26776c0e60 service: mii: Create random mii with name 2023-10-19 13:35:02 -06:00
Kelebek1 e02ee8e59d Manually robust on Maxwell and earlier 2023-10-19 19:54:31 +01:00
liamwhite 134ecca9b0
Merge pull request #11810 from liamwhite/clang-17
general: fix build failure on clang 17
2023-10-18 19:30:29 -04:00
boludoz ae2130470e Reverted dirty code in main. 2023-10-18 19:30:21 -03:00
liamwhite c5f1ec8040
Merge pull request #11795 from Squall-Leonhart/D32FToOther
[Vulkan]Implement missing copy formats for D32, ARGB8_SRGB and BGRA8_Unorm/SRGB
2023-10-18 09:22:14 -04:00
liamwhite 765ea9b79d
Merge pull request #11791 from german77/bufferx
service: hle: Allow to access read buffer A and X directly
2023-10-18 09:21:58 -04:00
boludoz ac6290bea7 TODO: Implement shortcut creation for Apple. 2023-10-18 02:35:23 -03:00
boludoz 4051bbbed7 Useless code removed related to admin privileges, if it is not an error we can add it later, that is what git is for. 2023-10-18 01:26:50 -03:00
boludoz 2a7edda70a Deleted admin requisite (maybe it was another mistake). 2023-10-18 01:20:46 -03:00
Franco M 59b6ada7b7
Merge branch 'yuzu-emu:master' into new-shortcut 2023-10-18 01:06:58 -03:00
Liam c5bdc0054c general: fix build failure on clang 17 2023-10-17 22:44:21 -04:00
flodavid 0b7593d352
yuzu: Improve behavior when clicking on controller box in Controller applet
- Apply changes on Controller configuration of commit 9524d70 to Controller applet
  - Fix regression of this previous commit:
  Enabling a controller in its tab did not activate previous controllers

Signed-off-by: flodavid <fl.david.53@gmail.com>
2023-10-17 23:19:11 +02:00
liamwhite bd05ace08d
Merge pull request #11774 from liamwhite/refcount-issue
fsmitm_romfsbuild: avoid unnecessary copies of vfs pointers
2023-10-17 11:49:11 -04:00
liamwhite fa56518f20
Merge pull request #11747 from Kelebek1/image_alias_sample_names
Small things
2023-10-17 11:48:57 -04:00
liamwhite b577d7a55f
Merge pull request #11349 from vonchenplus/buffer_cache_crash
video_core: Fix moltenvk crash on macos
2023-10-17 11:48:44 -04:00
Liam d9dde7e6f3 renderer_vulkan: add locks to avoid scheduler flushes from CPU 2023-10-17 10:00:25 -04:00
Fernando S 2244b613cf
Merge pull request #11788 from Squall-Leonhart/IFREMOVED
[crash fix]brings back the removed if  statement in util.cpp and adds the  num_level test to it like previous discontinued PR
2023-10-17 14:36:36 +02:00
boludoz 9908434c14 Final refactorization 2023-10-17 02:57:35 -03:00
german77 c73bb33ff1 service: hle: Allow to access read buffer A and X directly 2023-10-16 23:36:46 -06:00
Franco M 668a10f9b9
Merge branch 'yuzu-emu:master' into new-shortcut 2023-10-17 01:01:41 -03:00
Narr the Reg bcce184e60
service: acc: Implement functions needed for profile select (#11653) 2023-10-17 05:12:55 +02:00
boludoz fc4b45ebd3 Moved check. 2023-10-16 23:50:09 -03:00
boludoz 1afe6d51ee More @liamwhite suggestions applied. 2023-10-16 23:42:45 -03:00
boludoz 1ae0f0f3f6 shortcut_stream.close(); fixed 2023-10-16 18:59:21 -03:00
boludoz de0b35b974 Comment using fmt instead qt. 2023-10-16 16:54:51 -03:00
boludoz ae88d01d8d .clear() instead = ""; and switch improved. 2023-10-16 16:47:21 -03:00
boludoz d759de9f96 More missed suggestions 2023-10-16 16:11:24 -03:00
boludoz 89d3e81be8 Sugestions and fixes. 2023-10-16 16:01:46 -03:00
Squall-Leonhart 326ebbb2fa Changes based on hardware tests
Removes unnecessary d32f to bgra shader and blit functions,
update vk_texture_cache to use abgr shader for d32f to BGRA formats
updates  abgr to d32f shader to comply with hardware tests
2023-10-17 02:42:40 +11:00
Squall Leonhart 07143ce15c
Make Clang happy. 2023-10-17 00:26:19 +11:00
Squall Leonhart dbc73c6c6c
Added missing BuildShader line
Adds `convert_abgr8_to_d32f_frag(BuildShader(device, CONVERT_ABGR8_TO_D32F_FRAG_SPV)),`
2023-10-17 00:15:31 +11:00
boludoz 71f264c498 Merge branch 'new-shortcut' of https://github.com/boludoz/yuzu into new-shortcut 2023-10-16 03:27:10 -03:00
boludoz 26417da5d3 Some improvements (suggestions) 2023-10-16 03:26:40 -03:00
Franco M b3b458edf9
Merge branch 'yuzu-emu:master' into new-shortcut 2023-10-16 03:25:11 -03:00
liamwhite 8becf13e8b
Merge pull request #11786 from v1993/cuda-on-linux
host1x/codecs: enable CUDA on Linux
2023-10-15 22:23:00 -04:00
liamwhite 9e2ebb24df
Merge pull request #11794 from german77/linemot
input_common: udp: Avoid crash when trying to map motion before client is ready
2023-10-15 22:22:45 -04:00
boludoz 74961d4dfb Less code, simpler, better. 2023-10-15 21:40:10 -03:00
boludoz 9ffa1801c7 Typing and formatting errors fixed. 2023-10-15 20:57:06 -03:00
Squall Leonhart 90c56f5dc1
added missing trailing line. 2023-10-16 06:07:26 +11:00
boludoz 4d4fe69223 Unnecessary feature removed 2023-10-15 14:44:23 -03:00
Squall Leonhart 4b0291172e
meant to add the unorms as well 2023-10-16 04:29:24 +11:00
Squall-Leonhart 12e4757cf3 use texelfetch instead of texturelod 2023-10-16 04:20:45 +11:00
Squall Leonhart 144c0734f5
appease the format gods 2023-10-16 03:24:44 +11:00
Squall-Leonhart f40f65f5d2 Another missing copy connected to Bravely Default II
adds blit_image_helper.ConvertABGR8ToD32F and fragment shader for performing ABGR and BGRA to D32F copies
2023-10-16 03:17:53 +11:00
Squall-Leonhart 03c3f936cf missed this line when editing the copypasta 2023-10-15 20:58:50 +11:00
Squall-Leonhart 66f41da365 moved line to appease the format gods 2023-10-15 20:54:25 +11:00
Squall-Leonhart 7a986d731b Implement missing formats for Bravely Default 2 2023-10-15 20:43:48 +11:00
german77 eae0570a1c input_common: udp: Avoid crash when trying to map motion before client is ready 2023-10-15 02:13:51 -06:00
boludoz 0a75519ab5 Fixes and improvements 2023-10-15 03:16:29 -03:00
boludoz 3062a35eb1 Improved shortcut: add games in applist for Windows, question for start game at fullscreen & better unicode support for some Windows path funcs. 2023-10-15 02:02:22 -03:00
Squall Leonhart b57d98f847
brings back the removed If statement and adds the num_level test
This resolves the out of bounds read/writes in the linear swizzler, it brings back the scaled TOTK Recall bug however, pending further work in the block size calculation.

Recall is not glitched in the Dynamic FPS resolution mod to the degree that it is in the native yuzu scaler, this can be a workaround for the time being.


The recall effect is constructed from multiple 320x180 texture slices, it breaking may have a similar origin to https://github.com/Ryujinx/Ryujinx/pull/5640

but it may also be connected to the other deficiencies identified in the Yuzu size calculations, such as no apparent implementation of slice testing for end of slce depth as opposed to full aligned size as implemented in https://github.com/Ryujinx/Ryujinx/pull/5220
2023-10-15 02:09:28 +11:00
Valeri 762ac5aa9f
host1x/codecs: enable CUDA on Linux 2023-10-14 17:35:45 +03:00
liamwhite 1a4abd184f
Merge pull request #11780 from Darkness4/master
qt: add network components when using discord
2023-10-14 09:58:33 -04:00
liamwhite 9524d7034c
Merge pull request #11779 from flodavid/improve-player-config-click
yuzu: Improve behavior when clicking on controller box in Control configuration
2023-10-14 09:58:27 -04:00
liamwhite 36d18e457b
Merge pull request #11778 from liamwhite/audren-shutdown-lock
audio: fix shutdown deadlock in audio renderer
2023-10-14 09:58:17 -04:00
liamwhite db562bc08d
Merge pull request #11775 from Kelebek1/draw_vertex_array
Implement vertex array first and subsequent draws
2023-10-14 09:58:11 -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
Kelebek1 32ad99701d Implement vertex array first and subsequent draws 2023-10-14 12:09:35 +01:00
Nguyen Marc 63c5340cc4
Revert "cmake: only add network component if qt used"
This reverts commit a94371f67b.
2023-10-14 08:46:05 +02:00
Nguyen Marc a94371f67b
cmake: only add network component if qt used 2023-10-14 01:46:20 +02:00
Nguyen Marc 22e4add562
qt: add missing target_link_libraries for discordrpc 2023-10-14 01:15:28 +02:00
Nguyen Marc b1a7bbd458
qt: add network components when using discord 2023-10-14 01:01:02 +02:00
flodavid 27ab2a6e13 yuzu: Improve behavior when clicking on controller box in Control Configuration
When reducing the number of Connecter Controllers, keep the one clicked if it was not the last one of the list
2023-10-14 00:46:11 +02:00
Liam 68ea0a2b72 audio: fix shutdown deadlock in audio renderer 2023-10-13 16:34:31 -04:00
liamwhite a8bd02acd8
Merge pull request #11772 from v1993/polyfill-thread-fixes
common/polyfill_thread: use std::forward where appropriate, qualify std::move calls
2023-10-13 15:15:25 -04:00
Charles Lombardo 3e4edbe007
Merge pull request #11767 from t895/gradle-stuff
android: Update dependencies
2023-10-13 15:08:47 -04:00
Charles Lombardo 4a9240599a
Merge pull request #11773 from t895/manager-fix
android: Fix incorrect assumption for driver installation validation
2023-10-13 15:08:39 -04:00
Liam 053a16799e fsmitm_romfsbuild: avoid unnecessary copies of vfs pointers 2023-10-13 14:22:52 -04:00
Charles Lombardo 82c845dc2f android: Fix incorrect assumption for driver installation validation
The driver was assumed to be installed at this point before I made a refactor. Now we just check if the copy operation was successful and delete the file if it fails.
2023-10-13 13:50:38 -04:00
Charles Lombardo 3aa6d4d8ce android: Allow ANDROID_STL 2023-10-13 12:55:41 -04:00
Charles Lombardo 9b961dddb4 android: Remove unnecessary flag to extract native libs in AndroidManifest.xml 2023-10-13 12:55:41 -04:00
Charles Lombardo 224b6036a4 android: Update dependencies
Updates to androidx navigation, lifecycle, preference, fragment, recyclerview, and core
2023-10-13 12:55:41 -04:00
Charles Lombardo 2c3281c66b externals: Update LLVM to 17.0.2
Matches android ndk
2023-10-13 12:55:41 -04:00
Charles Lombardo 1591923f91 android: Update ndk to 26.1.10909125
The new ndk uses LLVM 17.0.2 so we can remove the LLVM download and libc++ options for the android builds
2023-10-13 12:55:41 -04:00
DanielSvoboda 56e5d99684
Improvement in Directory Path Detection for Shortcuts (#11749)
* Improvement in Directory Path Detection for Shortcuts

This pull request updates how the directory path for shortcuts is determined. The main changes are:

1. Replaced the use of environment variables to determine the path of the desktop and applications menu with `QStandardPaths::writableLocation`. This change addresses an issue where the desktop path was not correctly identified when its location was customized, as shown in the attached screenshot.

2. Added conversion from `QString` to `std::string` using `toUtf8()`, which correctly handles non-ASCII characters in directory paths. This change ensures that directory paths containing Portuguese words like "Área de trabalho" are supported.

3. Replaced directory checking using `Common::FS::IsDir()` with `QDir::exists()`.

These changes should improve cross-platform compatibility and code robustness. Because it couldn't locate my desktop, which wasn't on the C drive, but on the F, and even though localization wouldn't work because it was setting it to find the 'Desktop' folder and in the computer's language it says 'Área de trabalho', that will fix for other languages too.

* Update main.cpp

* formatting

* Update src/yuzu/main.cpp

Co-authored-by: Tobias <thm.frey@gmail.com>

* Update src/yuzu/main.cpp

Co-authored-by: Tobias <thm.frey@gmail.com>

* Update main.cpp

* Update main.cpp

* Update main.cpp

desktopPath > desktop_Path
applicationsPath > applications_Path

* Update main.cpp

* formatting

* Update main.cpp

This code will attempt to use QStandardPaths to find the applications directory. If that fails, it will resort to using the ~/.local/share/applications directory, which is a common location for application shortcuts in Linux.

* Update main.cpp

* formatting

---------

Co-authored-by: Tobias <thm.frey@gmail.com>
2023-10-13 09:57:49 -06: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 1a4874e178
Merge pull request #11769 from liamwhite/qt-ownership-issue
qt: ensure worker cancellation is complete before clearing
2023-10-13 09:29:13 -04:00
liamwhite c00b63b9e1
Merge pull request #11766 from liamwhite/open-sesame
k_page_table: add missing page group open when locking memory
2023-10-13 09:29:05 -04:00
liamwhite c8602e1b1f
Merge pull request #11649 from t895/driver-manager
android: Driver manager
2023-10-13 09:28:53 -04:00
Liam faa6c35e78 qt: ensure worker cancellation is complete before clearing 2023-10-12 21:07:49 -04:00
Charles Lombardo 8b64878258 android: Update AGP to 8.1.2 2023-10-12 18:59:57 -04: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
liamwhite d74fd9e2fe
Merge pull request #11763 from liamwhite/lto-noinline
kernel: mark TLS accessors as noinline for non-MSVC LTO
2023-10-12 18:23:25 -04:00
liamwhite d011d3ff0e
Merge pull request #11765 from german77/cap_mac
service: caps: Remove ambiguous call
2023-10-12 18:23:18 -04:00
Charles Lombardo a5fb9de6fa android: Add GPU driver management fragment
Implements a GPU driver manager that saves all drivers to the user data directory and asynchronously installs drivers when they're needed.
2023-10-12 17:17:21 -04:00
Liam c4ec76edba k_page_table: add missing page group open when locking memory 2023-10-12 15:00:26 -04:00
Narr the Reg 3f05b8facd service: caps: Remove ambiguous call 2023-10-12 12:52:55 -06:00
liamwhite 65d3300875
Merge pull request #11753 from german77/timex2
service: caps: Fix GetAlbumFileList3AaeAruid and GetAlbumFileList0AafeAruidDeprecated
2023-10-12 11:17:35 -04:00
liamwhite 7b2ac196d2
Merge pull request #11751 from Kelebek1/transition_msaa_image
Transition MSAA images to general layout without uploading data
2023-10-12 11:17:20 -04:00
F David d9456f0a11
fix style 2023-10-12 16:06:44 +02:00
Liam 2212c9653d kernel: mark TLS accessors as noinline for non-MSVC LTO 2023-10-12 09:16:22 -04:00
Narr the Reg fe04a7523a service: caps: Fix GetAlbumFileList3AaeAruid and GetAlbumFileList0AafeAruidDeprecated 2023-10-11 20:01:33 -06:00
liamwhite 45a76637f5
Merge pull request #11752 from lat9nq/msvc-tz-2022g
externals/nx_tzdb: Update download version to 2022g
2023-10-11 21:45:22 -04:00
lat9nq bf7c45e560 externals/nx_tzdb: Update download version to 2022g
Mainly for MSVC, changes the time zone database version to latest.
2023-10-11 20:20:31 -04:00
flodavid 48b67fc4a0 yuzu: Enable to use controller to restart a game
- Show the right confirm dialog if wanted
  - Create generic method to ask close confirmation
- Add "R + Plus + Minus" default shortcut to Restart emulation
2023-10-12 01:53:54 +02:00
Florian 6c246f2ac5 yuzu: Use new setting method for stop emulation 2023-10-12 01:51:53 +02:00
flodavid a34565727b yuzu: Enable to use controller to close a game
- Add General setting to choose if a confirm dialog is shown when stopping
- Show the right confirm dialog if wanted
  - Reuse dialog window that ask to close the game
- Add "L + Plus + Minus" default shortcut to Stop emulation
- Create generic question dialog based on TAS dialog
  - It allows controller interaction on most dialogs
2023-10-12 01:51:52 +02:00
Kelebek1 6f4a080b98 Transition MSAA images to general layout without uploading data 2023-10-11 23:27:23 +01:00
liamwhite da6824d9fd
Merge pull request #11720 from lat9nq/dbg-syms
ci/linux: Upload separated debug symbols
2023-10-11 17:55:17 -04:00
liamwhite b36f45b239
Merge pull request #11740 from german77/shorcuts
yuzu: Save multiple resolutions per icon
2023-10-11 17:55:08 -04:00
liamwhite 07ae6659e7
Merge pull request #11744 from Kelebek1/no_res_no_rescaled
Do not set rescaled flag when rescaling is disabled
2023-10-11 17:54:59 -04:00
liamwhite 880b004321
Merge pull request #11750 from lat9nq/2022g
externals/tzdb_to_nx: Update to 221202
2023-10-11 17:54:50 -04:00
lat9nq 21ebe3e462 externals/tzdb_to_nx: Update to 221202
This updates us to an eggert/tz commit downstream of 2022g that compiles. This
seems to be the revision Nintendo is using for 17.0.0, if the data checksums
are anything to go off of.
2023-10-11 16:42:31 -04:00
Kelebek1 98cac9410c Get out of render pass before query barriers, fix image names with samples > 1, remove image alias bit 2023-10-11 17:15:35 +01:00
Liam 7b5d234558 jit: add support for relr-type relocations 2023-10-11 11:13:19 -04:00
liamwhite 84b0e29b56
Merge pull request #11734 from Kelebek1/device_local_buffer_alloc
Do not allocate DeviceLocal buffers as mapped
2023-10-11 09:24:28 -04:00
liamwhite 5ecdcfa334
Merge pull request #11735 from Kelebek1/clear_command_buffer_post_dsp
Clear DSP buffer after each execution
2023-10-11 09:24:16 -04:00
liamwhite 5f4857691e
Merge pull request #11683 from Kelebek1/do_not_sync_on_written_buffer
Do not double sync written buffers, move mark written to binding
2023-10-11 09:24:05 -04:00
liamwhite b50ce645ac
Merge pull request #11144 from flodavid/master
Enable controller interaction in Controller Applet
2023-10-11 09:23:52 -04:00
Fernando S b6d19329ac
Merge pull request #11743 from Squall-Leonhart/IFREMOVED
Fix mistaken usage of info.block instead of level_info.block
2023-10-11 11:56:47 +02:00
Kelebek1 8c769b71a1 Do not set rescaled flag when rescaling is disabled 2023-10-11 10:29:19 +01:00
Squall-Leonhart 9512992fe2 Fix mistaken usage of info.block instead of level_info.block
Fixed an error on my part, in the last change I had mistakenly passed unadjusted block info into FullUploadSwizzles and UnswizzleImage

Revert (my mistaken changing of) the construction of SwizzleParameters in UnswizzleImage and FullUploadSwizzles to use level_info.block instead of info.block. This ensures that the block information used in the swizzling process is correctly adjusted for each mip level.
2023-10-11 19:12:33 +11:00
Narr the Reg 6b10f04322 yuzu: Save multiple resolutions per icon 2023-10-10 17:24:49 -06:00
toast2903 c206a04747
ci/linux: Fix find parameter order
Co-authored-by: liamwhite <liamwhite@users.noreply.github.com>
2023-10-10 13:50:50 -04:00
Kelebek1 ec6ddaf766 Clear DSP buffer after each execution 2023-10-10 18:22:08 +01:00
liamwhite 36ea7565fa
Merge pull request #11534 from Squall-Leonhart/IFREMOVED
Partial revert of #10433 (Texture Cache Util: Fix block depth adjustment on slices)
2023-10-10 12:44:48 -04:00
lat9nq 00b0938f10 ci/linux: Upload separated debug symbols
Creates a new archive with a debug suffix that contains the debug symbols from
compiling yuzu for mainline. The yuzu executable also gets a GNU debug link to the symbols file.
ci/linux: Compile with debug symbols and upload separately

Currently only uploads for yuzu but yuzu-cmd or other future executables can be
added to the for-loop's parameters.
2023-10-10 11:55:55 -04:00
Kelebek1 ed58445111 Not not allocate DeviceLocal buffers as mapped 2023-10-10 12:49:07 +01: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
Fernando S 8151a4d301
Merge pull request #11650 from german77/lle_album
service: am: Add support for LLE Album Applet
2023-10-10 11:47:13 +02:00
Fernando S 8ac8d703b9
Merge pull request #11686 from liamwhite/trmem
kernel: implement transfer memory
2023-10-10 11:45:56 +02:00
liamwhite 1c1959eaeb
Merge pull request #11716 from Squall-Leonhart/Z327444
add Z32, FLOAT, UINT, UINT, UINT, LINEAR to format lookup table
2023-10-08 17:12:00 -04: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
Squall Leonhart 54fa1115a6
add Z32, FLOAT, UINT, UINT, UINT, LINEAR to format lookup table
Should fix and close #11711
2023-10-09 02:13:17 +11:00
Narr the Reg 8347e5cdb9 service: caps: Implement album manager and reorganize service 2023-10-07 20:57:20 -06:00
Narr the Reg dac53b4ba0 externals: stb: Split library into cpp file 2023-10-07 20:57:19 -06:00
Narr the Reg 0bb7990c49 service: Stub multiple functions to increase stability of album applet 2023-10-07 20:57:10 -06: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
liamwhite bd42bba71c
Merge pull request #11656 from liamwhite/recreate-surface-automatically
vk_present_manager: recreate surface on any surface loss
2023-10-07 12:49:54 -04:00
liamwhite a27f94830a
Merge pull request #11677 from Squall-Leonhart/D32FTOABGR8
Implements D32_Float to A8B8G8R8_UNORM format copy
2023-10-07 12:49:48 -04:00
liamwhite bd6f9f1d91
Merge pull request #11630 from Kelebek1/clear_stencil_requires_depth_test
Enable depth test on depthstencil clear path
2023-10-07 12:49:37 -04:00
liamwhite bf15aa093c
Merge pull request #11639 from liamwhite/no-program-id-change
loader: don't reassign program ID on npdm reparse
2023-10-07 12:49:32 -04:00
liamwhite 0e9b839b6f
Merge pull request #11648 from liamwhite/unicode-nonsense
gdbserver: use numeric character references for unicode
2023-10-07 12:49:27 -04:00
liamwhite 15a5bdd979
Merge pull request #11544 from Kelebek1/reduce_stream_buffer_renderdoc
Allow GPUs without rebar to open multiple RenderDoc captures
2023-10-07 12:49:19 -04:00
liamwhite fc4cde7513
Merge pull request #11669 from german77/settings2
yuzu: Fix custom rtc and mute audio settings
2023-10-07 10:55:21 -04:00
liamwhite ff3859d482
Merge pull request #11688 from Kelebek1/x8d42
Implement X8_D24 pixel format
2023-10-07 10:55:14 -04:00
liamwhite 10de8f2c60
Merge pull request #11684 from Kelebek1/disable_push_descriptor_maxwell
Disable push descriptor for Pascal and older nVidia architectures
2023-10-07 10:54:52 -04:00
Squall Leonhart 51b89fddd0
update shader to confirmed format copy 2023-10-07 18:28:09 +11:00
Kelebek1 f585dec48d Allow GPUs without rebar to open multiple RenderDoc captures 2023-10-06 07:52:06 +01:00
Kelebek1 ad1a9f3d3a Implement X8_D24 format 2023-10-06 00:58:30 +01:00
Liam e797a917a9 kernel: implement transfer memory 2023-10-04 22:32:27 -04:00
Kelebek1 71044f6def Rework nvidia architecture detection, disable push descriptor for Pascal and older 2023-10-05 03:13:42 +01:00
Kelebek1 a764f49910 Mark a buffer GPU modified after the buffers are confirmed, do not double synch them 2023-10-05 00:19:11 +01:00
Squall-Leonhart a17cde7b2c lets not convert depth to greyscale since this makes the exhaust and tire smoke light gray/white
tiresmoke should be a darker gray.
2023-10-05 03:14:53 +11:00
Squall-Leonhart a84c928827 Fix CI Formatting check 2023-10-04 19:12:08 +11:00
Squall-Leonhart 9568d3bc60 Implements D32_Float to A8B8G8R8_UNORM format copy
Corrects some visual issues in games such as Disney SpeedStorm
2023-10-04 19:07:05 +11:00
Narr the Reg 0fe935a5de core: Update clocks when settings are saved 2023-10-03 20:20:26 -06:00
Narr the Reg c84c35ac74 yuzu: Fix mute when in background setting 2023-10-03 20:12:06 -06:00
Liam b32940d3ea vk_present_manager: recreate surface on any surface loss 2023-10-02 19:07:18 -04:00
liamwhite 7a0da729b4
Merge pull request #11657 from liamwhite/new-codespell
ci: fix new codespell errors
2023-10-02 18:05:55 -04:00
Liam 0448eb6f0f ci: fix new codespell errors 2023-10-02 18:03:05 -04:00
Narr the Reg c334959440 service: caps: Partially implement IAlbumAccessorService 2023-10-02 12:38:03 -06:00
Narr the Reg 2fa53ec1d9 yuzu: Allow to launch album applet from firmware 2023-10-02 11:29:12 -06:00
Narr the Reg e37ad99f22 externals: Add stb_image and stb_image_resize 2023-10-02 11:29:12 -06:00
liamwhite ff57c66773
Merge pull request #11652 from liamwhite/shutdown-goes-brrr
k_page_table: skip page table clearing on finalization
2023-10-02 11:28:24 -04:00
liamwhite c6d552f29b
Merge pull request #11655 from liamwhite/additional-dump-targets
qt: add additional romfs dump targets
2023-10-02 11:28:14 -04:00
Narr the Reg 7f9b64519d
Merge pull request #11651 from liamwhite/fsc-creation
fsp-srv: enable auto save data creation on init
2023-10-02 09:22:41 -06:00
Liam d89ef6280c qt: add additional romfs dump targets 2023-10-02 09:23:25 -04:00
Liam 8fb13372c2 k_page_table: skip page table clearing on finalization 2023-10-01 23:38:56 -04:00
Liam f9521f5bd4 fsp-srv: enable auto save data creation on init 2023-10-01 23:33:19 -04:00
liamwhite 53f904b740
Merge pull request #11642 from zhaobot/tx-update-20231001021119
Update translations (2023-10-01)
2023-10-01 19:24:54 -04:00
liamwhite 99e2568304
Merge pull request #11632 from german77/hle_cabinet
service: am: Add support for LLE Cabinet Applet
2023-10-01 19:24:46 -04:00
Liam 38394f36d7 gdbserver: use numeric character references for unicode 2023-10-01 19:22:08 -04:00
Charles Lombardo 26f9d1f122 android: Use application context for all FileUtil functions 2023-10-01 15:56:02 -04:00
Narr the Reg 9cd5c44019 service: nfc: Implement SetRegisterInfoPrivate mii support 2023-10-01 11:38:30 -06:00
Narr the Reg 2687a83f6a service: am: Implement shared buffer
Co-authored-by: Liam <byteslice@airmail.cc>
2023-10-01 11:38:30 -06:00
Narr the Reg 35f25882e0 service: nvnflinger: Implement shared buffer
Co-authored-by: Liam <byteslice@airmail.cc>
2023-10-01 11:38:30 -06:00
Narr the Reg f1f3d490ef service: ldn: Implement lp2p:m and stub IMonitorService 2023-10-01 11:38:30 -06:00
Narr the Reg ae5c134ac6 service: am: Set push in arguments according to the launched applet 2023-10-01 11:38:30 -06:00
Narr the Reg 03d4fffc70 yuzu: Allow to launch cabinet applet from firmware 2023-10-01 11:38:25 -06:00
Fernando S a0d56c855c
Merge pull request #11646 from FernandoS27/stop-ignoring-your-mental-health
Query Cache: Fix memory leak.
2023-10-01 17:40:13 +02:00
Fernando Sahmkow 9007d8c8d4 Query Cache: Fix memory leak. 2023-10-01 11:47:14 +02:00
The yuzu Community 65bbf708a8 Update translations (2023-10-01) 2023-10-01 02:11:44 +00:00
Liam 2f0db2708c loader: don't reassign program ID on npdm reparse 2023-09-30 11:35:42 -04:00
Fernando S 184ee2d890
Merge pull request #11493 from merryhime/evt
core_timing: Replace queue with a fibonacci heap
2023-09-29 13:37:19 +02:00
Fernando S d6b3e7f195
Merge pull request #11546 from Kelebek1/core_timing_mutex
Reduce core timing mutex contention
2023-09-29 13:36:57 +02:00
Fernando S 926e24c642
Merge pull request #11622 from liamwhite/qcr-reg1
renderer_vulkan: fix query cache for homebrew
2023-09-29 06:01:18 +02:00
liamwhite 18a396b53f
Merge pull request #11631 from Kelebek1/double_focus_change
Don't send a double focus change message
2023-09-28 22:16:47 -04:00
Kelebek1 c62e089260 Don't send a double focus change message 2023-09-28 23:47:10 +01:00
Kelebek1 1a246bf135 Enable depth test on stencil clear path 2023-09-28 21:19:51 +01:00
liamwhite 257a6aa2ba
Merge pull request #11626 from german77/mii-fix
service: mii: Fix reported bugs
2023-09-28 09:37:02 -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
liamwhite f24d956ae2
Merge pull request #11590 from liamwhite/attribute
fsp-srv: add GetFileSystemAttribute
2023-09-28 09:35:29 -04:00
liamwhite 4487c165c8
Merge pull request #11604 from t895/only-install-nsp
Frontend: Remove ability to install xci files
2023-09-28 09:35:16 -04:00
german77 e3f7e02555 service: mii: Fix reported bugs 2023-09-27 23:34:03 -06:00
Fernando S f782104125
Merge pull request #11556 from GPUCode/msaa-image-vk
renderer_vulkan: Implement MSAA image copies
2023-09-28 01:56:27 +02:00
Liam 7507a7f89f renderer_vulkan: fix query cache for homebrew 2023-09-27 19:11:47 -04:00
Charles Lombardo 882859bc78
Merge pull request #11613 from t895/fragment-exception-change
android: Various play store fixes
2023-09-27 18:08:54 -04:00
Charles Lombardo 22284fc504 android: Prevent crash when trying to change pages in setup fragment
Sometimes when we want to change the current setup page, the current view isn't available and we try to alter the current view. This adds a guard to prevent that issue.
2023-09-27 13:40:09 -04:00
Charles Lombardo d70f18b87b android: Prevent setup fragment crash in background
Sometimes during onSaveInstanceState, the SetupFragment would crash the app in the background if we tried to store the state of a view.
2023-09-27 13:40:09 -04:00
Charles Lombardo ec388622ff android: Don't update views if binding is null in onConfigurationChanged 2023-09-27 13:40:09 -04:00
Charles Lombardo 6a425e95cb android: Don't wait for post to update input overlay visibility 2023-09-27 13:40:09 -04:00
Charles Lombardo 1fdfedc43e android: Close activity with toast if emulation has no game 2023-09-27 13:40:09 -04:00
Charles Lombardo 18b240c071
Merge pull request #11616 from t895/save-error
android: Correctly reload settings file during reset
2023-09-27 10:51:05 -04:00
Charles Lombardo 0aa99b8f47
Merge pull request #11603 from t895/consolidate-installs
android: Consolidate installers to one fragment
2023-09-27 10:50:38 -04:00
Charles Lombardo 481f91cc34 android: Correctly reload settings file during reset
Previously the config file wasn't being recreated when resetting all settings. Now just call into native code to recreate the settings file and reload all defaults.
2023-09-27 01:15:57 -04:00
Charles Lombardo feebdc9779 Qt: Remove ability to install xci files 2023-09-26 18:56:20 -04:00
Charles Lombardo a29e26200f android: Remove ability to install xci files 2023-09-26 18:56:19 -04:00
Charles Lombardo 75180bdc9d
Merge pull request #11602 from t895/case-fix
android: Content install lowercase fix
2023-09-26 14:07:12 -04:00
Charles Lombardo cf44be1de6 android: Adjust failure dialogs for user data and firmware installers 2023-09-26 13:59:46 -04:00
Charles Lombardo 95a31b8887 android: Fix cancel behavior on indeterminate progress dialog fragment
The dialog would previously dismiss immediately when it should stay alive until the task is cancelled completely.
2023-09-26 13:27:28 -04:00
Charles Lombardo c8673a16bb android: Refactor zip code into FileUtil 2023-09-26 13:26:20 -04:00
liamwhite 195d0a93b5
Merge pull request #11599 from lat9nq/aud-bknd-fix
settings_setting: Read audio engine
2023-09-26 01:01:20 -04:00
Charles Lombardo 3491ba4a06 android: Use a different string for the content install dialog 2023-09-26 00:26:46 -04:00
Charles Lombardo 5326ea63e5 android: Fix case bug for installing game content
The C++ side never made the filename lowercase when checking the extension. This just passes the pre-prepared extension to have it checked.
2023-09-26 00:25:20 -04:00
Charles Lombardo e9e6296893 android: Consolidate installers to one fragment
This also allows save imports to happen without starting a game at first.
2023-09-25 23:48:28 -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
Liam 00a612eaea fsp-srv: add GetFileSystemAttribute 2023-09-25 21:40:23 -04:00
Charles Lombardo 4e855be38b
Merge pull request #11594 from t895/rotation-fix
android: Prevent nav bar shade from laying out across screen
2023-09-25 20:57:33 -04:00
Charles Lombardo 69ba29e518
Merge pull request #11597 from t895/drawer-fix
android: Navigation drawer lock mode fix
2023-09-25 20:57:06 -04:00
Charles Lombardo 3d03e8b806 android: Prevent click ripple from appearing on loading card 2023-09-25 18:33:21 -04:00
Charles Lombardo ff9d8dd0b3 android: Remove bottom attribute from navigation view
Using the "bottom" attribute would break the navigation view and prevent things like rounded corners and lock modes from being applied properly.
2023-09-25 18:31:23 -04:00
Charles Lombardo 38b939b2e9 android: Prevent nav bar shade from laying out across screen 2023-09-25 18:10:58 -04:00
Charles Lombardo a19f62e636
Merge pull request #11583 from t895/overlay-fix-2
android: Use measured size of view for input overlay bounds
2023-09-25 10:27:09 -04:00
GPUCode b60013b277 host_shaders: More proper handling of x2 MSAA copies 2023-09-25 09:20:32 -04:00
GPUCode 5e4938ab1a renderer_vulkan: Implement MSAA copies 2023-09-25 09:20:32 -04:00
liamwhite 854457a392
Merge pull request #11225 from FernandoS27/no-laxatives-in-santas-cookies
Y.F.C: Rework the Query Cache.
2023-09-25 09:18:29 -04:00
Charles Lombardo 0d7d3d938c android: Use measured size of view for input overlay bounds
Even after updating the androidx window library, this did not fix the issue for all devices. This ensures that the measured size of the overlay will be used instead of a potentially larger one seen by androidx.
2023-09-24 22:18:38 -04:00
liamwhite 37a4a6751a
Merge pull request #11569 from german77/lle_applet
service: am: Add support for LLE Mii Edit Applet
2023-09-24 10:50:38 -04:00
liamwhite 93a1cd75fe
Merge pull request #11562 from GPUCode/srgb-madness
vk_texture_cache: Limit srgb block to transcoding only
2023-09-24 10:50:28 -04:00
liamwhite b356909212
Merge pull request #11165 from Morph1984/ds_blit
vulkan_device: Return true if either depth/stencil format supports blit
2023-09-24 10:50:04 -04:00
german77 bb28f4a0c4 service: mii: Limit checks to string size 2023-09-23 20:14:37 -06:00
german77 0993c71335 service: hid: Set last connected controller as active 2023-09-23 20:14:37 -06:00
german77 6e1b113c89 service: am: Stub to exit applet cleanly 2023-09-23 20:14:37 -06:00
german77 c46f54b091 service: am: Implement stuff needed for Mii Edit 2023-09-23 20:14:33 -06:00
german77 3983ce9b5c service: fsp: Implement CreateSaveDataFileSystemBySystemSaveDataId and OpenSaveDataFileSystemBySystemSaveDataId 2023-09-23 20:13:36 -06:00
german77 d2cd08e3e1 service: ns: Implement GetSharedFontInOrderOfPriorityForSystem 2023-09-23 20:13:36 -06:00
german77 bb4ae5ee53 yuzu: Add button to boot mii edit from firmware 2023-09-23 20:13:36 -06:00
Fernando Sahmkow 57d8cd6c40 Query Cache: Fix Prefix Sums 2023-09-23 23:05:30 +02:00
Fernando Sahmkow bf0d6b8806 Query Cache: Fix behavior in Normal Accuracy 2023-09-23 23:05:30 +02:00
Fernando Sahmkow a07c88e686 Query Cache: Simplify Prefix Sum compute shader 2023-09-23 23:05:30 +02:00
Fernando Sahmkow c8237d5c31 Query Cache: Implement host side sample counting. 2023-09-23 23:05:30 +02:00
Fernando Sahmkow 2fea1b8407 Query Cache: Fix guest side sample counting 2023-09-23 23:05:30 +02:00
Fernando Sahmkow 282ae8fa51 Query Cache: address issues 2023-09-23 23:05:30 +02:00
Fernando Sahmkow aa6587d854 QueryCache: Implement dependant queries. 2023-09-23 23:05:29 +02:00
Fernando Sahmkow 57401589c2 Macro HLE: Add DrawIndirectByteCount 2023-09-23 23:05:29 +02:00
Fernando Sahmkow f1a2e36711 Query Cachge: Fully rework Vulkan's query cache 2023-09-23 23:05:29 +02:00
Fernando Sahmkow bdc01254a9 Query Cache: Setup Base rework 2023-09-23 23:05:29 +02:00
Fernando S ace91dd0c0
Merge pull request #11567 from liamwhite/fixing-my-error
emit_spirv: fix incorrect use of descriptor index in image atomics
2023-09-23 13:00:31 +02:00
Charles Lombardo 2921a24268
Merge pull request #11573 from t895/import-fix
android: Use smaller read buffer size for exporting user data
2023-09-22 22:02:06 -04:00
Charles Lombardo 5269a46399 android: Use smaller read buffer size for exporting user data
The File.readBytes() extension attempts to load an entire file into a byte array. This would cause crashes when loading huge files into memory.
2023-09-22 16:51:48 -04:00
Charles Lombardo 33e2dce715
Merge pull request #11572 from t895/import-heuristic
android: Adjust valid user data check
2023-09-22 14:53:39 -04:00
Charles Lombardo f3bc7354b1 android: Adjust valid user data check 2023-09-22 12:05:44 -04:00
liamwhite bd5ae33153
Merge pull request #11561 from german77/hle_applet
am: mii_edit: Implement DB operations
2023-09-22 09:56:14 -04:00
liamwhite 16f1592e50
Merge pull request #11557 from GPUCode/brr-format
renderer_vulkan: Correct component order for A4B4G4R4_UNORM
2023-09-22 09:56:04 -04:00
liamwhite fda08cbbb0
Merge pull request #11563 from Kelebek1/dma_regs
Fix DMA engine register offsets
2023-09-22 09:55:54 -04:00
Liam 1e24d02434 emit_spirv: fix incorrect use of descriptor index in image atomics 2023-09-22 00:39:09 -04:00
Narr the Reg a57ca3fb66 am: mii_edit: Implement DB operations 2023-09-21 18:21:39 -06:00
Charles Lombardo c619199bb4
Merge pull request #11564 from t895/overlay-inset-fix
android: Update androidx window library to 1.2.0-beta03
2023-09-21 19:15:36 -04:00
Charles Lombardo 703bf7cfce android: Update androidx window library to 1.2.0-beta03
Fixes an issue with the input overlay on certain devices where the controls would appear offscreen.
2023-09-21 17:36:14 -04:00
Kelebek1 4f69be8169 Fix DMA engine register offsets 2023-09-21 20:21:00 +01:00
GPUCode b6ad7e263b vk_texture_cache: Limit srgb block to transcoding only 2023-09-21 21:46:35 +03:00
liamwhite 9e9cb28471
Merge pull request #11555 from yuzu-emu/revert-11551-allow-save-imports-always
Revert "android: Allow save imports always"
2023-09-21 09:21:19 -04:00
liamwhite 2ffea42ec8
Merge pull request #11553 from rkfg/pfs-fix
pfs: Fix reading filenames past the buffer end
2023-09-21 09:21:08 -04:00
GPUCode 4a59dc2947 renderer_vulkan: Correct component order for A4B4G4R4_UNORM 2023-09-21 15:33:44 +03:00
Charles Lombardo c644c1a90a
Revert "android: Allow save imports always" 2023-09-21 02:57:28 -04:00
rkfg 753bc3a448 pfs: Fix reading filenames past the buffer end 2023-09-21 05:12:05 +03:00
Charles Lombardo c708643972
Merge pull request #11551 from t895/allow-save-imports-always
android: Allow save imports always
2023-09-20 18:32:31 -04:00
Charles Lombardo a85325f56a android: Remove unused strings related to the save manager 2023-09-20 15:01:03 -04:00
Charles Lombardo bdb4fd208f android: Allow importing saves even if no saves are found
Exporting still won't be allowed on an empty save directory.
2023-09-20 15:00:34 -04:00
Charles Lombardo 1fae4a01a8
Merge pull request #11543 from t895/import-export-user-data
android: Add import/export buttons for user data
2023-09-20 10:17:24 -04:00
Kelebek1 8992a62da4 Reduce core timing mutex contention 2023-09-19 23:10:03 +01:00
Charles Lombardo 1e740df9b8 android: Add import/export buttons for user data 2023-09-19 15:54:47 -04:00
Squall-Leonhart 02b897ce27 Reuse part of my previous idea to to use num_levels to check within AdjustMipBlockSize
The partial revert was not enough for Tsukihime, this might do the trick
2023-09-20 03:27:13 +10:00
liamwhite df56ecc318
Merge pull request #11542 from t895/touch-offset-fix
android: Screen orientation and aspect ratio fixes
2023-09-19 09:25:09 -04:00
liamwhite 49cb89e324
Merge pull request #11526 from german77/mii_service_v2
service: mii: Update implementation Part2 - Mii database support
2023-09-19 09:24:49 -04:00
liamwhite da8cbbf958
Merge pull request #11536 from abouvier/renderdoc
cmake: prefer system renderdoc header
2023-09-19 09:24:36 -04:00
liamwhite 55087ab08a
Merge pull request #11538 from cathyjf/renderdoc-check-correct-win32-symbol
renderdoc: Check for `_WIN32` symbol rather than `WIN32`
2023-09-19 09:24:23 -04:00
liamwhite d7e8926ff6
Merge pull request #11540 from liamwhite/aoc-ec
aoc: stub purchase info calls
2023-09-19 09:24:08 -04:00
Charles Lombardo 7dd3d1b8ad android: Ignore validation layers library in git 2023-09-19 00:31:43 -04:00
Charles Lombardo fd09784231 android: Don't pause emulation when entering PiP 2023-09-19 00:31:43 -04:00
Charles Lombardo 3b612cff28 android: Fix showing input overlay in PiP 2023-09-19 00:31:43 -04:00
Charles Lombardo 32d65fc8de android: Properly update emulation surface
Previously the emulation surface wasn't being updated during configuration changes and only during specific view events. This would break input and the screen dimensions after each orientation/aspect ratio change. Now a new surface is provided every time and the display dimensions are updated as needed.
2023-09-19 00:31:43 -04:00
Liam 3ff29de4a1 aoc: stub purchase info calls 2023-09-18 16:20:53 -04:00
Cathy J. Fitzpatrick 9fef6560f0
renderdoc: Check for `_WIN32` symbol rather than `WIN32` 2023-09-18 12:09:51 -07:00
german77 dca36ebb87 service: mii: Address review comments 2023-09-18 11:08:04 -06:00
Alexandre Bouvier f93f31f4ae cmake: prefer system renderdoc header 2023-09-18 18:35:20 +02:00
liamwhite 974380fe10
Merge pull request #11258 from Squall-Leonhart/Z16_Assert_Fix
Fix a logged assert in the format lookup table for Z16
2023-09-18 09:31:05 -04:00
liamwhite d6cf54dd2f
Merge pull request #11520 from Kelebek1/estimated_time
Do not consider voice commands in time estimation, fix adpcm estimate
2023-09-18 09:30:56 -04:00
Squall Leonhart 79f0202045
Partial revert of #10433
The If block in this change was causing some 2D textures to be treated as if their mip 0 was a 3D Slice, this could be ascertained as the same texture viewed from different distances would render fine, but then close up would look like a decoding failure.

It also resulted in some 3D ASTC textures not being scaled appropriate leading to broken graphical effects such as the jagged TOTK recall animation being a circle, as the If block was only accepting the image based on its original info without any adjustments applied.
2023-09-18 23:28:53 +10:00
Kelebek1 5d7571114e Do not consider voice commands in time estimation, fix adpcm estimate 2023-09-18 10:38:14 +01:00
german77 2fb71aecb0 service: mii: Implement the rest of the service 2023-09-17 16:06:25 -06:00
german77 9a878de33f service: mii: Implement database manager 2023-09-17 16:06:25 -06:00
german77 a50b50f8b4 service: mii: Implement figurine database 2023-09-17 16:06:25 -06:00
german77 bd409c3416 service: mii: Add device crc16 2023-09-17 16:06:25 -06:00
german77 2f22b53732 service: nfc: Fully Implement GetRegisterInfoPrivate 2023-09-17 16:06:25 -06:00
german77 1e8616bd01 service: mii: Complete structs and fix mistakes 2023-09-17 16:06:23 -06:00
Charles Lombardo e3c546a1ed android: Export PiP receiver on API 33 and later
Could cause crashes on API 33+ devices
2023-09-17 17:33:33 -04:00
Narr the Reg e18ff5cb4e
Merge pull request #11529 from lat9nq/no-oob-names-pls
mii_types: Remove null terminator check
2023-09-17 14:27:44 -06:00
lat9nq 77682aabd3 mii_types: Remove null terminator check
This is an OoB array access, causing a crash on at least the Linux
Flatpak releases.

Co-authored-by: german77 <juangerman-13@hotmail.com>
2023-09-17 15:23:57 -04:00
liamwhite 2fe92436b9
Merge pull request #11524 from t895/signing-ci
android: Set up signing config for release builds
2023-09-17 10:42:57 -04:00
liamwhite e1b79610f8
Merge pull request #11522 from liamwhite/vfs-needs-results
registered_cache: correct file deletion case
2023-09-17 10:42:51 -04:00
liamwhite 474739a379
Merge pull request #11460 from Kelebek1/hw_opus
Reimplement HardwareOpus
2023-09-17 10:42:44 -04:00
Charles Lombardo 67eeb05692 android: Set up signing config for release builds 2023-09-17 01:22:16 -04:00
Charles Lombardo 4d28e60694
Merge pull request #11523 from t895/shader-workers
android: Use 1 worker for shader compilation for all devices
2023-09-16 22:36:43 -04:00
Charles Lombardo af0c1b0cb7 android: Use 1 worker for shader compilation for all devices 2023-09-16 21:38:28 -04:00
Charles Lombardo 7282976de3
Merge pull request #11521 from t895/content-install-fix
android: Collect task state once view is created
2023-09-16 19:51:29 -04:00
Liam 13a7a297bb registered_cache: correct file deletion case 2023-09-16 18:25:17 -04:00
Charles Lombardo c484a61515 android: Collect task state once view is created
Before the viewLifecycleOwner wasn't ready and would cause a crash
2023-09-16 17:15:20 -04:00
Fernando Sahmkow b99f94a7ff Vulkan: add temporary workaround for AMDVLK 2023-09-16 11:59:20 -04:00
Fernando Sahmkow 6a1ecab2dd Vulkan: Implement Depth Bias Control 2023-09-16 11:58:55 -04:00
Kelebek1 67e2d5c28b Reimplement HardwareOpus 2023-09-16 11:56:25 -04:00
liamwhite 9912704234
Merge pull request #11519 from german77/system-policy
service: hid: Implement ApplyNpadSystemCommonPolicy
2023-09-16 11:40:42 -04:00
liamwhite fe771b59f4
Merge pull request #11518 from german77/bad-npad
service: hid: Implement last active Npad and fix some errors.
2023-09-16 11:40:35 -04:00
liamwhite d26c76180d
Merge pull request #11517 from german77/amiibo-format
service: nfc: Fix amiibo formatting
2023-09-16 11:40:26 -04:00
liamwhite 62d473305d
Merge pull request #11500 from liamwhite/debug-stuff
core: improve debug workflow
2023-09-16 11:40:17 -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
liamwhite 7f705870d2
Merge pull request #11483 from FearlessTobi/save-size-max
am: Stub GetSaveDataSizeMax
2023-09-16 11:39:56 -04:00
liamwhite 821037e18f
Merge pull request #11475 from GPUCode/renderdoc-hotkey
debug: Add renderdoc capture hotkey
2023-09-16 11:39:50 -04:00
german77 a3f235f8a2 service: hid: Implement ApplyNpadSystemCommonPolicy 2023-09-16 08:38:10 -06:00
Merry f70bafff1a core_timing: Attempt to reduce heap sifting 2023-09-16 07:42:45 +01:00
Merry 3ad7eec9de core_timing: Use a fibonacci heap 2023-09-16 07:42:45 +01:00
Merry 7135bdc3bd vcpkg: Add boost.heap 2023-09-16 07:42:45 +01:00
german77 260bfc4bd2 hid: service: Remove outdated field from npad 2023-09-16 00:31:45 -06:00
german77 8950fe79ad hid: service: Implement Last active Npad 2023-09-16 00:31:19 -06:00
german77 c8b9467f50 service: hid: Ensure state is correct 2023-09-16 00:31:09 -06:00
german77 0d4aa9125e service: nfc: Fix amiibo formatting 2023-09-15 22:02:57 -06:00
Charles Lombardo aa6afb0cfe
Merge pull request #11508 from t895/audio-mute
android: Remove settings interface specifically for audio mute
2023-09-15 00:00:56 -04:00
Charles Lombardo 832a2fcc69 android: Remove settings interface specifically for audio mute 2023-09-14 23:46:19 -04:00
Charles Lombardo 958bed4545
Merge pull request #11507 from t895/emulation-stop-fix
android: Return the correct status code on emulation stop
2023-09-14 23:22:00 -04:00
Charles Lombardo 0c688b0bf5
Merge pull request #11506 from t895/icon-fix
android: Use resource as shortcut intermediary
2023-09-14 23:21:45 -04:00
Charles Lombardo 7e2bd395bc android: Return the correct status code on emulation stop 2023-09-14 23:08:06 -04:00
Charles Lombardo 19053ab631
Merge pull request #11505 from t895/config-patch
android: Don't reinitialize settings on emulation start
2023-09-14 22:20:45 -04:00
Charles Lombardo 6481f4e937 android: Use resource as shortcut intermediary
Fixes issue where the shortcut icon would appear cropped on certain devices
2023-09-14 22:19:08 -04:00
Charles Lombardo d1deff6b07
Merge pull request #11504 from t895/emu-args
android: Fix emulation to settings navigation args
2023-09-14 21:25:58 -04:00
Charles Lombardo e8aaab2fc1 android: Don't reinitialize settings on emulation start
Config is already initialized on application start
2023-09-14 21:25:17 -04:00
Charles Lombardo 21b133de40 android: Fix emulation to settings navigation args 2023-09-14 20:24:43 -04:00
Charles Lombardo 0c55248f92
Merge pull request #11503 from t895/stateflow-patch
android: Delay collecting UI state in games fragment
2023-09-14 20:23:49 -04:00
Charles Lombardo b394389170 android: Delay collecting UI state in games fragment 2023-09-14 20:02:48 -04:00
Charles Lombardo 5eceab3ce6
Merge pull request #11425 from t895/stateflows
android: Use StateFlow instead of LiveData
2023-09-14 16:54:21 -04:00
Liam 3ef9673360 core: improve debug workflow 2023-09-14 16:44:15 -04:00
Charles Lombardo 8baed5d95d android: Refactor menu tags to enum 2023-09-14 15:18:56 -04:00
Charles Lombardo 4a3cbf0021 android: Use StateFlow instead of LiveData 2023-09-14 15:18:56 -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 5d52d73c4b shared_widget: Use default literals more 2023-09-14 11:31:26 -04: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 48dec7e0c9
Merge pull request #11479 from Kelebek1/check_all_fbs
Look for the most recently modified image for present
2023-09-14 09:24:27 -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
liamwhite eb4ddb2868
shader_recompiler: skip sampler for buffer textures (#11435) 2023-09-14 15:23:50 +02: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
liamwhite 8fb9f78e83
Merge pull request #11385 from liamwhite/acceptcancel
internal_network: cancel pending socket operations on application process termination
2023-09-13 15:40:58 -04:00
lat9nq c2961454fe cmd/yuzu: Remove uncaught usage of stoi
Also fixes a style inconsistency
2023-09-13 13:52:09 -04:00
lat9nq 5ffa1049ae cmd/config: Remove uncaught usage of stoul 2023-09-13 13:52:09 -04:00
lat9nq 3ae3706c84 shared_widget: Forward-port Citra changes
Seemed like a good time to move these over.
Also remove usage of std::sto{l,ll,ul,f,d}
2023-09-13 13:52:09 -04:00
lat9nq 2d2c176f03 configure_ui: Remove unnecessary usage of stoul 2023-09-13 13:52:09 -04:00
lat9nq 0eef4a6c94 cheat_engine: Remove uncaught usage of stoul 2023-09-13 13:51:58 -04:00
lat9nq 22be3008f8 ips_layer: Remove uncaught usage of stoul/ll 2023-09-13 13:36:25 -04:00
lat9nq 7f98f4a38b key_manager: Remove uncaught usage of stoul 2023-09-13 13:36:25 -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
lat9nq 85e1754728 android/config: Remove uncaught usage of stoul 2023-09-13 13:36:25 -04:00
liamwhite 3f52b5167b
Merge pull request #11486 from liamwhite/system-verification
qt: add verification for installed contents
2023-09-13 09:39:27 -04:00
liamwhite 5b5c69b8f6
Merge pull request #11480 from german77/mii_service
service: mii: Update implementation Part1
2023-09-13 09:39:16 -04:00
liamwhite 9a0ea90018
Merge pull request #11473 from liamwhite/fix-launch-param
am: Implement UserChannel parameters
2023-09-13 09:39:06 -04:00
Liam f8985d1cc5 qt: add verification for installed contents 2023-09-12 09:20:50 -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
Narr the Reg 4d138b760b service: mii: Remove most magic values 2023-09-11 22:07:55 -06:00
FearlessTobi a2150e456c am: Stub GetSaveDataSizeMax
Needed for Minecraft Legends.
2023-09-12 00:21:03 +02:00
FearlessTobi 1b6852a36c bsd: Demote "Select" log to dehug
This is very spammy in Minecraft Legends.
2023-09-12 00:20:42 +02:00
liamwhite 66f2947854
ci: fix msvc when used with LTO (#11459) 2023-09-11 23:25:21 +02:00
german77 ec25f847d8 mii: service: Address review 2023-09-11 09:54:32 -06:00
german77 bd169f417f mii: Prepare Interface for new implementation 2023-09-11 00:58:46 -06:00
german77 571399930c service: mii: Fix ver3 inconsistencies 2023-09-11 00:23:46 -06:00
german77 36290f9a0a service: mii: move char info operations 2023-09-10 23:18:08 -06:00
german77 d6037efe5e service: mii: Move store data operations 2023-09-10 23:18:03 -06:00
german77 81f50d5132 service: mii: Move core data operations 2023-09-10 22:52:33 -06:00
german77 8d7d62dc24 service: mii: Move ver3 operations 2023-09-10 22:42:38 -06:00
german77 27929d7ca2 service: mii: separate mii types into their own file 2023-09-10 22:18:25 -06:00
german77 63b239f5c6 service: mii: Move all raw data to it's file 2023-09-10 22:14:37 -06:00
german77 0cdc8b13b7 service: mii: Add mii util and result 2023-09-10 20:43:26 -06:00
Kelebek1 baad1238c3 Look for the most recently modified image for present 2023-09-11 03:11:29 +01:00
FearlessTobi 87c0ba129c am: Implement UserChannel parameters
Used by the Super Mairo 3D All-Stars collection.
2023-09-10 15:39:25 -04:00
liamwhite eb9e847380
Merge pull request #11450 from lat9nq/no-vk-device-fix
configure_graphics: Fix handling of broken Vulkan
2023-09-10 13:41:10 -04:00
liamwhite 5b8fdedf4d
Merge pull request #11436 from liamwhite/bad-format
shader_recompiler: always declare image format for image buffers
2023-09-10 13:40:47 -04:00
liamwhite 64130d9f01
Merge pull request #11456 from liamwhite/worse-integrity-verification
core: implement basic integrity verification
2023-09-10 13:40:39 -04:00
liamwhite 3df56dc790
Merge pull request #11465 from Kelebek1/skip_remaining_reset
[Audio] Do not reset the remaining command count each time
2023-09-10 13:40:32 -04:00
liamwhite 3b7d112c83
Merge pull request #11467 from Kelebek1/fix_decode
[audio] Fix data source version 1 command looping
2023-09-10 13:40:25 -04:00
liamwhite b011ce023d
Merge pull request #11470 from GPUCode/bundle-vvl
android: Add option to bundle validation layer
2023-09-10 13:40:18 -04:00
FearlessTobi 36917d8a8f am: Remove bcat from PopLaunchParameter
This never belonged here and has no use anymore since the Boxcat backend was removed.

.
2023-09-09 20:44:05 -04:00
GPUCode 24ab10c2f6
vk_buffer_cache: Respect max vertex bindings in BindVertexBuffers (#11471) 2023-09-10 02:19:45 +02:00
GPUCode cad28abe61 renderer_vulkan: Remove debug report
* VVL has implemented the more modern alternative, thus we don't need to support it anymore
2023-09-08 23:28:46 +03:00
GPUCode 254b2bd9df cmake: Add option to fetch validation layer binary on android 2023-09-08 23:13:52 +03:00
Liam 7bec8d1c5b internal_network: log error on interrupt pipe read failure 2023-09-08 14:00:07 -04:00
Kelebek1 800d6f7d0d Fix data source version 1 command looping 2023-09-08 15:03:21 +01:00
Kelebek1 4baaaf6a99 Do not reset the command buffer command count each time 2023-09-07 20:53:48 +01:00
liamwhite bbfd9eb428
Merge pull request #11464 from german77/mama_mii
service: mii: Fix broken mii on MK8
2023-09-07 14:20:24 -04:00
Narr the Reg 57e7eed54c service: mii: Fix broken mii on MK8 2023-09-07 11:46:12 -06:00
Feng Chen e69eebb14a video_core: Fix d24r8/s8d24 convert shader build error in moltenvk 2023-09-07 18:01:36 +08:00
Feng Chen 0145c89879 video_core: Add missing scissor update when viewport scale offset disable 2023-09-07 18:01:30 +08:00
xcfrg a02d641042
add a compile time option to allow disabling portable mode 2023-09-06 18:53:39 -04:00
Liam 716e0a126a core: implement basic integrity verification 2023-09-06 16:49:27 -04:00
liamwhite 69949e7964
Merge pull request #11428 from Kelebek1/adsp_rework
Rework ADSP into a wrapper for apps
2023-09-06 09:13:06 -04:00
liamwhite 5e424d791b
Merge pull request #11434 from danilaml/fix-warnings
msvc: set warning level to /W4 globally
2023-09-06 09:12:58 -04:00
liamwhite 70790711d2
Merge pull request #11437 from liamwhite/dump-shenanigans
qt: measure romfs dump completion by bytes read
2023-09-06 09:12:49 -04:00
liamwhite d2e519494f
Merge pull request #11451 from german77/mob_mii
service: mii: Fix default mii database
2023-09-06 09:12:33 -04:00
lat9nq d8943e5bac yuzu-qt: Use Null when OpenGL is not compiled 2023-09-05 17:59:44 -04:00
lat9nq e4ebabcd5b yuzu-qt: Update API Text for broken Vulkan
Otherwise caused a blue Vulkan badge to appear in the status bar.
2023-09-05 17:59:10 -04:00
lat9nq d078cff269 configure_graphics: Capture by reference
Small optimization.
2023-09-05 17:50:55 -04:00
Steveice10 0a51fe7854
core: Add support for loading NSPs with personalized tickets. (#10048)
Co-authored-by: Morph <39850852+Morph1984@users.noreply.github.com>
2023-09-05 21:09:42 +02:00
german77 ba4e5068bc service: mii: Fix default mii database 2023-09-05 01:17:06 -06:00
lat9nq ea46efd9a2 configure_graphics: Fix handling of broken Vulkan
The VSync combobox wouldn't populate if there was no Vulkan device,
which caused issues with trying to set VSync on other backends.

This also adds another layer to GetCurrentGraphicsBackend to check for
broken Vulkan and return OpenGL instead of Vulkan.
2023-09-04 20:21:14 -04:00
Kelebek1 ebd19dec99 Rework ADSP into a wrapper for apps 2023-09-04 17:12:16 +01: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 8a9d4936d4 qt: measure romfs dump completion by bytes read 2023-09-02 22:04:37 -04:00
Liam ba4b65e4bc shader_recompiler: always declare image format for image buffers 2023-09-02 17:25:00 -04:00
liamwhite c24ed3ecaf
Merge pull request #11427 from zhaobot/tx-update-20230901020727
Update translations (2023-09-01)
2023-09-02 14:42:58 -04:00
liamwhite 1971403ab7
Merge pull request #11381 from liamwhite/romfs-dump
qt: fix romfs dumping for multiprogram applications
2023-09-02 14:42:48 -04:00
liamwhite 76bddd3673
Merge pull request #11383 from FernandoS27/are-you-a-wabbit
Fix regressions that damaged compute indirect & use reinterpret for copies with different byteblocksizes
2023-09-02 14:42:42 -04:00
liamwhite 2c5e8e6d40
Merge pull request #11384 from liamwhite/am-shutdown
am: shorten shutdown timeout when lock is not held
2023-09-02 14:42:35 -04:00
liamwhite 84eb1cdb65
Merge pull request #11393 from FernandoS27/bayo-got-busted-up
Maxwell3D: Improve Index buffer size estimation.
2023-09-02 14:42:28 -04:00
liamwhite 02e2aea50d
Merge pull request #11412 from liamwhite/key-area-keys
vfs: ensure key area keys are validated
2023-09-02 14:42:20 -04:00
liamwhite 32b2436f80
general: make -fwrapv generic to all architectures (#11379) 2023-09-02 20:41:21 +02:00
Liam bdd09d6844 polyfill_thread: ensure mutex was locked before signaling stop 2023-09-02 11:51:40 -04:00
Fernando S 89a2d48cf8
Merge pull request #11430 from liamwhite/validation-error-whats-that
shader_recompiler: fix emulation of 3D textureGrad
2023-09-02 12:10:51 +02:00
Liam 9245b426e3 shader_recompiler: fix emulation of 3D textureGrad 2023-09-01 22:41:01 -04:00
The yuzu Community f8ba043a47 Update translations (2023-09-01) 2023-09-01 02:07:39 +00:00
Charles Lombardo 5ce41fa213
Merge pull request #11420 from t895/long-install-fix
android: Fix game content installer
2023-08-30 23:44:35 -04:00
Charles Lombardo 50d4e0f4f7 android: Fix game content installer
Before this would run on the main thread and freeze the device. Additionally this fixes the result dialog not appearing if a config change happens during the installation by getting the activity's fragment manager when needed.
2023-08-30 19:05:33 -04:00
Charles Lombardo d833fc383d android: Combine LongMessageDialogFragment with MessageDialogFragment 2023-08-30 18:02:16 -04:00
Charles Lombardo c5357b17e6
Merge pull request #11416 from t895/shortcuts
android: Support dynamic app shortcuts
2023-08-30 17:43:10 -04:00
Charles Lombardo b48dbb18f2 android: Support dynamic app shortcuts 2023-08-30 16:26:10 -04:00
Charles Lombardo a2f0caefd4
Merge pull request #11405 from t895/emulation-loading
android: Emulation loading UI and fixes
2023-08-30 16:24:46 -04:00
Charles Lombardo 5445e974e0 android: Separate emulation states from emulation mutex
Emulation states are repeatedly checked by input and performance stats. During startup and shutdown, this could lead to a long halt on the UI thread because the call to IsRunning will be waiting on the emulation mutex to be unlocked. Using atomics should replace the existing functionality without causing problems.
2023-08-30 15:19:23 -04:00
Charles Lombardo b0a96d5216 android: Game loading/shutting down indicators 2023-08-30 15:19:23 -04:00
liamwhite 1d07bb4ca6
Merge pull request #11419 from FearlessTobi/hwopus-2
hwopus: Implement GetWorkBufferSizeExEx
2023-08-30 14:16:39 -04:00
FearlessTobi a7a5835ffb hwopus: Implement GetWorkBufferSizeExEx
Allows Sea of Stars to boot.

Fixes https://github.com/yuzu-emu/yuzu/issues/11415.
2023-08-30 18:29:43 +02:00
Charles Lombardo 270f430f70 android: Create custom game icon loader 2023-08-30 10:19:05 -04:00
Charles Lombardo 44bce11853
Merge pull request #11380 from t895/settings-integration
android: Settings rework
2023-08-29 22:20:59 -04:00
Charles Lombardo 4701eea646 android: Don't reload settings when stopping settings activity 2023-08-29 21:44:18 -04:00
Charles Lombardo 2f03fac9a0
Merge pull request #11413 from t895/intents
android: Support intents to emulation activity
2023-08-29 20:01:52 -04:00
Charles Lombardo 21ad5f5cc5 android: Add optional androidDefault property to settings
Certain settings have specific defaults for Android only. This lets us reflect them in the Kotlin side with very little code.
2023-08-29 19:42:42 -04:00
Charles Lombardo 45280a0342 android: Proper state restoration on settings dialogs
All dialog code (except for the Date/Time ones) has been extracted out into a generic settings dialog fragment that handles everything through a viewmodel. State for each dialog will now be retained and dialogs will stay shown through configuration changes.

I won't be changing the current state of the date and time dialog fragments until Google decides to make their classes non-final or if/when we migrate to Jetpack Compose.
2023-08-29 19:42:42 -04:00
Charles Lombardo fd5c7b21dd android: Add search for settings 2023-08-29 19:42:42 -04:00
Charles Lombardo d786d19880 android: Implement paired settings
Enables and disables editing on settings that rely on other boolean settings.
2023-08-29 19:42:41 -04:00
Charles Lombardo 369d06292f android: Prevent infinite switch toggle loop
If something like a lifecycle event happens when this switch is toggled (Ex. whenever the black backgrounds switch is toggled), this could move the switch from the default position and trigger the checked changed listener and restart the loop. Here I just removed the listener at the start so we recycle the view properly still, set the checked state and then add the new listener.
2023-08-29 19:42:41 -04:00
Charles Lombardo 95a939a49f android: Migrate settings to navigation component
Consolidates all of the settings components to the fragment and activity with no interfaces and only the settings fragment presenter. This also includes new material animations and new viewmodel usage to prevent the fragment and activity directly interacting with one another.
2023-08-29 19:42:41 -04:00
Charles Lombardo f5e6b12c74 android: Trim settings enums and items
Take advantage of the new settings interface to reduce the amount of code we need for each setting item. Additionally make all settings items non-null to improve brevity.
2023-08-29 19:40:18 -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
liamwhite 3d5ecc1f08
Merge pull request #11406 from german77/sdl2-28-2
externals: Update SDL to 2.28.2
2023-08-29 09:27:54 -04:00
liamwhite 52c71e7eb6
Merge pull request #11408 from Kelebek1/fix_audio_node_id
[Audio] Fix node id index in DropVoices
2023-08-29 09:27:40 -04:00
liamwhite 1f04a3dd55
Merge pull request #11409 from liamwhite/splatoon-nsd-v2
sfdnsres: ensure lp1 is not resolved
2023-08-29 09:27:32 -04:00
liamwhite d360abadba
Merge pull request #11112 from danilaml/nvdec-deinterlace
Use initial_frame to check interlaced flag
2023-08-29 09:27:22 -04:00
Charles Lombardo 2dbe067d74 android: Support intents to emulation activity 2023-08-29 02:57:20 -04:00
Charles Lombardo 2f18fa5cd1
Merge pull request #11392 from t895/layout-troubles
android: Emulation activity fixes
2023-08-29 02:11:13 -04:00
Liam 5a09ba7255 vfs: ensure key area keys are validated 2023-08-28 22:22:00 -04:00
Liam 9df3794a83 qt: ensure packed update nca is applied to the correct base 2023-08-28 21:14:35 -04:00
Liam f260c74beb qt: fix romfs dumping for multiprogram applications 2023-08-28 21:03:21 -04:00
liamwhite 1615a86375
Merge pull request #11390 from FearlessTobi/hwopus-multi
hwopus: Implement OpenHardwareOpusDecoderForMultiStreamEx and DecodeInterleavedForMultiStream
2023-08-28 19:14:44 -04:00
liamwhite 199de26995
Merge pull request #11399 from liamwhite/cubeb-latency
audio: allow more latency in cubeb initialization
2023-08-28 19:14:33 -04:00
Liam 6c68b07a67 sfdnsres: ensure lp1 is not resolved 2023-08-28 11:55:53 -04:00
Kelebek1 1d201c71dc Fix node id index in DropVoices 2023-08-28 10:35:30 +01:00
german77 4077ff6851 externals: Update SDL to 2.28.2 2023-08-27 21:08:28 -06:00
Liam 667ec28697 Address review comments 2023-08-27 19:45:25 -04:00
Danila Malyutin 164f880f23 Use initial_frame to check interlaced flag
If final frame was transferred from GPU, it won't carry the props.

Fixes #11089
2023-08-28 00:48:53 +04:00
Fernando Sahmkow 52544933d2 Maxwell3D: Improve Index buffer size estimation. 2023-08-27 22:14:37 +02:00
Liam 954144e22b audio: allow more latency in cubeb initialization 2023-08-27 12:46:01 -04:00
FearlessTobi c2f827b85e hwopus: Implement OpenHardwareOpusDecoderForMultiStreamEx and DecodeInterleavedForMultiStream
Allows MLB The Show 22 to boot.

Fixes https://github.com/yuzu-emu/yuzu/issues/7911.
2023-08-27 18:03:10 +02:00
Charles Lombardo 037f82025c android: Don't set a default emulation orientation
Could cause unnecessary configuration change when setting an orientation other than "Landscape"
2023-08-27 00:19:03 -04:00
Charles Lombardo 338d6f29b1 android: Properly adjust emulation surface aspect ratio
Previously the emulation surface wouldn't respond properly to orientation changes. This would result in the screen appearing stretched when starting in one orientation and switching to another.

The code for calculating the bounds of the view have been changed to match the expected behavior now. Before the view would just match parent in height and width. Now instead of using setLeftTopRightBottom (which is intended to be used for animations) we pass newly calculated bounds for the view into super. Now the view bounds match the emulation output.

This also means that we don't need the overload for the SettingsActivity to launch it using an ActivityResultLauncher. We can just update the view in onResume.
2023-08-27 00:16:53 -04:00
Fernando S ada4697300
Merge pull request #11389 from FernandoS27/discard-fix
Buffer Cache: fix discard writes.
2023-08-27 04:26:59 +02:00
Fernando Sahmkow 115792158d VideoCore: Implement DispatchIndirect 2023-08-27 04:26:22 +02:00
Mario 5464423667 yuzu-qt: Track play time 2023-08-26 22:20:19 -04:00
Fernando Sahmkow 710ca3ca49 Shader Recompiler: Auto stub special registers and dump pipelines on exception. 2023-08-27 03:47:04 +02:00
Fernando Sahmkow acc99433c7 Buffer Cache: fix discard writes. 2023-08-27 03:45:43 +02: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
liamwhite 84b384fbea
Merge pull request #11359 from Kelebek1/check_suitable_backend
Pre-test for valid audio backends
2023-08-26 19:14:47 -04:00
liamwhite 3620533995
Merge pull request #11350 from BenjaminHalko/button-padding
ui: Added padding to the reset button
2023-08-26 19:14:30 -04:00
liamwhite c5105b65d5
Merge pull request #11317 from Kelebek1/macro_dumps
Mark decompiled macros on dump, dump shaders after translation
2023-08-26 19:14:25 -04:00
liamwhite 1ac2615adb
Merge pull request #11338 from comex/warning-fixes-august-2023
Warnings cleanup for GCC 13 and Clang 16
2023-08-26 19:14:17 -04:00
Liam 531572b411 internal_network: cancel pending socket operations on application process termination 2023-08-26 18:19:51 -04:00
Liam b7523d6fa7 am: shorten shutdown timeout when lock is not held 2023-08-26 17:12:05 -04:00
Fernando Sahmkow 8beda6a2bf DMA Pusher: Fix regression caused by guest memory optimizations 2023-08-26 22:00:43 +02:00
Kelebek1 d7a0b8c373 Mark decompiled macros as decompiled on dump, dump shaders after translation 2023-08-25 21:47:47 -04:00
Liam 6bb02dcb8a Skip additional mbedcrypto warnings options on MSVC 2023-08-25 19:23:34 -04:00
comex 32c453a5f1 Avoid `$<CXX_COMPILER_ID:Clang>` because it doesn't include AppleClang. 2023-08-25 19:22:31 -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
liamwhite bc4e58eb51
Merge pull request #11377 from BenjaminHalko/reverse-slider-input
ui: Fixed inverted controls on ReverseSlider widgets
2023-08-25 18:06:03 -04:00
liamwhite 8674724ef0
Merge pull request #11378 from t895/game-flag
android: Use appCategory to specify the app is a game
2023-08-25 18:05:58 -04:00
liamwhite a8edbb7019
Merge pull request #11370 from FearlessTobi/fix-filesize
filesystem: Return correct error for RenameFile when dest_path already exists
2023-08-25 18:02:54 -04:00
liamwhite d8c8fbe41f
Merge pull request #11371 from FearlessTobi/fix-cli-updates
yuzu/main: Ensure NCAs are registered in content provider when launching from CLI
2023-08-25 18:02:47 -04:00
liamwhite 234cc45192
ssl: tolerate handshake without hostname set (#11328) 2023-08-26 00:02:32 +02:00
liamwhite b923f5aa7e
registered_cache: create fake CNMT entries for program updates of multiprogram applications (#11319) 2023-08-26 00:00:15 +02:00
liamwhite 18ad55be0b
kernel: offset code entry point for 39-bit address space type (#11326) 2023-08-25 23:59:32 +02:00
Charles Lombardo 4e71628097 android: Use appCategory to specify the app is a game 2023-08-25 17:17:48 -04:00
bunnei 92e6ff30a1
Merge pull request #11357 from liamwhite/lime-vfs
android: jni: ensure NCAs from loaded filepath are registered in manual content provider
2023-08-25 13:04:22 -07:00
BenjaminHalko 2e55459e03 Updated to only the reset button 2023-08-25 10:45:42 -07:00
BenjaminHalko 8677d98a10 Updated padded style 2023-08-25 10:29:23 -07:00
BenjaminHalko 49df2b9715 ui: Fixed inverted controls on ReverseSlider widgets
fixes: #11236
2023-08-25 10:06:34 -07:00
Fernando S 2f2de400e1
Merge pull request #11375 from liamwhite/nvhost-as-gpu
nvhost_as_gpu: ensure mappings are aligned to big page size when deallocated
2023-08-25 17:04:16 +02:00
Liam 9e134c3da2 nvhost_as_gpu: ensure mappings are aligned to big page size when deallocated 2023-08-25 09:39:18 -04:00
FearlessTobi 59b3c30f94 yuzu/main: Ensure NCAs are registered in content provider when launching from CLI
Fixes updates and DLC not being loaded when launching yuzu from the command line.

Similar to https://github.com/yuzu-emu/yuzu/pull/11357.
Fixes https://github.com/yuzu-emu/yuzu/issues/8352,
2023-08-24 18:48:02 +02:00
FearlessTobi a669e37ddb filesystem: Return correct error for RenameFile when dest_path already exists
Allows Grid Autosport to boot.

Fixes https://github.com/yuzu-emu/yuzu/issues/8287.
2023-08-24 17:07:39 +02:00
liamwhite 7d89f2c146
Merge pull request #11327 from liamwhite/skyline-2
sockets: avoid locking around socket session calls
2023-08-24 10:33:53 -04:00
liamwhite 51ffc2c66c
Merge pull request #11367 from FearlessTobi/fix-filesize
game_list_worker: Display correct size for NAX games
2023-08-24 10:33:42 -04:00
FearlessTobi e41655960e game_list_worker: Display correct size for NAX games
This was a regression from https://github.com/yuzu-emu/yuzu/pull/1837.

Fixes https://github.com/yuzu-emu/yuzu/issues/1938.
2023-08-24 01:16:19 +02:00
lat9nq 1cdd11d9f5 main: Fix docked mode button, clang 14 error 2023-08-23 14:26:34 -04:00
Feng Chen cc4736fa58 video_core: set vertex buffer num to 16, because mvk have when using more than 16 2023-08-23 23:22:55 +08:00
liamwhite ccd163ab2c
Merge pull request #11352 from t895/recurse-subfolders
android: Search game directory recursively
2023-08-23 10:20:02 -04:00
Charles Lombardo 182fb83556
android: Set default build variant to mainlineRelWithDebInfo (#11358) 2023-08-23 16:12:39 +02:00
Kelebek1 39c8ddcda2 Pre-test opening a stream for audio backends, fall back to null if not suitable. 2023-08-23 08:33:26 +01:00
Liam 2c4ebeb51d android: jni: ensure NCAs from loaded filepath are registered in manual content provider 2023-08-22 22:47:25 -04:00
lat9nq 00af46c356 native: Use Docked Mode helper 2023-08-22 22:40:36 -04:00
lat9nq ce0f1baf51 main: Access by reference
Old Clang is fussy about this.
2023-08-22 22:35:55 -04:00
lat9nq 75f5b3177d config-android: Translate console mode setting
Translates the previous boolean to the enum.
2023-08-22 22:00:28 -04:00
lat9nq 3c45452fae general: Use console mode helper across project 2023-08-22 21:58:23 -04:00
lat9nq ab862207d7 settings: Add docked mode helper function 2023-08-22 21:58:09 -04:00
lat9nq 7f8335f4ae config(qt): Sanitize docked handheld controller 2023-08-22 16:07:53 -04:00
lat9nq 6ed5b581f0 shared_translation: Define use_docked_mode texts 2023-08-22 16:07:53 -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
lat9nq 8a4cb3f902 shared_widget: Implement radio groups 2023-08-22 16:07:52 -04:00
Charles Lombardo 35b77b9599 android: Search game directory recursively 2023-08-22 15:16:20 -04:00
liamwhite bc4ad5e62d
Merge pull request #11302 from vonchenplus/vulkan_macos
Add macos moltenvk bundle, Add copy moltevk dylib script
2023-08-22 13:10:26 -04:00
BenjaminHalko 0e443dcb05 fix: Added padding to buttons
Some buttons did not have enough padding, now they do!
2023-08-22 10:01:12 -07: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
liamwhite b8bab551a4
Merge pull request #11316 from FernandoS27/stop-premature-christmas-decorating
Shader Recompiler: implement textureGrad 3D
2023-08-22 11:30:08 -04:00
liamwhite a9f223cd9f
Merge pull request #11346 from t895/ktlint-fix
android: lint: Delete generated ktlint folder between builds
2023-08-22 11:30:01 -04:00
Feng Chen 87022a4833 Add macos moltenvk bundle, Add copy moltevk dylib script 2023-08-22 10:22:28 +08:00
Charles Lombardo 1bc832c9b1 android: lint: Delete generated ktlint folder between builds
There's a bug in ktlint where it will run into an error if you build the project, delete a source file, and then build again. It will be unable to find the file you deleted and can't recover until these files are deleted. This just deletes those files before every run.
2023-08-21 17:31:13 -04:00
Charles Lombardo df00da1760
android: Show associated value in home settings (#11272) 2023-08-21 22:25:11 +02:00
liamwhite 9d6ac28999
Merge pull request #11309 from liamwhite/full-xci
file_sys/card_image: support dumps with prepended key area
2023-08-21 16:09:22 -04:00
liamwhite a921851ba6
Merge pull request #11342 from liamwhite/skyline-4
patch_manager: apply manual HTML patches when present
2023-08-21 16:09:15 -04:00
liamwhite 18c08cee43
Merge pull request #11149 from ameerj/astc-perf-prod
host_shaders: ASTC compute shader optimizations
2023-08-21 16:08:51 -04:00
Charles Lombardo 062113374d
android: Use sensor landscape for landscape mode (#11337) 2023-08-21 21:56:12 +02:00
Liam 133ff3989b patch_manager: apply manual HTML patches when present 2023-08-21 10:58:23 -04:00
Fernando S 861597eb2e
Merge pull request #11284 from liamwhite/nca-release
vfs: expand support for NCA reading
2023-08-21 16:29:04 +02:00
Liam 0cd9d51e06 sockets: avoid locking around socket session calls 2023-08-19 23:09:35 -04:00
Fernando S 6a5db5679b
Merge pull request #11320 from Kelebek1/mask_depthstencil_clear
Support masked depthstencil clears
2023-08-19 17:28:28 +02:00
Kelebek1 f2f99a8c31 Masked depthstencil clears 2023-08-19 03:29:46 +01:00
Fernando Sahmkow c03f0b3c89 Shader Recomnpiler: implement textuzreGrad 3D emulation constant propagation 2023-08-18 22:17:02 -04:00
liamwhite ae1421265a
Merge pull request #11278 from Kelebek1/dma_sync
Mark accelerated DMA destination buffers and images as GPU-modified
2023-08-18 09:12:27 -04:00
liamwhite 314d3858a1
Merge pull request #11288 from liamwhite/svc-tick
kernel: remove relative task registration
2023-08-18 09:12:19 -04:00
liamwhite 0383ae1dbf
Merge pull request #11310 from vonchenplus/vulkan_format
video_core: Fix vulkan format assert error
2023-08-18 09:12:11 -04:00
Feng Chen 1dcb0c2232 video_core: Fix vulkan assert error 2023-08-18 14:40:11 +08:00
Liam 8be3a041e0 file_sys/card_image: support dumps with prepended key area 2023-08-17 22:03:47 -04:00
liamwhite ddedaa8875
Merge pull request #10989 from comex/epipe
sockets: Improve behavior when sending to closed connection
2023-08-17 11:59:47 -04:00
liamwhite 0e3a995bf4
cmake: mark warning disable for gcc 11 (#11301) 2023-08-17 16:03:34 +02:00
lat9nq 6af8cca2c1 uisettings: Add TODO for stretched aspect being ignored 2023-08-16 22:57:19 -04:00
Liam 775bf8e215 file_sys: tolerate empty NCA 2023-08-16 16:30:41 -04:00
lat9nq e28b936950 configure_ui: Silence MSVC warning 2023-08-16 16:28:44 -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 76a03e99b6 bootmanager: Remove old path
Causes issues with different selected aspect ratios in graphics.
2023-08-16 00:18:16 -04:00
lat9nq 95409c6859 configure_ui: Update the screenshots data 2023-08-15 23:08:02 -04:00
lat9nq 227950ac99 config: Read the entire screenshots category 2023-08-15 23:07:49 -04:00
lat9nq bc5ec10498 bootmanager: Consider the default resolution 2023-08-15 22:57:38 -04:00
lat9nq d9275b7757 yuzu-qt: Enable specifying screenshot resolution 2023-08-15 22:42:28 -04:00
lat9nq 3e28e85468 settings: Add AspectRatio enum, split res scale function 2023-08-15 22:41:50 -04:00
comex 755bcc459b Improve behavior when sending to closed connection
- On Unix, this would previously kill the Yuzu process with SIGPIPE.
  Send MSG_NOSIGNAL to opt out of this.

- Add support for the proper error code in this situation, EPIPE.

- Windows has nonstandard behavior in this situation; translate it to
  the standard behavior.  Kind of pointless, but isn't it nice to be
  correct?
2023-08-15 20:59:57 -04:00
Liam 50eee9b218 fssystem: rework for yuzu style 2023-08-15 17:47:40 -04:00
Liam 0398b34370 fssystem: reduce overalignment of unbuffered storage operations 2023-08-15 17:47:25 -04:00
Liam 86f6b6b7b2 vfs: expand support for NCA reading 2023-08-15 17:47:25 -04:00
Fernando S a8c4f01f6c
Merge pull request #11287 from liamwhite/replaced-bytes
gdbstub: fixup replaced instruction bytes in memory reads
2023-08-15 15:36:14 +02:00
bunnei 6d665a94ea
Merge pull request #11256 from FearlessTobi/revert-10075
Partially Revert "Silence nifm spam"
2023-08-14 16:28:13 -07:00
bunnei bbc6b08fc7
Merge pull request #11273 from t895/setup-completion
android: Setup additions
2023-08-14 15:41:35 -07:00
Liam 0bd9a4456c kernel: remove relative task registration 2023-08-14 18:12:06 -04:00
Liam fbda084acb gdbstub: fixup replaced instruction bytes in memory reads 2023-08-14 16:33:27 -04:00
FearlessTobi 2694f81462 Revert "Silence nifm spam"
This reverts commit 4da4ecb1ff.
2023-08-14 21:23:09 +02:00
bunnei d5adaeafdf
Merge pull request #11271 from t895/settings-tweaks
android: Settings tweaks
2023-08-14 11:44:38 -07:00
liamwhite 58a4c86797
Merge pull request #11282 from ameerj/glasm-xfb
gl_graphics_pipeline: GLASM: Fix transform feedback with multiple buffers
2023-08-14 09:19:20 -04:00
liamwhite 35a77c3bb2
Merge pull request #11283 from ameerj/glasm-pipeline-detection
gl_graphics_pipeline: Fix GLASM storage buffer detection
2023-08-14 09:19:10 -04:00
liamwhite c1016b68ae
Merge pull request #11281 from liamwhite/vi-scale-mode
nvnflinger: add missing scale mode
2023-08-14 09:19:03 -04:00
liamwhite b30df50076
Merge pull request #11259 from german77/hid
service: hid: Implement functions needed by QLaunch
2023-08-14 09:18:55 -04:00
liamwhite 5afe1367ba
Merge pull request #11263 from liamwhite/my-feature-branch
vulkan_device: disable features associated with unloaded extensions
2023-08-14 09:18:47 -04:00
liamwhite 24700af3c2
Merge pull request #11264 from liamwhite/stray-code
ssl_backend_securetransport: remove stray .Code()
2023-08-14 09:18:32 -04:00
Ameer J d1c878fb41 gl_texture_cache: Enable async downloads 2023-08-13 23:17:59 -05:00
Ameer J 9b112107e2 gl_buffer_cache: Enable async downloads 2023-08-13 23:17:54 -05:00
Ameer J 48b87d64de gl_staging_buffer_pool: Refactor allocation variables into a struct 2023-08-13 23:17:47 -05:00
Ameer J f9ef721ca6 gl_graphics_pipeline: Fix GLASM storage buffer detection 2023-08-13 17:06:45 -04:00
Ameer J c34ed4bbd8 gl_graphics_pipeline: GLASM: Fix transform feedback with multiple buffers 2023-08-13 16:50:01 -04:00
Liam 7351884588 nvnflinger: add missing scale mode 2023-08-13 13:57:02 -04:00
Kelebek1 5a37b8f2c1 Mark accelerted DMA destination buffers and images as GPU-modified 2023-08-13 02:22:39 +01:00
Charles Lombardo 242ce2a0b3 android: Page forward on setup step completion 2023-08-12 20:21:47 -04:00
Charles Lombardo 8ab3685a39 android: Adjust setup fragment layout
Fixes padding issues in small and large layouts and allows viewpager to reach into system insets.
2023-08-12 17:02:59 -04:00
Charles Lombardo 8bd0521b58 android: Show complete indicator during setup 2023-08-12 16:53:14 -04:00
Charles Lombardo 64ea5522d3 android: Remove redundant option from slider dialog
You can already reset any setting by long pressing the settings item.
2023-08-12 15:45:27 -04:00
Charles Lombardo 798a439eb1 android: Reduce opacity of non-editable settings 2023-08-12 15:42:55 -04:00
Charles Lombardo 786b609151 android: Use string resource for slider value/units 2023-08-12 15:42:54 -04:00
Charles Lombardo 89a2d308c3 android: Display setting value in setting list items 2023-08-12 14:38:46 -04:00
Charles Lombardo 0d4bf53ad9 android: Set switch listener before assigning new value
Previously the switch could have its old listener triggered when recycled.
2023-08-12 01:00:42 -04:00
Liam 8b98c4e5a0 ssl_backend_securetransport: remove stray .Code() 2023-08-11 23:32:46 -04:00
liamwhite 26ff214719
Merge pull request #11219 from zeltermann/title-id-search
Allow searching by a substring of the title ID
2023-08-11 16:53:27 -04:00
liamwhite 640f7cd945
Merge pull request #11253 from liamwhite/i-hate-this-toolchain
general: fix apple clang build
2023-08-11 16:53:20 -04:00
Liam 7d8f748696 vulkan_device: disable features associated with unloaded extensions 2023-08-11 14:54:12 -04:00
Narr the Reg bdd96118d1 service: hid: Implement functions needed by QLaunch 2023-08-11 10:13:21 -06:00
Squall-Leonhart e3dd78e414 Needed to make this an extra case so it didnt also start asserting in BOTW.
Thanks Liam
2023-08-11 08:45:15 +10:00
Squall Leonhart b9ab44ed0e Fix an assert in the format lookup table fir Z16
Came across this while looking into Asterix and Obelix XXL glitching
2023-08-11 08:18:54 +10:00
zeltermann 1ed9e8812b Allow searching by a substring of the title ID 2023-08-11 00:07:12 +07:00
bunnei 9d3a293a4e
Merge pull request #11093 from liamwhite/result-ergonomics
core: remove ResultVal type
2023-08-09 21:24:31 -07:00
bunnei 3d6ce9dd2b
Merge pull request #11247 from german77/pctl
service: pctl: Partially revert 11221
2023-08-09 21:24:06 -07:00
Liam 023b9b38cc general: fix apple clang build 2023-08-09 22:38:37 -04:00
Ameer J 5c25712af9 flatten color_values 2023-08-09 18:45:52 -04:00
Ameer J 0f7220c9c8 flatten encoding_values 2023-08-09 18:38:37 -04:00
Ameer J 71857e889e flatten result vector 2023-08-09 18:34:57 -04:00
Ameer J 70f8ffb787 GetUnquantizedWeightVector 2023-08-09 17:45:39 -04:00
Narr the Reg 6a43aff745 service: pctl: Partially revert 11221 2023-08-08 16:52:21 -06:00
Liam 1e394c6cdf fs: return result on null outputs 2023-08-08 16:12:04 -04:00
Liam 37b278a9a8 general: fix incorrect conversions 2023-08-08 11:09:37 -04:00
Liam 83eee1d226 ssl: remove ResultVal use 2023-08-08 11:09:37 -04:00
Liam 84cb20bc72 core: remove ResultVal type 2023-08-08 11:09:37 -04:00
liamwhite 85e3575496
Merge pull request #11216 from lat9nq/no-mesa-astc
gl_device: Detect Mesa to disable their ASTC
2023-08-07 11:34:22 -04:00
liamwhite 7f55c377b0
Merge pull request #11217 from german77/olsc
service: olsc: Implement IOlscServiceForSystemService ITransferTaskListController interfaces for QLaunch
2023-08-07 11:34:14 -04:00
liamwhite 9893a4d918
Merge pull request #11221 from german77/pctl
service: pctl: Implement functions needed for QLaunch
2023-08-07 11:34:07 -04:00
liamwhite bed2fc8707
Merge pull request #11224 from german77/audio
service: audctl: Stub functions needed by Qlaunch
2023-08-07 11:33:55 -04:00
Ameer J 9058486b9b Revert "HACK: Avoid swizzling and reuploading ASTC image every frame"
This reverts commit b18c1fb1bb.
2023-08-06 14:55:05 -04:00
Ameer J b18c1fb1bb HACK: Avoid swizzling and reuploading ASTC image every frame 2023-08-06 14:54:58 -04:00
Ameer J 913803bf65 Compute Replicate 2023-08-06 14:54:58 -04:00
Ameer J 31a0cff036 minor 2023-08-06 14:54:58 -04:00
Ameer J b36e645fee undo uint 2023-08-06 14:54:58 -04:00
Ameer J 8ce158bce6 Revert "vulkan dims specialization"
This reverts commit e6243058f2269bd79ac8479d58e55feec2611e9d.
2023-08-06 14:54:58 -04:00
ameerj 5a78b35b1a vulkan dims specialization 2023-08-06 14:54:58 -04:00
Ameer J 7a0d7e7668 small_block opt 2023-08-06 14:54:58 -04:00
Ameer J fd2051b401 remove TexelWeightParams 2023-08-06 14:54:57 -04:00
Ameer J 75ac7845ce error/void extent funcs 2023-08-06 14:54:57 -04:00
Ameer J 441b847107 more packing 2023-08-06 14:54:57 -04:00
Ameer J f2cf81e0b6 Revert "uint result index"
This reverts commit 0e978786b5a8e7382005d8b1e16cfa12f3eeb775.
2023-08-06 14:54:57 -04:00
Ameer J f41fb3ec0b Revert "bfe instead of mod"
This reverts commit 86006a3b09e8a8c17d2ade61be76736a79e3f58a.
2023-08-06 14:54:57 -04:00
Ameer J 553dd3e120 Revert "global endpoints"
This reverts commit d8f5bfd1df2b7469ef6abcee182aa110602d1751.
2023-08-06 14:54:57 -04:00
Ameer J c077e467c4 global endpoints 2023-08-06 14:54:57 -04:00
Ameer J 5c16559694 bfe instead of mod 2023-08-06 14:54:57 -04:00
Ameer J 6b0b584eba uint result index 2023-08-06 14:54:57 -04:00
Ameer J 05ee37a1f0 amd opts 2023-08-06 14:54:57 -04:00
Ameer J 3494fce864 gl 2023-08-06 14:54:57 -04:00
Ameer J 5248fa926d const, pack result_vector and replicate tables,
undo amd opts
2023-08-06 14:54:57 -04:00
Ameer J 998246efc2 minor redundancy cleanup 2023-08-06 14:54:57 -04:00
Ameer J d17a51bc59 extractbits robustness 2023-08-06 14:54:57 -04:00
Ameer J 0078e5a338 reuse vectors memory 2023-08-06 14:54:57 -04:00
Ameer J b8ca47e094 EncodingData pack 2023-08-06 14:54:57 -04:00
Ameer J 27c8bb9615 flattening 2023-08-06 14:54:57 -04:00
Ameer J ac09cc3504 weights refactor 2023-08-06 14:54:57 -04:00
Ameer J 6ff65abd62 params.max_weight 2023-08-06 14:54:57 -04:00
Ameer J e0c59c7b0b skip bits 2023-08-06 14:54:57 -04:00
Ameer J 7ef879b296 restrict 2023-08-06 14:54:57 -04:00
german77 8d2f0dc707 service: audctl: Stub functions needed by Qlaunch 2023-08-05 20:16:26 -06:00
lat9nq cb0b8442f0 gl_device: Filter more specifically for slow ASTC
Adds a check to find if the renderer is Intel DG (i.e. DG2).

gl_device: Detect Mesa to disable their ASTC

In our testing, our own ASTC decoder has shown itself to perform faster
than the included one from the driver. Disable theirs when Mesa is
detected.

Mesa detection depends on the vendor string. Some drivers never appear
outside of *nix contexts, so only check those in the *nix context.

gl_device: Internalize Intel DG detection
2023-08-05 15:19:16 -04:00
german77 089e385944 service: olsc: Implement IOlscServiceForSystemService ITransferTaskListController interfaces for QLaunch 2023-08-05 11:47:51 -06:00
german77 0d470b57ed service: pctl: Implement functions needed for QLaunch 2023-08-05 11:27:41 -06:00
liamwhite 755f45a522
Merge pull request #11213 from RngValue/master
📝 Update README.md
2023-08-05 12:58:45 -04:00
liamwhite 4533769f7f
Merge pull request #11212 from Kelebek1/shader_stuff
Fix various misc pipeline/shader things
2023-08-05 12:58:39 -04:00
liamwhite 00d9a9c44e
Merge pull request #11210 from german77/settings
service: set: Implement system settings for Qlaunch
2023-08-05 12:58:32 -04:00
liamwhite 35bdd5fff3
Merge pull request #11208 from german77/interface
service: am: Fix wrong interface ILibraryAppletSelfAccessor
2023-08-05 12:58:20 -04:00
Narr the Reg 7707768f80 service: set: Add more system settings and address comments 2023-08-04 17:20:40 -06:00
RngValue ae19eb1e10
Merge pull request #1 from RngValue/RngValue-patch-1
📝 Update README.md (A potential grammar error and a missing period)
2023-08-04 18:18:39 +02:00
RngValue a09507f271
📝 Update README.md 2023-08-04 17:58:49 +02:00
Kelebek1 dfb7fc8293 Fix shader dumps with nvdisasm
skip fragment shaders when rasterizer is disabled
initialize env_ptrs
2023-08-03 15:30:27 +01:00
liamwhite 369fcadf08
Merge pull request #11209 from ameerj/subgroup_size_control
vulkan_device: Fix VK_EXT_subgroup_size_control detection
2023-08-03 10:15:12 -04:00
Narr the Reg 4bd4a95d84 service: set: Implement system settings for Qlaunch 2023-08-02 22:33:42 -06:00
Ameer J cd80cbc420 vulkan_device: Fix subgroup_size_control detection on Vulkan 1.3 2023-08-02 20:45:03 -04:00
Ameer J c7c44dc238 vulkan_device: Fix VK_EXT_subgroup_size_control detection 2023-08-02 19:25:14 -04:00
Narr the Reg dd1cbd9c56 service: am: Fix wrong interface 2023-08-02 13:00:30 -06:00
liamwhite 096644c01c
Merge pull request #11202 from abouvier/vulkan-config
vulkan: centralize config
2023-08-02 14:26:03 -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
lat9nq 32b4d63a5b config(qt): Fix name of network category
Turns out the network interface is in the Services category. Can't wait
get rid of this whole config.

Addresses yuzu-emu/yuzu/issues/11205
2023-08-02 12:21:43 -04:00
lat9nq 09e265c116 config(qt): Use qt_config directly to read config
ReadSetting with the default is a convenience function reading
settings,  not for use in an internal environment. It tries to manage
the default value of a setting.
2023-08-02 12:20:19 -04:00
Matías Locatti 36aca262e3
Merge pull request #11204 from liamwhite/eds3-blend-amd
vulkan_device: disable EDS3 blending on all AMD drivers
2023-08-02 02:10:43 -03:00
Liam d6d43e11a3 vulkan_device: disable EDS3 blending on all AMD drivers 2023-08-01 20:46:05 -04:00
Alexandre Bouvier 9d6f8e88b2 vulkan: centralize config 2023-08-02 00:05:14 +02:00
zhaobot 2754f6c883
Update translations (2023-08-01) (#11198)
Co-authored-by: The yuzu Community <noreply-fake@community.yuzu-emu.org>
2023-08-01 13:24:57 +02:00
Fernando S ef5618e486
Merge pull request #11195 from Morph1984/misaligned
audren_u: Fix parameter alignment
2023-08-01 10:41:14 +02:00
Morph d31676935e vulkan_device: Test depth stencil blit support by format 2023-07-31 19:14:20 -04:00
Morph 9bca45aa15 audren_u: Fix parameter alignment
The reduction in size from 0x38 to 0x34 caused the parameter to be misaligned. Skipping 1 word fixes this.
2023-07-31 18:40:16 -04:00
liamwhite 2a9eab5e1b
Merge pull request #11188 from abouvier/vma-fix
vma: enable options everywhere
2023-07-31 15:28:35 -04:00
liamwhite 083fb8a15f
Merge pull request #11181 from Kelebek1/audrenparaminternal
Fix AudioRendererParameterInternal's size
2023-07-31 15:28:24 -04:00
liamwhite 06fa13a014
Merge pull request #11169 from GPUCode/desc-stuff
vk_descriptor_pool: Disallow descriptor set free
2023-07-31 09:11:19 -04:00
liamwhite 1ed6e3e51d
Merge pull request #11173 from Morph1984/atleast_nanosecond_precision
wall_clock: Increase precision requirements
2023-07-31 09:11:11 -04:00
liamwhite e2623d64de
Merge pull request #11186 from lat9nq/tz-gen-once
tz_content_man: Generate the time zone binary once
2023-07-31 09:11:01 -04:00
liamwhite 0f37756a3a
Merge pull request #11182 from Moonlacer/revert-11163-revert-10946-amdBlending
Revert the Revert! Reverts the Revert of "Blacklist EDS3 blending from new AMD drivers"
2023-07-31 09:10:48 -04:00
Alexandre Bouvier ed3f9bab11 vma: enable options everywhere 2023-07-31 13:01:21 +02:00
Moonlacer deafa92122 Formatting fix 2023-07-30 23:02:07 -05:00
Moonlacer c6458970ad Match log warning 2023-07-30 22:50:22 -05:00
lat9nq eaf2ab5289 tz_content_man: Generate the time zone binary once
Fixes a memory leak with time zone binaries accumulating on theirselves.
2023-07-30 12:55:19 -04:00
lat9nq 7aa848080d shared_widget: Only save global settings as needed
Fixes a potential but not reproduced issue where the custom config
is being applied to the global config.
2023-07-30 12:26:55 -04:00
lat9nq 55c0b55d1d config(qt): Write the UiGeneral category 2023-07-30 12:09:32 -04:00
Moonlacer a4a106bb25 Formatting fix 2023-07-30 04:29:51 -05:00
Moonlacer f4e5d07619 Address feedback and change log warning 2023-07-30 04:01:29 -05:00
Kelebek1 70f37be9b9 Fix AudioRendererParameterInternal's size 2023-07-30 06:50:59 +01:00
Moonlacer 36d48cef50
Revert "Revert "Blacklist EDS3 blending from new AMD drivers"" 2023-07-30 00:21:51 -05:00
lat9nq d90c622549 Merge branch 'pgc-plus' of github.com:lat9nq/yuzu into pgc-plus 2023-07-29 13:23:14 -04:00
lat9nq 05c8063ac1 config(qt): Fix generic read setting
Previously was not respecting whether the setting was default.
2023-07-29 13:23:06 -04:00
liamwhite 689dc4a17b
Merge pull request #11155 from liamwhite/memory3
memory: check page against address space size
2023-07-28 09:29:21 -04:00
liamwhite 9352a0f2e6
Merge pull request #11156 from 8bitDream/localize
android: Only label language with language
2023-07-28 09:29:11 -04:00
liamwhite b1730d3c72
Merge pull request #11163 from Moonlacer/revert-10946-amdBlending
Revert "Blacklist EDS3 blending from new AMD drivers"
2023-07-28 09:29:00 -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
GPUCode 8c2411da29 vk_descriptor_pool: Disallow descriptor set free 2023-07-27 18:08:56 +03:00
Morph 26658c2e93 vulkan_device: Return true if either depth/stencil format supports blit
On devices that don't support D24S8 but supports D32S8, this should still return true if D32S8 supports src and dst blit
2023-07-26 20:21:37 -04:00
Moonlacer 4007142b91
Revert "Blacklist EDS3 blending from new AMD drivers" 2023-07-26 15:02:48 -05:00
liamwhite a1c355051e
Merge pull request #11128 from german77/discord
yuzu: Replace httplib with QtNetworkRequest
2023-07-26 11:04:57 -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
liamwhite 6ffcc3d5d2
Merge pull request #11142 from german77/avoid_crash
yuzu: Avoid reading broken games
2023-07-26 10:33:14 -04:00
Morph 01b379fe20 Address feedback 2023-07-26 00:41:24 -04:00
lat9nq 195403c87c (ui)settings: Add more runtime_modifiable settings 2023-07-25 23:14:13 -04:00
lat9nq 1bc0b673aa backend: Remove usage of explicit operator overload
Causes a crash on MSVC from a race condition on application quit.

Intended to address yuzu-emu/yuzu/issues/11137
2023-07-25 22:53:58 -04:00
lat9nq 397333b2d5 settings: Correct Linkage member impl location 2023-07-25 15:57:55 -04:00
Morph 4742627744
Merge pull request #11157 from lat9nq/nasm
cmake: Download nasm from our external repo
2023-07-25 13:35:02 -04:00
lat9nq 43920aa1a0 cmake: Download nasm from our external repo
This package download has intermittent failures due to host Internet
issues (presumably), so download it ourselves from our own hosting.
2023-07-25 15:47:44 -04:00
flodavid b881949b6d yuzu: Enable controller interaction in Controller Applet 2023-07-25 19:03:12 +02:00
Abandoned Cart e2ea46f6ef android: Only label language with language 2023-07-25 10:38:30 -04:00
Liam 07f71e2620 memory: check page against address space size 2023-07-25 09:51:06 -04:00
lat9nq b1716a9e14 settings: Set GPU as default ASTC decoder 2023-07-24 16:28:13 -04:00
liamwhite 18000df5e9
Merge pull request #11095 from liamwhite/memory2
memory: cleanup
2023-07-24 13:47:11 -04:00
liamwhite bb0edb53ae
Merge pull request #11135 from liamwhite/getaddrinfo
core: implement GetGaiStringErrorRequest, IContextRegistrar
2023-07-24 13:47:02 -04:00
liamwhite 099295d7c6
Merge pull request #11136 from liamwhite/sp3shader
ssa_rewrite_pass: use proper maps
2023-07-24 13:46:53 -04:00
german77 a0ed0e4e10 yuzu: Avoid reading broken games 2023-07-24 08:59:14 -06:00
lat9nq ab2921121e shared_widget: Determine default request earlier
Fixes a bug where a restore button could be created for an unmanaged
widget.
2023-07-23 17:08:25 -04:00
lat9nq f84e7b4656 settings_common: Document specializations 2023-07-23 16:21:08 -04:00
Liam dad0d076ee ssa_rewrite_pass: use proper maps 2023-07-23 11:38:01 -04:00
Liam 3e3294e1c2 core: implement GetGaiStringErrorRequest, IContextRegistrar 2023-07-22 23:29:45 -04:00
lat9nq fc1bb93b01 shared_widget: Use QRegularExpression 2023-07-22 15:07:34 -04:00
lat9nq fb7da1fa11 config: Read the Network category 2023-07-22 14:50:32 -04:00
Liam 9f3f615e05 core: reduce TOCTTOU memory access 2023-07-22 11:19:29 -04:00
Liam d144168442 memory: minimize dependency on process 2023-07-22 11:19:29 -04:00
lat9nq 85ed10f31f configure_audio/cpu: Sort settings
Was producing out of order settings as a result of the switch to vectors
2023-07-22 00:42:15 -04:00
lat9nq 33d118509a configure_dialog: Focus the button box on start
Without this, the Reset All Settings button would be selected by default
2023-07-21 23:56:01 -04:00
lat9nq 1d4f813c6a qt/configuration: Use deleteLater 2023-07-21 23:25:22 -04:00
lat9nq 17b9c1e171 common,qt-config: Remove usage of forward_list 2023-07-21 23:09:09 -04:00
Narr the Reg c067046387 yuzu: Replace httplib with QtNetworkRequest 2023-07-21 16:53:06 -06:00
lat9nq 2911988b85 settings_common: Use a vector in category linkage
Improve storage requirements.
2023-07-21 10:56:55 -04:00
lat9nq ffb384463f settings: Remove sorting from log
Unecessary, and would run every time the settings are logged.
2023-07-21 10:56:55 -04:00
lat9nq b54c3fba68 configure_system: Use lambda template to group settings 2023-07-21 10:56:55 -04:00
lat9nq b55a763618 config-android: Update memory layout member name 2023-07-21 10:56:55 -04:00
lat9nq 8e91554e11 k_system_control: Always return some memory size 2023-07-21 10:56:55 -04:00
lat9nq 3211623192 common: Move global configuration state modifiers back to settings 2023-07-21 10:56:55 -04:00
lat9nq b02e7eea78 settings_setting: Fix typo 2023-07-21 10:56:55 -04:00
lat9nq 1e093767a8 common,configure_system: Rename method to GetCategory
Fixes essentially a shadowing issue.
2023-07-21 10:56:55 -04:00
lat9nq 267f3c7905 settings: Cleanup
Addresses review feedback

Co-authored-by: Morph <39850852+Morph1984@users.noreply.github.com>
2023-07-21 10:56:55 -04:00
lat9nq 35872ad95b shared_translation: Update memory layout mode strings 2023-07-21 10:56:55 -04:00
lat9nq 127b3da0f1 core,common: Give memory layout setting an enum
Allows for 6GB and 8GB layouts to be selected.
2023-07-21 10:56:55 -04:00
lat9nq ff6a5031d5 settings: Require time zone setting value for stirng 2023-07-21 10:56:55 -04:00
lat9nq 07e8477f5a shared_translation: Add missing time zones 2023-07-21 10:56:55 -04:00
lat9nq ef6406a666 shared_translation: Add controller_applet_disabled 2023-07-21 10:56:55 -04:00
lat9nq a14d2a6f83 shared_translation: Add barrier_feedback_loops 2023-07-21 10:56:55 -04:00
toast2903 c1717b3f47 cmake: Reposition preprocessor switch comment
Co-authored-by: Morph <39850852+Morph1984@users.noreply.github.com>
2023-07-21 10:56:55 -04:00
lat9nq ca8509d205 configuration: Use enum index 2023-07-21 10:56:55 -04:00
lat9nq e7f01128f1 settings: Give indices to enums 2023-07-21 10:56:55 -04:00
lat9nq ecc1feff64 cmake: Use standard preprocessor on MSVC 2023-07-21 10:56:55 -04:00
lat9nq 52cc7b438b settings_common: Remove unncessary enum spec 2023-07-21 10:56:55 -04:00
lat9nq 9186f08c3c shared_translation: Deobfuscate auto time zone 2023-07-21 10:56:55 -04:00
lat9nq 8497fb0a04 settings_enums: Remove casting
Not sure how I missed this earlier, but these vectors can be constructed
using the type of the enum.
2023-07-21 10:56:55 -04:00
lat9nq 54d58130a0 settings_setting: Silence shadowing warnings 2023-07-21 10:56:55 -04:00
lat9nq 926f3e3d3e settings,configuration: Add a default suffix 2023-07-21 10:56:55 -04:00
lat9nq 9de50d6194 configuration: Use paired settings 2023-07-21 10:56:55 -04:00
lat9nq 7f708e8d77 settings: Define paired settings
settings_common: Remove unused optional
2023-07-21 10:56:55 -04:00
lat9nq d1de1c3bed shared_widget: Internalize component restoring 2023-07-21 10:56:55 -04:00
lat9nq 21723879e7 configuration: Use specialization of settings
Reduces some ugliness in frontend code.
2023-07-21 10:56:55 -04:00
lat9nq b2438f1fb7 settings: Define specializations for settings
Suggests to a frontend how to represent each setting.
2023-07-21 10:56:55 -04:00
lat9nq ad645c29a4 configuration: Use a builder to create widgets
This gets rid of some repeated code and sets us up to send more
information to the new widget.
2023-07-21 10:56:55 -04:00
lat9nq 62ffaa730f shared_translation: Fix context usage
Currently unused, but I don't want to start headaches when someone
decides to use it the first time.
2023-07-21 10:56:55 -04:00
lat9nq 8b28aa45b9 settings,translation: Fix time zone enum
Renames enum values to conform to naming convention.
2023-07-21 10:56:55 -04:00
lat9nq 8366736b67 settings,opengl,yuzu-qt: Fix AA, Filter maximums
The new enum macros don't support setting values directly.
For LastAA and LastFilter, this means we need a simpler approach to loop
around the toggle in the frontend...
2023-07-21 10:56:55 -04:00
lat9nq 7ffbffe170 settings_enums: More aggressively use macros
This lets us define an enum and all the textual representations
of its values in one swing. All for the price of some ugly macros.
2023-07-21 10:56:55 -04:00
lat9nq 02c48a80f6 config_shared: Remove storing the group from tab 2023-07-21 10:56:55 -04:00
lat9nq fdbeb84168 settings,uisettings: Remove leading underscore 2023-07-21 10:56:55 -04:00
lat9nq 81a96bafe2 configuration: Move speed_limit to core 2023-07-21 10:56:55 -04:00
lat9nq 3a7705e774 settings: Move speed_limit to core 2023-07-21 10:56:55 -04:00
lat9nq 69bc8ea148 android-config: Update enum labels 2023-07-21 10:56:55 -04:00
lat9nq 3f0cc544cf common,yuzu-qt: Avoid explicit instantiation on old clang
Clang versions < 15 have compile issues with explicit instantiation.
Disable it for these versions.
2023-07-21 10:56:55 -04:00
lat9nq c97cbd089b settings_setting: Fix MSVC error 2023-07-21 10:56:55 -04:00
lat9nq 246740f102 codespellrc: Ignore canonicalizations 2023-07-21 10:56:55 -04:00
lat9nq 89f89cf1df shared_widget: Correct spelling 2023-07-21 10:56:55 -04:00
lat9nq ab795fe0e2 (android)config: Clang format 2023-07-21 10:56:55 -04:00
lat9nq ee32b17782 common,yuzu-qt: GCC warning silences
Fixes -Wshadow, -Wdeprecated, and catch by copy rather than by ref.
2023-07-21 10:56:55 -04:00
lat9nq 916c6cd1a0 configure_graphics: Simplify UpdateAPILayout
Reduces branching/swictch cases for simplicity/code size
2023-07-21 10:56:54 -04:00
lat9nq 57a00e01d6 configure_graphcs: Fix setting shader/device in custom config 2023-07-21 10:56:54 -04:00
lat9nq a7ee9d999f configuration: Use shorter constructor as needed
Reduces some confusion hopefully, since some parameters specified were not
specific to the setting in question.
2023-07-21 10:56:54 -04:00
lat9nq 6935332cba shared_widget: Some documentation, add shorter constructor
The shorter constructor enables us to specify some options without needing to
specify the default values of multiplier which wasn't always appropriate and
could be confusing.
2023-07-21 10:56:54 -04:00
lat9nq 3240d199a2 config: Remove unused functions 2023-07-21 10:56:54 -04:00
lat9nq a0883526d6 settings: Delete cpu_accuracy_first_time
Almost a 2 year old migration setting now
2023-07-21 10:56:54 -04:00
lat9nq 7c52bb2772 shared_widget: Improve logging, use Setting::Ranged 2023-07-21 10:56:54 -04:00
lat9nq 27e53990ed settings: Document BasicSetting, add Ranged 2023-07-21 10:56:54 -04:00
lat9nq b4f2ad3ff5 settings: Move IsConfiguringGlobal to settings_common 2023-07-21 10:56:54 -04:00
lat9nq 3b0650b70d configuration/shared: Clean up includes [IWYU] 2023-07-21 10:56:54 -04:00
lat9nq 512fb3abff configure_graphics: Fix vulkan_device bug 2023-07-21 10:56:54 -04:00
lat9nq 11e7e1b8ce settings: Move some simple data to BasicSetting
Reduces the need for the compiler to duplicate this code, by about
100KB executable size.
2023-07-21 10:56:54 -04:00
lat9nq 4903f40efe settings_setting: Fix errors
ToString didn't have a constexpr if statement where needed.
Canonicalize missed an else, causing unreachable code error on MSVC.
2023-07-21 10:56:54 -04:00
lat9nq 04d4b6ab80 (ui,)settings: Use explicit instantiation
Reduces compile times a tad on clang.
2023-07-21 10:56:54 -04:00
lat9nq 02265f19d9 settings: Remove redundant false literals 2023-07-21 10:56:54 -04:00
lat9nq 7515c502c5 shared_widget: Avoid calling QWidgetPrivate::setVisible
This particular setVisible function is unnecessary.
It also has horrible runtime performance, so much that it consumed maybe
80% of the time used to create a widget.
2023-07-21 10:56:54 -04:00
lat9nq 79024bb955 FIXME configuration: Avoid unnecessary allocations
ConfigurationShared::Widget needs to be created with a builder. This
would avoid some duplicated code.
2023-07-21 10:56:54 -04:00
lat9nq c5f8b909ec shared_widget: Add SPDX header 2023-07-21 10:56:54 -04:00
lat9nq 0193add060 general: Add typeinfo where needed
Using typeid without including typeinfo first produces an ill-formed program.
2023-07-21 10:56:54 -04:00
lat9nq 2fba913d0b settings_enums: Add const type where needed 2023-07-21 10:56:54 -04:00
lat9nq fe6e765b2d shared_widget: Use actionTriggered for user input signals
Clicking the slider without directly interacting with the slider handle would
change the value, but not trigger the restore button.
2023-07-21 10:56:54 -04:00
lat9nq 47d870b11f shared_translation: Populate combobox enums with macro 2023-07-21 10:56:54 -04:00
lat9nq b86171d2b5 settings: yuzu is not capitalized why is it capitalized stop no bad 2023-07-21 10:56:54 -04:00
lat9nq 81e9cf0934 configuration: Document odd widget cases
Explain why we need to do things differently at times, to serve as a
reference.
2023-07-21 10:56:54 -04:00
lat9nq 163f229d26 settings: Reorder
Groups graphics audio and system settings together in a way that
reflects the frontend. This also just conceptually groups them more
nicely than they were.
2023-07-21 10:56:54 -04:00
lat9nq 681ebcf4a5 shared_translation: Add translation for use video framrate 2023-07-21 10:56:54 -04:00
lat9nq 78b2709373 settings: Report all contained settings values
Also adds a couple characters that denotes the state of the setting.
M for modified, or not default.
C for custom, in context of per-game settings.
2023-07-21 10:56:54 -04:00
lat9nq 8c17a945f7 settings_enums: Cannonicalize settings names
Gives every option of the enums a string literal via a macro.
2023-07-21 10:56:54 -04:00
lat9nq d146dd9d12 settings,general: Rename non-confirming enums 2023-07-21 10:56:54 -04:00
lat9nq 9e3c94bb3d configuration: Use IDs to sort holds 2023-07-21 10:56:07 -04:00
lat9nq f7948b7b64 settings,general: Rename/reorder setting ids 2023-07-21 10:56:07 -04:00
lat9nq 25cea2ef27 shared_widget: Fix includes 2023-07-21 10:56:07 -04:00
lat9nq 9a2a92673c shared_widget: Complete refactoring
Reduces code bloat a good bit by moving code specific to each sub widget
to their own functions.
2023-07-21 10:56:07 -04:00
lat9nq d7dd023409 shared_widget: Refactor again
Starting with combobox

Putting code specific to the sub-widget in their own function.
2023-07-21 10:56:07 -04:00
lat9nq d373cc3d3f android-config: Adapt settings rework 2023-07-21 10:56:07 -04:00
lat9nq e6d65bf61c c_per_game: Inform when settings might not be configurable 2023-07-21 10:56:07 -04:00
lat9nq cd1d8adc49 shared_translation: Fix pragma once 2023-07-21 10:56:07 -04:00
lat9nq 09f61656e3 shared_translation: Add translation for AstcRecompression 2023-07-21 10:56:07 -04:00
lat9nq 81860b4317 configure_system: Hide locale warn at start 2023-07-21 10:56:07 -04:00
lat9nq b570b719de shared_widget: Force min width of 100 for restore button
Dark theme mandates a 100px minimum width for QAbstractButton, even
though this is not desired here.
2023-07-21 10:56:07 -04:00
lat9nq 3d932416e3 configuration: Workaround for Windows Qt bug
Odd issue happens that dragging the cpu or system tabs in custom configs
would cause the window to take up the entire verticle space of the
screen.
2023-07-21 10:56:07 -04:00
lat9nq 7734127f9e shared_translation: Add missing tooltips 2023-07-21 10:56:07 -04:00
lat9nq 3281ea935f settings: Make volume runtime-configurable 2023-07-21 10:56:07 -04:00
lat9nq 217fa04080 configuration: Clean up includes a bit 2023-07-21 10:56:07 -04:00
lat9nq 3337250746 configuration_shared: Remove old custom config setup functions 2023-07-21 10:56:07 -04:00
lat9nq daa31121ee configure_cpu: Generate UI 2023-07-21 10:56:07 -04:00
lat9nq c5a3642cb6 configuration: Use a mapping of setting value to name
Makes comboboxes always correspond to the value of the setting they're
modifying.
2023-07-21 10:56:07 -04:00
lat9nq 86ed82cdde settings, shared_widget: typo fixes 2023-07-21 10:56:07 -04:00
lat9nq 432f68ad29 configure_audio: Implement ui generation
Needs a considerable amount of management specific to some of
the comoboboxes due to the audio engine configuration.

general: Partial audio config implmentation

configure_audio: Implement ui generation

Needs a considerable amount of management specific to some of
the comoboboxes due to the audio engine configuration.

general: Partial audio config implmentation

settings: Make audio settings as enums
2023-07-21 10:56:07 -04:00
lat9nq 88d3de4e85 settings: Split enums to new file 2023-07-21 10:56:07 -04:00
lat9nq f055f2dcf4 shared_widget: Use a better icon
This one looks more relevant on Windows.
2023-07-21 10:56:07 -04:00
lat9nq 4ff8255e4a shared_widget: Refactor helpers
Makes checkbox creation an option as opposed to a label.
2023-07-21 10:56:07 -04:00
lat9nq 4c4bc134a9 settings, uisettings: Initialize linkage counter 2023-07-21 10:56:07 -04:00
lat9nq 8e15146026 configure_system: Implement with for loop 2023-07-21 10:56:07 -04:00
lat9nq 56960bf9f8 per_game: Remove general tab
It's empty.
2023-07-21 10:56:07 -04:00
lat9nq b11a2a206f shared_widget: Internalize extra setting configuration 2023-07-21 10:56:07 -04:00
lat9nq cdb5dea269 settings: Move runtime and save to parameters
These don't need to be whole new types.
2023-07-21 10:56:07 -04:00
lat9nq df2bd251fa graphics: Set speed limit to spinbox 2023-07-21 10:56:07 -04:00
lat9nq 97674bc888 shared_widget: Support checkbox + spinbox 2023-07-21 10:56:07 -04:00
lat9nq def00e8c55 configure_debug: Reorganize 2023-07-21 10:56:07 -04:00
lat9nq 23f874ae60 configure_graphics: Reimplement bg_color
To specialized a setting to be worth adding to the shared_widget imo,
so add it roughly like before.
2023-07-21 10:56:07 -04:00
lat9nq c1748b229a shared_widget: Make button creation static 2023-07-21 10:56:07 -04:00
lat9nq 8c03ae793e configure_general: Hide reset button in custom configs 2023-07-21 10:56:07 -04:00
lat9nq e2de48f14b configure_general: Sort data 2023-07-21 10:56:07 -04:00
lat9nq 827082c5ac configure_general: Generate UI using containers
This leaves per-game config's General tab empty?
2023-07-21 10:56:07 -04:00
lat9nq c530532de7 shared_translation: Add UI widget translations 2023-07-21 10:56:07 -04:00
lat9nq d3d9c3568e shared_widget: Fix header 2023-07-21 10:56:07 -04:00
lat9nq 464aad52cd settings: Add UiGeneral class 2023-07-21 10:56:07 -04:00
lat9nq ea4afbfc54 config: Don't merge the maps
Me shooting myself in the foot 3 days in advance.
2023-07-21 10:56:07 -04:00
lat9nq 640e7db60e configure_graphics: Remove redundant log 2023-07-21 10:56:07 -04:00
lat9nq f66d617107 configuration: Move CreateWidget to a class
We were passing so many objects between the function and the caller that
it needed to be redesigned.
2023-07-21 10:56:07 -04:00
lat9nq d35577d3ed configuration: Implement slider 2023-07-21 10:56:07 -04:00
lat9nq 39a1ffbb91 configuration: Use buttons instead of highlights
Only for updated configs at the moment
2023-07-21 10:56:07 -04:00
lat9nq d72ff01726 shared_translations: Re flow strings 2023-07-21 10:56:07 -04:00
lat9nq 9a844bbf0c configure_graphics: More complete reimplementation 2023-07-21 10:56:07 -04:00
lat9nq 3a7a5edcea settings: Define base renderer runtime modifiable settings 2023-07-21 10:56:07 -04:00
lat9nq 05c26411a3 configuration_shared: Fix blank state hiding check box 2023-07-21 10:56:07 -04:00
lat9nq a4de202cbd settings: Add anisotropy mode enum 2023-07-21 10:56:07 -04:00
lat9nq cfb63c68db shared_translation: Finish using int ids 2023-07-21 10:56:07 -04:00
lat9nq bafd569b47 settings,uisettings: Add IDs to settings 2023-07-21 10:56:07 -04:00
lat9nq f8435d676f configure_graphics: Partial runtime implementation 2023-07-21 10:56:07 -04:00
lat9nq 75d7e40113 settings: Recategorize a bit
Will help with generating config UI later.
2023-07-21 10:56:07 -04:00
lat9nq 4a825268d6 shared_translation: Add the rest of the settings 2023-07-21 10:56:07 -04:00
lat9nq 4f545e3024 shared_translation: Add copyright and license 2023-07-21 10:56:07 -04:00
lat9nq a007ac6b9c configure_graphics_advance: Generate UI at runtime
We can iterate through the AdvancedGraphics settings and generate the UI
during runtime. This doesn't help runtime efficiency, but it helps a ton
in reducing the amount of work a developer needs in order to add a new
setting.
2023-07-21 10:56:07 -04:00
lat9nq b11b4be7cb configure_per_game: Rename group to tab_group 2023-07-21 10:56:07 -04:00
lat9nq d3b94d64d4 configuration: Add base class to tabs
Tabs that largely configure SwitchableSetting's are now Tabs and grouped
together.
2023-07-21 10:56:07 -04:00
lat9nq e5b981e1e4 configuration_shared: Create Tab base class 2023-07-21 10:56:07 -04:00
lat9nq 60773194a0 settings: Add a registry of settings
LoadString: Sanitize input

settings: Handle empty string, remove redundant category

settings: Rename Input to Controls, FS to DataStorage

settings: Fix Controls groups information

settings: Move use_docked_mode to System (again)

settings: Document

settings: Add type identification function

settings: Move registry into values

settings: Move global_reset_registry into values

settings: Separate AdvGraphics from Renderer

settings: More document

squash

settings: Use linkage object

uisettings: Move registry into settings

Probably wont build without

uisettings: Use settings linkage object

config: Load settings with a map

Uses the new all_settings vector to load settings.

qt-config: Rename settings category

qt config: Rename to read category

config: Read/write contols category with for_each

This is extremely limited due to the complexity of the Controls group,
but this handles the the settings that use the interface.

qt-config: Use new settings registry

qt-config: Read/write advgrphics

qt-config: Use settings linkage object

yuzu_cmd: Load setting off of vector

cmd-config: Finish settings rename

config: Read controls settings group with for_each

cmd/config: Move registry into values

cmd: Read adv graphics

cmd-config: Use settings linkage object
2023-07-21 10:56:07 -04:00
lat9nq e7543e8b84 uisettings: Fix typings 2023-07-21 10:56:07 -04:00
lat9nq 4133165607 settings,core,config_sys: Remove optional type from custom_rtc, rng_seed
core: Fix MSVC errors
2023-07-21 10:56:07 -04:00
lat9nq 5ccfaf0517 settings: Pool SetGlobal functions 2023-07-21 10:56:07 -04:00
lat9nq 5cffa34288 settings,video_core: Consolidate ASTC decoding options
Just puts them all neatly into one place.
2023-07-21 10:56:07 -04:00
comex d7c532d889 Fixes and workarounds to make UBSan happier on macOS
There are still some other issues not addressed here, but it's a start.

Workarounds for false-positive reports:

- `RasterizerAccelerated`: Put a gigantic array behind a `unique_ptr`,
  because UBSan has a [hardcoded limit](https://stackoverflow.com/questions/64531383/c-runtime-error-using-fsanitize-undefined-object-has-a-possibly-invalid-vp)
  of how big it thinks objects can be, specifically when dealing with
  offset-to-top values used with multiple inheritance.  Hopefully this
  doesn't have a performance impact.

- `QueryCacheBase::QueryCacheBase`: Avoid an operation that UBSan thinks
  is UB even though it at least arguably isn't.  See the link in the
  comment for more information.

Fixes for correct reports:

- `PageTable`, `Memory`: Use `uintptr_t` values instead of pointers to
  avoid UB from pointer overflow (when pointer arithmetic wraps around
  the address space).

- `KScheduler::Reload`: `thread->GetOwnerProcess()` can be `nullptr`;
  avoid calling methods on it in this case.  (The existing code returns
  a garbage reference to a field, which is then passed into
  `LoadWatchpointArray`, and apparently it's never used, so it's
  harmless in practice but still triggers UBSan.)

- `KAutoObject::Close`: This function calls `this->Destroy()`, which
  overwrites the beginning of the object with junk (specifically a free
  list pointer).  Then it calls `this->UnregisterWithKernel()`.  UBSan
  complains about a type mismatch because the vtable has been
  overwritten, and I believe this is indeed UB.  `UnregisterWithKernel`
  also loads `m_kernel` from the 'freed' object, which seems to be
  technically safe (the overwriting doesn't extend as far as that
  field), but seems dubious.  Switch to a `static` method and load
  `m_kernel` in advance.
2023-07-15 12:00:28 -07:00
2334 changed files with 256470 additions and 124648 deletions

View File

@ -6,10 +6,24 @@
export NDK_CCACHE="$(which ccache)"
ccache -s
BUILD_FLAVOR=mainline
BUILD_FLAVOR="mainline"
BUILD_TYPE="release"
if [ "${GITHUB_REPOSITORY}" == "yuzu-emu/yuzu" ]; then
BUILD_TYPE="relWithDebInfo"
fi
if [ ! -z "${ANDROID_KEYSTORE_B64}" ]; then
export ANDROID_KEYSTORE_FILE="${GITHUB_WORKSPACE}/ks.jks"
base64 --decode <<< "${ANDROID_KEYSTORE_B64}" > "${ANDROID_KEYSTORE_FILE}"
fi
cd src/android
chmod +x ./gradlew
./gradlew "assemble${BUILD_FLAVOR}Release" "bundle${BUILD_FLAVOR}Release"
./gradlew "assemble${BUILD_FLAVOR}${BUILD_TYPE}" "bundle${BUILD_FLAVOR}${BUILD_TYPE}"
ccache -s
if [ ! -z "${ANDROID_KEYSTORE_B64}" ]; then
rm "${ANDROID_KEYSTORE_FILE}"
fi

View File

@ -0,0 +1,21 @@
#!/bin/bash -ex
# SPDX-FileCopyrightText: 2024 yuzu Emulator Project
# SPDX-License-Identifier: GPL-3.0-or-later
export NDK_CCACHE="$(which ccache)"
ccache -s
export ANDROID_KEYSTORE_FILE="${GITHUB_WORKSPACE}/ks.jks"
base64 --decode <<< "${EA_PLAY_ANDROID_KEYSTORE_B64}" > "${ANDROID_KEYSTORE_FILE}"
export ANDROID_KEY_ALIAS="${PLAY_ANDROID_KEY_ALIAS}"
export ANDROID_KEYSTORE_PASS="${PLAY_ANDROID_KEYSTORE_PASS}"
export SERVICE_ACCOUNT_KEY_PATH="${GITHUB_WORKSPACE}/sa.json"
base64 --decode <<< "${EA_SERVICE_ACCOUNT_KEY_B64}" > "${SERVICE_ACCOUNT_KEY_PATH}"
./gradlew "publishEaReleaseBundle"
ccache -s
if [ ! -z "${ANDROID_KEYSTORE_B64}" ]; then
rm "${ANDROID_KEYSTORE_FILE}"
fi

View File

@ -0,0 +1,21 @@
#!/bin/bash -ex
# SPDX-FileCopyrightText: 2024 yuzu Emulator Project
# SPDX-License-Identifier: GPL-3.0-or-later
export NDK_CCACHE="$(which ccache)"
ccache -s
export ANDROID_KEYSTORE_FILE="${GITHUB_WORKSPACE}/ks.jks"
base64 --decode <<< "${MAINLINE_PLAY_ANDROID_KEYSTORE_B64}" > "${ANDROID_KEYSTORE_FILE}"
export ANDROID_KEY_ALIAS="${PLAY_ANDROID_KEY_ALIAS}"
export ANDROID_KEYSTORE_PASS="${PLAY_ANDROID_KEYSTORE_PASS}"
export SERVICE_ACCOUNT_KEY_PATH="${GITHUB_WORKSPACE}/sa.json"
base64 --decode <<< "${MAINLINE_SERVICE_ACCOUNT_KEY_B64}" > "${SERVICE_ACCOUNT_KEY_PATH}"
./gradlew "publishMainlineReleaseBundle"
ccache -s
if [ ! -z "${ANDROID_KEYSTORE_B64}" ]; then
rm "${ANDROID_KEYSTORE_FILE}"
fi

View File

@ -7,21 +7,16 @@
REV_NAME="yuzu-${GITDATE}-${GITREV}"
BUILD_FLAVOR=mainline
BUILD_FLAVOR="mainline"
cp src/android/app/build/outputs/apk/"${BUILD_FLAVOR}/release/app-${BUILD_FLAVOR}-release.apk" \
"artifacts/${REV_NAME}.apk"
cp src/android/app/build/outputs/bundle/"${BUILD_FLAVOR}Release"/"app-${BUILD_FLAVOR}-release.aab" \
"artifacts/${REV_NAME}.aab"
if [ -n "${ANDROID_KEYSTORE_B64}" ]
then
echo "Signing apk..."
base64 --decode <<< "${ANDROID_KEYSTORE_B64}" > ks.jks
apksigner sign --ks ks.jks \
--ks-key-alias "${ANDROID_KEY_ALIAS}" \
--ks-pass env:ANDROID_KEYSTORE_PASS "artifacts/${REV_NAME}.apk"
else
echo "No keystore specified, not signing the APK files."
BUILD_TYPE_LOWER="release"
BUILD_TYPE_UPPER="Release"
if [ "${GITHUB_REPOSITORY}" == "yuzu-emu/yuzu" ]; then
BUILD_TYPE_LOWER="relWithDebInfo"
BUILD_TYPE_UPPER="RelWithDebInfo"
fi
cp src/android/app/build/outputs/apk/"${BUILD_FLAVOR}/${BUILD_TYPE_LOWER}/app-${BUILD_FLAVOR}-${BUILD_TYPE_LOWER}.apk" \
"artifacts/${REV_NAME}.apk"
cp src/android/app/build/outputs/bundle/"${BUILD_FLAVOR}${BUILD_TYPE_UPPER}"/"app-${BUILD_FLAVOR}-${BUILD_TYPE_LOWER}.aab" \
"artifacts/${REV_NAME}.aab"

View File

@ -19,6 +19,7 @@ cmake .. \
-DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON \
-DENABLE_QT_TRANSLATION=ON \
-DUSE_DISCORD_PRESENCE=ON \
-DYUZU_CRASH_DUMPS=ON \
-DYUZU_ENABLE_COMPATIBILITY_REPORTING=${ENABLE_COMPATIBILITY_REPORTING:-"OFF"} \
-DYUZU_USE_BUNDLED_FFMPEG=ON \
-GNinja

View File

@ -5,6 +5,6 @@
GITDATE="`git show -s --date=short --format='%ad' | sed 's/-//g'`"
GITREV="`git show -s --format='%h'`"
ARTIFACTS_DIR="artifacts"
ARTIFACTS_DIR="$PWD/artifacts"
mkdir -p "${ARTIFACTS_DIR}/"

View File

@ -3,38 +3,35 @@
# SPDX-FileCopyrightText: 2019 yuzu Emulator Project
# SPDX-License-Identifier: GPL-2.0-or-later
if grep -nrI '\s$' src *.yml *.txt *.md Doxyfile .gitignore .gitmodules .ci* dist/*.desktop \
dist/*.svg dist/*.xml; then
shopt -s nullglob globstar
if git grep -nrI '\s$' src **/*.yml **/*.txt **/*.md Doxyfile .gitignore .gitmodules .ci* dist/*.desktop dist/*.svg dist/*.xml; then
echo Trailing whitespace found, aborting
exit 1
fi
# Default clang-format points to default 3.5 version one
CLANG_FORMAT=${CLANG_FORMAT:-clang-format-15}
$CLANG_FORMAT --version
if [ "$TRAVIS_EVENT_TYPE" = "pull_request" ]; then
# Get list of every file modified in this pull request
files_to_lint="$(git diff --name-only --diff-filter=ACMRTUXB $TRAVIS_COMMIT_RANGE | grep '^src/[^.]*[.]\(cpp\|h\)$' || true)"
else
# Check everything for branch pushes
files_to_lint="$(find src/ -name '*.cpp' -or -name '*.h')"
fi
CLANG_FORMAT="${CLANG_FORMAT:-clang-format-15}"
"$CLANG_FORMAT" --version
# Turn off tracing for this because it's too verbose
set +x
for f in $files_to_lint; do
d=$(diff -u "$f" <($CLANG_FORMAT "$f") || true)
if ! [ -z "$d" ]; then
echo "!!! $f not compliant to coding style, here is the fix:"
echo "$d"
fail=1
fi
# Check everything for branch pushes
FILES_TO_LINT="$(find src/ -name '*.cpp' -or -name '*.h')"
for f in $FILES_TO_LINT; do
echo "$f"
"$CLANG_FORMAT" -i "$f"
done
set -x
DIFF=$(git -c core.fileMode=false diff)
if [ "$fail" = 1 ]; then
if [ ! -z "$DIFF" ]; then
echo "!!! Not compliant to coding style, here is the fix:"
echo "$DIFF"
exit 1
fi
cd src/android
./gradlew ktlintCheck

View File

@ -11,7 +11,7 @@ ccache -s
mkdir build || true && cd build
cmake .. \
-DBoost_USE_STATIC_LIBS=ON \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_CXX_FLAGS="-march=x86-64-v2" \
-DCMAKE_CXX_COMPILER=/usr/lib/ccache/g++ \
-DCMAKE_C_COMPILER=/usr/lib/ccache/gcc \
@ -23,6 +23,7 @@ cmake .. \
-DYUZU_ENABLE_COMPATIBILITY_REPORTING=${ENABLE_COMPATIBILITY_REPORTING:-"OFF"} \
-DYUZU_USE_BUNDLED_FFMPEG=ON \
-DYUZU_ENABLE_LTO=ON \
-DYUZU_CRASH_DUMPS=ON \
-GNinja
ninja
@ -31,6 +32,19 @@ ccache -s
ctest -VV -C Release
# Separate debug symbols from specified executables
for EXE in yuzu; do
EXE_PATH="bin/$EXE"
# Copy debug symbols out
objcopy --only-keep-debug $EXE_PATH $EXE_PATH.debug
# Add debug link and strip debug symbols
objcopy -g --add-gnu-debuglink=$EXE_PATH.debug $EXE_PATH $EXE_PATH.out
# Overwrite original with stripped copy
mv $EXE_PATH.out $EXE_PATH
done
# Strip debug symbols from all executables
find bin/ -type f -not -regex '.*.debug' -exec strip -g {} ';'
DESTDIR="$PWD/AppDir" ninja install
rm -vf AppDir/usr/bin/yuzu-cmd AppDir/usr/bin/yuzu-tester

View File

@ -9,7 +9,7 @@ chmod a+x ./.ci/scripts/linux/docker.sh
sudo chown -R 1027 ./
# The environment variables listed below:
# AZURECIREPO TITLEBARFORMATIDLE TITLEBARFORMATRUNNING DISPLAYVERSION
# AZURECIREPO TITLEBARFORMATIDLE TITLEBARFORMATRUNNING DISPLAYVERSION
# are requested in src/common/CMakeLists.txt and appear to be provided somewhere in Azure DevOps
docker run -e AZURECIREPO -e TITLEBARFORMATIDLE -e TITLEBARFORMATRUNNING -e DISPLAYVERSION -e ENABLE_COMPATIBILITY_REPORTING -e CCACHE_DIR=/yuzu/ccache -v "$(pwd):/yuzu" -w /yuzu yuzuemu/build-environments:linux-fresh /bin/bash /yuzu/.ci/scripts/linux/docker.sh "$1"

View File

@ -59,4 +59,9 @@ if [ "${RELEASE_NAME}" = "mainline" ] || [ "${RELEASE_NAME}" = "early-access" ];
cp "build/${APPIMAGE_NAME}" "${DIR_NAME}/yuzu-${RELEASE_NAME}.AppImage"
fi
# Copy debug symbols to artifacts
cd build/bin
tar $COMPRESSION_FLAGS "${ARTIFACTS_DIR}/${REV_NAME}-debug.tar.xz" *.debug
cd -
. .ci/scripts/common/post-upload.sh

View File

@ -17,7 +17,6 @@ cmake .. \
-DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON \
-DENABLE_QT_TRANSLATION=ON \
-DUSE_CCACHE=ON \
-DYUZU_CRASH_DUMPS=ON \
-DYUZU_USE_BUNDLED_SDL2=OFF \
-DYUZU_USE_EXTERNAL_SDL2=OFF \
-DYUZU_TESTS=OFF \

View File

@ -8,17 +8,7 @@ variables:
DisplayVersion: $[counter(variables['DisplayPrefix'], 1)]
stages:
- stage: format
displayName: 'format'
jobs:
- job: format
displayName: 'clang'
pool:
vmImage: ubuntu-latest
steps:
- template: ./templates/format-check.yml
- stage: build
dependsOn: format
displayName: 'build'
jobs:
- job: build
@ -43,7 +33,6 @@ stages:
cache: 'true'
version: $(DisplayVersion)
- stage: build_win
dependsOn: format
displayName: 'build-windows'
jobs:
- job: build

View File

@ -3,4 +3,4 @@
[codespell]
skip = ./.git,./build,./dist,./Doxyfile,./externals,./LICENSES,./src/android/app/src/main/res
ignore-words-list = aci,allright,ba,deques,froms,hda,inout,lod,masia,nam,nax,nd,optin,pullrequests,pullrequest,te,transfered,unstall,uscaled,zink
ignore-words-list = aci,allright,ba,canonicalizations,deques,fpr,froms,hda,inout,lod,masia,nam,nax,nce,nd,optin,pullrequests,pullrequest,te,transfered,unstall,uscaled,vas,zink

5
.git-blame-ignore-revs Normal file
View File

@ -0,0 +1,5 @@
# SPDX-FileCopyrightText: 2023 yuzu Emulator Project
# SPDX-License-Identifier: GPL-2.0-or-later
# CRLF -> LF
90aa937593e53a5d5e070fb623b228578b0b225f

View File

@ -40,11 +40,11 @@ jobs:
sudo apt-get install -y ccache apksigner glslang-dev glslang-tools
- name: Build
run: ./.ci/scripts/android/build.sh
- name: Copy and sign artifacts
env:
ANDROID_KEYSTORE_B64: ${{ secrets.ANDROID_KEYSTORE_B64 }}
ANDROID_KEY_ALIAS: ${{ secrets.ANDROID_KEY_ALIAS }}
ANDROID_KEYSTORE_PASS: ${{ secrets.ANDROID_KEYSTORE_PASS }}
- name: Copy artifacts
run: ./.ci/scripts/android/upload.sh
- name: Upload
uses: actions/upload-artifact@v3

View File

@ -0,0 +1,66 @@
# SPDX-FileCopyrightText: 2024 yuzu Emulator Project
# SPDX-License-Identifier: GPL-2.0-or-later
name: yuzu-android-ea-play-release
on:
workflow_dispatch:
inputs:
release-track:
description: 'Play store release track (internal/alpha/beta/production)'
required: true
default: 'alpha'
jobs:
android:
runs-on: ubuntu-latest
if: ${{ github.repository == 'yuzu-emu/yuzu' }}
steps:
- uses: actions/checkout@v3
name: Checkout
with:
fetch-depth: 0
submodules: true
token: ${{ secrets.ALT_GITHUB_TOKEN }}
- run: npm install execa@5
- uses: actions/github-script@v5
name: 'Merge and publish Android EA changes'
env:
ALT_GITHUB_TOKEN: ${{ secrets.ALT_GITHUB_TOKEN }}
BUILD_EA: true
with:
script: |
const execa = require("execa");
const mergebot = require('./.github/workflows/android-merge.js').mergebot;
process.chdir('${{ github.workspace }}');
mergebot(github, context, execa);
- name: Get tag name
run: echo "GIT_TAG_NAME=$(cat tag-name.txt)" >> $GITHUB_ENV
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'temurin'
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y ccache apksigner glslang-dev glslang-tools
- name: Build
run: ./.ci/scripts/android/eabuild.sh
env:
EA_PLAY_ANDROID_KEYSTORE_B64: ${{ secrets.PLAY_ANDROID_KEYSTORE_B64 }}
PLAY_ANDROID_KEY_ALIAS: ${{ secrets.PLAY_ANDROID_KEY_ALIAS }}
PLAY_ANDROID_KEYSTORE_PASS: ${{ secrets.PLAY_ANDROID_KEYSTORE_PASS }}
EA_SERVICE_ACCOUNT_KEY_B64: ${{ secrets.EA_SERVICE_ACCOUNT_KEY_B64 }}
STORE_TRACK: ${{ github.event.inputs.release-track }}
AUTO_VERSIONED: true
BUILD_EA: true
- name: Create release
uses: softprops/action-gh-release@v1
with:
tag_name: ${{ env.EA_TAG_NAME }}
name: ${{ env.EA_TAG_NAME }}
draft: false
prerelease: false
repository: yuzu/yuzu-android
token: ${{ secrets.ALT_GITHUB_TOKEN }}

View File

@ -0,0 +1,59 @@
# SPDX-FileCopyrightText: 2024 yuzu Emulator Project
# SPDX-License-Identifier: GPL-2.0-or-later
name: yuzu-android-mainline-play-release
on:
workflow_dispatch:
inputs:
release-tag:
description: 'Tag # from yuzu-android that you want to build and publish'
required: true
default: '200'
release-track:
description: 'Play store release track (internal/alpha/beta/production)'
required: true
default: 'alpha'
jobs:
android:
runs-on: ubuntu-latest
if: ${{ github.repository == 'yuzu-emu/yuzu' }}
steps:
- uses: actions/checkout@v3
name: Checkout
with:
fetch-depth: 0
submodules: true
token: ${{ secrets.ALT_GITHUB_TOKEN }}
- run: npm install execa@5
- uses: actions/github-script@v5
name: 'Pull mainline tag'
env:
MAINLINE_TAG: ${{ github.event.inputs.release-tag }}
with:
script: |
const execa = require("execa");
const mergebot = require('./.github/workflows/android-merge.js').getMainlineTag;
process.chdir('${{ github.workspace }}');
mergebot(execa);
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'temurin'
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y ccache apksigner glslang-dev glslang-tools
- name: Build
run: |
echo "GIT_TAG_NAME=android-${{ github.event.inputs.releast-tag }}" >> $GITHUB_ENV
./.ci/scripts/android/mainlinebuild.sh
env:
MAINLINE_PLAY_ANDROID_KEYSTORE_B64: ${{ secrets.PLAY_ANDROID_KEYSTORE_B64 }}
PLAY_ANDROID_KEY_ALIAS: ${{ secrets.PLAY_ANDROID_KEY_ALIAS }}
PLAY_ANDROID_KEYSTORE_PASS: ${{ secrets.PLAY_ANDROID_KEYSTORE_PASS }}
SERVICE_ACCOUNT_KEY_B64: ${{ secrets.MAINLINE_SERVICE_ACCOUNT_KEY_B64 }}
STORE_TRACK: ${{ github.event.inputs.release-track }}
AUTO_VERSIONED: true

View File

@ -6,11 +6,14 @@
const fs = require("fs");
// which label to check for changes
const CHANGE_LABEL = 'android-merge';
const CHANGE_LABEL_MAINLINE = 'android-merge';
const CHANGE_LABEL_EA = 'android-ea-merge';
// how far back in time should we consider the changes are "recent"? (default: 24 hours)
const DETECTION_TIME_FRAME = (parseInt(process.env.DETECTION_TIME_FRAME)) || (24 * 3600 * 1000);
const BUILD_EA = process.env.BUILD_EA == 'true';
const MAINLINE_TAG = process.env.MAINLINE_TAG;
async function checkBaseChanges(github, context) {
async function checkBaseChanges(github) {
// query the commit date of the latest commit on this branch
const query = `query($owner:String!, $name:String!, $ref:String!) {
repository(name:$name, owner:$owner) {
@ -22,8 +25,8 @@ async function checkBaseChanges(github, context) {
}
}`;
const variables = {
owner: context.repo.owner,
name: context.repo.repo,
owner: 'yuzu-emu',
name: 'yuzu',
ref: 'refs/heads/master',
};
const result = await github.graphql(query, variables);
@ -38,22 +41,9 @@ async function checkBaseChanges(github, context) {
return false;
}
async function checkAndroidChanges(github, context) {
if (checkBaseChanges(github, context)) return true;
const query = `query($owner:String!, $name:String!, $label:String!) {
repository(name:$name, owner:$owner) {
pullRequests(labels: [$label], states: OPEN, first: 100) {
nodes { number headRepository { pushedAt } }
}
}
}`;
const variables = {
owner: context.repo.owner,
name: context.repo.repo,
label: CHANGE_LABEL,
};
const result = await github.graphql(query, variables);
const pulls = result.repository.pullRequests.nodes;
async function checkAndroidChanges(github) {
if (checkBaseChanges(github)) return true;
const pulls = getPulls(github, false);
for (let i = 0; i < pulls.length; i++) {
let pull = pulls[i];
if (new Date() - new Date(pull.headRepository.pushedAt) <= DETECTION_TIME_FRAME) {
@ -83,15 +73,21 @@ async function tagAndPush(github, owner, repo, execa, commit=false) {
};
const tags = await github.graphql(query, variables);
const tagList = tags.repository.refs.nodes;
const lastTag = tagList[0] ? tagList[0].name : 'dummy-0';
let lastTag = 'android-1';
for (let i = 0; i < tagList.length; ++i) {
if (tagList[i].name.includes('android-')) {
lastTag = tagList[i].name;
break;
}
}
const tagNumber = /\w+-(\d+)/.exec(lastTag)[1] | 0;
const channel = repo.split('-')[1];
const newTag = `${channel}-${tagNumber + 1}`;
console.log(`New tag: ${newTag}`);
if (commit) {
let channelName = channel[0].toUpperCase() + channel.slice(1);
console.info(`Committing pending commit as ${channelName} #${tagNumber + 1}`);
await execa("git", ['commit', '-m', `${channelName} #${tagNumber + 1}`]);
console.info(`Committing pending commit as ${channelName} ${tagNumber + 1}`);
await execa("git", ['commit', '-m', `${channelName} ${tagNumber + 1}`]);
}
console.info('Pushing tags to GitHub ...');
await execa("git", ['tag', newTag]);
@ -101,6 +97,48 @@ async function tagAndPush(github, owner, repo, execa, commit=false) {
console.info('Successfully pushed new changes.');
}
async function tagAndPushEA(github, owner, repo, execa) {
let altToken = process.env.ALT_GITHUB_TOKEN;
if (!altToken) {
throw `Please set ALT_GITHUB_TOKEN environment variable. This token should have write access to ${owner}/${repo}.`;
}
const query = `query ($owner:String!, $name:String!) {
repository(name:$name, owner:$owner) {
refs(refPrefix: "refs/tags/", orderBy: {field: TAG_COMMIT_DATE, direction: DESC}, first: 10) {
nodes { name }
}
}
}`;
const variables = {
owner: owner,
name: repo,
};
const tags = await github.graphql(query, variables);
const tagList = tags.repository.refs.nodes;
let lastTag = 'ea-1';
for (let i = 0; i < tagList.length; ++i) {
if (tagList[i].name.includes('ea-')) {
lastTag = tagList[i].name;
break;
}
}
const tagNumber = /\w+-(\d+)/.exec(lastTag)[1] | 0;
const newTag = `ea-${tagNumber + 1}`;
console.log(`New tag: ${newTag}`);
console.info('Pushing tags to GitHub ...');
await execa("git", ["remote", "add", "android", "https://github.com/yuzu-emu/yuzu-android.git"]);
await execa("git", ["fetch", "android"]);
await execa("git", ['tag', newTag]);
await execa("git", ['push', 'android', `${newTag}`]);
fs.writeFile('tag-name.txt', newTag, (err) => {
if (err) throw 'Could not write tag name to file!'
})
console.info('Successfully pushed new changes.');
}
async function generateReadme(pulls, context, mergeResults, execa) {
let baseUrl = `https://github.com/${context.repo.owner}/${context.repo.repo}/`;
let output =
@ -157,7 +195,7 @@ async function mergePullRequests(pulls, execa) {
process1.stdout.pipe(process.stdout);
await process1;
const process2 = execa("git", ["commit", "-m", `Merge PR ${pr}`]);
const process2 = execa("git", ["commit", "-m", `Merge yuzu-emu#${pr}`]);
process2.stdout.pipe(process.stdout);
await process2;
@ -182,7 +220,27 @@ async function mergePullRequests(pulls, execa) {
return mergeResults;
}
async function mergebot(github, context, execa) {
async function resetBranch(execa) {
console.log("::group::Reset master branch");
let hasFailed = false;
try {
await execa("git", ["remote", "add", "source", "https://github.com/yuzu-emu/yuzu.git"]);
await execa("git", ["fetch", "source"]);
const process1 = await execa("git", ["rev-parse", "source/master"]);
const headCommit = process1.stdout;
await execa("git", ["reset", "--hard", headCommit]);
} catch (err) {
console.log(`::error title=Failed to reset master branch`);
hasFailed = true;
}
console.log("::endgroup::");
if (hasFailed) {
throw 'Failed to reset the master branch. Aborting!';
}
}
async function getPulls(github) {
const query = `query ($owner:String!, $name:String!, $label:String!) {
repository(name:$name, owner:$owner) {
pullRequests(labels: [$label], states: OPEN, first: 100) {
@ -192,13 +250,49 @@ async function mergebot(github, context, execa) {
}
}
}`;
const variables = {
owner: context.repo.owner,
name: context.repo.repo,
label: CHANGE_LABEL,
const mainlineVariables = {
owner: 'yuzu-emu',
name: 'yuzu',
label: CHANGE_LABEL_MAINLINE,
};
const result = await github.graphql(query, variables);
const pulls = result.repository.pullRequests.nodes;
const mainlineResult = await github.graphql(query, mainlineVariables);
const pulls = mainlineResult.repository.pullRequests.nodes;
if (BUILD_EA) {
const eaVariables = {
owner: 'yuzu-emu',
name: 'yuzu',
label: CHANGE_LABEL_EA,
};
const eaResult = await github.graphql(query, eaVariables);
const eaPulls = eaResult.repository.pullRequests.nodes;
return pulls.concat(eaPulls);
}
return pulls;
}
async function getMainlineTag(execa) {
console.log(`::group::Getting mainline tag android-${MAINLINE_TAG}`);
let hasFailed = false;
try {
await execa("git", ["remote", "add", "mainline", "https://github.com/yuzu-emu/yuzu-android.git"]);
await execa("git", ["fetch", "mainline", "--tags"]);
await execa("git", ["checkout", `tags/android-${MAINLINE_TAG}`]);
await execa("git", ["submodule", "update", "--init", "--recursive"]);
} catch (err) {
console.log('::error title=Failed pull tag');
hasFailed = true;
}
console.log("::endgroup::");
if (hasFailed) {
throw 'Failed pull mainline tag. Aborting!';
}
}
async function mergebot(github, context, execa) {
// Reset our local copy of master to what appears on yuzu-emu/yuzu - master
await resetBranch(execa);
const pulls = await getPulls(github);
let displayList = [];
for (let i = 0; i < pulls.length; i++) {
let pull = pulls[i];
@ -208,11 +302,17 @@ async function mergebot(github, context, execa) {
console.table(displayList);
await fetchPullRequests(pulls, "https://github.com/yuzu-emu/yuzu", execa);
const mergeResults = await mergePullRequests(pulls, execa);
await generateReadme(pulls, context, mergeResults, execa);
await tagAndPush(github, context.repo.owner, `${context.repo.repo}-android`, execa, true);
if (BUILD_EA) {
await tagAndPushEA(github, 'yuzu-emu', `yuzu-android`, execa);
} else {
await generateReadme(pulls, context, mergeResults, execa);
await tagAndPush(github, 'yuzu-emu', `yuzu-android`, execa, true);
}
}
module.exports.mergebot = mergebot;
module.exports.checkAndroidChanges = checkAndroidChanges;
module.exports.tagAndPush = tagAndPush;
module.exports.checkBaseChanges = checkBaseChanges;
module.exports.getMainlineTag = getMainlineTag;

View File

@ -1,4 +1,4 @@
# SPDX-FileCopyrightText: 2023 yuzu Emulator Project
# SPDX-FileCopyrightText: 2024 yuzu Emulator Project
# SPDX-License-Identifier: GPL-2.0-or-later
name: yuzu-android-publish
@ -33,7 +33,7 @@ jobs:
script: |
if (context.payload.inputs && context.payload.inputs.android === 'true') return true;
const checkAndroidChanges = require('./.github/workflows/android-merge.js').checkAndroidChanges;
return checkAndroidChanges(github, context);
return checkAndroidChanges(github);
- run: npm install execa@5
if: ${{ steps.check-changes.outputs.result == 'true' }}
- uses: actions/checkout@v3

View File

@ -13,13 +13,15 @@ jobs:
format:
name: 'verify format'
runs-on: ubuntu-latest
container:
image: yuzuemu/build-environments:linux-clang-format
options: -u 1001
steps:
- uses: actions/checkout@v3
with:
submodules: false
- name: set up JDK 17
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'temurin'
- name: 'Verify Formatting'
run: bash -ex ./.ci/scripts/format/script.sh
build:
@ -68,6 +70,25 @@ jobs:
with:
name: ${{ matrix.type }}
path: artifacts/
build-mac:
name: 'test build (macos)'
needs: format
runs-on: macos-14
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
fetch-depth: 0
- name: Install dependencies
run: |
brew install autoconf automake boost ccache ffmpeg fmt glslang hidapi libtool libusb lz4 ninja nlohmann-json openssl pkg-config qt@5 sdl2 speexdsp zlib zlib zstd
- name: Build
run: |
mkdir build
cd build
export Qt5_DIR="$(brew --prefix qt@5)/lib/cmake"
cmake .. -GNinja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DYUZU_USE_BUNDLED_VCPKG=OFF -DYUZU_TESTS=OFF -DENABLE_WEB_SERVICE=OFF -DENABLE_LIBUSB=OFF
ninja
build-msvc:
name: 'test build (windows, msvc)'
needs: format

17
.gitmodules vendored
View File

@ -4,9 +4,6 @@
[submodule "enet"]
path = externals/enet
url = https://github.com/lsalzman/enet.git
[submodule "inih"]
path = externals/inih/inih
url = https://github.com/benhoyt/inih.git
[submodule "cubeb"]
path = externals/cubeb
url = https://github.com/mozilla/cubeb.git
@ -32,7 +29,7 @@
path = externals/xbyak
url = https://github.com/herumi/xbyak.git
[submodule "opus"]
path = externals/opus/opus
path = externals/opus
url = https://github.com/xiph/opus.git
[submodule "SDL"]
path = externals/SDL
@ -58,3 +55,15 @@
[submodule "VulkanMemoryAllocator"]
path = externals/VulkanMemoryAllocator
url = https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git
[submodule "breakpad"]
path = externals/breakpad
url = https://github.com/yuzu-emu/breakpad.git
[submodule "simpleini"]
path = externals/simpleini
url = https://github.com/brofield/simpleini.git
[submodule "oaknut"]
path = externals/oaknut
url = https://github.com/merryhime/oaknut
[submodule "Vulkan-Utility-Libraries"]
path = externals/Vulkan-Utility-Libraries
url = https://github.com/KhronosGroup/Vulkan-Utility-Libraries.git

View File

@ -147,3 +147,15 @@ License: GPL-3.0-or-later
Files: src/android/gradle/wrapper/*
Copyright: 2023 yuzu Emulator Project
License: GPL-3.0-or-later
Files: externals/stb/*
Copyright: Sean Barrett
License: MIT
Files: externals/gamemode/*
Copyright: Copyright 2017-2019 Feral Interactive
License: BSD-3-Clause
Files: src/android/app/debug.keystore
Copyright: 2023 yuzu Emulator Project
License: GPL-3.0-or-later

View File

@ -11,7 +11,6 @@ list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/externals/cmake-modul
include(DownloadExternals)
include(CMakeDependentOption)
include(CTest)
include(FetchContent)
# Set bundled sdl2/qt as dependent options.
# OFF by default, but if ENABLE_SDL2 and MSVC are true then ON
@ -37,6 +36,8 @@ option(YUZU_USE_BUNDLED_FFMPEG "Download/Build bundled FFmpeg" "${WIN32}")
option(YUZU_USE_EXTERNAL_VULKAN_HEADERS "Use Vulkan-Headers from externals" ON)
option(YUZU_USE_EXTERNAL_VULKAN_UTILITY_LIBRARIES "Use Vulkan-Utility-Libraries from externals" ON)
option(YUZU_USE_QT_MULTIMEDIA "Use QtMultimedia for Camera" OFF)
option(YUZU_USE_QT_WEB_ENGINE "Use QtWebEngine for web applet implementation" OFF)
@ -49,9 +50,11 @@ option(YUZU_TESTS "Compile tests" "${BUILD_TESTING}")
option(YUZU_USE_PRECOMPILED_HEADERS "Use precompiled headers" ON)
cmake_dependent_option(YUZU_ROOM "Compile LDN room server" ON "NOT ANDROID" OFF)
option(YUZU_DOWNLOAD_ANDROID_VVL "Download validation layer binary for android" ON)
CMAKE_DEPENDENT_OPTION(YUZU_CRASH_DUMPS "Compile Windows crash dump (Minidump) support" OFF "WIN32" OFF)
CMAKE_DEPENDENT_OPTION(YUZU_ROOM "Compile LDN room server" ON "NOT ANDROID" OFF)
CMAKE_DEPENDENT_OPTION(YUZU_CRASH_DUMPS "Compile crash dump (Minidump) support" OFF "WIN32 OR LINUX" OFF)
option(YUZU_USE_BUNDLED_VCPKG "Use vcpkg for yuzu dependencies" "${MSVC}")
@ -61,8 +64,12 @@ option(YUZU_ENABLE_LTO "Enable link-time optimization" OFF)
option(YUZU_DOWNLOAD_TIME_ZONE_DATA "Always download time zone binaries" OFF)
option(YUZU_ENABLE_PORTABLE "Allow yuzu to enable portable mode if a user folder is found in the CWD" ON)
CMAKE_DEPENDENT_OPTION(YUZU_USE_FASTER_LD "Check if a faster linker is available" ON "NOT WIN32" OFF)
CMAKE_DEPENDENT_OPTION(USE_SYSTEM_MOLTENVK "Use the system MoltenVK lib (instead of the bundled one)" OFF "APPLE" OFF)
set(DEFAULT_ENABLE_OPENSSL ON)
if (ANDROID OR WIN32 OR APPLE)
# - Windows defaults to the Schannel backend.
@ -75,47 +82,26 @@ if (ANDROID OR WIN32 OR APPLE)
endif()
option(ENABLE_OPENSSL "Enable OpenSSL backend for ISslConnection" ${DEFAULT_ENABLE_OPENSSL})
# On Android, fetch and compile libcxx before doing anything else
if (ANDROID AND YUZU_DOWNLOAD_ANDROID_VVL)
set(vvl_version "sdk-1.3.261.1")
set(vvl_zip_file "${CMAKE_BINARY_DIR}/externals/vvl-android.zip")
if (NOT EXISTS "${vvl_zip_file}")
# Download and extract validation layer release to externals directory
set(vvl_base_url "https://github.com/KhronosGroup/Vulkan-ValidationLayers/releases/download")
file(DOWNLOAD "${vvl_base_url}/${vvl_version}/android-binaries-${vvl_version}-android.zip"
"${vvl_zip_file}" SHOW_PROGRESS)
execute_process(COMMAND ${CMAKE_COMMAND} -E tar xf "${vvl_zip_file}"
WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/externals")
endif()
# Copy the arm64 binary to src/android/app/main/jniLibs
set(vvl_lib_path "${CMAKE_CURRENT_SOURCE_DIR}/src/android/app/src/main/jniLibs/arm64-v8a/")
file(COPY "${CMAKE_BINARY_DIR}/externals/android-binaries-${vvl_version}/arm64-v8a/libVkLayer_khronos_validation.so"
DESTINATION "${vvl_lib_path}")
endif()
if (ANDROID)
set(CMAKE_SKIP_INSTALL_RULES ON)
set(LLVM_VERSION "15.0.6")
# Note: even though libcxx and libcxxabi have separate releases on the project page,
# the separated releases cannot be compiled. Only in-tree builds work. Therefore we
# must fetch the source release for the entire llvm tree.
FetchContent_Declare(llvm
URL "https://github.com/llvm/llvm-project/releases/download/llvmorg-${LLVM_VERSION}/llvm-project-${LLVM_VERSION}.src.tar.xz"
URL_HASH SHA256=9d53ad04dc60cb7b30e810faf64c5ab8157dadef46c8766f67f286238256ff92
TLS_VERIFY TRUE
)
FetchContent_MakeAvailable(llvm)
# libcxx has support for most of the range library, but it's gated behind a flag:
add_compile_definitions(_LIBCPP_ENABLE_EXPERIMENTAL)
# Disable standard header inclusion
set(ANDROID_STL "none")
# libcxxabi
set(LIBCXXABI_INCLUDE_TESTS OFF)
set(LIBCXXABI_ENABLE_SHARED FALSE)
set(LIBCXXABI_ENABLE_STATIC TRUE)
set(LIBCXXABI_LIBCXX_INCLUDES "${LIBCXX_TARGET_INCLUDE_DIRECTORY}" CACHE STRING "" FORCE)
add_subdirectory("${llvm_SOURCE_DIR}/libcxxabi" "${llvm_BINARY_DIR}/libcxxabi")
link_libraries(cxxabi_static)
# libcxx
set(LIBCXX_ABI_NAMESPACE "__ndk1" CACHE STRING "" FORCE)
set(LIBCXX_CXX_ABI "libcxxabi")
set(LIBCXX_INCLUDE_TESTS OFF)
set(LIBCXX_INCLUDE_BENCHMARKS OFF)
set(LIBCXX_INCLUDE_DOCS OFF)
set(LIBCXX_ENABLE_SHARED FALSE)
set(LIBCXX_ENABLE_STATIC TRUE)
set(LIBCXX_ENABLE_ASSERTIONS FALSE)
add_subdirectory("${llvm_SOURCE_DIR}/libcxx" "${llvm_BINARY_DIR}/libcxx")
set_target_properties(cxx-headers PROPERTIES INTERFACE_COMPILE_OPTIONS "-isystem${CMAKE_BINARY_DIR}/${LIBCXX_INSTALL_INCLUDE_DIR}")
link_libraries(cxx_static cxx-headers)
endif()
if (YUZU_USE_BUNDLED_VCPKG)
@ -136,15 +122,31 @@ if (YUZU_USE_BUNDLED_VCPKG)
endif()
endif()
if (MSVC)
set(VCPKG_DOWNLOADS_PATH ${PROJECT_SOURCE_DIR}/externals/vcpkg/downloads)
set(NASM_VERSION "2.16.01")
set(NASM_DESTINATION_PATH ${VCPKG_DOWNLOADS_PATH}/nasm-${NASM_VERSION}-win64.zip)
set(NASM_DOWNLOAD_URL "https://github.com/yuzu-emu/ext-windows-bin/raw/master/nasm/nasm-${NASM_VERSION}-win64.zip")
if (NOT EXISTS ${NASM_DESTINATION_PATH})
file(DOWNLOAD ${NASM_DOWNLOAD_URL} ${NASM_DESTINATION_PATH} SHOW_PROGRESS STATUS NASM_STATUS)
if (NOT NASM_STATUS EQUAL 0)
# Warn and not fail since vcpkg is supposed to download this package for us in the first place
message(WARNING "External nasm vcpkg package download from ${NASM_DOWNLOAD_URL} failed with status ${NASM_STATUS}")
endif()
endif()
endif()
if (YUZU_TESTS)
list(APPEND VCPKG_MANIFEST_FEATURES "yuzu-tests")
endif()
if (YUZU_CRASH_DUMPS)
list(APPEND VCPKG_MANIFEST_FEATURES "dbghelp")
endif()
if (ENABLE_WEB_SERVICE)
list(APPEND VCPKG_MANIFEST_FEATURES "web-service")
endif()
if (ANDROID)
list(APPEND VCPKG_MANIFEST_FEATURES "android")
endif()
include(${CMAKE_SOURCE_DIR}/externals/vcpkg/scripts/buildsystems/vcpkg.cmake)
elseif(NOT "$ENV{VCPKG_TOOLCHAIN_FILE}" STREQUAL "")
@ -263,6 +265,11 @@ if (UNIX)
add_definitions(-DYUZU_UNIX=1)
endif()
if (ARCHITECTURE_arm64 AND (ANDROID OR ${CMAKE_SYSTEM_NAME} STREQUAL "Linux"))
set(HAS_NCE 1)
add_definitions(-DHAS_NCE=1)
endif()
# Configure C++ standard
# ===========================
@ -288,17 +295,23 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin)
find_package(Boost 1.79.0 REQUIRED context)
find_package(enet 1.3 MODULE)
find_package(fmt 9 REQUIRED)
find_package(inih 52 MODULE COMPONENTS INIReader)
find_package(LLVM 17 MODULE COMPONENTS Demangle)
find_package(LLVM 17.0.2 MODULE COMPONENTS Demangle)
find_package(lz4 REQUIRED)
find_package(nlohmann_json 3.8 REQUIRED)
find_package(Opus 1.3 MODULE)
find_package(RenderDoc MODULE)
find_package(SimpleIni MODULE)
find_package(stb MODULE)
find_package(VulkanMemoryAllocator CONFIG)
find_package(ZLIB 1.2 REQUIRED)
find_package(zstd 1.5 REQUIRED)
if (NOT YUZU_USE_EXTERNAL_VULKAN_HEADERS)
find_package(Vulkan 1.3.256 REQUIRED)
find_package(VulkanHeaders 1.3.274 REQUIRED)
endif()
if (NOT YUZU_USE_EXTERNAL_VULKAN_UTILITY_LIBRARIES)
find_package(VulkanUtilityLibraries REQUIRED)
endif()
if (ENABLE_LIBUSB)
@ -309,6 +322,10 @@ if (ARCHITECTURE_x86 OR ARCHITECTURE_x86_64)
find_package(xbyak 6 CONFIG)
endif()
if (ARCHITECTURE_arm64)
find_package(oaknut 2.0.1 CONFIG)
endif()
if (ARCHITECTURE_x86_64 OR ARCHITECTURE_arm64)
find_package(dynarmic 6.4.0 CONFIG)
endif()
@ -339,6 +356,10 @@ if(ENABLE_OPENSSL)
find_package(OpenSSL 1.1.1 REQUIRED)
endif()
if (UNIX AND NOT APPLE)
find_package(gamemode 1.7 MODULE)
endif()
# Please consider this as a stub
if(ENABLE_QT6 AND Qt6_LOCATION)
list(APPEND CMAKE_PREFIX_PATH "${Qt6_LOCATION}")
@ -359,6 +380,9 @@ function(set_yuzu_qt_components)
if (ENABLE_QT_TRANSLATION)
list(APPEND YUZU_QT_COMPONENTS2 LinguistTools)
endif()
if (USE_DISCORD_PRESENCE)
list(APPEND YUZU_QT_COMPONENTS2 Network)
endif()
set(YUZU_QT_COMPONENTS ${YUZU_QT_COMPONENTS2} PARENT_SCOPE)
endfunction(set_yuzu_qt_components)
@ -506,7 +530,7 @@ if (ENABLE_SDL2)
if (YUZU_USE_BUNDLED_SDL2)
# Detect toolchain and platform
if ((MSVC_VERSION GREATER_EQUAL 1920 AND MSVC_VERSION LESS 1940) AND ARCHITECTURE_x86_64)
set(SDL2_VER "SDL2-2.28.1")
set(SDL2_VER "SDL2-2.28.2")
else()
message(FATAL_ERROR "No bundled SDL2 binaries for your toolchain. Disable YUZU_USE_BUNDLED_SDL2 and provide your own.")
endif()
@ -546,6 +570,18 @@ if (NOT YUZU_USE_BUNDLED_FFMPEG)
find_package(FFmpeg 4.3 REQUIRED QUIET COMPONENTS ${FFmpeg_COMPONENTS})
endif()
if (WIN32 AND YUZU_CRASH_DUMPS)
set(BREAKPAD_VER "breakpad-c89f9dd")
download_bundled_external("breakpad/" ${BREAKPAD_VER} BREAKPAD_PREFIX)
set(BREAKPAD_CLIENT_INCLUDE_DIR "${BREAKPAD_PREFIX}/include")
set(BREAKPAD_CLIENT_LIBRARY "${BREAKPAD_PREFIX}/lib/libbreakpad_client.lib")
add_library(libbreakpad_client INTERFACE IMPORTED)
target_link_libraries(libbreakpad_client INTERFACE "${BREAKPAD_CLIENT_LIBRARY}")
target_include_directories(libbreakpad_client INTERFACE "${BREAKPAD_CLIENT_INCLUDE_DIR}")
endif()
# Prefer the -pthread flag on Linux.
set(THREADS_PREFER_PTHREAD_FLAG ON)
find_package(Threads REQUIRED)
@ -565,13 +601,6 @@ elseif (WIN32)
# PSAPI is the Process Status API
set(PLATFORM_LIBRARIES ${PLATFORM_LIBRARIES} psapi imm32 version)
endif()
if (YUZU_CRASH_DUMPS)
find_library(DBGHELP_LIBRARY dbghelp)
if ("${DBGHELP_LIBRARY}" STREQUAL "DBGHELP_LIBRARY-NOTFOUND")
message(FATAL_ERROR "YUZU_CRASH_DUMPS enabled but dbghelp library not found")
endif()
endif()
elseif (CMAKE_SYSTEM_NAME MATCHES "^(Linux|kFreeBSD|GNU|SunOS)$")
set(PLATFORM_LIBRARIES rt)
endif()

View File

@ -36,3 +36,21 @@ endif()
message(STATUS "Using bundled binaries at ${prefix}")
set(${prefix_var} "${prefix}" PARENT_SCOPE)
endfunction()
function(download_moltenvk_external platform version)
set(MOLTENVK_DIR "${CMAKE_BINARY_DIR}/externals/MoltenVK")
set(MOLTENVK_TAR "${CMAKE_BINARY_DIR}/externals/MoltenVK.tar")
if (NOT EXISTS ${MOLTENVK_DIR})
if (NOT EXISTS ${MOLTENVK_TAR})
file(DOWNLOAD https://github.com/KhronosGroup/MoltenVK/releases/download/${version}/MoltenVK-${platform}.tar
${MOLTENVK_TAR} SHOW_PROGRESS)
endif()
execute_process(COMMAND ${CMAKE_COMMAND} -E tar xf "${MOLTENVK_TAR}"
WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/externals")
endif()
# Add the MoltenVK library path to the prefix so find_library can locate it.
list(APPEND CMAKE_PREFIX_PATH "${MOLTENVK_DIR}/MoltenVK/dylib/${platform}")
set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} PARENT_SCOPE)
endfunction()

View File

@ -0,0 +1,19 @@
# SPDX-FileCopyrightText: 2023 Alexandre Bouvier <contact@amb.tf>
#
# SPDX-License-Identifier: GPL-3.0-or-later
find_path(RenderDoc_INCLUDE_DIR renderdoc_app.h)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(RenderDoc
REQUIRED_VARS RenderDoc_INCLUDE_DIR
)
if (RenderDoc_FOUND AND NOT TARGET RenderDoc::API)
add_library(RenderDoc::API INTERFACE IMPORTED)
set_target_properties(RenderDoc::API PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${RenderDoc_INCLUDE_DIR}"
)
endif()
mark_as_advanced(RenderDoc_INCLUDE_DIR)

View File

@ -0,0 +1,21 @@
# SPDX-FileCopyrightText: 2023 Alexandre Bouvier <contact@amb.tf>
#
# SPDX-License-Identifier: GPL-3.0-or-later
include(FindPackageHandleStandardArgs)
find_package(SimpleIni QUIET CONFIG)
if (SimpleIni_CONSIDERED_CONFIGS)
find_package_handle_standard_args(SimpleIni CONFIG_MODE)
else()
find_package(PkgConfig QUIET)
pkg_search_module(SIMPLEINI QUIET IMPORTED_TARGET simpleini)
find_package_handle_standard_args(SimpleIni
REQUIRED_VARS SIMPLEINI_INCLUDEDIR
VERSION_VAR SIMPLEINI_VERSION
)
endif()
if (SimpleIni_FOUND AND NOT TARGET SimpleIni::SimpleIni)
add_library(SimpleIni::SimpleIni ALIAS PkgConfig::SIMPLEINI)
endif()

View File

@ -0,0 +1,15 @@
# SPDX-FileCopyrightText: 2023 yuzu Emulator Project
# SPDX-License-Identifier: GPL-2.0-or-later
find_package(PkgConfig QUIET)
pkg_search_module(GAMEMODE QUIET IMPORTED_TARGET gamemode)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(gamemode
REQUIRED_VARS GAMEMODE_INCLUDEDIR
VERSION_VAR GAMEMODE_VERSION
)
if (gamemode_FOUND AND NOT TARGET gamemode::headers)
add_library(gamemode::headers ALIAS PkgConfig::GAMEMODE)
endif()

View File

@ -1,27 +0,0 @@
# SPDX-FileCopyrightText: 2022 Alexandre Bouvier <contact@amb.tf>
#
# SPDX-License-Identifier: GPL-3.0-or-later
find_package(PkgConfig QUIET)
pkg_search_module(INIH QUIET IMPORTED_TARGET inih)
if (INIReader IN_LIST inih_FIND_COMPONENTS)
pkg_search_module(INIREADER QUIET IMPORTED_TARGET INIReader)
if (INIREADER_FOUND)
set(inih_INIReader_FOUND TRUE)
endif()
endif()
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(inih
REQUIRED_VARS INIH_LINK_LIBRARIES
VERSION_VAR INIH_VERSION
HANDLE_COMPONENTS
)
if (inih_FOUND AND NOT TARGET inih::inih)
add_library(inih::inih ALIAS PkgConfig::INIH)
endif()
if (inih_FOUND AND inih_INIReader_FOUND AND NOT TARGET inih::INIReader)
add_library(inih::INIReader ALIAS PkgConfig::INIREADER)
endif()

View File

@ -0,0 +1,31 @@
# SPDX-FileCopyrightText: 2023 Alexandre Bouvier <contact@amb.tf>
#
# SPDX-License-Identifier: GPL-3.0-or-later
find_path(stb_image_INCLUDE_DIR stb_image.h PATH_SUFFIXES stb)
find_path(stb_image_resize_INCLUDE_DIR stb_image_resize.h PATH_SUFFIXES stb)
find_path(stb_image_write_INCLUDE_DIR stb_image_write.h PATH_SUFFIXES stb)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(stb
REQUIRED_VARS
stb_image_INCLUDE_DIR
stb_image_resize_INCLUDE_DIR
stb_image_write_INCLUDE_DIR
)
if (stb_FOUND AND NOT TARGET stb::headers)
add_library(stb::headers INTERFACE IMPORTED)
set_property(TARGET stb::headers PROPERTY
INTERFACE_INCLUDE_DIRECTORIES
"${stb_image_INCLUDE_DIR}"
"${stb_image_resize_INCLUDE_DIR}"
"${stb_image_write_INCLUDE_DIR}"
)
endif()
mark_as_advanced(
stb_image_INCLUDE_DIR
stb_image_resize_INCLUDE_DIR
stb_image_write_INCLUDE_DIR
)

View File

@ -1,7 +1,7 @@
# SPDX-FileCopyrightText: 2019 yuzu Emulator Project
# SPDX-License-Identifier: GPL-2.0-or-later
# Gets a UTC timstamp and sets the provided variable to it
# Gets a UTC timestamp and sets the provided variable to it
function(get_timestamp _var)
string(TIMESTAMP timestamp UTC)
set(${_var} "${timestamp}" PARENT_SCOPE)

View File

@ -1,4 +1,4 @@
Copyright (c) <year> <owner>
Copyright (c) <year> <owner>
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

View File

@ -1,4 +1,4 @@
Copyright (c) <year> <owner>.
Copyright (c) <year> <owner>.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

View File

@ -35,7 +35,7 @@ Mozilla Public License Version 2.0
means any form of the work other than Source Code Form.
1.7. "Larger Work"
means a work that combines Covered Software with other material, in
means a work that combines Covered Software with other material, in
a separate file or files, that is not Covered Software.
1.8. "License"

View File

@ -1,3 +1,15 @@
| Pull Request | Commit | Title | Author | Merged? |
|----|----|----|----|----|
| [12461](https://github.com/yuzu-emu/yuzu//pull/12461) | [`a84e8e26f`](https://github.com/yuzu-emu/yuzu//pull/12461/files) | Rework Nvdec and VIC to fix out-of-order videos, and speed up decoding. | [Kelebek1](https://github.com/Kelebek1/) | Yes |
| [13018](https://github.com/yuzu-emu/yuzu//pull/13018) | [`01cbc638a`](https://github.com/yuzu-emu/yuzu//pull/13018/files) | am: rewrite part 2 | [liamwhite](https://github.com/liamwhite/) | Yes |
| [13174](https://github.com/yuzu-emu/yuzu//pull/13174) | [`7d1284826`](https://github.com/yuzu-emu/yuzu//pull/13174/files) | glue/time: Remove global variables | [FearlessTobi](https://github.com/FearlessTobi/) | Yes |
| [13177](https://github.com/yuzu-emu/yuzu//pull/13177) | [`f5cc94f05`](https://github.com/yuzu-emu/yuzu//pull/13177/files) | vfs: misc performance improvements | [liamwhite](https://github.com/liamwhite/) | Yes |
End of merge log. You can find the original README.md below the break.
-----
<!--
SPDX-FileCopyrightText: 2018 yuzu Emulator Project
SPDX-License-Identifier: GPL-2.0-or-later
@ -40,7 +52,7 @@ It is written in C++ with portability in mind, and we actively maintain builds f
The emulator is capable of running most commercial games at full speed, provided you meet the [necessary hardware requirements](https://yuzu-emu.org/help/quickstart/#hardware-requirements).
For a full list of games yuzu support, please visit our [Compatibility page](https://yuzu-emu.org/game/)
For a full list of games yuzu supports, please visit our [Compatibility page](https://yuzu-emu.org/game/).
Check out our [website](https://yuzu-emu.org/) for the latest news on exciting features, monthly progress reports, and more!

19
dist/72-yuzu-input.rules vendored Normal file
View File

@ -0,0 +1,19 @@
# SPDX-FileCopyrightText: 2023 yuzu Emulator Project
# SPDX-License-Identifier: GPL-2.0-or-later
# Allow systemd-logind to manage user access to hidraw with this file
# On most systems, this file should be installed to /etc/udev/rules.d/72-yuzu-input.rules
# Consult your distro if this is not the case
# Switch Pro Controller (USB/Bluetooth)
KERNEL=="hidraw*", ATTRS{idVendor}=="057e", ATTRS{idProduct}=="2009", MODE="0660", TAG+="uaccess"
KERNEL=="hidraw*", KERNELS=="*057e:2009*", MODE="0660", TAG+="uaccess"
# Joy-Con L (Bluetooth)
KERNEL=="hidraw*", KERNELS=="*057e:2006*", MODE="0660", TAG+="uaccess"
# Joy-Con R (Bluetooth)
KERNEL=="hidraw*", KERNELS=="*057e:2007*", MODE="0660", TAG+="uaccess"
# Joy-Con Charging Grip (USB)
KERNEL=="hidraw*", ATTRS{idVendor}=="057e", ATTRS{idProduct}=="200e", MODE="0660", TAG+="uaccess"

View File

@ -6,3 +6,9 @@ file_filter = <lang>.ts
source_file = en.ts
source_lang = en
type = QT
[o:yuzu-emulator:p:yuzu:r:yuzu-android]
file_filter = ../../src/android/app/src/main/res/values-<lang>/strings.xml
source_file = ../../src/android/app/src/main/res/values/strings.xml
type = ANDROID
lang_map = ja_JP:ja, ko_KR:ko, pt_BR:pt-rBR, pt_PT:pt-rPT, ru_RU:ru, vi_VN:vi, zh_CN:zh-rCN, zh_TW:zh-rTW

8305
dist/languages/ar.ts vendored Normal file

File diff suppressed because it is too large Load Diff

4614
dist/languages/ca.ts vendored

File diff suppressed because it is too large Load Diff

4568
dist/languages/cs.ts vendored

File diff suppressed because it is too large Load Diff

4383
dist/languages/da.ts vendored

File diff suppressed because it is too large Load Diff

4548
dist/languages/de.ts vendored

File diff suppressed because it is too large Load Diff

4379
dist/languages/el.ts vendored

File diff suppressed because it is too large Load Diff

4465
dist/languages/es.ts vendored

File diff suppressed because it is too large Load Diff

4569
dist/languages/fr.ts vendored

File diff suppressed because it is too large Load Diff

8321
dist/languages/hu.ts vendored Normal file

File diff suppressed because it is too large Load Diff

4527
dist/languages/id.ts vendored

File diff suppressed because it is too large Load Diff

4618
dist/languages/it.ts vendored

File diff suppressed because it is too large Load Diff

4610
dist/languages/ja_JP.ts vendored

File diff suppressed because it is too large Load Diff

4446
dist/languages/ko_KR.ts vendored

File diff suppressed because it is too large Load Diff

4409
dist/languages/nb.ts vendored

File diff suppressed because it is too large Load Diff

4451
dist/languages/nl.ts vendored

File diff suppressed because it is too large Load Diff

4387
dist/languages/pl.ts vendored

File diff suppressed because it is too large Load Diff

4660
dist/languages/pt_BR.ts vendored

File diff suppressed because it is too large Load Diff

4555
dist/languages/pt_PT.ts vendored

File diff suppressed because it is too large Load Diff

4453
dist/languages/ru_RU.ts vendored

File diff suppressed because it is too large Load Diff

4356
dist/languages/sv.ts vendored

File diff suppressed because it is too large Load Diff

4422
dist/languages/tr_TR.ts vendored

File diff suppressed because it is too large Load Diff

4441
dist/languages/uk.ts vendored

File diff suppressed because it is too large Load Diff

6483
dist/languages/vi.ts vendored

File diff suppressed because it is too large Load Diff

5810
dist/languages/vi_VN.ts vendored

File diff suppressed because it is too large Load Diff

4408
dist/languages/zh_CN.ts vendored

File diff suppressed because it is too large Load Diff

4616
dist/languages/zh_TW.ts vendored

File diff suppressed because it is too large Load Diff

View File

@ -13,3 +13,4 @@ Exec=yuzu %f
Categories=Game;Emulator;Qt;
MimeType=application/x-nx-nro;application/x-nx-nso;application/x-nx-nsp;application/x-nx-xci;
Keywords=Nintendo;Switch;
StartupWMClass=yuzu

View File

@ -78,6 +78,11 @@ QPushButton#buttonRefreshDevices {
max-height: 21px;
}
QPushButton#button_reset_defaults {
min-width: 57px;
padding: 4px 8px;
}
QWidget#bottomPerGameInput,
QWidget#topControllerApplet,
QWidget#bottomControllerApplet,
@ -115,6 +120,10 @@ QWidget#connectedControllers {
background: transparent;
}
QWidget#closeButtons {
background: transparent;
}
QWidget#playersSupported,
QWidget#controllersSupported,
QWidget#controllerSupported1,

View File

@ -1380,6 +1380,10 @@ QWidget#connectedControllers {
background: transparent;
}
QWidget#closeButtons {
background: transparent;
}
QWidget#playersSupported,
QWidget#controllersSupported,
QWidget#controllerSupported1,

View File

@ -2228,6 +2228,10 @@ QPushButton#buttonRefreshDevices {
padding: 0px 0px;
}
QPushButton#button_reset_defaults {
padding: 3px 6px;
}
QSpinBox#spinboxLStickRange,
QSpinBox#spinboxRStickRange,
QSpinBox#vibrationSpinPlayer1,
@ -2301,6 +2305,10 @@ QWidget#connectedControllers {
background: transparent;
}
QWidget#closeButtons {
background: transparent;
}
QWidget#playersSupported,
QWidget#controllersSupported,
QWidget#controllerSupported1,

View File

@ -14,11 +14,16 @@ set(BUILD_SHARED_LIBS OFF)
# Skip install rules for all externals
set_directory_properties(PROPERTIES EXCLUDE_FROM_ALL ON)
# xbyak
# Xbyak (also used by Dynarmic, so needs to be added first)
if ((ARCHITECTURE_x86 OR ARCHITECTURE_x86_64) AND NOT TARGET xbyak::xbyak)
add_subdirectory(xbyak)
endif()
# Oaknut (also used by Dynarmic, so needs to be added first)
if (ARCHITECTURE_arm64 AND NOT TARGET merry::oaknut)
add_subdirectory(oaknut)
endif()
# Dynarmic
if ((ARCHITECTURE_x86_64 OR ARCHITECTURE_arm64) AND NOT TARGET dynarmic::dynarmic)
set(DYNARMIC_IGNORE_ASSERTS ON)
@ -34,14 +39,14 @@ endif()
# Glad
add_subdirectory(glad)
# inih
if (NOT TARGET inih::INIReader)
add_subdirectory(inih)
endif()
# mbedtls
add_subdirectory(mbedtls)
target_include_directories(mbedtls PUBLIC ./mbedtls/include)
if (NOT MSVC)
target_compile_options(mbedcrypto PRIVATE
-Wno-unused-but-set-variable
-Wno-string-concatenation)
endif()
# MicroProfile
add_library(microprofile INTERFACE)
@ -94,6 +99,12 @@ if (ENABLE_CUBEB AND NOT TARGET cubeb::cubeb)
set(BUILD_TOOLS OFF)
add_subdirectory(cubeb)
add_library(cubeb::cubeb ALIAS cubeb)
if (NOT MSVC)
if (TARGET speex)
target_compile_options(speex PRIVATE -Wno-sign-compare)
endif()
target_compile_options(cubeb PRIVATE -Wno-implicit-const-int-float-conversion)
endif()
endif()
# DiscordRPC
@ -123,6 +134,10 @@ endif()
# Opus
if (NOT TARGET Opus::opus)
set(OPUS_BUILD_TESTING OFF)
set(OPUS_BUILD_PROGRAMS OFF)
set(OPUS_INSTALL_PKG_CONFIG_MODULE OFF)
set(OPUS_INSTALL_CMAKE_CONFIG_MODULE OFF)
add_subdirectory(opus)
endif()
@ -140,6 +155,11 @@ if (YUZU_USE_EXTERNAL_VULKAN_HEADERS)
add_subdirectory(Vulkan-Headers)
endif()
# Vulkan-Utility-Libraries
if (YUZU_USE_EXTERNAL_VULKAN_UTILITY_LIBRARIES)
add_subdirectory(Vulkan-Utility-Libraries)
endif()
# TZDB (Time Zone Database)
add_subdirectory(nx_tzdb)
@ -151,17 +171,153 @@ endif()
if (NOT TARGET LLVM::Demangle)
add_library(demangle demangle/ItaniumDemangle.cpp)
target_include_directories(demangle PUBLIC ./demangle)
if (NOT MSVC)
target_compile_options(demangle PRIVATE -Wno-deprecated-declarations) # std::is_pod
endif()
add_library(LLVM::Demangle ALIAS demangle)
endif()
add_library(stb stb/stb_dxt.cpp)
target_include_directories(stb PUBLIC ./stb)
if (NOT TARGET stb::headers)
add_library(stb::headers ALIAS stb)
endif()
add_library(tz tz/tz/tz.cpp)
target_include_directories(tz PUBLIC ./tz)
add_library(bc_decoder bc_decoder/bc_decoder.cpp)
target_include_directories(bc_decoder PUBLIC ./bc_decoder)
if (NOT TARGET RenderDoc::API)
add_library(renderdoc INTERFACE)
target_include_directories(renderdoc SYSTEM INTERFACE ./renderdoc)
add_library(RenderDoc::API ALIAS renderdoc)
endif()
if (ANDROID)
if (ARCHITECTURE_arm64)
add_subdirectory(libadrenotools)
endif()
endif()
if (UNIX AND NOT APPLE AND NOT TARGET gamemode::headers)
add_library(gamemode INTERFACE)
target_include_directories(gamemode INTERFACE gamemode)
add_library(gamemode::headers ALIAS gamemode)
endif()
# Breakpad
# https://github.com/microsoft/vcpkg/blob/master/ports/breakpad/CMakeLists.txt
if (YUZU_CRASH_DUMPS AND NOT TARGET libbreakpad_client)
set(BREAKPAD_WIN32_DEFINES
NOMINMAX
UNICODE
WIN32_LEAN_AND_MEAN
_CRT_SECURE_NO_WARNINGS
_CRT_SECURE_NO_DEPRECATE
_CRT_NONSTDC_NO_DEPRECATE
)
# libbreakpad
add_library(libbreakpad STATIC)
file(GLOB_RECURSE LIBBREAKPAD_SOURCES breakpad/src/processor/*.cc)
file(GLOB_RECURSE LIBDISASM_SOURCES breakpad/src/third_party/libdisasm/*.c)
list(FILTER LIBBREAKPAD_SOURCES EXCLUDE REGEX "_unittest|_selftest|synth_minidump|/tests|/testdata|/solaris|microdump_stackwalk|minidump_dump|minidump_stackwalk")
if (WIN32)
list(FILTER LIBBREAKPAD_SOURCES EXCLUDE REGEX "/linux|/mac|/android")
target_compile_definitions(libbreakpad PRIVATE ${BREAKPAD_WIN32_DEFINES})
target_include_directories(libbreakpad PRIVATE "${CMAKE_GENERATOR_INSTANCE}/DIA SDK/include")
elseif (APPLE)
list(FILTER LIBBREAKPAD_SOURCES EXCLUDE REGEX "/linux|/windows|/android")
else()
list(FILTER LIBBREAKPAD_SOURCES EXCLUDE REGEX "/mac|/windows|/android")
endif()
target_sources(libbreakpad PRIVATE ${LIBBREAKPAD_SOURCES} ${LIBDISASM_SOURCES})
target_include_directories(libbreakpad
PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}/breakpad/src
${CMAKE_CURRENT_SOURCE_DIR}/breakpad/src/third_party/libdisasm
)
# libbreakpad_client
add_library(libbreakpad_client STATIC)
file(GLOB LIBBREAKPAD_COMMON_SOURCES breakpad/src/common/*.cc breakpad/src/common/*.c breakpad/src/client/*.cc)
if (WIN32)
file(GLOB_RECURSE LIBBREAKPAD_CLIENT_SOURCES breakpad/src/client/windows/*.cc breakpad/src/common/windows/*.cc)
list(FILTER LIBBREAKPAD_COMMON_SOURCES EXCLUDE REGEX "language.cc|path_helper.cc|stabs_to_module.cc|stabs_reader.cc|minidump_file_writer.cc")
target_include_directories(libbreakpad_client PRIVATE "${CMAKE_GENERATOR_INSTANCE}/DIA SDK/include")
target_compile_definitions(libbreakpad_client PRIVATE ${BREAKPAD_WIN32_DEFINES})
elseif (APPLE)
target_compile_definitions(libbreakpad_client PRIVATE HAVE_MACH_O_NLIST_H)
file(GLOB_RECURSE LIBBREAKPAD_CLIENT_SOURCES breakpad/src/client/mac/*.cc breakpad/src/common/mac/*.cc)
list(APPEND LIBBREAKPAD_CLIENT_SOURCES breakpad/src/common/mac/MachIPC.mm)
else()
target_compile_definitions(libbreakpad_client PUBLIC -DHAVE_A_OUT_H)
file(GLOB_RECURSE LIBBREAKPAD_CLIENT_SOURCES breakpad/src/client/linux/*.cc breakpad/src/common/linux/*.cc)
endif()
list(APPEND LIBBREAKPAD_CLIENT_SOURCES ${LIBBREAKPAD_COMMON_SOURCES})
list(FILTER LIBBREAKPAD_CLIENT_SOURCES EXCLUDE REGEX "/sender|/tests|/unittests|/testcases|_unittest|_test")
target_sources(libbreakpad_client PRIVATE ${LIBBREAKPAD_CLIENT_SOURCES})
target_include_directories(libbreakpad_client PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/breakpad/src)
if (WIN32)
target_link_libraries(libbreakpad_client PRIVATE wininet.lib)
elseif (APPLE)
find_library(CoreFoundation_FRAMEWORK CoreFoundation)
target_link_libraries(libbreakpad_client PRIVATE ${CoreFoundation_FRAMEWORK})
else()
find_library(PTHREAD_LIBRARIES pthread)
target_compile_definitions(libbreakpad_client PRIVATE HAVE_GETCONTEXT=1)
if (PTHREAD_LIBRARIES)
target_link_libraries(libbreakpad_client PRIVATE ${PTHREAD_LIBRARIES})
endif()
endif()
# Host tools for symbol processing
if (LINUX)
find_package(ZLIB REQUIRED)
add_executable(minidump_stackwalk breakpad/src/processor/minidump_stackwalk.cc)
target_link_libraries(minidump_stackwalk PRIVATE libbreakpad libbreakpad_client)
add_executable(dump_syms
breakpad/src/common/dwarf_cfi_to_module.cc
breakpad/src/common/dwarf_cu_to_module.cc
breakpad/src/common/dwarf_line_to_module.cc
breakpad/src/common/dwarf_range_list_handler.cc
breakpad/src/common/language.cc
breakpad/src/common/module.cc
breakpad/src/common/path_helper.cc
breakpad/src/common/stabs_reader.cc
breakpad/src/common/stabs_to_module.cc
breakpad/src/common/dwarf/bytereader.cc
breakpad/src/common/dwarf/dwarf2diehandler.cc
breakpad/src/common/dwarf/dwarf2reader.cc
breakpad/src/common/dwarf/elf_reader.cc
breakpad/src/common/linux/crc32.cc
breakpad/src/common/linux/dump_symbols.cc
breakpad/src/common/linux/elf_symbols_to_module.cc
breakpad/src/common/linux/elfutils.cc
breakpad/src/common/linux/file_id.cc
breakpad/src/common/linux/linux_libc_support.cc
breakpad/src/common/linux/memory_mapped_file.cc
breakpad/src/common/linux/safe_readlink.cc
breakpad/src/tools/linux/dump_syms/dump_syms.cc)
target_link_libraries(dump_syms PRIVATE libbreakpad_client ZLIB::ZLIB)
endif()
endif()
# SimpleIni
if (NOT TARGET SimpleIni::SimpleIni)
add_subdirectory(simpleini)
endif()
# sse2neon
if (ARCHITECTURE_arm64 AND NOT TARGET sse2neon)
add_library(sse2neon INTERFACE)
target_include_directories(sse2neon INTERFACE sse2neon)
endif()

2
externals/SDL vendored

@ -1 +1 @@
Subproject commit 116a5344ff4e8b8166eac2db540cd6578b4ba02e
Subproject commit cc016b0046d563287f0aa9f09b958b5e70d43696

@ -1 +1 @@
Subproject commit ed857118e243fdc0f3a100f00ac9919e874cfe63
Subproject commit 80207f9da86423ce33aff8328a792fd715f3c08f

1
externals/Vulkan-Utility-Libraries vendored Submodule

@ -0,0 +1 @@
Subproject commit 524f8910d0e4a5f2ec5961996b23e5b74b95cb1d

@ -1 +1 @@
Subproject commit 9b0fc3e7b02afe97895eb3e945fe800c3a7485ac
Subproject commit 2f382df218d7e8516dee3b3caccb819a62b571a2

1
externals/breakpad vendored Submodule

@ -0,0 +1 @@
Subproject commit c89f9dddc793f19910ef06c13e4fd240da4e7a59

@ -1 +1 @@
Subproject commit 6d963fbe8d415399d65e94db7910bbd22fe3741c
Subproject commit a609330e4c6374f741d3b369269f7848255e1954

2
externals/cpp-jwt vendored

@ -1 +1 @@
Subproject commit e12ef06218596b52d9b5d6e1639484866a8e7067
Subproject commit 10ef5735d842b31025f1257ae78899f50a40fb14

2
externals/dynarmic vendored

@ -1 +1 @@
Subproject commit 7da378033a7764f955516f75194856d87bbcd7a5
Subproject commit ba8192d89078af51ae6f97c9352e3683612cdff1

View File

@ -138,7 +138,7 @@ if (NOT WIN32 AND NOT ANDROID)
--cross-prefix=${TOOLCHAIN}/bin/aarch64-linux-android-
--sysroot=${SYSROOT}
--target-os=android
--extra-ldflags="--ld-path=${TOOLCHAIN}/bin/ld.lld"
--extra-ldflags="--ld-path=${TOOLCHAIN}/bin/ld.lld"
--extra-ldflags="-nostdlib"
)
endif()
@ -164,7 +164,7 @@ if (NOT WIN32 AND NOT ANDROID)
--enable-decoder=h264
--enable-decoder=vp8
--enable-decoder=vp9
--enable-filter=yadif
--enable-filter=yadif,scale
--cc="${FFmpeg_CC}"
--cxx="${FFmpeg_CXX}"
${FFmpeg_HWACCEL_FLAGS}
@ -254,7 +254,7 @@ elseif(ANDROID)
set(FFmpeg_INCLUDE_DIR "${FFmpeg_INCLUDE_DIR}" PARENT_SCOPE)
elseif(WIN32)
# Use yuzu FFmpeg binaries
set(FFmpeg_EXT_NAME "ffmpeg-5.1.3")
set(FFmpeg_EXT_NAME "ffmpeg-6.0")
set(FFmpeg_PATH "${CMAKE_BINARY_DIR}/externals/${FFmpeg_EXT_NAME}")
download_bundled_external("ffmpeg/" ${FFmpeg_EXT_NAME} "")
set(FFmpeg_FOUND YES)

@ -1 +1 @@
Subproject commit 6b6b9e593dd4d3aaf75f48d40a13ef03bdef9fdb
Subproject commit 9c1294eaddb88cb0e044c675ccae059a85fc9c6c

376
externals/gamemode/gamemode_client.h vendored Normal file
View File

@ -0,0 +1,376 @@
/*
Copyright (c) 2017-2019, Feral Interactive
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
* Neither the name of Feral Interactive nor the names of its contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
*/
#ifndef CLIENT_GAMEMODE_H
#define CLIENT_GAMEMODE_H
/*
* GameMode supports the following client functions
* Requests are refcounted in the daemon
*
* int gamemode_request_start() - Request gamemode starts
* 0 if the request was sent successfully
* -1 if the request failed
*
* int gamemode_request_end() - Request gamemode ends
* 0 if the request was sent successfully
* -1 if the request failed
*
* GAMEMODE_AUTO can be defined to make the above two functions apply during static init and
* destruction, as appropriate. In this configuration, errors will be printed to stderr
*
* int gamemode_query_status() - Query the current status of gamemode
* 0 if gamemode is inactive
* 1 if gamemode is active
* 2 if gamemode is active and this client is registered
* -1 if the query failed
*
* int gamemode_request_start_for(pid_t pid) - Request gamemode starts for another process
* 0 if the request was sent successfully
* -1 if the request failed
* -2 if the request was rejected
*
* int gamemode_request_end_for(pid_t pid) - Request gamemode ends for another process
* 0 if the request was sent successfully
* -1 if the request failed
* -2 if the request was rejected
*
* int gamemode_query_status_for(pid_t pid) - Query status of gamemode for another process
* 0 if gamemode is inactive
* 1 if gamemode is active
* 2 if gamemode is active and this client is registered
* -1 if the query failed
*
* const char* gamemode_error_string() - Get an error string
* returns a string describing any of the above errors
*
* Note: All the above requests can be blocking - dbus requests can and will block while the daemon
* handles the request. It is not recommended to make these calls in performance critical code
*/
#include <stdbool.h>
#include <stdio.h>
#include <dlfcn.h>
#include <string.h>
#include <assert.h>
#include <sys/types.h>
static char internal_gamemode_client_error_string[512] = { 0 };
/**
* Load libgamemode dynamically to dislodge us from most dependencies.
* This allows clients to link and/or use this regardless of runtime.
* See SDL2 for an example of the reasoning behind this in terms of
* dynamic versioning as well.
*/
static volatile int internal_libgamemode_loaded = 1;
/* Typedefs for the functions to load */
typedef int (*api_call_return_int)(void);
typedef const char *(*api_call_return_cstring)(void);
typedef int (*api_call_pid_return_int)(pid_t);
/* Storage for functors */
static api_call_return_int REAL_internal_gamemode_request_start = NULL;
static api_call_return_int REAL_internal_gamemode_request_end = NULL;
static api_call_return_int REAL_internal_gamemode_query_status = NULL;
static api_call_return_cstring REAL_internal_gamemode_error_string = NULL;
static api_call_pid_return_int REAL_internal_gamemode_request_start_for = NULL;
static api_call_pid_return_int REAL_internal_gamemode_request_end_for = NULL;
static api_call_pid_return_int REAL_internal_gamemode_query_status_for = NULL;
/**
* Internal helper to perform the symbol binding safely.
*
* Returns 0 on success and -1 on failure
*/
__attribute__((always_inline)) static inline int internal_bind_libgamemode_symbol(
void *handle, const char *name, void **out_func, size_t func_size, bool required)
{
void *symbol_lookup = NULL;
char *dl_error = NULL;
/* Safely look up the symbol */
symbol_lookup = dlsym(handle, name);
dl_error = dlerror();
if (required && (dl_error || !symbol_lookup)) {
snprintf(internal_gamemode_client_error_string,
sizeof(internal_gamemode_client_error_string),
"dlsym failed - %s",
dl_error);
return -1;
}
/* Have the symbol correctly, copy it to make it usable */
memcpy(out_func, &symbol_lookup, func_size);
return 0;
}
/**
* Loads libgamemode and needed functions
*
* Returns 0 on success and -1 on failure
*/
__attribute__((always_inline)) static inline int internal_load_libgamemode(void)
{
/* We start at 1, 0 is a success and -1 is a fail */
if (internal_libgamemode_loaded != 1) {
return internal_libgamemode_loaded;
}
/* Anonymous struct type to define our bindings */
struct binding {
const char *name;
void **functor;
size_t func_size;
bool required;
} bindings[] = {
{ "real_gamemode_request_start",
(void **)&REAL_internal_gamemode_request_start,
sizeof(REAL_internal_gamemode_request_start),
true },
{ "real_gamemode_request_end",
(void **)&REAL_internal_gamemode_request_end,
sizeof(REAL_internal_gamemode_request_end),
true },
{ "real_gamemode_query_status",
(void **)&REAL_internal_gamemode_query_status,
sizeof(REAL_internal_gamemode_query_status),
false },
{ "real_gamemode_error_string",
(void **)&REAL_internal_gamemode_error_string,
sizeof(REAL_internal_gamemode_error_string),
true },
{ "real_gamemode_request_start_for",
(void **)&REAL_internal_gamemode_request_start_for,
sizeof(REAL_internal_gamemode_request_start_for),
false },
{ "real_gamemode_request_end_for",
(void **)&REAL_internal_gamemode_request_end_for,
sizeof(REAL_internal_gamemode_request_end_for),
false },
{ "real_gamemode_query_status_for",
(void **)&REAL_internal_gamemode_query_status_for,
sizeof(REAL_internal_gamemode_query_status_for),
false },
};
void *libgamemode = NULL;
/* Try and load libgamemode */
libgamemode = dlopen("libgamemode.so.0", RTLD_NOW);
if (!libgamemode) {
/* Attempt to load unversioned library for compatibility with older
* versions (as of writing, there are no ABI changes between the two -
* this may need to change if ever ABI-breaking changes are made) */
libgamemode = dlopen("libgamemode.so", RTLD_NOW);
if (!libgamemode) {
snprintf(internal_gamemode_client_error_string,
sizeof(internal_gamemode_client_error_string),
"dlopen failed - %s",
dlerror());
internal_libgamemode_loaded = -1;
return -1;
}
}
/* Attempt to bind all symbols */
for (size_t i = 0; i < sizeof(bindings) / sizeof(bindings[0]); i++) {
struct binding *binder = &bindings[i];
if (internal_bind_libgamemode_symbol(libgamemode,
binder->name,
binder->functor,
binder->func_size,
binder->required)) {
internal_libgamemode_loaded = -1;
return -1;
};
}
/* Success */
internal_libgamemode_loaded = 0;
return 0;
}
/**
* Redirect to the real libgamemode
*/
__attribute__((always_inline)) static inline const char *gamemode_error_string(void)
{
/* If we fail to load the system gamemode, or we have an error string already, return our error
* string instead of diverting to the system version */
if (internal_load_libgamemode() < 0 || internal_gamemode_client_error_string[0] != '\0') {
return internal_gamemode_client_error_string;
}
/* Assert for static analyser that the function is not NULL */
assert(REAL_internal_gamemode_error_string != NULL);
return REAL_internal_gamemode_error_string();
}
/**
* Redirect to the real libgamemode
* Allow automatically requesting game mode
* Also prints errors as they happen.
*/
#ifdef GAMEMODE_AUTO
__attribute__((constructor))
#else
__attribute__((always_inline)) static inline
#endif
int gamemode_request_start(void)
{
/* Need to load gamemode */
if (internal_load_libgamemode() < 0) {
#ifdef GAMEMODE_AUTO
fprintf(stderr, "gamemodeauto: %s\n", gamemode_error_string());
#endif
return -1;
}
/* Assert for static analyser that the function is not NULL */
assert(REAL_internal_gamemode_request_start != NULL);
if (REAL_internal_gamemode_request_start() < 0) {
#ifdef GAMEMODE_AUTO
fprintf(stderr, "gamemodeauto: %s\n", gamemode_error_string());
#endif
return -1;
}
return 0;
}
/* Redirect to the real libgamemode */
#ifdef GAMEMODE_AUTO
__attribute__((destructor))
#else
__attribute__((always_inline)) static inline
#endif
int gamemode_request_end(void)
{
/* Need to load gamemode */
if (internal_load_libgamemode() < 0) {
#ifdef GAMEMODE_AUTO
fprintf(stderr, "gamemodeauto: %s\n", gamemode_error_string());
#endif
return -1;
}
/* Assert for static analyser that the function is not NULL */
assert(REAL_internal_gamemode_request_end != NULL);
if (REAL_internal_gamemode_request_end() < 0) {
#ifdef GAMEMODE_AUTO
fprintf(stderr, "gamemodeauto: %s\n", gamemode_error_string());
#endif
return -1;
}
return 0;
}
/* Redirect to the real libgamemode */
__attribute__((always_inline)) static inline int gamemode_query_status(void)
{
/* Need to load gamemode */
if (internal_load_libgamemode() < 0) {
return -1;
}
if (REAL_internal_gamemode_query_status == NULL) {
snprintf(internal_gamemode_client_error_string,
sizeof(internal_gamemode_client_error_string),
"gamemode_query_status missing (older host?)");
return -1;
}
return REAL_internal_gamemode_query_status();
}
/* Redirect to the real libgamemode */
__attribute__((always_inline)) static inline int gamemode_request_start_for(pid_t pid)
{
/* Need to load gamemode */
if (internal_load_libgamemode() < 0) {
return -1;
}
if (REAL_internal_gamemode_request_start_for == NULL) {
snprintf(internal_gamemode_client_error_string,
sizeof(internal_gamemode_client_error_string),
"gamemode_request_start_for missing (older host?)");
return -1;
}
return REAL_internal_gamemode_request_start_for(pid);
}
/* Redirect to the real libgamemode */
__attribute__((always_inline)) static inline int gamemode_request_end_for(pid_t pid)
{
/* Need to load gamemode */
if (internal_load_libgamemode() < 0) {
return -1;
}
if (REAL_internal_gamemode_request_end_for == NULL) {
snprintf(internal_gamemode_client_error_string,
sizeof(internal_gamemode_client_error_string),
"gamemode_request_end_for missing (older host?)");
return -1;
}
return REAL_internal_gamemode_request_end_for(pid);
}
/* Redirect to the real libgamemode */
__attribute__((always_inline)) static inline int gamemode_query_status_for(pid_t pid)
{
/* Need to load gamemode */
if (internal_load_libgamemode() < 0) {
return -1;
}
if (REAL_internal_gamemode_query_status_for == NULL) {
snprintf(internal_gamemode_client_error_string,
sizeof(internal_gamemode_client_error_string),
"gamemode_query_status_for missing (older host?)");
return -1;
}
return REAL_internal_gamemode_query_status_for(pid);
}
#endif // CLIENT_GAMEMODE_H

View File

@ -1,13 +0,0 @@
# SPDX-FileCopyrightText: 2014 Gui Andrade <admin@archshift.com>
# SPDX-License-Identifier: GPL-2.0-or-later
add_library(inih
inih/ini.c
inih/ini.h
inih/cpp/INIReader.cpp
inih/cpp/INIReader.h
)
create_target_directory_groups(inih)
target_include_directories(inih INTERFACE inih/cpp)
add_library(inih::INIReader ALIAS inih)

1
externals/inih/inih vendored

@ -1 +0,0 @@
Subproject commit 1e80a47dffbda813604f0913e2ad68c7054c14e4

View File

@ -49,11 +49,6 @@ if (MINGW OR (${CMAKE_SYSTEM_NAME} MATCHES "Linux") OR APPLE)
set(LIBUSB_INCLUDE_DIRS "${LIBUSB_SRC_DIR}/libusb" CACHE PATH "libusb headers path" FORCE)
# MINGW: causes "externals/libusb/libusb/libusb/os/windows_winusb.c:1427:2: error: conversion to non-scalar type requested", so cannot statically link it for now.
if (NOT MINGW)
set(LIBUSB_CFLAGS "-DGUID_DEVINTERFACE_USB_DEVICE=\\(GUID\\){0xA5DCBF10,0x6530,0x11D2,{0x90,0x1F,0x00,0xC0,0x4F,0xB9,0x51,0xED}}")
endif()
make_directory("${LIBUSB_PREFIX}")
add_custom_command(
@ -146,8 +141,6 @@ else() # MINGW OR (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
target_include_directories(usb BEFORE PRIVATE libusb/msvc)
endif()
# Works around other libraries providing their own definition of USB GUIDs (e.g. SDL2)
target_compile_definitions(usb PRIVATE "-DGUID_DEVINTERFACE_USB_DEVICE=(GUID){ 0xA5DCBF10, 0x6530, 0x11D2, {0x90, 0x1F, 0x00, 0xC0, 0x4F, 0xB9, 0x51, 0xED}}")
else()
target_include_directories(usb
# turns out other projects also have "config.h", so make sure the

@ -1 +1 @@
Subproject commit c6a35c56016ea2ab2f19115d2ea1e85e0edae155
Subproject commit c060e9ce30ac2e3ffb49d94209c4dae77b6642f7

View File

@ -27,12 +27,12 @@ if (CMAKE_SYSTEM_NAME STREQUAL "Windows" OR ANDROID)
set(CAN_BUILD_NX_TZDB false)
endif()
set(NX_TZDB_VERSION "220816")
set(NX_TZDB_VERSION "221202")
set(NX_TZDB_ARCHIVE "${CMAKE_CURRENT_BINARY_DIR}/${NX_TZDB_VERSION}.zip")
set(NX_TZDB_ROMFS_DIR "${CMAKE_CURRENT_BINARY_DIR}/nx_tzdb")
if ((NOT CAN_BUILD_NX_TZDB OR YUZU_DOWNLOAD_TIME_ZONE_DATA) AND NOT EXISTS ${NX_TZDB_ARCHIVE})
if ((NOT CAN_BUILD_NX_TZDB OR YUZU_DOWNLOAD_TIME_ZONE_DATA) AND NOT EXISTS ${NX_TZDB_ROMFS_DIR})
set(NX_TZDB_DOWNLOAD_URL "https://github.com/lat9nq/tzdb_to_nx/releases/download/${NX_TZDB_VERSION}/${NX_TZDB_VERSION}.zip")
message(STATUS "Downloading time zone data from ${NX_TZDB_DOWNLOAD_URL}...")

View File

@ -11,6 +11,10 @@ execute_process(
WORKING_DIRECTORY ${ZONE_PATH}
OUTPUT_VARIABLE FILE_LIST)
if (NOT FILE_LIST)
message(FATAL_ERROR "No timezone files found in directory ${ZONE_PATH}, did the download fail?")
endif()
set(DIRECTORY_NAME ${HEADER_NAME})
set(FILE_DATA "")

@ -1 +1 @@
Subproject commit 212afa2394a74226dcf1b7996a570aae17debb69
Subproject commit 97929690234f2b4add36b33657fe3fe09bd57dfd

1
externals/oaknut vendored Submodule

@ -0,0 +1 @@
Subproject commit 9d091109deb445bc6e9289c6195a282b7c993d49

1
externals/opus vendored Submodule

@ -0,0 +1 @@
Subproject commit 101a71e03bbf860aaafb7090a0e440675cb27660

View File

@ -1,259 +0,0 @@
# SPDX-FileCopyrightText: 2019 yuzu Emulator Project
# SPDX-License-Identifier: GPL-2.0-or-later
cmake_minimum_required(VERSION 3.8)
project(opus)
option(OPUS_STACK_PROTECTOR "Use stack protection" OFF)
option(OPUS_USE_ALLOCA "Use alloca for stack arrays (on non-C99 compilers)" OFF)
option(OPUS_CUSTOM_MODES "Enable non-Opus modes, e.g. 44.1 kHz & 2^n frames" OFF)
option(OPUS_FIXED_POINT "Compile as fixed-point (for machines without a fast enough FPU)" OFF)
option(OPUS_ENABLE_FLOAT_API "Compile with the floating point API (for machines with float library" ON)
include(opus/opus_functions.cmake)
if(OPUS_STACK_PROTECTOR)
if(NOT MSVC) # GC on by default on MSVC
check_and_set_flag(STACK_PROTECTION_STRONG -fstack-protector-strong)
endif()
else()
if(MSVC)
check_and_set_flag(BUFFER_SECURITY_CHECK /GS-)
endif()
endif()
add_library(opus
# CELT sources
opus/celt/bands.c
opus/celt/celt.c
opus/celt/celt_decoder.c
opus/celt/celt_encoder.c
opus/celt/celt_lpc.c
opus/celt/cwrs.c
opus/celt/entcode.c
opus/celt/entdec.c
opus/celt/entenc.c
opus/celt/kiss_fft.c
opus/celt/laplace.c
opus/celt/mathops.c
opus/celt/mdct.c
opus/celt/modes.c
opus/celt/pitch.c
opus/celt/quant_bands.c
opus/celt/rate.c
opus/celt/vq.c
# SILK sources
opus/silk/A2NLSF.c
opus/silk/CNG.c
opus/silk/HP_variable_cutoff.c
opus/silk/LPC_analysis_filter.c
opus/silk/LPC_fit.c
opus/silk/LPC_inv_pred_gain.c
opus/silk/LP_variable_cutoff.c
opus/silk/NLSF2A.c
opus/silk/NLSF_VQ.c
opus/silk/NLSF_VQ_weights_laroia.c
opus/silk/NLSF_decode.c
opus/silk/NLSF_del_dec_quant.c
opus/silk/NLSF_encode.c
opus/silk/NLSF_stabilize.c
opus/silk/NLSF_unpack.c
opus/silk/NSQ.c
opus/silk/NSQ_del_dec.c
opus/silk/PLC.c
opus/silk/VAD.c
opus/silk/VQ_WMat_EC.c
opus/silk/ana_filt_bank_1.c
opus/silk/biquad_alt.c
opus/silk/bwexpander.c
opus/silk/bwexpander_32.c
opus/silk/check_control_input.c
opus/silk/code_signs.c
opus/silk/control_SNR.c
opus/silk/control_audio_bandwidth.c
opus/silk/control_codec.c
opus/silk/dec_API.c
opus/silk/decode_core.c
opus/silk/decode_frame.c
opus/silk/decode_indices.c
opus/silk/decode_parameters.c
opus/silk/decode_pitch.c
opus/silk/decode_pulses.c
opus/silk/decoder_set_fs.c
opus/silk/enc_API.c
opus/silk/encode_indices.c
opus/silk/encode_pulses.c
opus/silk/gain_quant.c
opus/silk/init_decoder.c
opus/silk/init_encoder.c
opus/silk/inner_prod_aligned.c
opus/silk/interpolate.c
opus/silk/lin2log.c
opus/silk/log2lin.c
opus/silk/pitch_est_tables.c
opus/silk/process_NLSFs.c
opus/silk/quant_LTP_gains.c
opus/silk/resampler.c
opus/silk/resampler_down2.c
opus/silk/resampler_down2_3.c
opus/silk/resampler_private_AR2.c
opus/silk/resampler_private_IIR_FIR.c
opus/silk/resampler_private_down_FIR.c
opus/silk/resampler_private_up2_HQ.c
opus/silk/resampler_rom.c
opus/silk/shell_coder.c
opus/silk/sigm_Q15.c
opus/silk/sort.c
opus/silk/stereo_LR_to_MS.c
opus/silk/stereo_MS_to_LR.c
opus/silk/stereo_decode_pred.c
opus/silk/stereo_encode_pred.c
opus/silk/stereo_find_predictor.c
opus/silk/stereo_quant_pred.c
opus/silk/sum_sqr_shift.c
opus/silk/table_LSF_cos.c
opus/silk/tables_LTP.c
opus/silk/tables_NLSF_CB_NB_MB.c
opus/silk/tables_NLSF_CB_WB.c
opus/silk/tables_gain.c
opus/silk/tables_other.c
opus/silk/tables_pitch_lag.c
opus/silk/tables_pulses_per_block.c
# Opus sources
opus/src/analysis.c
opus/src/mapping_matrix.c
opus/src/mlp.c
opus/src/mlp_data.c
opus/src/opus.c
opus/src/opus_decoder.c
opus/src/opus_encoder.c
opus/src/opus_multistream.c
opus/src/opus_multistream_decoder.c
opus/src/opus_multistream_encoder.c
opus/src/opus_projection_decoder.c
opus/src/opus_projection_encoder.c
opus/src/repacketizer.c
)
if (DEBUG)
target_sources(opus PRIVATE opus/silk/debug.c)
endif()
if (OPUS_FIXED_POINT)
target_sources(opus PRIVATE
opus/silk/fixed/LTP_analysis_filter_FIX.c
opus/silk/fixed/LTP_scale_ctrl_FIX.c
opus/silk/fixed/apply_sine_window_FIX.c
opus/silk/fixed/autocorr_FIX.c
opus/silk/fixed/burg_modified_FIX.c
opus/silk/fixed/corrMatrix_FIX.c
opus/silk/fixed/encode_frame_FIX.c
opus/silk/fixed/find_LPC_FIX.c
opus/silk/fixed/find_LTP_FIX.c
opus/silk/fixed/find_pitch_lags_FIX.c
opus/silk/fixed/find_pred_coefs_FIX.c
opus/silk/fixed/k2a_FIX.c
opus/silk/fixed/k2a_Q16_FIX.c
opus/silk/fixed/noise_shape_analysis_FIX.c
opus/silk/fixed/pitch_analysis_core_FIX.c
opus/silk/fixed/prefilter_FIX.c
opus/silk/fixed/process_gains_FIX.c
opus/silk/fixed/regularize_correlations_FIX.c
opus/silk/fixed/residual_energy16_FIX.c
opus/silk/fixed/residual_energy_FIX.c
opus/silk/fixed/schur64_FIX.c
opus/silk/fixed/schur_FIX.c
opus/silk/fixed/solve_LS_FIX.c
opus/silk/fixed/vector_ops_FIX.c
opus/silk/fixed/warped_autocorrelation_FIX.c
)
else()
target_sources(opus PRIVATE
opus/silk/float/LPC_analysis_filter_FLP.c
opus/silk/float/LPC_inv_pred_gain_FLP.c
opus/silk/float/LTP_analysis_filter_FLP.c
opus/silk/float/LTP_scale_ctrl_FLP.c
opus/silk/float/apply_sine_window_FLP.c
opus/silk/float/autocorrelation_FLP.c
opus/silk/float/burg_modified_FLP.c
opus/silk/float/bwexpander_FLP.c
opus/silk/float/corrMatrix_FLP.c
opus/silk/float/encode_frame_FLP.c
opus/silk/float/energy_FLP.c
opus/silk/float/find_LPC_FLP.c
opus/silk/float/find_LTP_FLP.c
opus/silk/float/find_pitch_lags_FLP.c
opus/silk/float/find_pred_coefs_FLP.c
opus/silk/float/inner_product_FLP.c
opus/silk/float/k2a_FLP.c
opus/silk/float/noise_shape_analysis_FLP.c
opus/silk/float/pitch_analysis_core_FLP.c
opus/silk/float/process_gains_FLP.c
opus/silk/float/regularize_correlations_FLP.c
opus/silk/float/residual_energy_FLP.c
opus/silk/float/scale_copy_vector_FLP.c
opus/silk/float/scale_vector_FLP.c
opus/silk/float/schur_FLP.c
opus/silk/float/sort_FLP.c
opus/silk/float/warped_autocorrelation_FLP.c
opus/silk/float/wrappers_FLP.c
)
endif()
target_compile_definitions(opus PRIVATE OPUS_BUILD ENABLE_HARDENING)
if(NOT MSVC)
if(MINGW)
target_compile_definitions(opus PRIVATE _FORTIFY_SOURCE=0)
else()
target_compile_definitions(opus PRIVATE _FORTIFY_SOURCE=2)
endif()
endif()
# It is strongly recommended to uncomment one of these VAR_ARRAYS: Use C99
# variable-length arrays for stack allocation USE_ALLOCA: Use alloca() for stack
# allocation If none is defined, then the fallback is a non-threadsafe global
# array
if(OPUS_USE_ALLOCA OR MSVC)
target_compile_definitions(opus PRIVATE USE_ALLOCA)
else()
target_compile_definitions(opus PRIVATE VAR_ARRAYS)
endif()
if(OPUS_CUSTOM_MODES)
target_compile_definitions(opus PRIVATE CUSTOM_MODES)
endif()
if(NOT OPUS_ENABLE_FLOAT_API)
target_compile_definitions(opus PRIVATE DISABLE_FLOAT_API)
endif()
target_compile_definitions(opus
PUBLIC
-DOPUS_VERSION="\\"1.3.1\\""
PRIVATE
# Use C99 intrinsics to speed up float-to-int conversion
HAVE_LRINTF
)
if (FIXED_POINT)
target_compile_definitions(opus PRIVATE -DFIXED_POINT=1 -DDISABLE_FLOAT_API)
endif()
target_include_directories(opus
PUBLIC
opus/include
PRIVATE
opus/celt
opus/silk
opus/silk/fixed
opus/silk/float
opus/src
)
add_library(Opus::opus ALIAS opus)

1
externals/opus/opus vendored

@ -1 +0,0 @@
Subproject commit ad8fe90db79b7d2a135e3dfd2ed6631b0c5662ab

744
externals/renderdoc/renderdoc_app.h vendored Normal file
View File

@ -0,0 +1,744 @@
// SPDX-FileCopyrightText: Baldur Karlsson
// SPDX-License-Identifier: MIT
/******************************************************************************
* The MIT License (MIT)
*
* Copyright (c) 2019-2023 Baldur Karlsson
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
******************************************************************************/
#pragma once
//////////////////////////////////////////////////////////////////////////////////////////////////
//
// Documentation for the API is available at https://renderdoc.org/docs/in_application_api.html
//
#if !defined(RENDERDOC_NO_STDINT)
#include <stdint.h>
#endif
#if defined(WIN32) || defined(__WIN32__) || defined(_WIN32) || defined(_MSC_VER)
#define RENDERDOC_CC __cdecl
#elif defined(__linux__)
#define RENDERDOC_CC
#elif defined(__APPLE__)
#define RENDERDOC_CC
#else
#error "Unknown platform"
#endif
#ifdef __cplusplus
extern "C" {
#endif
//////////////////////////////////////////////////////////////////////////////////////////////////
// Constants not used directly in below API
// This is a GUID/magic value used for when applications pass a path where shader debug
// information can be found to match up with a stripped shader.
// the define can be used like so: const GUID RENDERDOC_ShaderDebugMagicValue =
// RENDERDOC_ShaderDebugMagicValue_value
#define RENDERDOC_ShaderDebugMagicValue_struct \
{ \
0xeab25520, 0x6670, 0x4865, 0x84, 0x29, 0x6c, 0x8, 0x51, 0x54, 0x00, 0xff \
}
// as an alternative when you want a byte array (assuming x86 endianness):
#define RENDERDOC_ShaderDebugMagicValue_bytearray \
{ \
0x20, 0x55, 0xb2, 0xea, 0x70, 0x66, 0x65, 0x48, 0x84, 0x29, 0x6c, 0x8, 0x51, 0x54, 0x00, 0xff \
}
// truncated version when only a uint64_t is available (e.g. Vulkan tags):
#define RENDERDOC_ShaderDebugMagicValue_truncated 0x48656670eab25520ULL
//////////////////////////////////////////////////////////////////////////////////////////////////
// RenderDoc capture options
//
typedef enum RENDERDOC_CaptureOption
{
// Allow the application to enable vsync
//
// Default - enabled
//
// 1 - The application can enable or disable vsync at will
// 0 - vsync is force disabled
eRENDERDOC_Option_AllowVSync = 0,
// Allow the application to enable fullscreen
//
// Default - enabled
//
// 1 - The application can enable or disable fullscreen at will
// 0 - fullscreen is force disabled
eRENDERDOC_Option_AllowFullscreen = 1,
// Record API debugging events and messages
//
// Default - disabled
//
// 1 - Enable built-in API debugging features and records the results into
// the capture, which is matched up with events on replay
// 0 - no API debugging is forcibly enabled
eRENDERDOC_Option_APIValidation = 2,
eRENDERDOC_Option_DebugDeviceMode = 2, // deprecated name of this enum
// Capture CPU callstacks for API events
//
// Default - disabled
//
// 1 - Enables capturing of callstacks
// 0 - no callstacks are captured
eRENDERDOC_Option_CaptureCallstacks = 3,
// When capturing CPU callstacks, only capture them from actions.
// This option does nothing without the above option being enabled
//
// Default - disabled
//
// 1 - Only captures callstacks for actions.
// Ignored if CaptureCallstacks is disabled
// 0 - Callstacks, if enabled, are captured for every event.
eRENDERDOC_Option_CaptureCallstacksOnlyDraws = 4,
eRENDERDOC_Option_CaptureCallstacksOnlyActions = 4,
// Specify a delay in seconds to wait for a debugger to attach, after
// creating or injecting into a process, before continuing to allow it to run.
//
// 0 indicates no delay, and the process will run immediately after injection
//
// Default - 0 seconds
//
eRENDERDOC_Option_DelayForDebugger = 5,
// Verify buffer access. This includes checking the memory returned by a Map() call to
// detect any out-of-bounds modification, as well as initialising buffers with undefined contents
// to a marker value to catch use of uninitialised memory.
//
// NOTE: This option is only valid for OpenGL and D3D11. Explicit APIs such as D3D12 and Vulkan do
// not do the same kind of interception & checking and undefined contents are really undefined.
//
// Default - disabled
//
// 1 - Verify buffer access
// 0 - No verification is performed, and overwriting bounds may cause crashes or corruption in
// RenderDoc.
eRENDERDOC_Option_VerifyBufferAccess = 6,
// The old name for eRENDERDOC_Option_VerifyBufferAccess was eRENDERDOC_Option_VerifyMapWrites.
// This option now controls the filling of uninitialised buffers with 0xdddddddd which was
// previously always enabled
eRENDERDOC_Option_VerifyMapWrites = eRENDERDOC_Option_VerifyBufferAccess,
// Hooks any system API calls that create child processes, and injects
// RenderDoc into them recursively with the same options.
//
// Default - disabled
//
// 1 - Hooks into spawned child processes
// 0 - Child processes are not hooked by RenderDoc
eRENDERDOC_Option_HookIntoChildren = 7,
// By default RenderDoc only includes resources in the final capture necessary
// for that frame, this allows you to override that behaviour.
//
// Default - disabled
//
// 1 - all live resources at the time of capture are included in the capture
// and available for inspection
// 0 - only the resources referenced by the captured frame are included
eRENDERDOC_Option_RefAllResources = 8,
// **NOTE**: As of RenderDoc v1.1 this option has been deprecated. Setting or
// getting it will be ignored, to allow compatibility with older versions.
// In v1.1 the option acts as if it's always enabled.
//
// By default RenderDoc skips saving initial states for resources where the
// previous contents don't appear to be used, assuming that writes before
// reads indicate previous contents aren't used.
//
// Default - disabled
//
// 1 - initial contents at the start of each captured frame are saved, even if
// they are later overwritten or cleared before being used.
// 0 - unless a read is detected, initial contents will not be saved and will
// appear as black or empty data.
eRENDERDOC_Option_SaveAllInitials = 9,
// In APIs that allow for the recording of command lists to be replayed later,
// RenderDoc may choose to not capture command lists before a frame capture is
// triggered, to reduce overheads. This means any command lists recorded once
// and replayed many times will not be available and may cause a failure to
// capture.
//
// NOTE: This is only true for APIs where multithreading is difficult or
// discouraged. Newer APIs like Vulkan and D3D12 will ignore this option
// and always capture all command lists since the API is heavily oriented
// around it and the overheads have been reduced by API design.
//
// 1 - All command lists are captured from the start of the application
// 0 - Command lists are only captured if their recording begins during
// the period when a frame capture is in progress.
eRENDERDOC_Option_CaptureAllCmdLists = 10,
// Mute API debugging output when the API validation mode option is enabled
//
// Default - enabled
//
// 1 - Mute any API debug messages from being displayed or passed through
// 0 - API debugging is displayed as normal
eRENDERDOC_Option_DebugOutputMute = 11,
// Option to allow vendor extensions to be used even when they may be
// incompatible with RenderDoc and cause corrupted replays or crashes.
//
// Default - inactive
//
// No values are documented, this option should only be used when absolutely
// necessary as directed by a RenderDoc developer.
eRENDERDOC_Option_AllowUnsupportedVendorExtensions = 12,
// Define a soft memory limit which some APIs may aim to keep overhead under where
// possible. Anything above this limit will where possible be saved directly to disk during
// capture.
// This will cause increased disk space use (which may cause a capture to fail if disk space is
// exhausted) as well as slower capture times.
//
// Not all memory allocations may be deferred like this so it is not a guarantee of a memory
// limit.
//
// Units are in MBs, suggested values would range from 200MB to 1000MB.
//
// Default - 0 Megabytes
eRENDERDOC_Option_SoftMemoryLimit = 13,
} RENDERDOC_CaptureOption;
// Sets an option that controls how RenderDoc behaves on capture.
//
// Returns 1 if the option and value are valid
// Returns 0 if either is invalid and the option is unchanged
typedef int(RENDERDOC_CC *pRENDERDOC_SetCaptureOptionU32)(RENDERDOC_CaptureOption opt, uint32_t val);
typedef int(RENDERDOC_CC *pRENDERDOC_SetCaptureOptionF32)(RENDERDOC_CaptureOption opt, float val);
// Gets the current value of an option as a uint32_t
//
// If the option is invalid, 0xffffffff is returned
typedef uint32_t(RENDERDOC_CC *pRENDERDOC_GetCaptureOptionU32)(RENDERDOC_CaptureOption opt);
// Gets the current value of an option as a float
//
// If the option is invalid, -FLT_MAX is returned
typedef float(RENDERDOC_CC *pRENDERDOC_GetCaptureOptionF32)(RENDERDOC_CaptureOption opt);
typedef enum RENDERDOC_InputButton
{
// '0' - '9' matches ASCII values
eRENDERDOC_Key_0 = 0x30,
eRENDERDOC_Key_1 = 0x31,
eRENDERDOC_Key_2 = 0x32,
eRENDERDOC_Key_3 = 0x33,
eRENDERDOC_Key_4 = 0x34,
eRENDERDOC_Key_5 = 0x35,
eRENDERDOC_Key_6 = 0x36,
eRENDERDOC_Key_7 = 0x37,
eRENDERDOC_Key_8 = 0x38,
eRENDERDOC_Key_9 = 0x39,
// 'A' - 'Z' matches ASCII values
eRENDERDOC_Key_A = 0x41,
eRENDERDOC_Key_B = 0x42,
eRENDERDOC_Key_C = 0x43,
eRENDERDOC_Key_D = 0x44,
eRENDERDOC_Key_E = 0x45,
eRENDERDOC_Key_F = 0x46,
eRENDERDOC_Key_G = 0x47,
eRENDERDOC_Key_H = 0x48,
eRENDERDOC_Key_I = 0x49,
eRENDERDOC_Key_J = 0x4A,
eRENDERDOC_Key_K = 0x4B,
eRENDERDOC_Key_L = 0x4C,
eRENDERDOC_Key_M = 0x4D,
eRENDERDOC_Key_N = 0x4E,
eRENDERDOC_Key_O = 0x4F,
eRENDERDOC_Key_P = 0x50,
eRENDERDOC_Key_Q = 0x51,
eRENDERDOC_Key_R = 0x52,
eRENDERDOC_Key_S = 0x53,
eRENDERDOC_Key_T = 0x54,
eRENDERDOC_Key_U = 0x55,
eRENDERDOC_Key_V = 0x56,
eRENDERDOC_Key_W = 0x57,
eRENDERDOC_Key_X = 0x58,
eRENDERDOC_Key_Y = 0x59,
eRENDERDOC_Key_Z = 0x5A,
// leave the rest of the ASCII range free
// in case we want to use it later
eRENDERDOC_Key_NonPrintable = 0x100,
eRENDERDOC_Key_Divide,
eRENDERDOC_Key_Multiply,
eRENDERDOC_Key_Subtract,
eRENDERDOC_Key_Plus,
eRENDERDOC_Key_F1,
eRENDERDOC_Key_F2,
eRENDERDOC_Key_F3,
eRENDERDOC_Key_F4,
eRENDERDOC_Key_F5,
eRENDERDOC_Key_F6,
eRENDERDOC_Key_F7,
eRENDERDOC_Key_F8,
eRENDERDOC_Key_F9,
eRENDERDOC_Key_F10,
eRENDERDOC_Key_F11,
eRENDERDOC_Key_F12,
eRENDERDOC_Key_Home,
eRENDERDOC_Key_End,
eRENDERDOC_Key_Insert,
eRENDERDOC_Key_Delete,
eRENDERDOC_Key_PageUp,
eRENDERDOC_Key_PageDn,
eRENDERDOC_Key_Backspace,
eRENDERDOC_Key_Tab,
eRENDERDOC_Key_PrtScrn,
eRENDERDOC_Key_Pause,
eRENDERDOC_Key_Max,
} RENDERDOC_InputButton;
// Sets which key or keys can be used to toggle focus between multiple windows
//
// If keys is NULL or num is 0, toggle keys will be disabled
typedef void(RENDERDOC_CC *pRENDERDOC_SetFocusToggleKeys)(RENDERDOC_InputButton *keys, int num);
// Sets which key or keys can be used to capture the next frame
//
// If keys is NULL or num is 0, captures keys will be disabled
typedef void(RENDERDOC_CC *pRENDERDOC_SetCaptureKeys)(RENDERDOC_InputButton *keys, int num);
typedef enum RENDERDOC_OverlayBits
{
// This single bit controls whether the overlay is enabled or disabled globally
eRENDERDOC_Overlay_Enabled = 0x1,
// Show the average framerate over several seconds as well as min/max
eRENDERDOC_Overlay_FrameRate = 0x2,
// Show the current frame number
eRENDERDOC_Overlay_FrameNumber = 0x4,
// Show a list of recent captures, and how many captures have been made
eRENDERDOC_Overlay_CaptureList = 0x8,
// Default values for the overlay mask
eRENDERDOC_Overlay_Default = (eRENDERDOC_Overlay_Enabled | eRENDERDOC_Overlay_FrameRate |
eRENDERDOC_Overlay_FrameNumber | eRENDERDOC_Overlay_CaptureList),
// Enable all bits
eRENDERDOC_Overlay_All = ~0U,
// Disable all bits
eRENDERDOC_Overlay_None = 0,
} RENDERDOC_OverlayBits;
// returns the overlay bits that have been set
typedef uint32_t(RENDERDOC_CC *pRENDERDOC_GetOverlayBits)();
// sets the overlay bits with an and & or mask
typedef void(RENDERDOC_CC *pRENDERDOC_MaskOverlayBits)(uint32_t And, uint32_t Or);
// this function will attempt to remove RenderDoc's hooks in the application.
//
// Note: that this can only work correctly if done immediately after
// the module is loaded, before any API work happens. RenderDoc will remove its
// injected hooks and shut down. Behaviour is undefined if this is called
// after any API functions have been called, and there is still no guarantee of
// success.
typedef void(RENDERDOC_CC *pRENDERDOC_RemoveHooks)();
// DEPRECATED: compatibility for code compiled against pre-1.4.1 headers.
typedef pRENDERDOC_RemoveHooks pRENDERDOC_Shutdown;
// This function will unload RenderDoc's crash handler.
//
// If you use your own crash handler and don't want RenderDoc's handler to
// intercede, you can call this function to unload it and any unhandled
// exceptions will pass to the next handler.
typedef void(RENDERDOC_CC *pRENDERDOC_UnloadCrashHandler)();
// Sets the capture file path template
//
// pathtemplate is a UTF-8 string that gives a template for how captures will be named
// and where they will be saved.
//
// Any extension is stripped off the path, and captures are saved in the directory
// specified, and named with the filename and the frame number appended. If the
// directory does not exist it will be created, including any parent directories.
//
// If pathtemplate is NULL, the template will remain unchanged
//
// Example:
//
// SetCaptureFilePathTemplate("my_captures/example");
//
// Capture #1 -> my_captures/example_frame123.rdc
// Capture #2 -> my_captures/example_frame456.rdc
typedef void(RENDERDOC_CC *pRENDERDOC_SetCaptureFilePathTemplate)(const char *pathtemplate);
// returns the current capture path template, see SetCaptureFileTemplate above, as a UTF-8 string
typedef const char *(RENDERDOC_CC *pRENDERDOC_GetCaptureFilePathTemplate)();
// DEPRECATED: compatibility for code compiled against pre-1.1.2 headers.
typedef pRENDERDOC_SetCaptureFilePathTemplate pRENDERDOC_SetLogFilePathTemplate;
typedef pRENDERDOC_GetCaptureFilePathTemplate pRENDERDOC_GetLogFilePathTemplate;
// returns the number of captures that have been made
typedef uint32_t(RENDERDOC_CC *pRENDERDOC_GetNumCaptures)();
// This function returns the details of a capture, by index. New captures are added
// to the end of the list.
//
// filename will be filled with the absolute path to the capture file, as a UTF-8 string
// pathlength will be written with the length in bytes of the filename string
// timestamp will be written with the time of the capture, in seconds since the Unix epoch
//
// Any of the parameters can be NULL and they'll be skipped.
//
// The function will return 1 if the capture index is valid, or 0 if the index is invalid
// If the index is invalid, the values will be unchanged
//
// Note: when captures are deleted in the UI they will remain in this list, so the
// capture path may not exist anymore.
typedef uint32_t(RENDERDOC_CC *pRENDERDOC_GetCapture)(uint32_t idx, char *filename,
uint32_t *pathlength, uint64_t *timestamp);
// Sets the comments associated with a capture file. These comments are displayed in the
// UI program when opening.
//
// filePath should be a path to the capture file to add comments to. If set to NULL or ""
// the most recent capture file created made will be used instead.
// comments should be a NULL-terminated UTF-8 string to add as comments.
//
// Any existing comments will be overwritten.
typedef void(RENDERDOC_CC *pRENDERDOC_SetCaptureFileComments)(const char *filePath,
const char *comments);
// returns 1 if the RenderDoc UI is connected to this application, 0 otherwise
typedef uint32_t(RENDERDOC_CC *pRENDERDOC_IsTargetControlConnected)();
// DEPRECATED: compatibility for code compiled against pre-1.1.1 headers.
// This was renamed to IsTargetControlConnected in API 1.1.1, the old typedef is kept here for
// backwards compatibility with old code, it is castable either way since it's ABI compatible
// as the same function pointer type.
typedef pRENDERDOC_IsTargetControlConnected pRENDERDOC_IsRemoteAccessConnected;
// This function will launch the Replay UI associated with the RenderDoc library injected
// into the running application.
//
// if connectTargetControl is 1, the Replay UI will be launched with a command line parameter
// to connect to this application
// cmdline is the rest of the command line, as a UTF-8 string. E.g. a captures to open
// if cmdline is NULL, the command line will be empty.
//
// returns the PID of the replay UI if successful, 0 if not successful.
typedef uint32_t(RENDERDOC_CC *pRENDERDOC_LaunchReplayUI)(uint32_t connectTargetControl,
const char *cmdline);
// RenderDoc can return a higher version than requested if it's backwards compatible,
// this function returns the actual version returned. If a parameter is NULL, it will be
// ignored and the others will be filled out.
typedef void(RENDERDOC_CC *pRENDERDOC_GetAPIVersion)(int *major, int *minor, int *patch);
// Requests that the replay UI show itself (if hidden or not the current top window). This can be
// used in conjunction with IsTargetControlConnected and LaunchReplayUI to intelligently handle
// showing the UI after making a capture.
//
// This will return 1 if the request was successfully passed on, though it's not guaranteed that
// the UI will be on top in all cases depending on OS rules. It will return 0 if there is no current
// target control connection to make such a request, or if there was another error
typedef uint32_t(RENDERDOC_CC *pRENDERDOC_ShowReplayUI)();
//////////////////////////////////////////////////////////////////////////
// Capturing functions
//
// A device pointer is a pointer to the API's root handle.
//
// This would be an ID3D11Device, HGLRC/GLXContext, ID3D12Device, etc
typedef void *RENDERDOC_DevicePointer;
// A window handle is the OS's native window handle
//
// This would be an HWND, GLXDrawable, etc
typedef void *RENDERDOC_WindowHandle;
// A helper macro for Vulkan, where the device handle cannot be used directly.
//
// Passing the VkInstance to this macro will return the RENDERDOC_DevicePointer to use.
//
// Specifically, the value needed is the dispatch table pointer, which sits as the first
// pointer-sized object in the memory pointed to by the VkInstance. Thus we cast to a void** and
// indirect once.
#define RENDERDOC_DEVICEPOINTER_FROM_VKINSTANCE(inst) (*((void **)(inst)))
// This sets the RenderDoc in-app overlay in the API/window pair as 'active' and it will
// respond to keypresses. Neither parameter can be NULL
typedef void(RENDERDOC_CC *pRENDERDOC_SetActiveWindow)(RENDERDOC_DevicePointer device,
RENDERDOC_WindowHandle wndHandle);
// capture the next frame on whichever window and API is currently considered active
typedef void(RENDERDOC_CC *pRENDERDOC_TriggerCapture)();
// capture the next N frames on whichever window and API is currently considered active
typedef void(RENDERDOC_CC *pRENDERDOC_TriggerMultiFrameCapture)(uint32_t numFrames);
// When choosing either a device pointer or a window handle to capture, you can pass NULL.
// Passing NULL specifies a 'wildcard' match against anything. This allows you to specify
// any API rendering to a specific window, or a specific API instance rendering to any window,
// or in the simplest case of one window and one API, you can just pass NULL for both.
//
// In either case, if there are two or more possible matching (device,window) pairs it
// is undefined which one will be captured.
//
// Note: for headless rendering you can pass NULL for the window handle and either specify
// a device pointer or leave it NULL as above.
// Immediately starts capturing API calls on the specified device pointer and window handle.
//
// If there is no matching thing to capture (e.g. no supported API has been initialised),
// this will do nothing.
//
// The results are undefined (including crashes) if two captures are started overlapping,
// even on separate devices and/oror windows.
typedef void(RENDERDOC_CC *pRENDERDOC_StartFrameCapture)(RENDERDOC_DevicePointer device,
RENDERDOC_WindowHandle wndHandle);
// Returns whether or not a frame capture is currently ongoing anywhere.
//
// This will return 1 if a capture is ongoing, and 0 if there is no capture running
typedef uint32_t(RENDERDOC_CC *pRENDERDOC_IsFrameCapturing)();
// Ends capturing immediately.
//
// This will return 1 if the capture succeeded, and 0 if there was an error capturing.
typedef uint32_t(RENDERDOC_CC *pRENDERDOC_EndFrameCapture)(RENDERDOC_DevicePointer device,
RENDERDOC_WindowHandle wndHandle);
// Ends capturing immediately and discard any data stored without saving to disk.
//
// This will return 1 if the capture was discarded, and 0 if there was an error or no capture
// was in progress
typedef uint32_t(RENDERDOC_CC *pRENDERDOC_DiscardFrameCapture)(RENDERDOC_DevicePointer device,
RENDERDOC_WindowHandle wndHandle);
// Only valid to be called between a call to StartFrameCapture and EndFrameCapture. Gives a custom
// title to the capture produced which will be displayed in the UI.
//
// If multiple captures are ongoing, this title will be applied to the first capture to end after
// this call. The second capture to end will have no title, unless this function is called again.
//
// Calling this function has no effect if no capture is currently running, and if it is called
// multiple times only the last title will be used.
typedef void(RENDERDOC_CC *pRENDERDOC_SetCaptureTitle)(const char *title);
//////////////////////////////////////////////////////////////////////////////////////////////////
// RenderDoc API versions
//
// RenderDoc uses semantic versioning (http://semver.org/).
//
// MAJOR version is incremented when incompatible API changes happen.
// MINOR version is incremented when functionality is added in a backwards-compatible manner.
// PATCH version is incremented when backwards-compatible bug fixes happen.
//
// Note that this means the API returned can be higher than the one you might have requested.
// e.g. if you are running against a newer RenderDoc that supports 1.0.1, it will be returned
// instead of 1.0.0. You can check this with the GetAPIVersion entry point
typedef enum RENDERDOC_Version
{
eRENDERDOC_API_Version_1_0_0 = 10000, // RENDERDOC_API_1_0_0 = 1 00 00
eRENDERDOC_API_Version_1_0_1 = 10001, // RENDERDOC_API_1_0_1 = 1 00 01
eRENDERDOC_API_Version_1_0_2 = 10002, // RENDERDOC_API_1_0_2 = 1 00 02
eRENDERDOC_API_Version_1_1_0 = 10100, // RENDERDOC_API_1_1_0 = 1 01 00
eRENDERDOC_API_Version_1_1_1 = 10101, // RENDERDOC_API_1_1_1 = 1 01 01
eRENDERDOC_API_Version_1_1_2 = 10102, // RENDERDOC_API_1_1_2 = 1 01 02
eRENDERDOC_API_Version_1_2_0 = 10200, // RENDERDOC_API_1_2_0 = 1 02 00
eRENDERDOC_API_Version_1_3_0 = 10300, // RENDERDOC_API_1_3_0 = 1 03 00
eRENDERDOC_API_Version_1_4_0 = 10400, // RENDERDOC_API_1_4_0 = 1 04 00
eRENDERDOC_API_Version_1_4_1 = 10401, // RENDERDOC_API_1_4_1 = 1 04 01
eRENDERDOC_API_Version_1_4_2 = 10402, // RENDERDOC_API_1_4_2 = 1 04 02
eRENDERDOC_API_Version_1_5_0 = 10500, // RENDERDOC_API_1_5_0 = 1 05 00
eRENDERDOC_API_Version_1_6_0 = 10600, // RENDERDOC_API_1_6_0 = 1 06 00
} RENDERDOC_Version;
// API version changelog:
//
// 1.0.0 - initial release
// 1.0.1 - Bugfix: IsFrameCapturing() was returning false for captures that were triggered
// by keypress or TriggerCapture, instead of Start/EndFrameCapture.
// 1.0.2 - Refactor: Renamed eRENDERDOC_Option_DebugDeviceMode to eRENDERDOC_Option_APIValidation
// 1.1.0 - Add feature: TriggerMultiFrameCapture(). Backwards compatible with 1.0.x since the new
// function pointer is added to the end of the struct, the original layout is identical
// 1.1.1 - Refactor: Renamed remote access to target control (to better disambiguate from remote
// replay/remote server concept in replay UI)
// 1.1.2 - Refactor: Renamed "log file" in function names to just capture, to clarify that these
// are captures and not debug logging files. This is the first API version in the v1.0
// branch.
// 1.2.0 - Added feature: SetCaptureFileComments() to add comments to a capture file that will be
// displayed in the UI program on load.
// 1.3.0 - Added feature: New capture option eRENDERDOC_Option_AllowUnsupportedVendorExtensions
// which allows users to opt-in to allowing unsupported vendor extensions to function.
// Should be used at the user's own risk.
// Refactor: Renamed eRENDERDOC_Option_VerifyMapWrites to
// eRENDERDOC_Option_VerifyBufferAccess, which now also controls initialisation to
// 0xdddddddd of uninitialised buffer contents.
// 1.4.0 - Added feature: DiscardFrameCapture() to discard a frame capture in progress and stop
// capturing without saving anything to disk.
// 1.4.1 - Refactor: Renamed Shutdown to RemoveHooks to better clarify what is happening
// 1.4.2 - Refactor: Renamed 'draws' to 'actions' in callstack capture option.
// 1.5.0 - Added feature: ShowReplayUI() to request that the replay UI show itself if connected
// 1.6.0 - Added feature: SetCaptureTitle() which can be used to set a title for a
// capture made with StartFrameCapture() or EndFrameCapture()
typedef struct RENDERDOC_API_1_6_0
{
pRENDERDOC_GetAPIVersion GetAPIVersion;
pRENDERDOC_SetCaptureOptionU32 SetCaptureOptionU32;
pRENDERDOC_SetCaptureOptionF32 SetCaptureOptionF32;
pRENDERDOC_GetCaptureOptionU32 GetCaptureOptionU32;
pRENDERDOC_GetCaptureOptionF32 GetCaptureOptionF32;
pRENDERDOC_SetFocusToggleKeys SetFocusToggleKeys;
pRENDERDOC_SetCaptureKeys SetCaptureKeys;
pRENDERDOC_GetOverlayBits GetOverlayBits;
pRENDERDOC_MaskOverlayBits MaskOverlayBits;
// Shutdown was renamed to RemoveHooks in 1.4.1.
// These unions allow old code to continue compiling without changes
union
{
pRENDERDOC_Shutdown Shutdown;
pRENDERDOC_RemoveHooks RemoveHooks;
};
pRENDERDOC_UnloadCrashHandler UnloadCrashHandler;
// Get/SetLogFilePathTemplate was renamed to Get/SetCaptureFilePathTemplate in 1.1.2.
// These unions allow old code to continue compiling without changes
union
{
// deprecated name
pRENDERDOC_SetLogFilePathTemplate SetLogFilePathTemplate;
// current name
pRENDERDOC_SetCaptureFilePathTemplate SetCaptureFilePathTemplate;
};
union
{
// deprecated name
pRENDERDOC_GetLogFilePathTemplate GetLogFilePathTemplate;
// current name
pRENDERDOC_GetCaptureFilePathTemplate GetCaptureFilePathTemplate;
};
pRENDERDOC_GetNumCaptures GetNumCaptures;
pRENDERDOC_GetCapture GetCapture;
pRENDERDOC_TriggerCapture TriggerCapture;
// IsRemoteAccessConnected was renamed to IsTargetControlConnected in 1.1.1.
// This union allows old code to continue compiling without changes
union
{
// deprecated name
pRENDERDOC_IsRemoteAccessConnected IsRemoteAccessConnected;
// current name
pRENDERDOC_IsTargetControlConnected IsTargetControlConnected;
};
pRENDERDOC_LaunchReplayUI LaunchReplayUI;
pRENDERDOC_SetActiveWindow SetActiveWindow;
pRENDERDOC_StartFrameCapture StartFrameCapture;
pRENDERDOC_IsFrameCapturing IsFrameCapturing;
pRENDERDOC_EndFrameCapture EndFrameCapture;
// new function in 1.1.0
pRENDERDOC_TriggerMultiFrameCapture TriggerMultiFrameCapture;
// new function in 1.2.0
pRENDERDOC_SetCaptureFileComments SetCaptureFileComments;
// new function in 1.4.0
pRENDERDOC_DiscardFrameCapture DiscardFrameCapture;
// new function in 1.5.0
pRENDERDOC_ShowReplayUI ShowReplayUI;
// new function in 1.6.0
pRENDERDOC_SetCaptureTitle SetCaptureTitle;
} RENDERDOC_API_1_6_0;
typedef RENDERDOC_API_1_6_0 RENDERDOC_API_1_0_0;
typedef RENDERDOC_API_1_6_0 RENDERDOC_API_1_0_1;
typedef RENDERDOC_API_1_6_0 RENDERDOC_API_1_0_2;
typedef RENDERDOC_API_1_6_0 RENDERDOC_API_1_1_0;
typedef RENDERDOC_API_1_6_0 RENDERDOC_API_1_1_1;
typedef RENDERDOC_API_1_6_0 RENDERDOC_API_1_1_2;
typedef RENDERDOC_API_1_6_0 RENDERDOC_API_1_2_0;
typedef RENDERDOC_API_1_6_0 RENDERDOC_API_1_3_0;
typedef RENDERDOC_API_1_6_0 RENDERDOC_API_1_4_0;
typedef RENDERDOC_API_1_6_0 RENDERDOC_API_1_4_1;
typedef RENDERDOC_API_1_6_0 RENDERDOC_API_1_4_2;
typedef RENDERDOC_API_1_6_0 RENDERDOC_API_1_5_0;
//////////////////////////////////////////////////////////////////////////////////////////////////
// RenderDoc API entry point
//
// This entry point can be obtained via GetProcAddress/dlsym if RenderDoc is available.
//
// The name is the same as the typedef - "RENDERDOC_GetAPI"
//
// This function is not thread safe, and should not be called on multiple threads at once.
// Ideally, call this once as early as possible in your application's startup, before doing
// any API work, since some configuration functionality etc has to be done also before
// initialising any APIs.
//
// Parameters:
// version is a single value from the RENDERDOC_Version above.
//
// outAPIPointers will be filled out with a pointer to the corresponding struct of function
// pointers.
//
// Returns:
// 1 - if the outAPIPointers has been filled with a pointer to the API struct requested
// 0 - if the requested version is not supported or the arguments are invalid.
//
typedef int(RENDERDOC_CC *pRENDERDOC_GetAPI)(RENDERDOC_Version version, void **outAPIPointers);
#ifdef __cplusplus
} // extern "C"
#endif

1
externals/simpleini vendored Submodule

@ -0,0 +1 @@
Subproject commit 382ddbb4b92c0b26aa1b32cefba2002119a5b1f2

9285
externals/sse2neon/sse2neon.h vendored Normal file

File diff suppressed because it is too large Load Diff

7987
externals/stb/stb_image.h vendored Normal file

File diff suppressed because it is too large Load Diff

2634
externals/stb/stb_image_resize.h vendored Normal file

File diff suppressed because it is too large Load Diff

1724
externals/stb/stb_image_write.h vendored Normal file

File diff suppressed because it is too large Load Diff

1636
externals/tz/tz/tz.cpp vendored Normal file

File diff suppressed because it is too large Load Diff

81
externals/tz/tz/tz.h vendored Normal file
View File

@ -0,0 +1,81 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
// SPDX-FileCopyrightText: 1996 Arthur David Olson
// SPDX-License-Identifier: BSD-2-Clause
#pragma once
#include <cstdint>
#include <limits>
#include <span>
#include <array>
#include <time.h>
namespace Tz {
using u8 = uint8_t;
using s8 = int8_t;
using u16 = uint16_t;
using s16 = int16_t;
using u32 = uint32_t;
using s32 = int32_t;
using u64 = uint64_t;
using s64 = int64_t;
constexpr size_t TZ_MAX_TIMES = 1000;
constexpr size_t TZ_MAX_TYPES = 128;
constexpr size_t TZ_MAX_CHARS = 50;
constexpr size_t MY_TZNAME_MAX = 255;
constexpr size_t TZNAME_MAXIMUM = 255;
constexpr size_t TZ_MAX_LEAPS = 50;
constexpr s64 TIME_T_MAX = std::numeric_limits<s64>::max();
constexpr s64 TIME_T_MIN = std::numeric_limits<s64>::min();
constexpr size_t CHARS_EXTRA = 3;
constexpr size_t MAX_ZONE_CHARS = std::max(TZ_MAX_CHARS + CHARS_EXTRA, sizeof("UTC"));
constexpr size_t MAX_TZNAME_CHARS = 2 * (MY_TZNAME_MAX + 1);
struct ttinfo {
s32 tt_utoff;
bool tt_isdst;
s32 tt_desigidx;
bool tt_ttisstd;
bool tt_ttisut;
};
static_assert(sizeof(ttinfo) == 0x10, "ttinfo has the wrong size!");
struct Rule {
s32 timecnt;
s32 typecnt;
s32 charcnt;
bool goback;
bool goahead;
std::array <u8, 0x2> padding0;
std::array<s64, TZ_MAX_TIMES> ats;
std::array<u8, TZ_MAX_TIMES> types;
std::array<ttinfo, TZ_MAX_TYPES> ttis;
std::array<char, std::max(MAX_ZONE_CHARS, MAX_TZNAME_CHARS)> chars;
s32 defaulttype;
std::array <u8, 0x12C4> padding1;
};
static_assert(sizeof(Rule) == 0x4000, "Rule has the wrong size!");
struct CalendarTimeInternal {
s32 tm_sec;
s32 tm_min;
s32 tm_hour;
s32 tm_mday;
s32 tm_mon;
s32 tm_year;
s32 tm_wday;
s32 tm_yday;
s32 tm_isdst;
std::array<char, 16> tm_zone;
s32 tm_utoff;
s32 time_index;
};
static_assert(sizeof(CalendarTimeInternal) == 0x3C, "CalendarTimeInternal has the wrong size!");
s32 ParseTimeZoneBinary(Rule& out_rule, std::span<const u8> binary);
bool localtime_rz(CalendarTimeInternal* tmp, Rule const* sp, time_t* timep);
u32 mktime_tzname(time_t* out_time, Rule const* sp, CalendarTimeInternal* tmp);
} // namespace Tz

2
externals/vcpkg vendored

@ -1 +1 @@
Subproject commit cbf56573a987527b39272e88cbdd11389b78c6e4
Subproject commit a42af01b72c28a8e1d7b48107b33e4f286a55ef6

View File

@ -21,10 +21,10 @@ if (MSVC)
# Avoid windows.h from including some usually unused libs like winsocks.h, since this might cause some redefinition errors.
add_definitions(-DWIN32_LEAN_AND_MEAN)
# Ensure that projects build with Unicode support.
# Ensure that projects are built with Unicode support.
add_definitions(-DUNICODE -D_UNICODE)
# /W3 - Level 3 warnings
# /W4 - Level 4 warnings
# /MP - Multi-threaded compilation
# /Zi - Output debugging information
# /Zm - Specifies the precompiled header memory allocation limit
@ -35,6 +35,7 @@ if (MSVC)
# /volatile:iso - Use strict standards-compliant volatile semantics.
# /Zc:externConstexpr - Allow extern constexpr variables to have external linkage, like the standard mandates
# /Zc:inline - Let codegen omit inline functions in object files
# /Zc:preprocessor - Enable standards-conforming preprocessor
# /Zc:throwingNew - Let codegen assume `operator new` (without std::nothrow) will never return null
# /GT - Supports fiber safety for data allocated using static thread-local storage
add_compile_options(
@ -48,18 +49,19 @@ if (MSVC)
/volatile:iso
/Zc:externConstexpr
/Zc:inline
/Zc:preprocessor
/Zc:throwingNew
/GT
# Modules
/experimental:module- # Disable module support explicitly due to conflicts with precompiled headers
/experimental:module- # Explicitly disable module support due to conflicts with precompiled headers.
# External headers diagnostics
/external:anglebrackets # Treats all headers included by #include <header>, where the header file is enclosed in angle brackets (< >), as external headers
/external:W0 # Sets the default warning level to 0 for external headers, effectively turning off warnings for external headers
/external:W0 # Sets the default warning level to 0 for external headers, effectively disabling warnings for them.
# Warnings
/W3
/W4
/WX
/we4062 # Enumerator 'identifier' in a switch of enum 'enumeration' is not handled
@ -82,12 +84,17 @@ if (MSVC)
/wd4100 # 'identifier': unreferenced formal parameter
/wd4324 # 'struct_name': structure was padded due to __declspec(align())
/wd4201 # nonstandard extension used : nameless struct/union
/wd4702 # unreachable code (when used with LTO)
)
if (USE_CCACHE OR YUZU_USE_PRECOMPILED_HEADERS)
# when caching, we need to use /Z7 to downgrade debug info to use an older but more cacheable format
# Precompiled headers are deleted if not using /Z7. See https://github.com/nanoant/CMakePCHCompiler/issues/21
add_compile_options(/Z7)
# Avoid D9025 warning
string(REPLACE "/Zi" "" CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO}")
string(REPLACE "/Zi" "" CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}")
else()
add_compile_options(/Zi)
endif()
@ -103,6 +110,8 @@ if (MSVC)
set(CMAKE_EXE_LINKER_FLAGS_RELEASE "/DEBUG /MANIFEST:NO /INCREMENTAL:NO /OPT:REF,ICF" CACHE STRING "" FORCE)
else()
add_compile_options(
-fwrapv
-Werror=all
-Werror=extra
-Werror=missing-declarations
@ -112,19 +121,22 @@ else()
-Wno-attributes
-Wno-invalid-offsetof
-Wno-unused-parameter
$<$<CXX_COMPILER_ID:Clang>:-Wno-braced-scalar-init>
$<$<CXX_COMPILER_ID:Clang>:-Wno-unused-private-field>
$<$<CXX_COMPILER_ID:Clang>:-Werror=shadow-uncaptured-local>
$<$<CXX_COMPILER_ID:Clang>:-Werror=implicit-fallthrough>
$<$<CXX_COMPILER_ID:Clang>:-Werror=type-limits>
$<$<CXX_COMPILER_ID:AppleClang>:-Wno-braced-scalar-init>
$<$<CXX_COMPILER_ID:AppleClang>:-Wno-unused-private-field>
-Wno-missing-field-initializers
)
if (CMAKE_CXX_COMPILER_ID MATCHES Clang) # Clang or AppleClang
add_compile_options(
-Wno-braced-scalar-init
-Wno-unused-private-field
-Wno-nullability-completeness
-Werror=shadow-uncaptured-local
-Werror=implicit-fallthrough
-Werror=type-limits
)
endif()
if (ARCHITECTURE_x86_64)
add_compile_options("-mcx16")
add_compile_options("-fwrapv")
endif()
if (APPLE AND CMAKE_CXX_COMPILER_ID STREQUAL Clang)
@ -132,7 +144,7 @@ else()
endif()
# GCC bugs
if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "12" AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "11" AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
# These diagnostics would be great if they worked, but are just completely broken
# and produce bogus errors on external libraries like fmt.
add_compile_options(
@ -153,6 +165,7 @@ else()
if (MINGW)
add_definitions(-DMINGW_HAS_SECURE_API)
add_compile_options("-msse4.1")
if (MINGW_STATIC_BUILD)
add_definitions(-DQT_STATICPLUGIN)
@ -174,8 +187,10 @@ add_subdirectory(common)
add_subdirectory(core)
add_subdirectory(audio_core)
add_subdirectory(video_core)
add_subdirectory(hid_core)
add_subdirectory(network)
add_subdirectory(input_common)
add_subdirectory(frontend_common)
add_subdirectory(shader_recompiler)
if (YUZU_ROOM)

View File

@ -63,3 +63,6 @@ fastlane/Preview.html
fastlane/screenshots
fastlane/test_output
fastlane/readme.md
# Autogenerated library for vulkan validation layers
libVkLayer_khronos_validation.so

Some files were not shown because too many files have changed in this diff Show More