Commit Graph

24449 Commits

Author SHA1 Message Date
liamwhite d187307685 Merge pull request #11866 from liamwhite/more-qt-nonsense
qt: fix game list shutdown crash
2023-10-29 11:25:22 -04:00
liamwhite 209224c01b Merge pull request #11862 from liamwhite/pascal-robust
Manually robust on Pascal and earlier
2023-10-29 11:25:15 -04:00
liamwhite 257dfeaccf Merge pull request #11859 from Kelebek1/compute_findbuffer
Add missing loop around compute FindBuffer calls
2023-10-29 11:25:09 -04:00
liamwhite 289ac46210 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 72202eb15f Merge pull request #11843 from liamwhite/sync-process
kernel: update KProcess
2023-10-29 11:24:52 -04:00
liamwhite 56341c3b8d 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 7f0b245f06 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 5f3f83d1f5 nvidia_flags: Enable GL Threaded optimizations 2023-10-28 21:26:22 -04:00
Liam b89f19b0f3 renderer_vulkan: fix FSR cropping 2023-10-28 11:43:00 -04:00
Liam 00d53a6ca9 renderer_vulkan: fix cropping for presentation 2023-10-28 00:05:06 -04:00
Liam 8cd91dae6d renderer_vulkan: fix viewport swizzle dirty state tracking 2023-10-27 14:23:47 -04:00
Narr the Reg 44e75debd3 service: am: Implement ISelfController::SaveCurrentScreenshot 2023-10-26 22:29:52 -06:00
boludoz 819ee02e9d We dont need that 2023-10-27 00:30:35 -03:00
Franco M 99b563b7a6 Merge branch 'yuzu-emu:master' into new-shortcut 2023-10-26 19:11:15 -03:00
liamwhite 99b8976a5f Merge pull request #11880 from abouvier/unbundle-stb
cmake: prefer system stb headers
2023-10-25 17:21:37 -04:00
Alexandre Bouvier fc27fd3f02 cmake: prefer system stb headers 2023-10-25 21:47:32 +02:00
Liam 3ecf82aa62 sockets: use safe access helpers 2023-10-25 14:07:22 -04:00
Liam cb176ebdd7 nvdrv: rework to remove memcpy 2023-10-25 13:05:56 -04:00
Liam 16156ce42d nvdrv: fix up remaining copy calls 2023-10-25 13:05:56 -04:00
Liam a059aedaf1 nvdrv: convert nvmap 2023-10-25 13:05:56 -04:00
Liam ad86f1c9ce nvdrv: convert codec devices 2023-10-25 13:05:56 -04:00
Liam fb546a39c7 nvdrv: convert nvhost_gpu 2023-10-25 13:05:56 -04:00
Liam 61e871d4e7 nvdrv: convert nvhost_ctrl 2023-10-25 13:05:56 -04:00
Liam 9153c0f5ce nvdrv: convert nvhost_ctrl_gpu 2023-10-25 13:05:55 -04:00
Liam 9bcb1481ff nvdrv: add ioctl command serialization, convert nvhost_as_gpu 2023-10-25 13:05:55 -04:00
liamwhite fb2c05b164 Merge pull request #11876 from liamwhite/apiversion
vulkan_common: use highest API version
2023-10-25 12:22:21 -04:00
Liam 0d565eb61b kernel: make sure new process is in list 2023-10-25 10:05:45 -04:00
liamwhite 4e23876a07 Merge pull request #11812 from german77/save_capture
service: caps: Implement SaveScreenShotEx0 and variants
2023-10-24 21:43:51 -04:00
Liam bd45923351 vulkan_common: use highest API version 2023-10-24 17:04:17 -04:00
Liam 9de3363249 qt: fix game list shutdown crash 2023-10-23 23:06:07 -04:00
Narr the Reg 346c49b55a service: ipc: Add third read buffer index 2023-10-23 10:33:01 -06:00
german77 45cacf372c service: caps: Implement SaveScreenShotEx0 and variants 2023-10-23 10:18:22 -06:00
liamwhite b0dd771920 Merge pull request #11841 from german77/halp
yuzu: fix restore shortcuts button
2023-10-23 10:36:40 -04:00
liamwhite 89a1e55cef Merge pull request #11846 from german77/cheats
cheats: Clamp cheat names without failing
2023-10-23 10:33:37 -04:00
liamwhite a2342c5acd 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
Kelebek1 5d26c3791b Add missing dowhile loops around FindBuffer calls 2023-10-23 15:08:56 +01:00
Liam 64717fdf1d Manually robust on Pascal and earlier 2023-10-23 09:08:57 -04:00
german77 46858fdb41 yuzu: Fix vibration reseting to 1% 2023-10-22 13:39:45 -06:00
german77 9508a12379 input_common: joycon: Move vibrations to a queue 2023-10-22 11:30:59 -06:00
Ameer J ef8f689761 emit_glsl_warp: Fix shfl_in_bounds conditional 2023-10-22 00:45:23 -04:00
Narr the Reg baaa94d26f yuzu: Fix restore shortcuts button 2023-10-21 21:16:20 -06:00
german77 535c39a080 cheats: Clamp cheat names without failing 2023-10-21 21:04:03 -06:00
Liam ae885084e2 kernel: fix extraneous ref 2023-10-21 22:16:41 -04:00
Liam 91acaf7bb6 kernel: shutdown app before gpu 2023-10-21 20:35:18 -04:00
Liam f0c6de7dd2 kernel: signal thread on termination completed 2023-10-21 20:03:41 -04:00
Liam c00faac482 kernel: add missing TLR clear 2023-10-21 20:03:41 -04:00
Liam 62e106dbe8 kernel: update KProcess 2023-10-21 20:03:41 -04:00
liamwhite d0ab5211a1 Merge pull request #11831 from liamwhite/hosversionbetween
set: return version info from system archive
2023-10-21 18:22:20 -04:00
liamwhite e37b87e1f0 Merge pull request #11830 from liamwhite/ts-session
ts: add OpenSession
2023-10-21 18:22:13 -04:00
liamwhite 945e9b5786 Merge pull request #11828 from liamwhite/setthreadescription
common: use SetThreadDescription API for thread names
2023-10-21 18:22:04 -04:00
liamwhite b34364e673 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 d422d4b989 Merge branch 'yuzu-emu:master' into new-shortcut 2023-10-21 02:25:27 -03:00
Liam 46493463a9 set: return version info from system archive 2023-10-20 13:29:52 -04:00
Liam 72e224cf4e ts: add OpenSession 2023-10-20 13:29:32 -04:00
Liam 17cd28ecb5 common: use SetThreadDescription API for thread names 2023-10-20 11:41:29 -04:00
Fernando S 979b5b7b5b Merge pull request #11748 from liamwhite/kern_1700
kernel: update for 17.0.0
2023-10-20 17:08:00 +02:00
Fernando S ae62d83e1c 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 7f8be72d79 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 e95745685a 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 d96b03a1c0 kernel: fix incorrect calculation of used non system memory value 2023-10-20 09:12:10 -04:00
Liam 6031cf1017 gdbstub: add PermissionLocked to mappings table 2023-10-20 02:53:31 -04:00
Liam 92a65b4947 kernel: fix format string error 2023-10-20 02:41:32 -04:00
Liam 5be32a6147 kernel: make check fully constexpr for broken msvc constant folding 2023-10-20 02:34:15 -04:00
Liam 84ce50cc1b k_page_table: add MapFirstGroup 2023-10-20 02:34:15 -04:00
Liam 010fc2f562 kernel: update KMemoryRegionType values 2023-10-20 02:34:15 -04:00
Liam d73dbceba6 k_page_table: implement PermissionLocked 2023-10-20 02:34:15 -04:00
Liam 3e0887f205 k_page_table: add new CheckMemoryState helper 2023-10-20 02:34:15 -04:00
Liam 144ae38fb3 kernel: split Io memory state, add PermissionLocked attribute 2023-10-20 02:34:15 -04:00
Liam c9dab6d0c1 kernel: reshuffle ini1 size, add slab clear note 2023-10-20 02:34:15 -04:00
liamwhite af8a4057ad 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 9b0929a9a2 service: mii: Create random mii with name 2023-10-19 13:35:02 -06:00
Kelebek1 90d99fbd00 Manually robust on Maxwell and earlier 2023-10-19 19:54:31 +01:00
liamwhite d2a1535588 Merge pull request #11810 from liamwhite/clang-17
general: fix build failure on clang 17
2023-10-18 19:30:29 -04:00
boludoz 20fdb00168 Reverted dirty code in main. 2023-10-18 19:30:21 -03:00
liamwhite 67c3d2abb5 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 f7b2c6c154 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 a67a20707e TODO: Implement shortcut creation for Apple. 2023-10-18 02:35:23 -03:00
boludoz c7ac598b62 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 ce26e78628 Deleted admin requisite (maybe it was another mistake). 2023-10-18 01:20:46 -03:00
Franco M 037c01c229 Merge branch 'yuzu-emu:master' into new-shortcut 2023-10-18 01:06:58 -03:00
Liam 181e5dbc5b general: fix build failure on clang 17 2023-10-17 22:44:21 -04:00
flodavid 302836f670 yuzu: Improve behavior when clicking on controller box in Controller applet
- Apply changes on Controller configuration of commit d037853 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 bc96d78b78 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 68bf6fb457 Merge pull request #11747 from Kelebek1/image_alias_sample_names
Small things
2023-10-17 11:48:57 -04:00
liamwhite 97c9b2eda6 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 1bd99c1d65 renderer_vulkan: add locks to avoid scheduler flushes from CPU 2023-10-17 10:00:25 -04:00
Fernando S 30d96be28d 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 26ad7d3975 Final refactorization 2023-10-17 02:57:35 -03:00
german77 ecf98d37b8 service: hle: Allow to access read buffer A and X directly 2023-10-16 23:36:46 -06:00
Franco M a735c91189 Merge branch 'yuzu-emu:master' into new-shortcut 2023-10-17 01:01:41 -03:00
Narr the Reg c9fe01204f service: acc: Implement functions needed for profile select (#11653) 2023-10-17 05:12:55 +02:00
boludoz 497d476285 Moved check. 2023-10-16 23:50:09 -03:00
boludoz 39aaa3c121 More @liamwhite suggestions applied. 2023-10-16 23:42:45 -03:00
boludoz acda957df9 shortcut_stream.close(); fixed 2023-10-16 18:59:21 -03:00
boludoz 2b1ebe24d8 Comment using fmt instead qt. 2023-10-16 16:54:51 -03:00
boludoz be76db693a .clear() instead = ""; and switch improved. 2023-10-16 16:47:21 -03:00
boludoz f7e95e4bad More missed suggestions 2023-10-16 16:11:24 -03:00
boludoz c3abbb6ed7 Sugestions and fixes. 2023-10-16 16:01:46 -03:00
Squall-Leonhart 3785a469c0 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 14d6c9d442 Make Clang happy. 2023-10-17 00:26:19 +11:00
Squall Leonhart 6f7ff1d2a7 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 9ced9068f5 Merge branch 'new-shortcut' of https://github.com/boludoz/yuzu into new-shortcut 2023-10-16 03:27:10 -03:00
boludoz 9126e8abd1 Some improvements (suggestions) 2023-10-16 03:26:40 -03:00
Franco M d420d11496 Merge branch 'yuzu-emu:master' into new-shortcut 2023-10-16 03:25:11 -03:00
liamwhite c4e1a9a7a6 Merge pull request #11786 from v1993/cuda-on-linux
host1x/codecs: enable CUDA on Linux
2023-10-15 22:23:00 -04:00
liamwhite 9a00ac966c 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 a71d026df6 Less code, simpler, better. 2023-10-15 21:40:10 -03:00
boludoz 9a32963e1e Typing and formatting errors fixed. 2023-10-15 20:57:06 -03:00
Squall Leonhart 0fff99d0eb added missing trailing line. 2023-10-16 06:07:26 +11:00
boludoz ec4766d6e6 Unnecessary feature removed 2023-10-15 14:44:23 -03:00
Squall Leonhart f137a4aa8a meant to add the unorms as well 2023-10-16 04:29:24 +11:00
Squall-Leonhart 9e0b778d11 use texelfetch instead of texturelod 2023-10-16 04:20:45 +11:00
Squall Leonhart 81627a6a51 appease the format gods 2023-10-16 03:24:44 +11:00
Squall-Leonhart 69ab83ae87 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 51bb940261 missed this line when editing the copypasta 2023-10-15 20:58:50 +11:00
Squall-Leonhart 41ad912ba7 moved line to appease the format gods 2023-10-15 20:54:25 +11:00
Squall-Leonhart e84147e2fa Implement missing formats for Bravely Default 2 2023-10-15 20:43:48 +11:00
german77 83c63997ff input_common: udp: Avoid crash when trying to map motion before client is ready 2023-10-15 02:13:51 -06:00
boludoz 3c88da66a3 Fixes and improvements 2023-10-15 03:16:29 -03:00
boludoz 0163900fe5 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 eecd48f2ee 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 9d3cce87a4 host1x/codecs: enable CUDA on Linux 2023-10-14 17:35:45 +03:00
liamwhite 66bb83bf32 Merge pull request #11780 from Darkness4/master
qt: add network components when using discord
2023-10-14 09:58:33 -04:00
liamwhite d03785395e 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 2b994cb726 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 c858369401 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 bd2d7c4d8b 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 d7ba2c7064 Implement vertex array first and subsequent draws 2023-10-14 12:09:35 +01:00
Nguyen Marc d97060c9ad Revert "cmake: only add network component if qt used"
This reverts commit 3ecb91a4cd.
2023-10-14 08:46:05 +02:00
Nguyen Marc 3ecb91a4cd cmake: only add network component if qt used 2023-10-14 01:46:20 +02:00
Nguyen Marc 53b16898b2 qt: add missing target_link_libraries for discordrpc 2023-10-14 01:15:28 +02:00
flodavid ab17afdf95 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 d881c9f326 audio: fix shutdown deadlock in audio renderer 2023-10-13 16:34:31 -04:00
liamwhite 7873052d09 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 f34c6df566 Merge pull request #11767 from t895/gradle-stuff
android: Update dependencies
2023-10-13 15:08:47 -04:00
Liam 37871dacd4 fsmitm_romfsbuild: avoid unnecessary copies of vfs pointers 2023-10-13 14:22:52 -04:00
Charles Lombardo a8aaa2674c 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 fca03a83ef android: Remove unnecessary flag to extract native libs in AndroidManifest.xml 2023-10-13 12:55:41 -04:00
Charles Lombardo 646a5d1bc1 android: Update dependencies
Updates to androidx navigation, lifecycle, preference, fragment, recyclerview, and core
2023-10-13 12:55:41 -04:00
Charles Lombardo bacfefe92c 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 7dc6c3c816 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 4f85040c40 common/polyfill_thread: use std::forward where appropriate, qualify std::move calls 2023-10-13 18:51:11 +03:00
liamwhite ec5831d5aa 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 ee42690234 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 19834c6a2e Merge pull request #11649 from t895/driver-manager
android: Driver manager
2023-10-13 09:28:53 -04:00
Liam f7bbf5e732 qt: ensure worker cancellation is complete before clearing 2023-10-12 21:07:49 -04:00
Charles Lombardo 75d58610c0 android: Update AGP to 8.1.2 2023-10-12 18:59:57 -04:00
liamwhite 6486ef8c30 Merge pull request #11746 from liamwhite/relr
jit: add support for relr-type relocations
2023-10-12 18:23:31 -04:00
liamwhite f5f2d810d4 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
Charles Lombardo 1ed340f317 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 060b9482da k_page_table: add missing page group open when locking memory 2023-10-12 15:00:26 -04:00
Narr the Reg 02ed3990dd service: caps: Remove ambiguous call 2023-10-12 12:52:55 -06:00
liamwhite 2c539a1465 Merge pull request #11753 from german77/timex2
service: caps: Fix GetAlbumFileList3AaeAruid and GetAlbumFileList0AafeAruidDeprecated
2023-10-12 11:17:35 -04:00
liamwhite 38f60c74eb 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 91a8d70a4a fix style 2023-10-12 16:06:44 +02:00
Liam 66472af2d0 kernel: mark TLS accessors as noinline for non-MSVC LTO 2023-10-12 09:16:22 -04:00
Narr the Reg 9c1da21f29 service: caps: Fix GetAlbumFileList3AaeAruid and GetAlbumFileList0AafeAruidDeprecated 2023-10-11 20:01:33 -06:00
flodavid 1d7739a43b 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 032d4938a9 yuzu: Use new setting method for stop emulation 2023-10-12 01:51:53 +02:00
flodavid 8c020e3f44 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 5fa3d987ad Transition MSAA images to general layout without uploading data 2023-10-11 23:27:23 +01:00
liamwhite dea3b4db33 Merge pull request #11740 from german77/shorcuts
yuzu: Save multiple resolutions per icon
2023-10-11 17:55:08 -04:00
liamwhite 43de99b6e2 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
Kelebek1 b5576a3c9a 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 b1f2242a7a jit: add support for relr-type relocations 2023-10-11 11:13:19 -04:00
liamwhite 5c567dbc68 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 b9863a09ef 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 99958bb1d0 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 478dae134f Merge pull request #11144 from flodavid/master
Enable controller interaction in Controller Applet
2023-10-11 09:23:52 -04:00
Fernando S 0cc1d8135f 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 31c39fffc2 Do not set rescaled flag when rescaling is disabled 2023-10-11 10:29:19 +01:00
Squall-Leonhart ce3e98cf48 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 04688d35fb yuzu: Save multiple resolutions per icon 2023-10-10 17:24:49 -06:00
Kelebek1 02e6f4115f Clear DSP buffer after each execution 2023-10-10 18:22:08 +01:00
liamwhite 22e805e43f 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
Kelebek1 2fe13a4d53 Not not allocate DeviceLocal buffers as mapped 2023-10-10 12:49:07 +01:00
Fernando S 08876f51c0 Merge pull request #11718 from liamwhite/arm64-native-clock
common: add arm64 native clock
2023-10-10 11:48:06 +02:00
Fernando S 20bd1d928a 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 e1c7cc839b Merge pull request #11686 from liamwhite/trmem
kernel: implement transfer memory
2023-10-10 11:45:56 +02:00
liamwhite 808a87c5f6 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 2c7e606aa4 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 90d65919b5 Merge pull request #10519 from mdmrk/master
yuzu-qt: Track play time
2023-10-08 17:11:34 -04:00
Liam 28e25c454f common: add arm64 native clock 2023-10-08 12:54:23 -04:00
Liam 5f51662bdb qt: implement automatic crash dump support 2023-10-08 11:35:53 -04:00
Squall Leonhart ca3126e68d 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 ab5db1da9f service: caps: Implement album manager and reorganize service 2023-10-07 20:57:20 -06:00
Narr the Reg a4a54b3dfc service: Stub multiple functions to increase stability of album applet 2023-10-07 20:57:10 -06:00
FearlessTobi bcc50c707c 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 cfb7500e29 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 55c251a65e 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 ce6e0114ba 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 a365fea8fb 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 5634106d53 Merge pull request #11648 from liamwhite/unicode-nonsense
gdbserver: use numeric character references for unicode
2023-10-07 12:49:27 -04:00
liamwhite b932f304ad 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 923480f63d Merge pull request #11669 from german77/settings2
yuzu: Fix custom rtc and mute audio settings
2023-10-07 10:55:21 -04:00
liamwhite d14f8815b1 Merge pull request #11688 from Kelebek1/x8d42
Implement X8_D24 pixel format
2023-10-07 10:55:14 -04:00
liamwhite bab15ef979 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 c3658018b1 update shader to confirmed format copy 2023-10-07 18:28:09 +11:00
Kelebek1 a1df96e84d Allow GPUs without rebar to open multiple RenderDoc captures 2023-10-06 07:52:06 +01:00
Kelebek1 5063305487 Implement X8_D24 format 2023-10-06 00:58:30 +01:00
Liam 97d79bf8a6 kernel: implement transfer memory 2023-10-04 22:32:27 -04:00
Kelebek1 39bcdb4fe4 Rework nvidia architecture detection, disable push descriptor for Pascal and older 2023-10-05 03:13:42 +01:00
Kelebek1 294ffa29cc 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 15a624a6df 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 680081ea94 Fix CI Formatting check 2023-10-04 19:12:08 +11:00
Squall-Leonhart ec6ba091cf 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 95c4dbc163 core: Update clocks when settings are saved 2023-10-03 20:20:26 -06:00
Narr the Reg 751b4e2162 yuzu: Fix mute when in background setting 2023-10-03 20:12:06 -06:00
Liam 79e055318c vk_present_manager: recreate surface on any surface loss 2023-10-02 19:07:18 -04:00
Liam 445d504f94 ci: fix new codespell errors 2023-10-02 18:03:05 -04:00
Narr the Reg 71d3ce3125 service: caps: Partially implement IAlbumAccessorService 2023-10-02 12:38:03 -06:00
Narr the Reg ed1e1c4ff6 yuzu: Allow to launch album applet from firmware 2023-10-02 11:29:12 -06:00
liamwhite dfca06767d 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 e658944d24 Merge pull request #11655 from liamwhite/additional-dump-targets
qt: add additional romfs dump targets
2023-10-02 11:28:14 -04:00
Liam 82f12339e4 qt: add additional romfs dump targets 2023-10-02 09:23:25 -04:00
Liam b938c81e08 k_page_table: skip page table clearing on finalization 2023-10-01 23:38:56 -04:00
Liam 718b8afce5 fsp-srv: enable auto save data creation on init 2023-10-01 23:33:19 -04:00
liamwhite bbb8399737 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 890f5f8759 gdbserver: use numeric character references for unicode 2023-10-01 19:22:08 -04:00
Charles Lombardo 2a67cc8a66 android: Use application context for all FileUtil functions 2023-10-01 15:56:02 -04:00
Narr the Reg 9e23ac140d service: nfc: Implement SetRegisterInfoPrivate mii support 2023-10-01 11:38:30 -06:00
Narr the Reg 5914a599ad service: am: Implement shared buffer
Co-authored-by: Liam <byteslice@airmail.cc>
2023-10-01 11:38:30 -06:00
Narr the Reg 9567f9aaed service: nvnflinger: Implement shared buffer
Co-authored-by: Liam <byteslice@airmail.cc>
2023-10-01 11:38:30 -06:00
Narr the Reg cc49e406c6 service: ldn: Implement lp2p:m and stub IMonitorService 2023-10-01 11:38:30 -06:00
Narr the Reg 7aae68820f service: am: Set push in arguments according to the launched applet 2023-10-01 11:38:30 -06:00
Narr the Reg 176188a8c6 yuzu: Allow to launch cabinet applet from firmware 2023-10-01 11:38:25 -06:00
Fernando Sahmkow ef38379737 Query Cache: Fix memory leak. 2023-10-01 11:47:14 +02:00
Liam bb4e14e7ac loader: don't reassign program ID on npdm reparse 2023-09-30 11:35:42 -04:00
Fernando S 4489e2da63 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 8611856605 Merge pull request #11546 from Kelebek1/core_timing_mutex
Reduce core timing mutex contention
2023-09-29 13:36:57 +02:00
Fernando S dcf6de7bdf Merge pull request #11622 from liamwhite/qcr-reg1
renderer_vulkan: fix query cache for homebrew
2023-09-29 06:01:18 +02:00
Kelebek1 cd93b07a50 Don't send a double focus change message 2023-09-28 23:47:10 +01:00
Kelebek1 dd2d450e3f Enable depth test on stencil clear path 2023-09-28 21:19:51 +01:00
liamwhite 7e5b1c7911 Merge pull request #11626 from german77/mii-fix
service: mii: Fix reported bugs
2023-09-28 09:37:02 -04:00
liamwhite da04fbdc2e Merge pull request #11402 from FernandoS27/depth-bias-control
Vulkan: Implement Depth Bias Control
2023-09-28 09:35:37 -04:00
liamwhite 821a972535 Merge pull request #11590 from liamwhite/attribute
fsp-srv: add GetFileSystemAttribute
2023-09-28 09:35:29 -04:00
liamwhite 7ecb4052bf 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 24eb40cb70 service: mii: Fix reported bugs 2023-09-27 23:34:03 -06:00
Fernando S 0a34fef5c4 Merge pull request #11556 from GPUCode/msaa-image-vk
renderer_vulkan: Implement MSAA image copies
2023-09-28 01:56:27 +02:00
Liam cb11232753 renderer_vulkan: fix query cache for homebrew 2023-09-27 19:11:47 -04:00
Charles Lombardo fe07e39d1a Merge pull request #11613 from t895/fragment-exception-change
android: Various play store fixes
2023-09-27 18:08:54 -04:00
Charles Lombardo 3a1e8ce888 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 95c131060b 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 8d16a74198 android: Don't update views if binding is null in onConfigurationChanged 2023-09-27 13:40:09 -04:00
Charles Lombardo 7bde8691f2 android: Don't wait for post to update input overlay visibility 2023-09-27 13:40:09 -04:00
Charles Lombardo 3d9fd80496 android: Close activity with toast if emulation has no game 2023-09-27 13:40:09 -04:00
Charles Lombardo 5ddc88448c 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 13ec52bdf3 Merge pull request #11603 from t895/consolidate-installs
android: Consolidate installers to one fragment
2023-09-27 10:50:38 -04:00
Charles Lombardo 92a02ec0b5 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 e980ec6f24 Qt: Remove ability to install xci files 2023-09-26 18:56:20 -04:00
Charles Lombardo 982fe27279 android: Remove ability to install xci files 2023-09-26 18:56:19 -04:00
Charles Lombardo d0b7d16841 Merge pull request #11602 from t895/case-fix
android: Content install lowercase fix
2023-09-26 14:07:12 -04:00
Charles Lombardo ed61a7a22a android: Adjust failure dialogs for user data and firmware installers 2023-09-26 13:59:46 -04:00
Charles Lombardo c44545c6d2 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 8c7d6c0675 android: Refactor zip code into FileUtil 2023-09-26 13:26:20 -04:00
Charles Lombardo 07d7c5b927 android: Use a different string for the content install dialog 2023-09-26 00:26:46 -04:00
Charles Lombardo 33b0150496 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 863cbaaeb0 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 ab0c149771 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 21f88c0195 fsp-srv: add GetFileSystemAttribute 2023-09-25 21:40:23 -04:00
Charles Lombardo 13f1e63659 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 1606e702c5 android: Prevent click ripple from appearing on loading card 2023-09-25 18:33:21 -04:00
Charles Lombardo b7f8339347 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 df8de8b260 android: Prevent nav bar shade from laying out across screen 2023-09-25 18:10:58 -04:00
Charles Lombardo 15720d1350 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 30c67e5bb0 host_shaders: More proper handling of x2 MSAA copies 2023-09-25 09:20:32 -04:00
GPUCode 5529df01e3 renderer_vulkan: Implement MSAA copies 2023-09-25 09:20:32 -04:00
liamwhite 8936ff8f89 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 6147477bbd 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 7f9076846c 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 dab6876db5 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 70126192aa 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 107ff81582 service: mii: Limit checks to string size 2023-09-23 20:14:37 -06:00
german77 3ed5dd2ed9 service: hid: Set last connected controller as active 2023-09-23 20:14:37 -06:00
german77 3ff84838ab service: am: Stub to exit applet cleanly 2023-09-23 20:14:37 -06:00
german77 7fd77a5f77 service: am: Implement stuff needed for Mii Edit 2023-09-23 20:14:33 -06:00
german77 79d6d1573a service: fsp: Implement CreateSaveDataFileSystemBySystemSaveDataId and OpenSaveDataFileSystemBySystemSaveDataId 2023-09-23 20:13:36 -06:00
german77 3004adebfe service: ns: Implement GetSharedFontInOrderOfPriorityForSystem 2023-09-23 20:13:36 -06:00
german77 77d06e6136 yuzu: Add button to boot mii edit from firmware 2023-09-23 20:13:36 -06:00
Fernando Sahmkow e0477e40bd Query Cache: Fix Prefix Sums 2023-09-23 23:05:30 +02:00
Fernando Sahmkow 509ebe61c6 Query Cache: Fix behavior in Normal Accuracy 2023-09-23 23:05:30 +02:00
Fernando Sahmkow 6b0a777d19 Query Cache: Simplify Prefix Sum compute shader 2023-09-23 23:05:30 +02:00
Fernando Sahmkow c2880497ce Query Cache: Implement host side sample counting. 2023-09-23 23:05:30 +02:00
Fernando Sahmkow 170c82ae7f Query Cache: Fix guest side sample counting 2023-09-23 23:05:30 +02:00
Fernando Sahmkow 93cd3d8efd Query Cache: address issues 2023-09-23 23:05:30 +02:00
Fernando Sahmkow a8fe81b3be QueryCache: Implement dependant queries. 2023-09-23 23:05:29 +02:00
Fernando Sahmkow 2221256e90 Macro HLE: Add DrawIndirectByteCount 2023-09-23 23:05:29 +02:00
Fernando Sahmkow 5ea12207f3 Query Cachge: Fully rework Vulkan's query cache 2023-09-23 23:05:29 +02:00
Fernando Sahmkow 7f78d844ab Query Cache: Setup Base rework 2023-09-23 23:05:29 +02:00
Fernando S e3fdc931b6 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 4e485766bd 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 6315cb8010 android: Adjust valid user data check 2023-09-22 12:05:44 -04:00
liamwhite 0a2428c0a5 Merge pull request #11561 from german77/hle_applet
am: mii_edit: Implement DB operations
2023-09-22 09:56:14 -04:00
liamwhite 8216a30e35 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 df4c75213e Merge pull request #11563 from Kelebek1/dma_regs
Fix DMA engine register offsets
2023-09-22 09:55:54 -04:00
Liam 47ea64c9a5 emit_spirv: fix incorrect use of descriptor index in image atomics 2023-09-22 00:39:09 -04:00
Narr the Reg 8b011a8447 am: mii_edit: Implement DB operations 2023-09-21 18:21:39 -06:00
Charles Lombardo 156c12d97d 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 68068a8113 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 ac61186061 Fix DMA engine register offsets 2023-09-21 20:21:00 +01:00
GPUCode 20994b9e95 vk_texture_cache: Limit srgb block to transcoding only 2023-09-21 21:46:35 +03:00
liamwhite 3808491644 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
GPUCode 400b9449ac renderer_vulkan: Correct component order for A4B4G4R4_UNORM 2023-09-21 15:33:44 +03:00
Charles Lombardo e6c468f8a4 Revert "android: Allow save imports always" 2023-09-21 02:57:28 -04:00
rkfg e65b34058f pfs: Fix reading filenames past the buffer end 2023-09-21 05:12:05 +03:00
Charles Lombardo 93ab5df3ee android: Remove unused strings related to the save manager 2023-09-20 15:01:03 -04:00
Charles Lombardo e68fb0a884 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
Kelebek1 f9f340064f Reduce core timing mutex contention 2023-09-19 23:10:03 +01:00
Charles Lombardo a6a0aaa013 android: Add import/export buttons for user data 2023-09-19 15:54:47 -04:00
Squall-Leonhart 55e400acd9 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 49b783c9a2 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 253a6aeb54 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 8f69b66dba Merge pull request #11536 from abouvier/renderdoc
cmake: prefer system renderdoc header
2023-09-19 09:24:36 -04:00
liamwhite bdb2eb84e0 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
Charles Lombardo eac616b224 android: Ignore validation layers library in git 2023-09-19 00:31:43 -04:00
Charles Lombardo 88b8509c53 android: Don't pause emulation when entering PiP 2023-09-19 00:31:43 -04:00
Charles Lombardo ff4322ca01 android: Fix showing input overlay in PiP 2023-09-19 00:31:43 -04:00
Charles Lombardo 329403d279 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 b6940c53f4 aoc: stub purchase info calls 2023-09-18 16:20:53 -04:00
Cathy J. Fitzpatrick fe3e925719 renderdoc: Check for `_WIN32` symbol rather than `WIN32` 2023-09-18 12:09:51 -07:00
german77 4e16712bea service: mii: Address review comments 2023-09-18 11:08:04 -06:00
Alexandre Bouvier 6c2231980f cmake: prefer system renderdoc header 2023-09-18 18:35:20 +02:00
liamwhite 8f2351603d 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 7052af7e34 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 0ec7d7ec28 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 ae492d8a74 Do not consider voice commands in time estimation, fix adpcm estimate 2023-09-18 10:38:14 +01:00
german77 fbc8db57d0 service: mii: Implement the rest of the service 2023-09-17 16:06:25 -06:00
german77 854dbcc479 service: mii: Implement database manager 2023-09-17 16:06:25 -06:00
german77 89da19cd99 service: mii: Implement figurine database 2023-09-17 16:06:25 -06:00
german77 f347e2069b service: mii: Add device crc16 2023-09-17 16:06:25 -06:00
german77 da7883dbc5 service: nfc: Fully Implement GetRegisterInfoPrivate 2023-09-17 16:06:25 -06:00
german77 3eb0bc88bc service: mii: Complete structs and fix mistakes 2023-09-17 16:06:23 -06:00
Charles Lombardo 755928ffd1 android: Export PiP receiver on API 33 and later
Could cause crashes on API 33+ devices
2023-09-17 17:33:33 -04:00
lat9nq 521b048287 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 9c62223511 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 3b8b123ca1 Merge pull request #11522 from liamwhite/vfs-needs-results
registered_cache: correct file deletion case
2023-09-17 10:42:51 -04:00
liamwhite 01f19cbd4c Merge pull request #11460 from Kelebek1/hw_opus
Reimplement HardwareOpus
2023-09-17 10:42:44 -04:00
Charles Lombardo 2940967210 android: Set up signing config for release builds 2023-09-17 01:22:16 -04:00
Charles Lombardo a8e3f2652d android: Use 1 worker for shader compilation for all devices 2023-09-16 21:38:28 -04:00
Liam d8bd6aa253 registered_cache: correct file deletion case 2023-09-16 18:25:17 -04:00
Charles Lombardo 6af676e2ce 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 dcf5c4bec0 Vulkan: add temporary workaround for AMDVLK 2023-09-16 11:59:20 -04:00
Fernando Sahmkow 6dcc62ae86 Vulkan: Implement Depth Bias Control 2023-09-16 11:58:55 -04:00
Kelebek1 07b63b15ad Reimplement HardwareOpus 2023-09-16 11:56:25 -04:00
liamwhite d3fb5e07d6 Merge pull request #11519 from german77/system-policy
service: hid: Implement ApplyNpadSystemCommonPolicy
2023-09-16 11:40:42 -04:00
liamwhite 99a6311436 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 393a13bb28 Merge pull request #11517 from german77/amiibo-format
service: nfc: Fix amiibo formatting
2023-09-16 11:40:26 -04:00
liamwhite 424d7d422f Merge pull request #11500 from liamwhite/debug-stuff
core: improve debug workflow
2023-09-16 11:40:17 -04:00
liamwhite 8e8e1d4910 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 f56103605e 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 a821c64716 Merge pull request #11483 from FearlessTobi/save-size-max
am: Stub GetSaveDataSizeMax
2023-09-16 11:39:56 -04:00
liamwhite 12bf67e68d Merge pull request #11475 from GPUCode/renderdoc-hotkey
debug: Add renderdoc capture hotkey
2023-09-16 11:39:50 -04:00
german77 ef869803f8 service: hid: Implement ApplyNpadSystemCommonPolicy 2023-09-16 08:38:10 -06:00
Merry 6b1bac89fd core_timing: Attempt to reduce heap sifting 2023-09-16 07:42:45 +01:00
Merry 4e5157a6f1 core_timing: Use a fibonacci heap 2023-09-16 07:42:45 +01:00
german77 5318d8059b hid: service: Remove outdated field from npad 2023-09-16 00:31:45 -06:00
german77 d6aef45e6d hid: service: Implement Last active Npad 2023-09-16 00:31:19 -06:00
german77 7f1f2ac887 service: hid: Ensure state is correct 2023-09-16 00:31:09 -06:00
german77 3bca24616a service: nfc: Fix amiibo formatting 2023-09-15 22:02:57 -06:00
Charles Lombardo f6b02d059e android: Remove settings interface specifically for audio mute 2023-09-14 23:46:19 -04:00
Charles Lombardo 1fd72951b8 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 3ce204e7ba Merge pull request #11506 from t895/icon-fix
android: Use resource as shortcut intermediary
2023-09-14 23:21:45 -04:00
Charles Lombardo 52d7075ae0 android: Return the correct status code on emulation stop 2023-09-14 23:08:06 -04:00
Charles Lombardo a1b80ed37a 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 ebcde602e7 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 b1e7638eab 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 136e1f395d 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 003ee32d6d android: Fix emulation to settings navigation args 2023-09-14 20:24:43 -04:00
Charles Lombardo e6595bb31d android: Delay collecting UI state in games fragment 2023-09-14 20:02:48 -04:00
Liam efef3d8487 core: improve debug workflow 2023-09-14 16:44:15 -04:00
Charles Lombardo 89660a50bf android: Refactor menu tags to enum 2023-09-14 15:18:56 -04:00
Charles Lombardo 0c2cbd2469 android: Use StateFlow instead of LiveData 2023-09-14 15:18:56 -04:00
Squall-Leonhart e263eb1a98 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 9264e1d1ad shared_widget: Use default literals more 2023-09-14 11:31:26 -04:00
lat9nq cd0fb12c62 settings_common: Fix typo 2023-09-14 11:30:14 -04:00
GPUCode cc2c6d8805 debug: Add renderdoc capture hotkey 2023-09-14 16:37:41 +03:00
liamwhite 4c4208c8e9 Merge pull request #11496 from liamwhite/ngc
ngc: implement service
2023-09-14 09:24:46 -04:00
liamwhite 9e364d0b1b 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 8b2bb90e36 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 9530b96e5f shader_recompiler: skip sampler for buffer textures (#11435) 2023-09-14 15:23:50 +02:00
Liam 08191b07e3 ngc: implement service 2023-09-14 09:14:08 -04:00
lat9nq 4fc1f4ec1a settings_setting: Don't remove the AudioEngine workaround 2023-09-13 15:59:44 -04:00
liamwhite 2a0025937d 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 359254f345 cmd/yuzu: Remove uncaught usage of stoi
Also fixes a style inconsistency
2023-09-13 13:52:09 -04:00
lat9nq 05ee2fa033 cmd/config: Remove uncaught usage of stoul 2023-09-13 13:52:09 -04:00
lat9nq c750d6965a 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 81debaff3b configure_ui: Remove unnecessary usage of stoul 2023-09-13 13:52:09 -04:00
lat9nq d7d4e66657 cheat_engine: Remove uncaught usage of stoul 2023-09-13 13:51:58 -04:00
lat9nq 41a08286c8 ips_layer: Remove uncaught usage of stoul/ll 2023-09-13 13:36:25 -04:00
lat9nq 2eb9d34e33 key_manager: Remove uncaught usage of stoul 2023-09-13 13:36:25 -04:00
lat9nq 8d8e9552aa 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 a681050e24 android/config: Remove uncaught usage of stoul 2023-09-13 13:36:25 -04:00
liamwhite eb7f0f2359 Merge pull request #11486 from liamwhite/system-verification
qt: add verification for installed contents
2023-09-13 09:39:27 -04:00
liamwhite ffd5076088 Merge pull request #11480 from german77/mii_service
service: mii: Update implementation Part1
2023-09-13 09:39:16 -04:00
liamwhite 4b68df6ef8 Merge pull request #11473 from liamwhite/fix-launch-param
am: Implement UserChannel parameters
2023-09-13 09:39:06 -04:00
Liam 07a6563a93 qt: add verification for installed contents 2023-09-12 09:20:50 -04:00
liamwhite 4e96b630b4 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 be2ccb036e service: mii: Remove most magic values 2023-09-11 22:07:55 -06:00
FearlessTobi 67e57a29d5 am: Stub GetSaveDataSizeMax
Needed for Minecraft Legends.
2023-09-12 00:21:03 +02:00
FearlessTobi 8850cadc54 bsd: Demote "Select" log to dehug
This is very spammy in Minecraft Legends.
2023-09-12 00:20:42 +02:00
liamwhite b111203a0f ci: fix msvc when used with LTO (#11459) 2023-09-11 23:25:21 +02:00
german77 fb1b1b2725 mii: service: Address review 2023-09-11 09:54:32 -06:00
german77 6377a46668 mii: Prepare Interface for new implementation 2023-09-11 00:58:46 -06:00
german77 f1d7f23049 service: mii: Fix ver3 inconsistencies 2023-09-11 00:23:46 -06:00
german77 64e9fdd8fc service: mii: move char info operations 2023-09-10 23:18:08 -06:00
german77 b97f872a35 service: mii: Move store data operations 2023-09-10 23:18:03 -06:00
german77 1675343e86 service: mii: Move core data operations 2023-09-10 22:52:33 -06:00
german77 15619d2052 service: mii: Move ver3 operations 2023-09-10 22:42:38 -06:00
german77 e51d54de30 service: mii: separate mii types into their own file 2023-09-10 22:18:25 -06:00
german77 15342ada16 service: mii: Move all raw data to it's file 2023-09-10 22:14:37 -06:00
german77 e05834e9c4 service: mii: Add mii util and result 2023-09-10 20:43:26 -06:00
Kelebek1 517702f3f8 Look for the most recently modified image for present 2023-09-11 03:11:29 +01:00
FearlessTobi ff92a0c8f4 am: Implement UserChannel parameters
Used by the Super Mairo 3D All-Stars collection.
2023-09-10 15:39:25 -04:00
liamwhite d51a537d15 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 d84e8dc67b 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 c9a6e59029 Merge pull request #11456 from liamwhite/worse-integrity-verification
core: implement basic integrity verification
2023-09-10 13:40:39 -04:00
liamwhite 80c47115e6 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 b91988517b 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 4d34ba4d9d Merge pull request #11470 from GPUCode/bundle-vvl
android: Add option to bundle validation layer
2023-09-10 13:40:18 -04:00
FearlessTobi abf45c2d0b 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 065305c627 vk_buffer_cache: Respect max vertex bindings in BindVertexBuffers (#11471) 2023-09-10 02:19:45 +02:00
GPUCode 75213f8c49 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
Liam 5009a2db52 internal_network: log error on interrupt pipe read failure 2023-09-08 14:00:07 -04:00
Kelebek1 0d50c09352 Fix data source version 1 command looping 2023-09-08 15:03:21 +01:00
Kelebek1 4ef3915a8c Do not reset the command buffer command count each time 2023-09-07 20:53:48 +01:00
Narr the Reg 9fc8535c6a service: mii: Fix broken mii on MK8 2023-09-07 11:46:12 -06:00
Feng Chen 666bdc1125 video_core: Fix d24r8/s8d24 convert shader build error in moltenvk 2023-09-07 18:01:36 +08:00
Feng Chen a356e6b8d5 video_core: Add missing scissor update when viewport scale offset disable 2023-09-07 18:01:30 +08:00
xcfrg 6178343f3f add a compile time option to allow disabling portable mode 2023-09-06 18:53:39 -04:00
Liam 76671fdede core: implement basic integrity verification 2023-09-06 16:49:27 -04:00
liamwhite 7ee4a4c2f8 Merge pull request #11428 from Kelebek1/adsp_rework
Rework ADSP into a wrapper for apps
2023-09-06 09:13:06 -04:00
liamwhite a0ca0f7bb0 Merge pull request #11434 from danilaml/fix-warnings
msvc: set warning level to /W4 globally
2023-09-06 09:12:58 -04:00
liamwhite 925f6c4248 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 4e8d049bbe Merge pull request #11451 from german77/mob_mii
service: mii: Fix default mii database
2023-09-06 09:12:33 -04:00
lat9nq bc97eff1f3 yuzu-qt: Use Null when OpenGL is not compiled 2023-09-05 17:59:44 -04:00
lat9nq f8614a483d 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 217640aad4 configure_graphics: Capture by reference
Small optimization.
2023-09-05 17:50:55 -04:00
Steveice10 d5cac207fb 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 24bbc30675 service: mii: Fix default mii database 2023-09-05 01:17:06 -06:00
lat9nq 7d94588301 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 de326e42bb Rework ADSP into a wrapper for apps 2023-09-04 17:12:16 +01:00
Danila Malyutin 7f0de0f204 msvc: set warning level to /W4 globally
And fix a bunch of warnings
2023-09-03 18:42:10 +04:00
Liam 6978a4895c qt: measure romfs dump completion by bytes read 2023-09-02 22:04:37 -04:00
Liam 152beedc51 shader_recompiler: always declare image format for image buffers 2023-09-02 17:25:00 -04:00
liamwhite fa8a654fe8 Merge pull request #11381 from liamwhite/romfs-dump
qt: fix romfs dumping for multiprogram applications
2023-09-02 14:42:48 -04:00
liamwhite 230e40a2d6 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 33234fe87d 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 a2971a3540 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 32052702c0 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 bd1a352c01 general: make -fwrapv generic to all architectures (#11379) 2023-09-02 20:41:21 +02:00
Liam 1da6fd9d74 polyfill_thread: ensure mutex was locked before signaling stop 2023-09-02 11:51:40 -04:00
Liam 024fb4fae9 shader_recompiler: fix emulation of 3D textureGrad 2023-09-01 22:41:01 -04:00
Charles Lombardo 3d1a408a99 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 b737fe66aa android: Combine LongMessageDialogFragment with MessageDialogFragment 2023-08-30 18:02:16 -04:00
Charles Lombardo 6cd58e9bd3 android: Support dynamic app shortcuts 2023-08-30 16:26:10 -04:00
Charles Lombardo c9d85211fe Merge pull request #11405 from t895/emulation-loading
android: Emulation loading UI and fixes
2023-08-30 16:24:46 -04:00
Charles Lombardo 351caad5db 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 5b69f2967e android: Game loading/shutting down indicators 2023-08-30 15:19:23 -04:00
FearlessTobi a6855b92a2 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 2b09d48329 android: Create custom game icon loader 2023-08-30 10:19:05 -04:00
Charles Lombardo 483a39e4fb Merge pull request #11380 from t895/settings-integration
android: Settings rework
2023-08-29 22:20:59 -04:00
Charles Lombardo 1b4e4f9992 android: Don't reload settings when stopping settings activity 2023-08-29 21:44:18 -04:00
Charles Lombardo e335b84dd3 Merge pull request #11413 from t895/intents
android: Support intents to emulation activity
2023-08-29 20:01:52 -04:00
Charles Lombardo 27049027b4 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 ea9f569361 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 b5176a035c android: Add search for settings 2023-08-29 19:42:42 -04:00
Charles Lombardo 7673cdc6e5 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 38c7d26ffa 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 484189d435 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 ccacd84582 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 26d3fa2d01 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 5da0108540 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 cd75d82e31 Merge pull request #11409 from liamwhite/splatoon-nsd-v2
sfdnsres: ensure lp1 is not resolved
2023-08-29 09:27:32 -04:00
liamwhite 444ab81700 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 99ae57c433 android: Support intents to emulation activity 2023-08-29 02:57:20 -04:00
Charles Lombardo 4de246efe7 Merge pull request #11392 from t895/layout-troubles
android: Emulation activity fixes
2023-08-29 02:11:13 -04:00
Liam 3a8fb9bf5f vfs: ensure key area keys are validated 2023-08-28 22:22:00 -04:00
Liam a30be8aea3 qt: ensure packed update nca is applied to the correct base 2023-08-28 21:14:35 -04:00
Liam cfa7d49937 qt: fix romfs dumping for multiprogram applications 2023-08-28 21:03:21 -04:00
liamwhite 1e3766c5e8 Merge pull request #11390 from FearlessTobi/hwopus-multi
hwopus: Implement OpenHardwareOpusDecoderForMultiStreamEx and DecodeInterleavedForMultiStream
2023-08-28 19:14:44 -04:00
Liam 56f7b53540 sfdnsres: ensure lp1 is not resolved 2023-08-28 11:55:53 -04:00
Kelebek1 007b1e9652 Fix node id index in DropVoices 2023-08-28 10:35:30 +01:00
Liam 1dc47986ee Address review comments 2023-08-27 19:45:25 -04:00
Danila Malyutin beec962363 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 a571250875 Maxwell3D: Improve Index buffer size estimation. 2023-08-27 22:14:37 +02:00
Liam b12322b8fe audio: allow more latency in cubeb initialization 2023-08-27 12:46:01 -04:00
FearlessTobi a0a93f966d 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 daee8fe1d4 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 b3fac55a35 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 bbbe7c3b11 Merge pull request #11389 from FernandoS27/discard-fix
Buffer Cache: fix discard writes.
2023-08-27 04:26:59 +02:00
Fernando Sahmkow 94dd857cda VideoCore: Implement DispatchIndirect 2023-08-27 04:26:22 +02:00
Mario 54a5b8062e yuzu-qt: Track play time 2023-08-26 22:20:19 -04:00
Fernando Sahmkow 8fcab24644 Shader Recompiler: Auto stub special registers and dump pipelines on exception. 2023-08-27 03:47:04 +02:00
Fernando Sahmkow 47d921e04d Buffer Cache: fix discard writes. 2023-08-27 03:45:43 +02:00
liamwhite e392005f94 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 ee7e1c9f8b Merge pull request #11359 from Kelebek1/check_suitable_backend
Pre-test for valid audio backends
2023-08-26 19:14:47 -04:00
liamwhite 0560b267b3 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
Liam 109b96ba86 internal_network: cancel pending socket operations on application process termination 2023-08-26 18:19:51 -04:00
Liam 7a26dc51eb am: shorten shutdown timeout when lock is not held 2023-08-26 17:12:05 -04:00
Fernando Sahmkow 8208becc49 DMA Pusher: Fix regression caused by guest memory optimizations 2023-08-26 22:00:43 +02:00
Kelebek1 334a0eaa9c Mark decompiled macros as decompiled on dump, dump shaders after translation 2023-08-25 21:47:47 -04:00
comex 774b7d07ae Avoid `$<CXX_COMPILER_ID:Clang>` because it doesn't include AppleClang. 2023-08-25 19:22:31 -04:00
comex 4285e35375 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 8923a03bc0 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 1a4f40ff50 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 658eaacf21 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 d886f2a718 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 f03291268a ssl: tolerate handshake without hostname set (#11328) 2023-08-26 00:02:32 +02:00
liamwhite 5552856663 registered_cache: create fake CNMT entries for program updates of multiprogram applications (#11319) 2023-08-26 00:00:15 +02:00
liamwhite aa16fd2422 kernel: offset code entry point for 39-bit address space type (#11326) 2023-08-25 23:59:32 +02:00
Charles Lombardo 64e569ee75 android: Use appCategory to specify the app is a game 2023-08-25 17:17:48 -04:00
bunnei 22e7d8d36d 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 efff61637b ui: Fixed inverted controls on ReverseSlider widgets
fixes: #11236
2023-08-25 10:06:34 -07:00
Liam a8ceb25eb6 nvhost_as_gpu: ensure mappings are aligned to big page size when deallocated 2023-08-25 09:39:18 -04:00
FearlessTobi 0bb04b1ca1 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 87575638fe 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 728ced5458 Merge pull request #11327 from liamwhite/skyline-2
sockets: avoid locking around socket session calls
2023-08-24 10:33:53 -04:00
FearlessTobi f3d0f6ce74 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 da2ca69c08 main: Fix docked mode button, clang 14 error 2023-08-23 14:26:34 -04:00
Feng Chen ce0c210173 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 df1a6d30a0 Merge pull request #11352 from t895/recurse-subfolders
android: Search game directory recursively
2023-08-23 10:20:02 -04:00
Charles Lombardo 7305df2e3f android: Set default build variant to mainlineRelWithDebInfo (#11358) 2023-08-23 16:12:39 +02:00
Kelebek1 5c4e9a276f Pre-test opening a stream for audio backends, fall back to null if not suitable. 2023-08-23 08:33:26 +01:00
Liam 45957b2ab1 android: jni: ensure NCAs from loaded filepath are registered in manual content provider 2023-08-22 22:47:25 -04:00
lat9nq 1bf14338b7 native: Use Docked Mode helper 2023-08-22 22:40:36 -04:00
lat9nq 3b8b50a228 main: Access by reference
Old Clang is fussy about this.
2023-08-22 22:35:55 -04:00
lat9nq 7bc06e2c9d config-android: Translate console mode setting
Translates the previous boolean to the enum.
2023-08-22 22:00:28 -04:00
lat9nq 81d209ee34 general: Use console mode helper across project 2023-08-22 21:58:23 -04:00
lat9nq 8980108234 settings: Add docked mode helper function 2023-08-22 21:58:09 -04:00
lat9nq c272548832 config(qt): Sanitize docked handheld controller 2023-08-22 16:07:53 -04:00
lat9nq 145321abbe shared_translation: Define use_docked_mode texts 2023-08-22 16:07:53 -04:00
lat9nq 447ec24378 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 02b7e0364b shared_widget: Implement radio groups 2023-08-22 16:07:52 -04:00
Charles Lombardo 72da1cd4d2 android: Search game directory recursively 2023-08-22 15:16:20 -04:00
liamwhite ed224b8712 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
liamwhite 4c4ee1b088 Merge pull request #11303 from lat9nq/screenshots-configurable
yuzu-qt: Add configuration for screenshot resolution
2023-08-22 11:30:25 -04:00
liamwhite c67b2ffec0 Merge pull request #11316 from FernandoS27/stop-premature-christmas-decorating
Shader Recompiler: implement textureGrad 3D
2023-08-22 11:30:08 -04:00
liamwhite 453fd52d82 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 ec643e7e9d Add macos moltenvk bundle, Add copy moltevk dylib script 2023-08-22 10:22:28 +08:00
Charles Lombardo 4165adc80f 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 b3646c33ae android: Show associated value in home settings (#11272) 2023-08-21 22:25:11 +02:00
liamwhite f4b28d3df7 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 a4ad3e2707 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 62fbba8575 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 4decc08f2b android: Use sensor landscape for landscape mode (#11337) 2023-08-21 21:56:12 +02:00
Liam 82be3bde98 patch_manager: apply manual HTML patches when present 2023-08-21 10:58:23 -04:00
Fernando S 8d0f19d7ae Merge pull request #11284 from liamwhite/nca-release
vfs: expand support for NCA reading
2023-08-21 16:29:04 +02:00
Liam 9b39e25805 sockets: avoid locking around socket session calls 2023-08-19 23:09:35 -04:00
Kelebek1 5d1961ad67 Masked depthstencil clears 2023-08-19 03:29:46 +01:00
Fernando Sahmkow 01858648d1 Shader Recomnpiler: implement textuzreGrad 3D emulation constant propagation 2023-08-18 22:17:02 -04:00
liamwhite 1f584c14e7 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 fba72cc462 Merge pull request #11288 from liamwhite/svc-tick
kernel: remove relative task registration
2023-08-18 09:12:19 -04:00
Feng Chen c8c4aa6ef7 video_core: Fix vulkan assert error 2023-08-18 14:40:11 +08:00
Liam f9870c754f file_sys/card_image: support dumps with prepended key area 2023-08-17 22:03:47 -04:00
liamwhite 7445cf1feb Merge pull request #10989 from comex/epipe
sockets: Improve behavior when sending to closed connection
2023-08-17 11:59:47 -04:00
liamwhite 5d794eabaf cmake: mark warning disable for gcc 11 (#11301) 2023-08-17 16:03:34 +02:00
lat9nq 251481a19c uisettings: Add TODO for stretched aspect being ignored 2023-08-16 22:57:19 -04:00
Liam a1ea1c3dd3 file_sys: tolerate empty NCA 2023-08-16 16:30:41 -04:00
lat9nq 73111dbc46 configure_ui: Silence MSVC warning 2023-08-16 16:28:44 -04:00
lat9nq e6fb92574b yuzu-qt: Screenshots depend more on the graphics settings 2023-08-16 16:12:42 -04:00
lat9nq 9433d04259 yuzu-qt: Implement unspecified screenshot ratio 2023-08-16 00:18:47 -04:00
lat9nq b4932708b5 bootmanager: Remove old path
Causes issues with different selected aspect ratios in graphics.
2023-08-16 00:18:16 -04:00
lat9nq 19a8bd5593 configure_ui: Update the screenshots data 2023-08-15 23:08:02 -04:00
lat9nq cb5231b2ba config: Read the entire screenshots category 2023-08-15 23:07:49 -04:00
lat9nq 24fa548bbd bootmanager: Consider the default resolution 2023-08-15 22:57:38 -04:00
lat9nq 5c5eea2336 yuzu-qt: Enable specifying screenshot resolution 2023-08-15 22:42:28 -04:00
lat9nq 276bc80544 settings: Add AspectRatio enum, split res scale function 2023-08-15 22:41:50 -04:00
comex f117a873f8 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 1cecd1d96a fssystem: rework for yuzu style 2023-08-15 17:47:40 -04:00
Liam c8f0a5a18d fssystem: reduce overalignment of unbuffered storage operations 2023-08-15 17:47:25 -04:00
Liam 5e3139e7c6 vfs: expand support for NCA reading 2023-08-15 17:47:25 -04:00
Fernando S ec3d07e683 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 2f2dbd9dfb Merge pull request #11256 from FearlessTobi/revert-10075
Partially Revert "Silence nifm spam"
2023-08-14 16:28:13 -07:00
bunnei 5be144671f Merge pull request #11273 from t895/setup-completion
android: Setup additions
2023-08-14 15:41:35 -07:00
Liam 50ce2f0b7b kernel: remove relative task registration 2023-08-14 18:12:06 -04:00
Liam efa3409a30 gdbstub: fixup replaced instruction bytes in memory reads 2023-08-14 16:33:27 -04:00
FearlessTobi 8c40577952 Revert "Silence nifm spam"
This reverts commit 325a8febfc.
2023-08-14 21:23:09 +02:00
bunnei f471bd56ab Merge pull request #11271 from t895/settings-tweaks
android: Settings tweaks
2023-08-14 11:44:38 -07:00
liamwhite 71bb69c1f4 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 ade4a97659 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 36b8c187dc Merge pull request #11281 from liamwhite/vi-scale-mode
nvnflinger: add missing scale mode
2023-08-14 09:19:03 -04:00
liamwhite 4f6853b7e6 Merge pull request #11259 from german77/hid
service: hid: Implement functions needed by QLaunch
2023-08-14 09:18:55 -04:00
liamwhite b3c9497bc2 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
Ameer J 01638cfe35 gl_texture_cache: Enable async downloads 2023-08-13 23:17:59 -05:00
Ameer J b260471154 gl_buffer_cache: Enable async downloads 2023-08-13 23:17:54 -05:00
Ameer J dc665a7024 gl_staging_buffer_pool: Refactor allocation variables into a struct 2023-08-13 23:17:47 -05:00
Ameer J c6aafc55ab gl_graphics_pipeline: Fix GLASM storage buffer detection 2023-08-13 17:06:45 -04:00
Ameer J 4e1813a2c3 gl_graphics_pipeline: GLASM: Fix transform feedback with multiple buffers 2023-08-13 16:50:01 -04:00
Liam dedb9a1132 nvnflinger: add missing scale mode 2023-08-13 13:57:02 -04:00
Kelebek1 5de54129b3 Mark accelerted DMA destination buffers and images as GPU-modified 2023-08-13 02:22:39 +01:00
Charles Lombardo 279d14f8b1 android: Page forward on setup step completion 2023-08-12 20:21:47 -04:00
Charles Lombardo ced5b29eeb 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 447cf0a336 android: Show complete indicator during setup 2023-08-12 16:53:14 -04:00
Charles Lombardo 465c5c02a0 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 cea5d7d400 android: Reduce opacity of non-editable settings 2023-08-12 15:42:55 -04:00
Charles Lombardo 7384816f8b android: Use string resource for slider value/units 2023-08-12 15:42:54 -04:00
Charles Lombardo 52942ac262 android: Display setting value in setting list items 2023-08-12 14:38:46 -04:00
Charles Lombardo e75c4156ce 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 af393a7a30 ssl_backend_securetransport: remove stray .Code() 2023-08-11 23:32:46 -04:00
liamwhite 8d810a4c9f 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 61d3c1cb9b Merge pull request #11253 from liamwhite/i-hate-this-toolchain
general: fix apple clang build
2023-08-11 16:53:20 -04:00
Liam 7b579a7708 vulkan_device: disable features associated with unloaded extensions 2023-08-11 14:54:12 -04:00
Narr the Reg f8a46b0f74 service: hid: Implement functions needed by QLaunch 2023-08-11 10:13:21 -06:00
Squall-Leonhart e7602b1012 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 443f35e5db 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 ad267f6394 Allow searching by a substring of the title ID 2023-08-11 00:07:12 +07:00
bunnei 00ab684d50 Merge pull request #11093 from liamwhite/result-ergonomics
core: remove ResultVal type
2023-08-09 21:24:31 -07:00
Liam 3e4076c2ac general: fix apple clang build 2023-08-09 22:38:37 -04:00
Ameer J 4c1cf94f3a flatten color_values 2023-08-09 18:45:52 -04:00
Ameer J 18328533d0 flatten encoding_values 2023-08-09 18:38:37 -04:00
Ameer J 6077bac118 flatten result vector 2023-08-09 18:34:57 -04:00
Ameer J 433d7cbd52 GetUnquantizedWeightVector 2023-08-09 17:45:39 -04:00
Narr the Reg fbe7068a76 service: pctl: Partially revert 11221 2023-08-08 16:52:21 -06:00
Liam 79259430fd fs: return result on null outputs 2023-08-08 16:12:04 -04:00
Liam 580f7f2ff1 general: fix incorrect conversions 2023-08-08 11:09:37 -04:00
Liam 9edd6d3198 ssl: remove ResultVal use 2023-08-08 11:09:37 -04:00
Liam 5f2c56cd15 core: remove ResultVal type 2023-08-08 11:09:37 -04:00
liamwhite c918db9514 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 b9b4755d52 Merge pull request #11217 from german77/olsc
service: olsc: Implement IOlscServiceForSystemService ITransferTaskListController interfaces for QLaunch
2023-08-07 11:34:14 -04:00
liamwhite b2d39ac29f Merge pull request #11221 from german77/pctl
service: pctl: Implement functions needed for QLaunch
2023-08-07 11:34:07 -04:00
Ameer J 903280955a Revert "HACK: Avoid swizzling and reuploading ASTC image every frame"
This reverts commit 476ac42b61.
2023-08-06 14:55:05 -04:00
Ameer J 476ac42b61 HACK: Avoid swizzling and reuploading ASTC image every frame 2023-08-06 14:54:58 -04:00
Ameer J 3f114d8e5e Compute Replicate 2023-08-06 14:54:58 -04:00
Ameer J 166a17f4ba minor 2023-08-06 14:54:58 -04:00
Ameer J 4c40c8be29 undo uint 2023-08-06 14:54:58 -04:00
Ameer J b57854fb5f Revert "vulkan dims specialization"
This reverts commit e6243058f2269bd79ac8479d58e55feec2611e9d.
2023-08-06 14:54:58 -04:00
ameerj 9c5c5cbf06 vulkan dims specialization 2023-08-06 14:54:58 -04:00
Ameer J 790010da61 small_block opt 2023-08-06 14:54:58 -04:00
Ameer J cc6abe21ea remove TexelWeightParams 2023-08-06 14:54:57 -04:00
Ameer J 9085d26036 error/void extent funcs 2023-08-06 14:54:57 -04:00
Ameer J 827cb40765 more packing 2023-08-06 14:54:57 -04:00
Ameer J 20b7b4c2b7 Revert "uint result index"
This reverts commit 0e978786b5a8e7382005d8b1e16cfa12f3eeb775.
2023-08-06 14:54:57 -04:00
Ameer J aa28865ff7 Revert "bfe instead of mod"
This reverts commit 86006a3b09e8a8c17d2ade61be76736a79e3f58a.
2023-08-06 14:54:57 -04:00
Ameer J 74d905d5cd Revert "global endpoints"
This reverts commit d8f5bfd1df2b7469ef6abcee182aa110602d1751.
2023-08-06 14:54:57 -04:00
Ameer J 97810e725b global endpoints 2023-08-06 14:54:57 -04:00
Ameer J a08e31d053 bfe instead of mod 2023-08-06 14:54:57 -04:00
Ameer J 48862223ae uint result index 2023-08-06 14:54:57 -04:00
Ameer J d14b1929bc amd opts 2023-08-06 14:54:57 -04:00
Ameer J 6678ade989 gl 2023-08-06 14:54:57 -04:00
Ameer J 950680f29f const, pack result_vector and replicate tables,
undo amd opts
2023-08-06 14:54:57 -04:00
Ameer J dc851097e6 minor redundancy cleanup 2023-08-06 14:54:57 -04:00
Ameer J aa1ab95ea3 extractbits robustness 2023-08-06 14:54:57 -04:00
Ameer J cf252bb6d3 reuse vectors memory 2023-08-06 14:54:57 -04:00
Ameer J 2dcddf8fb2 EncodingData pack 2023-08-06 14:54:57 -04:00
Ameer J 81f838f0fd flattening 2023-08-06 14:54:57 -04:00
Ameer J 42e19b3833 weights refactor 2023-08-06 14:54:57 -04:00
Ameer J de6bc91933 params.max_weight 2023-08-06 14:54:57 -04:00
Ameer J e582e0032c skip bits 2023-08-06 14:54:57 -04:00
Ameer J 96261ab592 restrict 2023-08-06 14:54:57 -04:00
german77 212f58d38d service: audctl: Stub functions needed by Qlaunch 2023-08-05 20:16:26 -06:00
lat9nq f34bc9cc98 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 c392371552 service: olsc: Implement IOlscServiceForSystemService ITransferTaskListController interfaces for QLaunch 2023-08-05 11:47:51 -06:00
german77 f4e186117c service: pctl: Implement functions needed for QLaunch 2023-08-05 11:27:41 -06:00
liamwhite ba751d2200 Merge pull request #11212 from Kelebek1/shader_stuff
Fix various misc pipeline/shader things
2023-08-05 12:58:39 -04:00
liamwhite cc0d4aca11 Merge pull request #11210 from german77/settings
service: set: Implement system settings for Qlaunch
2023-08-05 12:58:32 -04:00
liamwhite 1a85a20534 Merge pull request #11208 from german77/interface
service: am: Fix wrong interface ILibraryAppletSelfAccessor
2023-08-05 12:58:20 -04:00
Narr the Reg b0b6cf80a1 service: set: Add more system settings and address comments 2023-08-04 17:20:40 -06:00
Kelebek1 770130b6c2 Fix shader dumps with nvdisasm
skip fragment shaders when rasterizer is disabled
initialize env_ptrs
2023-08-03 15:30:27 +01:00
Narr the Reg b3b0fb46fd service: set: Implement system settings for Qlaunch 2023-08-02 22:33:42 -06:00
Ameer J 09cb3bf896 vulkan_device: Fix subgroup_size_control detection on Vulkan 1.3 2023-08-02 20:45:03 -04:00
Ameer J 7f86685948 vulkan_device: Fix VK_EXT_subgroup_size_control detection 2023-08-02 19:25:14 -04:00
Narr the Reg e0ba30fb8e service: am: Fix wrong interface 2023-08-02 13:00:30 -06:00
liamwhite cf4994e81e Merge pull request #11202 from abouvier/vulkan-config
vulkan: centralize config
2023-08-02 14:26:03 -04:00
liamwhite 28b236b988 Merge pull request #10839 from lat9nq/pgc-plus
general: Reimplement per-game configurations
2023-08-02 14:25:52 -04:00
lat9nq 53f9d7d61a 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 dcaf1b3373 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
Liam da8c1cfbdd vulkan_device: disable EDS3 blending on all AMD drivers 2023-08-01 20:46:05 -04:00
Alexandre Bouvier 9a86e4e431 vulkan: centralize config 2023-08-02 00:05:14 +02:00
Morph cc8aba1380 vulkan_device: Test depth stencil blit support by format 2023-07-31 19:14:20 -04:00
Morph 0a0368525c 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 0bcd04d9a3 Merge pull request #11188 from abouvier/vma-fix
vma: enable options everywhere
2023-07-31 15:28:35 -04:00
liamwhite a4a99f582c Merge pull request #11181 from Kelebek1/audrenparaminternal
Fix AudioRendererParameterInternal's size
2023-07-31 15:28:24 -04:00
liamwhite 5bb1371404 Merge pull request #11169 from GPUCode/desc-stuff
vk_descriptor_pool: Disallow descriptor set free
2023-07-31 09:11:19 -04:00
liamwhite d33b67c9ae Merge pull request #11173 from Morph1984/atleast_nanosecond_precision
wall_clock: Increase precision requirements
2023-07-31 09:11:11 -04:00
liamwhite 41d73107a7 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
Alexandre Bouvier f663418ff5 vma: enable options everywhere 2023-07-31 13:01:21 +02:00
Moonlacer 00ba53057f Formatting fix 2023-07-30 23:02:07 -05:00
Moonlacer 4aa1ebb802 Match log warning 2023-07-30 22:50:22 -05:00
lat9nq f3c1a0c6ea 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 88cbe9c789 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 c2d170a7a6 config(qt): Write the UiGeneral category 2023-07-30 12:09:32 -04:00
Moonlacer 699ab3050c Formatting fix 2023-07-30 04:29:51 -05:00
Moonlacer 30a5e8e165 Address feedback and change log warning 2023-07-30 04:01:29 -05:00
Kelebek1 f9848f29a0 Fix AudioRendererParameterInternal's size 2023-07-30 06:50:59 +01:00
Moonlacer 3ca86ca6b2 Revert "Revert "Blacklist EDS3 blending from new AMD drivers"" 2023-07-30 00:21:51 -05:00
lat9nq 9de005a50f Merge branch 'pgc-plus' of github.com:lat9nq/yuzu into pgc-plus 2023-07-29 13:23:14 -04:00
lat9nq ec98780578 config(qt): Fix generic read setting
Previously was not respecting whether the setting was default.
2023-07-29 13:23:06 -04:00
liamwhite fb3f5b0482 Merge pull request #11155 from liamwhite/memory3
memory: check page against address space size
2023-07-28 09:29:21 -04:00
liamwhite d1f7af0e3b Merge pull request #11156 from 8bitDream/localize
android: Only label language with language
2023-07-28 09:29:11 -04:00
Morph 4d018d4060 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 25bc2dbedb vk_descriptor_pool: Disallow descriptor set free 2023-07-27 18:08:56 +03:00
Morph a8f6941fd6 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 9d21ddd2c1 Revert "Blacklist EDS3 blending from new AMD drivers" 2023-07-26 15:02:48 -05:00
liamwhite 53f6ac27f6 Merge pull request #11128 from german77/discord
yuzu: Replace httplib with QtNetworkRequest
2023-07-26 11:04:57 -04:00
liamwhite a28a0c47f8 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 a9b733893c Merge pull request #11142 from german77/avoid_crash
yuzu: Avoid reading broken games
2023-07-26 10:33:14 -04:00
Morph 8c7a812a98 Address feedback 2023-07-26 00:41:24 -04:00
lat9nq 4246d7d97d (ui)settings: Add more runtime_modifiable settings 2023-07-25 23:14:13 -04:00
lat9nq 722821707d 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 cac8b672aa settings: Correct Linkage member impl location 2023-07-25 15:57:55 -04:00
flodavid 3f22525741 yuzu: Enable controller interaction in Controller Applet 2023-07-25 19:03:12 +02:00
Abandoned Cart 9a1c345f7e android: Only label language with language 2023-07-25 10:38:30 -04:00
Liam 32a48f0d50 memory: check page against address space size 2023-07-25 09:51:06 -04:00
lat9nq 9fbed50208 settings: Set GPU as default ASTC decoder 2023-07-24 16:28:13 -04:00
liamwhite 904e8975ea Merge pull request #11095 from liamwhite/memory2
memory: cleanup
2023-07-24 13:47:11 -04:00
liamwhite 297e870ec7 Merge pull request #11135 from liamwhite/getaddrinfo
core: implement GetGaiStringErrorRequest, IContextRegistrar
2023-07-24 13:47:02 -04:00
german77 352baa02da yuzu: Avoid reading broken games 2023-07-24 08:59:14 -06:00
lat9nq 79ea110b8d 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 43ce3ae0d9 settings_common: Document specializations 2023-07-23 16:21:08 -04:00
Liam b13ddf2a73 ssa_rewrite_pass: use proper maps 2023-07-23 11:38:01 -04:00
Liam caf76a5603 core: implement GetGaiStringErrorRequest, IContextRegistrar 2023-07-22 23:29:45 -04:00
lat9nq cf4dab8313 shared_widget: Use QRegularExpression 2023-07-22 15:07:34 -04:00
lat9nq 24dfed6db6 config: Read the Network category 2023-07-22 14:50:32 -04:00
Liam 46234254b1 core: reduce TOCTTOU memory access 2023-07-22 11:19:29 -04:00
Liam 7073afff3b memory: minimize dependency on process 2023-07-22 11:19:29 -04:00
liamwhite de2fb523e3 Merge pull request #11094 from liamwhite/get
kernel: misc cleanup of page table accessors
2023-07-22 11:17:36 -04:00
liamwhite ddb55725a1 Merge pull request #11098 from GPUCode/texel-buffers
buffer_cache: Increase number of texture buffers
2023-07-22 11:17:27 -04:00
lat9nq 940d19783f 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
bunnei 62b18a45db Merge pull request #11113 from liamwhite/nsd1
nsd: add GetApplicationServerEnvironmentType
2023-07-21 21:24:36 -07:00
lat9nq a6f683755e 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 0bea4bac83 qt/configuration: Use deleteLater 2023-07-21 23:25:22 -04:00
lat9nq cce6c6919c common,qt-config: Remove usage of forward_list 2023-07-21 23:09:09 -04:00
Liam 545880f71b core: remove remaining uses of dynamic_cast 2023-07-21 19:37:29 -04:00
Liam f07dd39222 general: reduce use of dynamic_cast 2023-07-21 19:22:14 -04:00
Narr the Reg a079a93645 yuzu: Replace httplib with QtNetworkRequest 2023-07-21 16:53:06 -06:00
liamwhite c52c03b718 Merge pull request #11069 from lat9nq/mingw-no-tzdb
common: Use arithmetic instead of string ops to get time zone
2023-07-21 15:05:59 -04:00
lat9nq 1067bbf7b7 settings_common: Use a vector in category linkage
Improve storage requirements.
2023-07-21 10:56:55 -04:00
lat9nq 093b0c051d settings: Remove sorting from log
Unecessary, and would run every time the settings are logged.
2023-07-21 10:56:55 -04:00
lat9nq 9d5bb1f297 configure_system: Use lambda template to group settings 2023-07-21 10:56:55 -04:00
lat9nq b7a56c1ff5 config-android: Update memory layout member name 2023-07-21 10:56:55 -04:00
lat9nq c1fa82a168 k_system_control: Always return some memory size 2023-07-21 10:56:55 -04:00
lat9nq 5c0cf58f73 common: Move global configuration state modifiers back to settings 2023-07-21 10:56:55 -04:00
lat9nq fc4d2cbf34 settings_setting: Fix typo 2023-07-21 10:56:55 -04:00
lat9nq b187a3c214 common,configure_system: Rename method to GetCategory
Fixes essentially a shadowing issue.
2023-07-21 10:56:55 -04:00
lat9nq 5e52526942 settings: Cleanup
Addresses review feedback

Co-authored-by: Morph <39850852+Morph1984@users.noreply.github.com>
2023-07-21 10:56:55 -04:00
lat9nq 830a2815b5 shared_translation: Update memory layout mode strings 2023-07-21 10:56:55 -04:00
lat9nq e952af53be 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 5011827255 settings: Require time zone setting value for stirng 2023-07-21 10:56:55 -04:00
lat9nq 068d23c2ac shared_translation: Add missing time zones 2023-07-21 10:56:55 -04:00
lat9nq 6a14be7536 shared_translation: Add controller_applet_disabled 2023-07-21 10:56:55 -04:00
lat9nq 5dad33923c shared_translation: Add barrier_feedback_loops 2023-07-21 10:56:55 -04:00
toast2903 043675bcc5 cmake: Reposition preprocessor switch comment
Co-authored-by: Morph <39850852+Morph1984@users.noreply.github.com>
2023-07-21 10:56:55 -04:00
lat9nq 61239d5b12 configuration: Use enum index 2023-07-21 10:56:55 -04:00
lat9nq 7168d30a6e settings: Give indices to enums 2023-07-21 10:56:55 -04:00
lat9nq 7f3b6edfef cmake: Use standard preprocessor on MSVC 2023-07-21 10:56:55 -04:00
lat9nq 42c6056deb settings_common: Remove unncessary enum spec 2023-07-21 10:56:55 -04:00
lat9nq 5c08176020 shared_translation: Deobfuscate auto time zone 2023-07-21 10:56:55 -04:00
lat9nq 8c4acf2ebb 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 6dd818a105 settings_setting: Silence shadowing warnings 2023-07-21 10:56:55 -04:00
lat9nq 245c490e02 settings,configuration: Add a default suffix 2023-07-21 10:56:55 -04:00
lat9nq 380be385d1 configuration: Use paired settings 2023-07-21 10:56:55 -04:00
lat9nq 4ffbd95fa5 settings: Define paired settings
settings_common: Remove unused optional
2023-07-21 10:56:55 -04:00
lat9nq 5700f46f8f shared_widget: Internalize component restoring 2023-07-21 10:56:55 -04:00
lat9nq da00b5ab3c configuration: Use specialization of settings
Reduces some ugliness in frontend code.
2023-07-21 10:56:55 -04:00
lat9nq eb6fe05451 settings: Define specializations for settings
Suggests to a frontend how to represent each setting.
2023-07-21 10:56:55 -04:00
lat9nq e45389c266 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 d9699be7c2 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 27df166abd settings,translation: Fix time zone enum
Renames enum values to conform to naming convention.
2023-07-21 10:56:55 -04:00
lat9nq ed14cd8748 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 f42ebb3405 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 2959a3efb4 config_shared: Remove storing the group from tab 2023-07-21 10:56:55 -04:00
lat9nq c0e9075d6b settings,uisettings: Remove leading underscore 2023-07-21 10:56:55 -04:00
lat9nq 0a5e03b492 configuration: Move speed_limit to core 2023-07-21 10:56:55 -04:00
lat9nq e09f6ee530 settings: Move speed_limit to core 2023-07-21 10:56:55 -04:00
lat9nq fa626cd665 android-config: Update enum labels 2023-07-21 10:56:55 -04:00
lat9nq a7a32ab8a0 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 c2b577b364 settings_setting: Fix MSVC error 2023-07-21 10:56:55 -04:00
lat9nq 7aa6adde59 shared_widget: Correct spelling 2023-07-21 10:56:55 -04:00
lat9nq ce08bcb4a1 (android)config: Clang format 2023-07-21 10:56:55 -04:00
lat9nq 859dff4c27 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 92941df1f6 configure_graphics: Simplify UpdateAPILayout
Reduces branching/swictch cases for simplicity/code size
2023-07-21 10:56:54 -04:00
lat9nq aebab92dac configure_graphcs: Fix setting shader/device in custom config 2023-07-21 10:56:54 -04:00
lat9nq d1757cc55e 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 84fd9f4726 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 1ced5ad6e6 config: Remove unused functions 2023-07-21 10:56:54 -04:00
lat9nq 98eb39ee74 settings: Delete cpu_accuracy_first_time
Almost a 2 year old migration setting now
2023-07-21 10:56:54 -04:00
lat9nq 5fe7f2a054 shared_widget: Improve logging, use Setting::Ranged 2023-07-21 10:56:54 -04:00
lat9nq 8addc74f4f settings: Document BasicSetting, add Ranged 2023-07-21 10:56:54 -04:00
lat9nq 8d4c466cde settings: Move IsConfiguringGlobal to settings_common 2023-07-21 10:56:54 -04:00
lat9nq 4ca87e712d configuration/shared: Clean up includes [IWYU] 2023-07-21 10:56:54 -04:00
lat9nq 05e54c094f configure_graphics: Fix vulkan_device bug 2023-07-21 10:56:54 -04:00
lat9nq e0d6f3435e 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 9eee631154 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 5a2b7f951d (ui,)settings: Use explicit instantiation
Reduces compile times a tad on clang.
2023-07-21 10:56:54 -04:00
lat9nq 5574e68b57 settings: Remove redundant false literals 2023-07-21 10:56:54 -04:00
lat9nq 620f642e5b 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 9be2b39509 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 604930b7eb shared_widget: Add SPDX header 2023-07-21 10:56:54 -04:00
lat9nq 9d6de208a1 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 9d3715a68c settings_enums: Add const type where needed 2023-07-21 10:56:54 -04:00
lat9nq 442f0899a8 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 38683238a8 shared_translation: Populate combobox enums with macro 2023-07-21 10:56:54 -04:00
lat9nq 9ba1120d59 settings: yuzu is not capitalized why is it capitalized stop no bad 2023-07-21 10:56:54 -04:00
lat9nq cb4cdcbaeb 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 c97378bbf1 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 435aec0f7f shared_translation: Add translation for use video framrate 2023-07-21 10:56:54 -04:00
lat9nq cfa06e42e6 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 d344ecbee1 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 78f92086ca settings,general: Rename non-confirming enums 2023-07-21 10:56:54 -04:00
lat9nq d35281ddf3 configuration: Use IDs to sort holds 2023-07-21 10:56:07 -04:00
lat9nq 80669058c7 settings,general: Rename/reorder setting ids 2023-07-21 10:56:07 -04:00
lat9nq e4bde3a1f5 shared_widget: Fix includes 2023-07-21 10:56:07 -04:00
lat9nq 4e18f8dbe9 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 1d7fb41d59 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 0f8a902d8c android-config: Adapt settings rework 2023-07-21 10:56:07 -04:00
lat9nq 7fa19e6d0a c_per_game: Inform when settings might not be configurable 2023-07-21 10:56:07 -04:00
lat9nq a8d8670b73 shared_translation: Fix pragma once 2023-07-21 10:56:07 -04:00
lat9nq 302903ef12 shared_translation: Add translation for AstcRecompression 2023-07-21 10:56:07 -04:00
lat9nq 71fe7e39b6 configure_system: Hide locale warn at start 2023-07-21 10:56:07 -04:00
lat9nq c071d4d2ac 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 a41f271600 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 51ecf3cb5d shared_translation: Add missing tooltips 2023-07-21 10:56:07 -04:00
lat9nq 1eb6680ca3 settings: Make volume runtime-configurable 2023-07-21 10:56:07 -04:00
lat9nq 4119adeb56 configuration: Clean up includes a bit 2023-07-21 10:56:07 -04:00
lat9nq 6034e7508e configuration_shared: Remove old custom config setup functions 2023-07-21 10:56:07 -04:00
lat9nq 5e60826357 configure_cpu: Generate UI 2023-07-21 10:56:07 -04:00
lat9nq b212eb4d6f 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 7a56b4a224 settings, shared_widget: typo fixes 2023-07-21 10:56:07 -04:00
lat9nq d39bfc646f 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 a61beb7123 settings: Split enums to new file 2023-07-21 10:56:07 -04:00
lat9nq f4c058719d shared_widget: Use a better icon
This one looks more relevant on Windows.
2023-07-21 10:56:07 -04:00
lat9nq 3b0da07854 shared_widget: Refactor helpers
Makes checkbox creation an option as opposed to a label.
2023-07-21 10:56:07 -04:00
lat9nq e24838dabc settings, uisettings: Initialize linkage counter 2023-07-21 10:56:07 -04:00
lat9nq 689efc9175 configure_system: Implement with for loop 2023-07-21 10:56:07 -04:00
lat9nq 1be23237cd per_game: Remove general tab
It's empty.
2023-07-21 10:56:07 -04:00
lat9nq 05f745721e shared_widget: Internalize extra setting configuration 2023-07-21 10:56:07 -04:00
lat9nq 0dcb7fe1ce 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 318918c606 graphics: Set speed limit to spinbox 2023-07-21 10:56:07 -04:00
lat9nq de25cd8462 shared_widget: Support checkbox + spinbox 2023-07-21 10:56:07 -04:00
lat9nq 61ecba9349 configure_debug: Reorganize 2023-07-21 10:56:07 -04:00
lat9nq 8df7fbe91b 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 63ea626339 shared_widget: Make button creation static 2023-07-21 10:56:07 -04:00
lat9nq f6091f33aa configure_general: Hide reset button in custom configs 2023-07-21 10:56:07 -04:00
lat9nq 24c16f46ef configure_general: Sort data 2023-07-21 10:56:07 -04:00
lat9nq 77feee49ae configure_general: Generate UI using containers
This leaves per-game config's General tab empty?
2023-07-21 10:56:07 -04:00
lat9nq 46114bf316 shared_translation: Add UI widget translations 2023-07-21 10:56:07 -04:00
lat9nq a9754694b7 shared_widget: Fix header 2023-07-21 10:56:07 -04:00
lat9nq 793d6c2a85 settings: Add UiGeneral class 2023-07-21 10:56:07 -04:00
lat9nq e26dff434f 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 5d84eebd84 configure_graphics: Remove redundant log 2023-07-21 10:56:07 -04:00
lat9nq b17ab4d1d5 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 f9310ec1e8 configuration: Implement slider 2023-07-21 10:56:07 -04:00
lat9nq e40f887355 configuration: Use buttons instead of highlights
Only for updated configs at the moment
2023-07-21 10:56:07 -04:00
lat9nq d7e389b2f0 shared_translations: Re flow strings 2023-07-21 10:56:07 -04:00
lat9nq bb015feefd configure_graphics: More complete reimplementation 2023-07-21 10:56:07 -04:00
lat9nq cc4dbb8c8c settings: Define base renderer runtime modifiable settings 2023-07-21 10:56:07 -04:00
lat9nq 2760998b49 configuration_shared: Fix blank state hiding check box 2023-07-21 10:56:07 -04:00
lat9nq 11c4168adb settings: Add anisotropy mode enum 2023-07-21 10:56:07 -04:00
lat9nq eae5e1f6f3 shared_translation: Finish using int ids 2023-07-21 10:56:07 -04:00
lat9nq 825e8f0611 settings,uisettings: Add IDs to settings 2023-07-21 10:56:07 -04:00
lat9nq d7ffd33ca0 configure_graphics: Partial runtime implementation 2023-07-21 10:56:07 -04:00
lat9nq c7e5ead869 settings: Recategorize a bit
Will help with generating config UI later.
2023-07-21 10:56:07 -04:00
lat9nq 1b886c42ef shared_translation: Add the rest of the settings 2023-07-21 10:56:07 -04:00
lat9nq 3e26089711 shared_translation: Add copyright and license 2023-07-21 10:56:07 -04:00
lat9nq 4a5f3e4733 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 f5d7aedfe9 configure_per_game: Rename group to tab_group 2023-07-21 10:56:07 -04:00
lat9nq b527f47bd6 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 cea811f446 configuration_shared: Create Tab base class 2023-07-21 10:56:07 -04:00
lat9nq 253d2180c5 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 74a55fd39c uisettings: Fix typings 2023-07-21 10:56:07 -04:00
lat9nq bd8630531e 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 02a4c18835 settings: Pool SetGlobal functions 2023-07-21 10:56:07 -04:00
lat9nq fc30b04714 settings,video_core: Consolidate ASTC decoding options
Just puts them all neatly into one place.
2023-07-21 10:56:07 -04:00
liamwhite 1b36e48f14 Merge pull request #11096 from german77/amiibooo
service: nfc: Update Implementation to match with latest RE
2023-07-21 09:21:48 -04:00
liamwhite 871be3a4d2 Merge pull request #11116 from lat9nq/clang-shadowing
general: Silence -Wshadow{,-uncaptured-local} warnings
2023-07-19 17:14:55 -04:00
liamwhite 075740115b Merge pull request #11114 from Kelebek1/warnings
Mark SetIdleTimeDetectionExtension logging as debug
2023-07-19 17:14:45 -04:00
lat9nq aa21a2ea3c vk_buffer_cache: Format 2023-07-18 19:56:20 -04:00
lat9nq 30e4e8c2f4 general: Silence -Wshadow{,-uncaptured-local} warnings
These occur in the latest commits in LLVM Clang.
2023-07-18 19:31:35 -04:00
Kelebek1 df8097de60 Debug SetIdleTimeDetectionExtension 2023-07-18 10:16:14 +01:00
Liam 0cd5b83aa3 nsd: add GetApplicationServerEnvironmentType 2023-07-17 21:34:23 -04:00
Morph 0263d2fb05 ssl: Link with crypt32 for secure channel backend 2023-07-17 15:46:24 -04:00
Morph e5e843b73f ssl: Reorder inclusions 2023-07-17 15:46:24 -04:00
Morph 74d0865478 network: Forward declarations 2023-07-17 15:36:03 -04:00
Narr the Reg 2aab79426a service: nfc: Update Implementation to match with latest RE 2023-07-17 11:24:23 -06:00
liamwhite f2b6eed2ca Merge pull request #10934 from abouvier/cmake-vma
cmake: allow using system VMA library
2023-07-17 10:42:41 -04:00
liamwhite e03e85ae31 Merge pull request #11102 from v1993/your-mom-is-encrypted
android: fix links to re-dumping guides
2023-07-17 10:42:31 -04:00
liamwhite b05ad55c4c Merge pull request #10912 from comex/ssl
Implement SSL service
2023-07-16 16:56:47 -04:00
Valeri Ochinski cd7fc3a3fe android: fix links to re-dumping guides 2023-07-16 20:22:27 +03:00
GPUCode 7e9f75453f buffer_cache: Increase number of texture buffers 2023-07-15 23:09:58 +03:00
comex 85d77f636c 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
Liam b47ce23b31 kernel: reduce page table region checking 2023-07-14 22:33:10 -04:00
Liam 6b6f0b21b9 k_process: PageTable -> GetPageTable 2023-07-14 21:43:15 -04:00
Tobias 16590ff2d0 file_sys/content_archive: Detect compressed NCAs (#11047) 2023-07-12 23:17:18 +02:00
lat9nq 25b800e26c time_zone: Clean up includes 2023-07-12 03:03:03 -04:00
lat9nq 0331d580e2 time_zone: Swap subtraction order 2023-07-12 03:02:45 -04:00
lat9nq 9fde7a84ea time_zone: Account for leap years
Protects against invalid hour offsets during transitions to years
following leap years.
2023-07-12 02:34:02 -04:00
Alexandre Bouvier dad3ef76a2 cmake: allow using system VMA library 2023-07-12 04:51:45 +02:00
bunnei 9a9da4301b Merge pull request #10985 from liamwhite/handle-translate
k_server_session: translate special header for non-HLE requests
2023-07-11 16:49:24 -07:00
bunnei 2a4fe26457 Merge pull request #11070 from t895/home-setting-warning
android: Visualize disabled home options
2023-07-11 16:48:57 -07:00
Charles Lombardo b9b5f6a885 android: Visualize disabled home options
Allow for displaying options in the home options that are disabled with messages that explain why they are disabled.

This includes reasoning for the GPU driver installation button.
2023-07-10 22:17:19 -04:00
bunnei ab18aeb500 Merge pull request #10996 from Kelebek1/readblock_optimisation
Use spans over guest memory where possible instead of copying data
2023-07-10 18:54:19 -07:00
bunnei d2d88891ce Merge pull request #11050 from SuperSamus/sdl-button-labels
input_common: set `SDL_HINT_GAMECONTROLLER_USE_BUTTON_LABELS` to 0
2023-07-10 18:53:16 -07:00
lat9nq 53d03b9a0e settings: Disable C++20 tzdb path on MinGW
This path always results in Etc/UTC on MinGW, which often is not
close to the local time zone.
2023-07-10 17:52:35 -04:00
lat9nq efeb79f380 time_zone: Remove string ops for determing zone
MinGW's strftime implementation does not work and cannot be used to
determine the time zone. Besides that, the string operations are
actually unnecessary since we can get the offset from
std::localtime.

Compare localtime to gmtime to find the zone offset on all platforms.
2023-07-10 17:51:34 -04:00
bunnei 5137c8ad74 Merge pull request #11067 from t895/fragile-data
android: Don't prompt to save user data on uninstall
2023-07-09 17:20:14 -07:00
Morph 29855a5997 Merge pull request #11055 from lat9nq/tzdb-catch-
settings: Catch runtime error from STL
2023-07-09 19:27:41 -04:00
Charles Lombardo 190a9d386b android: Don't prompt to save user data on uninstall
While this can be convenient in some scenarios, this will be a big problem for users trying to sideload different APK versions. If they forget the last one they had installed, they could have problems installing a new copy.
2023-07-09 19:02:42 -04:00
Morph 51c3f6567b Merge pull request #11063 from liamwhite/oops
arm_interface: correct breakpoint rewind condition
2023-07-09 16:24:49 -04:00
Liam 1f791daa01 arm_interface: correct breakpoint rewind condition 2023-07-09 12:03:25 -04:00
lat9nq 9e48d8f65b settings: Catch runtime error from STL
This function throws a runtime error we can catch on old Windows 10
installs, so we can catch it here rather than disable this path for
everybody.
2023-07-09 02:26:58 -04:00
Morph 411d553bdf Merge pull request #11030 from lat9nq/tz-restrict-msvc
settings: Disable C++20 time zone path on MSVC
2023-07-09 01:45:00 -04:00
Liam ac90cfb927 k_server_session: translate special header for non-HLE requests 2023-07-08 01:01:49 -04:00
Martino Fontana ef46437605 input_common: set `SDL_HINT_GAMECONTROLLER_USE_BUTTON_LABELS` to 0
This allows to share the mappings between Nintendo and non-Nintendo controllers.
Breaks the controller configuration for existing users who are using a Nintendo controller.

(Documentation of the hint 92b3c53c92/include/SDL_hints.h (L512-L532))
2023-07-07 21:59:47 +02:00
liamwhite 8c93a54ef7 Merge pull request #10999 from Morph1984/fix-install-progress
main: Fix install progress calculation
2023-07-06 18:57:25 -04:00
liamwhite 8fabf166e6 Merge pull request #11031 from german77/zero
input_common: Avoid potential division by zero
2023-07-06 18:57:07 -04:00
liamwhite e6425500d3 vfs_real: use open file size for getting size (#11016) 2023-07-06 23:43:53 +02:00
Morph 8fa64dd1c5 main: Use 1_MiB as a constant for copy buffer size 2023-07-06 13:04:27 -04:00
Morph cf6afdd939 main: Fix install progress calculation
The increased buffer size means that that progress bar size has to be adjusted
2023-07-06 00:22:38 -04:00
Narr the Reg 0bb27e9606 input_common: Avoid potential division by zero 2023-07-05 17:42:16 -06:00
lat9nq b648c43fe8 settings: Disable C++20 path on MSVC
Even though it compiles and runs fine on the latest Windows versions,
older LTSC builds will crash due to lacking support somewhere in the OS.

For now just disable it for MSVC until either Microsoft fixes this or we
no longer support 1809 LTSC.
2023-07-05 15:58:12 -04:00
liamwhite 5688b55070 Merge pull request #10994 from liamwhite/ue4-preferred
vulkan_common: use device local preferred for image memory
2023-07-05 09:23:56 -04:00
liamwhite 9c44ee364c Merge pull request #11006 from german77/nfc_nfc
service: nfc: Ensure controller is in the correct mode
2023-07-05 09:23:47 -04:00
liamwhite 81a137aa71 Merge pull request #11012 from gidoly/metroid-fix
Fix regression by unreal engine fix pr #11009
2023-07-05 09:23:34 -04:00
Kelebek1 ba4569eab7 Fix ScratchBuffer moves 2023-07-04 16:02:58 +01:00
bunnei 66a20ecbc7 video_core: vulkan_device: Disable timeline semaphore on Turnip, fix qcom version check. 2023-07-03 19:25:06 -07:00
bunnei d8cda2c0b6 Merge pull request #10964 from bunnei/gpu-remove-qcom-check
video_core: vulkan_device: Fix S8Gen2 dynamic state checks.
2023-07-03 16:59:29 -07:00
bunnei a255833eea Merge pull request #10943 from t895/stick-modifiers
android: Input overlay updates
2023-07-03 14:44:15 -07:00
bunnei 3bf2a14213 video_core: vulkan_device: Change to driver version check. 2023-07-03 14:25:06 -07:00
german77 91445cd2e8 android: Reintroduce launch mode as single top 2023-07-03 09:31:02 -06:00
gidoly 66cb683f1e oops re open 2023-07-03 20:25:23 +09:00
zeltermann 1bc489d511 Use `toUtf8()` for string passed to DBus 2023-07-03 14:46:17 +07:00
german77 a4c3c3bc2e service: nfc: Ensure controller is in the correct mode 2023-07-02 19:21:16 -06:00
Charles Lombardo e4fc1f5d7b android: Version the input overlay
Now within the Input Overlay file, there is a version that will determine when the overlay will be reset. This is intended for breaking changes like the ones we had with the additions of percentage based layouts or the addition of foldable/portrait layouts. This also includes versions for each individual layout so we don't have to reset every layout if only one is broken.

Additionally, this includes new L3/R3 buttons.
2023-07-02 20:19:01 -04:00
Kelebek1 42638691b5 Use spans over guest memory where possible instead of copying data. 2023-07-02 23:09:48 +01:00
liamwhite 378fee4c18 Merge pull request #10998 from Morph1984/qt-stop-messing-with-me
core_timing: Remove GetCurrentTimerResolution in CoreTiming loop
2023-07-02 17:38:28 -04:00
liamwhite d81539ed2d Merge pull request #10479 from GPUCode/format-list
Add support for VK_KHR_image_format_list
2023-07-02 17:38:21 -04:00
liamwhite 6145c3edd0 Merge pull request #10969 from Morph1984/k-synchronize
kernel: Synchronize
2023-07-02 17:38:14 -04:00
Morph 81ba61a0bd core_timing: Remove GetCurrentTimerResolution in CoreTiming loop
Other programs may change this value, but if thousands of syscalls in this loop is undesirable, then we can just set this once.
2023-07-02 15:08:04 -04:00
liamwhite 0a416da90b Merge pull request #10949 from t895/memory-requirements
android: Rework MemoryUtil
2023-07-02 11:29:08 -04:00
liamwhite 1bd420593c Merge pull request #10942 from FernandoS27/android-is-a-pain-in-the-a--
Memory Tracking: Add mechanism to register small writes when gpu page is contested by GPU
2023-07-02 11:29:01 -04:00
liamwhite 35db479149 Merge pull request #10710 from liamwhite/romfs2
fsmitm_romfsbuild: avoid full path lookups
2023-07-02 11:28:55 -04:00
comex 1595193fa9 Rename variables to avoid -Wshadow warnings under GCC 2023-07-01 22:03:21 -07:00
Liam aa2743de67 vulkan_common: use device local preferred for image memory 2023-07-01 23:44:57 -04:00
Liam c9cbfadcdc Revert "texture_cache: Fix incorrect logic for AccelerateDMA"
This reverts commit e9c07146d8.
2023-07-01 23:37:50 -04:00
liamwhite 2a11936fa3 Merge pull request #10984 from comex/cob
Minor cleanup in BufferCacheRuntime::ReserveNullBuffer
2023-07-01 22:38:33 -04:00
liamwhite 004b9609b0 Merge pull request #10974 from Steveice10/macos_vk
vulkan: Improvements to macOS surface creation
2023-07-01 22:38:26 -04:00
liamwhite ab339d1af3 Merge pull request #10970 from Morph1984/thing
general: Misc changes that did not deserve their own PRs
2023-07-01 22:38:18 -04:00
liamwhite cd0fe521d4 Merge pull request #10966 from Morph1984/heap-corruption
sink_stream: Resolve heap buffer corruption due to out of bounds write
2023-07-01 22:38:10 -04:00
liamwhite 8de8e16d8a Merge pull request #10950 from german77/mouse_tune
input_common: Tune mouse controls
2023-07-01 22:38:01 -04:00
comex 2ddbac990a ...actually add the SecureTransport backend to Git. 2023-07-01 17:48:36 -07:00
comex f4b39f722d Updates:
- Address PR feedback.
- Add SecureTransport backend for macOS.
2023-07-01 17:27:35 -07:00
comex 3b997a6083 Merge remote-tracking branch 'origin/master' into ssl 2023-07-01 15:01:11 -07:00
Steveice10 9961fc6754 yuzu: Use test window with VulkanSurface to check for present modes.
It is probably not correct to create a surface on a non-VulkanSurface window.
On macOS this causes a preferences crash due to missing CAMetalLayer.
2023-07-01 14:15:26 -07:00
Morph abe7f7c0a0 kernel: Synchronize 2023-07-01 16:21:22 -04:00
comex 1e1b0dccaf Minor cleanup in BufferCacheRuntime::ReserveNullBuffer
As far as I can tell, there is no reason to OR this bit in separately.
2023-07-01 12:00:25 -07:00
GPUCode 4270b443f8 renderer_vulkan: Fix some missing view formats
* Many times the format itself wouldn't have been added to the list causing device losses for nvidia GPUs

* Also account for ASTC acceleration storage views
2023-07-01 16:03:35 +03:00
GPUCode b7e726669e renderer_vulkan: Add support for VK_KHR_image_format_list 2023-07-01 16:03:29 +03:00
Steveice10 19a0345f69 vulkan: Use newer VK_EXT_metal_surface to create surface for MoltenVK. 2023-06-30 23:46:03 -07:00
Morph acfb053333 parcel: Optimize small_vector sizes 2023-06-30 22:05:28 -04:00
Morph 10f95299eb maxwell_dma: Specify dst_operand.pitch instead of a temp var 2023-06-30 21:49:59 -04:00
Morph b8004b2472 general: Use ScratchBuffer where possible 2023-06-30 21:49:59 -04:00
german77 921f9baf58 yuzu: Ensure mouse panning can't be enabled with real mouse emulation 2023-06-30 18:59:39 -06:00
Fernando S 9cb5d582d6 Merge pull request #10953 from FernandoS27/oh-oopsies-yfc
Texture cache: Fix YFC regression due to code testing
2023-06-30 20:25:09 +02:00
Charles Lombardo a81e654c4d android: Show memory warning once 2023-06-30 13:46:35 -04:00
Morph accc43e31f ring_buffer: Fix const usage on std::span 2023-06-30 13:33:14 -04:00
Morph 8d75397bd9 scratch_buffer: Add member types to ScratchBuffer
Allows for implicit conversion to std::span<T>.
2023-06-30 13:33:13 -04:00
Fernando S 068fdeb0e8 Merge pull request #10956 from FernandoS27/pikmin-another-game-ill-hate
AccelerateDMA: Don't accelerate 3D texture DMA operations
2023-06-30 09:37:07 +02:00
Charles Lombardo 79637a9038 android: Rework MemoryUtil
Uses string templates and rounds up memory amount for potentially inaccurate checks now
2023-06-30 01:00:19 -04:00
Morph 885090dc13 sink_stream: Resolve heap buffer corruption due to out of bounds write
Also, remove the use of ScratchBuffer when upmixing, as other channels may not be initialized with zeroed out data.
2023-06-30 00:54:23 -04:00
bunnei bdf171633f video_core: vulkan_device: Scope S8Gen2 checks to just Qualcomm. 2023-06-29 18:41:38 -07:00
bunnei de534a8b82 video_core: vulkan_device: Fix S8Gen2 dynamic state checks. 2023-06-29 17:37:42 -07:00
Fernando Sahmkow 71c38a6eb3 AccelerateDMA: Don't accelerate 3D texture DMA operations 2023-06-29 17:23:29 +02:00
Charles Lombardo 5b4cceec9b Merge pull request #10955 from 8bitDream/gradle
android: Suppress a known incompatibility
2023-06-29 11:07:00 -04:00
liamwhite fe61fc5f33 Merge pull request #10935 from Morph1984/mwaitx
x64: Make use of monitorx instructions for power efficient sleeps (AMD)
2023-06-29 10:01:26 -04:00
liamwhite e82922f723 Merge pull request #10937 from german77/ring
input_common: Remove duplicated enum and fix ring detection
2023-06-29 10:01:19 -04:00
liamwhite 15cffade78 Merge pull request #10946 from goldenx86/amdBlending
Blacklist EDS3 blending from new AMD drivers
2023-06-29 10:01:11 -04:00
Abandoned Cart 17d8ad19b9 android: Suppress a known incompatibility
Android Gradle plugin 8.0.2 is designed for API 33, but a newer plugin hasn't been released yet. The warning message is rather extravagant, but also suggests adding this property if you are aware of the risks.
2023-06-29 07:32:12 -04:00
Fernando Sahmkow d1200cd5c6 Memory Tracker: Use 64 bit atomics instead of 128 bits 2023-06-29 12:25:12 +02:00
Fernando Sahmkow 8efc8dba3e Texture cache: Fix YFC regression due to code testing 2023-06-29 11:58:45 +02:00
german77 c6a065cb08 input_common: Allow timeouts to happen while scanning for a ring 2023-06-29 01:07:39 -06:00
Narr the Reg 3241ff028c input_common: Tune mouse controls 2023-06-28 21:04:33 -06:00
Charles Lombardo 03db05843a android: Make MemoryUtil an object 2023-06-28 20:00:25 -04:00
Matías Locatti 64640b6d07 Blacklist EDS3 blending from new AMD drivers 2023-06-28 20:10:27 -03:00
Charles Lombardo fc8362a875 android: Android 14 support
Specifies the permissions needed for the changes to foreground services in Android 14.
2023-06-28 16:15:18 -04:00
Fernando Sahmkow 4f68a8f45a Memory Tracking: Optimize tracking to only use atomic writes when contested with the host GPU 2023-06-28 21:32:45 +02:00
Fernando Sahmkow 7ae0cdbb09 MemoryTracking: Initial setup of atomic writes. 2023-06-28 19:34:21 +02:00
german77 38b68d1783 input_common: Remove duplicated DriverResult enum 2023-06-28 09:49:47 -06:00
Morph 037e683b94 x64: cpu_wait: Implement MWAITX for non-MSVC compilers 2023-06-28 01:39:15 -04:00
Morph 88efcaf44e x64: cpu_wait: Remove magic values 2023-06-28 01:39:06 -04:00
Morph cffefaf8a7 x64: cpu_wait: Make use of MWAITX in MicroSleep
MWAITX is equivalent to UMWAIT on Intel's Alder Lake CPUs.
We can emulate TPAUSE by using MONITORX in conjunction with MWAITX to wait for 100K cycles.
2023-06-28 01:38:55 -04:00
Morph 841a3559a5 x64: Add detection of monitorx instructions
monitorx introduces 2 instructions: MONITORX and MWAITX.
2023-06-28 01:36:06 -04:00
Liam d54f9ea34f fsmitm_romfsbuild: avoid full path lookups 2023-06-27 23:25:47 -04:00
GPUCode 9e58301aec renderer_vulkan: Prevent crashes when blitting depth stencil 2023-06-27 18:00:09 -07:00
GPUCode 5196f05cec video_core: Add BCn decoding support 2023-06-27 18:00:09 -07:00
GPUCode 8a829a12b6 renderer_vulkan: Add more feature checking 2023-06-27 18:00:09 -07:00
GPUCode d8a98f124a renderer_vulkan: Don't assume debug tool with debug renderer
* Causes crashes because mali drivers don't support debug utils
2023-06-27 18:00:09 -07:00
GPUCode 5011526a94 renderer_vulkan: Bump minimum SPIRV version
* 1.3 is guaranteed on all 1.1 drivers
2023-06-27 18:00:09 -07:00
GPUCode 035b4eaf46 renderer_vulkan: Respect viewport limit 2023-06-27 18:00:09 -07:00
GPUCode 1af4dc2ed7 renderer_vulkan: Don't add transform feedback flag if unsupported 2023-06-27 18:00:09 -07:00
GPUCode 843d93b951 renderer_vulkan: Add suport for debug report callback 2023-06-27 18:00:09 -07:00
liamwhite c64b5c642f Merge pull request #10933 from merryhime/dunno
arm_dynarmic_32: Remove disabling of block linking on arm64
2023-06-27 20:50:24 -04:00
lat9nq dfc7afe44d settings: Clean up includes
Adds <version> since we are looking at C++ implementation version
details. Also moves exception header includes into the if preprocessor
command since we only use it there.
2023-06-27 19:13:54 -04:00
Merry 09012476db arm_dynarmic_32: Remove disabling of block linking on arm64 2023-06-27 23:51:49 +01:00
lat9nq 4bbb9fa29e settings: Catch runtime_error, fallback time zone
Windows will let you select time zones that  will fail in their
own C++ implementation library. Evidently from the stack trace, we get a
runtime error to work with, so catch it and use the fallback.
2023-06-27 18:12:26 -04:00
german77 7dee0cf567 yuzu: Fix clang format 2023-06-27 15:55:23 -06:00
Narr the Reg f8e461e9f2 Merge pull request #9663 from EBADBEEF/disable-controller-applet
qt: add option to disable controller applet
2023-06-27 10:32:51 -06:00
liamwhite 8a679be44b Merge pull request #10867 from Kelebek1/dma_safe
Use safe reads in DMA engine
2023-06-27 11:21:47 -04:00
liamwhite 4f21c05522 Merge pull request #10473 from GPUCode/vma
Use vulkan memory allocator
2023-06-27 11:21:36 -04:00
liamwhite 4696a032a8 Merge pull request #10495 from bm01/master
input_common: Redesign mouse panning
2023-06-27 11:21:28 -04:00
liamwhite f91cc2c72f Merge pull request #10679 from zeltermann/wakelock-reason
Only use SDL wakelock on Linux
2023-06-27 11:21:20 -04:00
liamwhite c869dcd931 Merge pull request #10916 from ameerj/lolmem
OpenGL: Add Local Memory warmup shader for Nvidia
2023-06-27 11:21:10 -04:00
Charles Lombardo 2810786adc android: Fix size check for content uris
Fix for checking file size for android content uris
2023-06-26 22:24:18 -04:00
liamwhite 8affea6a4b Merge pull request #10908 from kiri11/clarify-ring-ui
Clarify Ring-Con configuration message in UI
2023-06-26 14:31:30 -04:00
liamwhite 71949a6077 Merge pull request #10903 from german77/nfc_state
input_common: Improve nfc state handling and 3rd party support
2023-06-26 14:31:23 -04:00
liamwhite 2793f6cf7e Merge pull request #10901 from german77/sdl_fix
input_common: Make use of new SDL features
2023-06-26 14:31:14 -04:00
liamwhite 6121aed4a8 Merge pull request #10888 from 8bitDream/native
android: (native) Parameter types from Android Studio
2023-06-26 14:31:00 -04:00
liamwhite 30cae69b33 Merge pull request #10865 from t895/extension-meme
android: Clean up file extension checks
2023-06-26 14:30:49 -04:00
Charles Lombardo f56487bf3e android: Clean up file extension checks 2023-06-26 13:25:56 -04:00
GPUCode 7a8631cd45 externals: Use cmake subdirectory 2023-06-26 18:59:24 +03:00
Kelebek1 c80b6bfb83 Use safe reads in DMA engine 2023-06-26 11:34:02 +01:00
comex 930b7ac6ee PR feedback + constification 2023-06-25 19:24:49 -07:00
comex 73fb0e03a4 network.cpp: include expected.h 2023-06-25 18:51:39 -07:00
comex ae42f278cb re-format 2023-06-25 17:09:54 -07:00
comex 742d780d77 Fix more Windows build errors
I did test this beforehand, but not on MinGW, and the error that showed
up on the msvc builder didn't happen for me...
2023-06-25 17:06:57 -07:00
comex 3cc874f079 ssl: fix compatibility with OpenSSL 1.1.1
Turns out changes were needed after all.
2023-06-25 16:09:16 -07:00
ameerj 5ae4d9983b OpenGL: Limit lmem warmup to NVIDIA
🐸
2023-06-25 19:06:51 -04:00
ameerj 28cecc6cd8 shaders: Track local memory usage 2023-06-25 18:59:33 -04:00
ameerj a2b344ab9d emit_glasm: Fix lmem size computation 2023-06-25 18:43:52 -04:00
ameerj b2349d75f4 OpenGL: Add Local Memory warmup shader 2023-06-25 18:43:23 -04:00
comex 6018b182fc Fixes:
- Add missing virtual destructor on `SSLBackend`.

- On Windows, filter out `POLLWRBAND` (one of the new flags added) when
  calling `WSAPoll`, because despite the constant being defined on
  Windows, passing it calls `WSAPoll` to yield `EINVAL`.

- Reduce OpenSSL version requirement to satisfy CI; I haven't tested
  whether it actually builds (or runs) against 1.1.1, but if not, I'll
  figure it out.

- Change an instance of memcpy to memmove, even though the arguments
  cannot overlap, to avoid a [strange GCC
  error](https://github.com/yuzu-emu/yuzu/pull/10912#issuecomment-1606283351).
2023-06-25 15:06:52 -07:00
comex 7fc1efe740 ssl: rename argument to avoid false positive codespell warning
The original name `larg` was copied from the OpenSSL documentation and
is not a typo of 'large' but rather an abbreviation of '`long`
argument'.  But whatever, no harm in adding an underscore.
2023-06-25 13:10:41 -07:00
comex 12321ae076 socket_types: Improve comment 2023-06-25 13:10:15 -07:00
comex 6f8d5f068f Implement SSL service
This implements some missing network APIs including a large chunk of the SSL
service, enough for Mario Maker (with an appropriate mod applied) to connect to
the fan server [Open Course World](https://opencourse.world/).

Connecting to first-party servers is out of scope of this PR and is a
minefield I'd rather not step into.

 ## TLS

TLS is implemented with multiple backends depending on the system's 'native'
TLS library.  Currently there are two backends: Schannel for Windows, and
OpenSSL for Linux.  (In reality Linux is a bit of a free-for-all where there's
no one 'native' library, but OpenSSL is the closest it gets.)  On macOS the
'native' library is SecureTransport but that isn't implemented in this PR.
(Instead, all non-Windows OSes will use OpenSSL unless disabled with
`-DENABLE_OPENSSL=OFF`.)

Why have multiple backends instead of just using a single library, especially
given that Yuzu already embeds mbedtls for cryptographic algorithms?  Well, I
tried implementing this on mbedtls first, but the problem is TLS policies -
mainly trusted certificate policies, and to a lesser extent trusted algorithms,
SSL versions, etc.

...In practice, the chance that someone is going to conduct a man-in-the-middle
attack on a third-party game server is pretty low, but I'm a security nerd so I
like to do the right security things.

My base assumption is that we want to use the host system's TLS policies.  An
alternative would be to more closely emulate the Switch's TLS implementation
(which is based on NSS).  But for one thing, I don't feel like reverse
engineering it.  And I'd argue that for third-party servers such as Open Course
World, it's theoretically preferable to use the system's policies rather than
the Switch's, for two reasons

1. Someday the Switch will stop being updated, and the trusted cert list,
   algorithms, etc. will start to go stale, but users will still want to
   connect to third-party servers, and there's no reason they shouldn't have
   up-to-date security when doing so.  At that point, homebrew users on actual
   hardware may patch the TLS implementation, but for emulators it's simpler to
   just use the host's stack.

2. Also, it's good to respect any custom certificate policies the user may have
   added systemwide.  For example, they may have added custom trusted CAs in
   order to use TLS debugging tools or pass through corporate MitM middleboxes.
   Or they may have removed some CAs that are normally trusted out of paranoia.

Note that this policy wouldn't work as-is for connecting to first-party
servers, because some of them serve certificates based on Nintendo's own CA
rather than a publicly trusted one.  However, this could probably be solved
easily by using appropriate APIs to adding Nintendo's CA as an alternate
trusted cert for Yuzu's connections.  That is not implemented in this PR
because, again, first-party servers are out of scope.

(If anything I'd rather have an option to _block_ connections to Nintendo
servers, but that's not implemented here.)

To use the host's TLS policies, there are three theoretical options:

a) Import the host's trusted certificate list into a cross-platform TLS
   library (presumably mbedtls).

b) Use the native TLS library to verify certificates but use a cross-platform
   TLS library for everything else.

c) Use the native TLS library for everything.

Two problems with option a).  First, importing the trusted certificate list at
minimum requires a bunch of platform-specific code, which mbedtls does not have
built in.  Interestingly, OpenSSL recently gained the ability to import the
Windows certificate trust store... but that leads to the second problem, which
is that a list of trusted certificates is [not expressive
enough](https://bugs.archlinux.org/task/41909) to express a modern certificate
trust policy.  For example, Windows has the concept of [explicitly distrusted
certificates](https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-r2-and-2012/dn265983(v=ws.11)),
and macOS requires Certificate Transparency validation for some certificates
with complex rules for when it's required.

Option b) (using native library just to verify certs) is probably feasible, but
it would miss aspects of TLS policy other than trusted certs (like allowed
algorithms), and in any case it might well require writing more code, not less,
compared to using the native library for everything.

So I ended up at option c), using the native library for everything.

What I'd *really* prefer would be to use a third-party library that does option
c) for me.  Rust has a good library for this,
[native-tls](https://docs.rs/native-tls/latest/native_tls/).  I did search, but
I couldn't find a good option in the C or C++ ecosystem, at least not any that
wasn't part of some much larger framework.  I was surprised - isn't this a
pretty common use case?  Well, many applications only need TLS for HTTPS, and they can
use libcurl, which has a TLS abstraction layer internally but doesn't expose
it.  Other applications only support a single TLS library, or use one of the
aforementioned larger frameworks, or are platform-specific to begin with, or of
course are written in a non-C/C++ language, most of which have some canonical
choice for TLS.  But there are also many applications that have a set of TLS
backends just like this; it's just that nobody has gone ahead and abstracted
the pattern into a library, at least not a widespread one.

Amusingly, there is one TLS abstraction layer that Yuzu already bundles: the
one in ffmpeg.  But it is missing some features that would be needed to use it
here (like reusing an existing socket rather than managing the socket itself).
Though, that does mean that the wiki's build instructions for Linux (and macOS
for some reason?) already recommend installing OpenSSL, so no need to update
those.

 ## Other APIs implemented

- Sockets:
    - GetSockOpt(`SO_ERROR`)
    - SetSockOpt(`SO_NOSIGPIPE`) (stub, I have no idea what this does on Switch)
    - `DuplicateSocket` (because the SSL sysmodule calls it internally)
    - More `PollEvents` values

- NSD:
    - `Resolve` and `ResolveEx` (stub, good enough for Open Course World and
      probably most third-party servers, but not first-party)

- SFDNSRES:
    - `GetHostByNameRequest` and `GetHostByNameRequestWithOptions`
    - `ResolverSetOptionRequest` (stub)

 ## Fixes

- Parts of the socket code were previously allocating a `sockaddr` object on
  the stack when calling functions that take a `sockaddr*` (e.g. `accept`).
  This might seem like the right thing to do to avoid illegal aliasing, but in
  fact `sockaddr` is not guaranteed to be large enough to hold any particular
  type of address, only the header.  This worked in practice because in
  practice `sockaddr` is the same size as `sockaddr_in`, but it's not how the
  API is meant to be used.  I changed this to allocate an `sockaddr_in` on the
  stack and `reinterpret_cast` it.  I could try to do something cleverer with
  `aligned_storage`, but casting is the idiomatic way to use these particular
  APIs, so it's really the system's responsibility to avoid any aliasing
  issues.

- I rewrote most of the `GetAddrInfoRequest[WithOptions]` implementation.  The
  old implementation invoked the host's getaddrinfo directly from sfdnsres.cpp,
  and directly passed through the host's socket type, protocol, etc. values
  rather than looking up the corresponding constants on the Switch.  To be
  fair, these constants don't tend to actually vary across systems, but
  still... I added a wrapper for `getaddrinfo` in
  `internal_network/network.cpp` similar to the ones for other socket APIs, and
  changed the `GetAddrInfoRequest` implementation to use it.  While I was at
  it, I rewrote the serialization to use the same approach I used to implement
  `GetHostByNameRequest`, because it reduces the number of size calculations.
  While doing so I removed `AF_INET6` support because the Switch doesn't
  support IPv6; it might be nice to support IPv6 anyway, but that would have to
  apply to all of the socket APIs.

  I also corrected the IPC wrappers for `GetAddrInfoRequest` and
  `GetAddrInfoRequestWithOptions` based on reverse engineering and hardware
  testing.  Every call to `GetAddrInfoRequestWithOptions` returns *four*
  different error codes (IPC status, getaddrinfo error code, netdb error code,
  and errno), and `GetAddrInfoRequest` returns three of those but in a
  different order, and it doesn't really matter but the existing implementation
  was a bit off, as I discovered while testing `GetHostByNameRequest`.

  - The new serialization code is based on two simple helper functions:

    ```cpp
    template <typename T> static void Append(std::vector<u8>& vec, T t);
    void AppendNulTerminated(std::vector<u8>& vec, std::string_view str);
    ```

    I was thinking there must be existing functions somewhere that assist with
    serialization/deserialization of binary data, but all I could find was the
    helper methods in `IOFile` and `HLERequestContext`, not anything that could
    be used with a generic byte buffer.  If I'm not missing something, then
    maybe I should move the above functions to a new header in `common`...
    right now they're just sitting in `sfdnsres.cpp` where they're used.

- Not a fix, but `SocketBase::Recv`/`Send` is changed to use `std::span<u8>`
  rather than `std::vector<u8>&` to avoid needing to copy the data to/from a
  vector when those methods are called from the TLS implementation.
2023-06-25 12:53:31 -07:00
Kirill Ignatev ba51f27437 Hyphenate Joy-Con and clarify further 2023-06-25 12:51:16 -04:00
Kirill Ignatev d113954bec Clarify Ring-Con configuration message in UI
Not obvious how left controller should be set up
Mention that it should be left physical dual emulated
2023-06-25 11:52:15 -04:00
german77 9e204b0308 core: hid: Allow to read bin files while switch controller is available 2023-06-24 18:59:55 -06:00
german77 4c2f8ac0eb input_common: Dont try to read/write data from 3rd party controllers 2023-06-24 18:59:55 -06:00
german77 b16b2a486b input_common: Make use of new SDL features 2023-06-24 17:42:56 -06:00
zeltermann 377ffa277c Only use SDL wakelock on Linux
SDL has internally fixed shenanigans related to wakelocking through DBus
from inside sandboxes from around August 2022, so we can now remove the
workaround we used since 2021.
2023-06-24 14:51:41 +07:00
Abandoned Cart 51068a23af android: define [[maybe_unused]] (const) auto 2023-06-23 14:05:14 -04:00
Abandoned Cart f2aeaddf52 android: Parameter types from Android Studio
Android Studio marked these parameters as errors because it is an instance, not a class, that is being passed from Java.
2023-06-23 10:36:30 -04:00
liamwhite 188f3d786f Merge pull request #10811 from 8bitDream/pip_mute
android: Add a PiP interface to mute / unmute
2023-06-23 09:27:28 -04:00
liamwhite fa8419f54e Merge pull request #10859 from liamwhite/no-more-atomic-wait
general: remove atomic signal and wait
2023-06-23 09:27:14 -04:00
liamwhite 67778a69b0 Merge pull request #10842 from german77/native_mifare
input_common: Implement native mifare/skylander support for joycons/pro controller
2023-06-23 09:27:00 -04:00
Liam 217bb87494 vfs_real: lock concurrent accesses 2023-06-23 00:57:24 -04:00
bunnei 7a546be139 Merge pull request #10457 from Kelebek1/optimise
Remove memory allocations in some hot paths
2023-06-22 21:53:07 -07:00
bunnei 5b3787e8a3 Merge pull request #10806 from liamwhite/worst-fs-implementation-ever
vfs_real: misc optimizations
2023-06-22 21:46:50 -07:00
bunnei 889371ab35 Merge pull request #10794 from 8bitDream/multiples
android: Add support for multiple installs
2023-06-22 14:26:24 -07:00
Morph 0ad233da22 Merge pull request #10878 from GPUCode/log-droid
android: Log settings
2023-06-22 16:16:20 -04:00
bunnei 3963d06e86 Merge pull request #10869 from 8bitDream/memory
android: Add a notice when RAM inadequate
2023-06-22 10:26:32 -07:00
GPUCode 925a069402 android: Log settings 2023-06-22 20:17:52 +03:00
GPUCode c813876c5a vulkan_common: Remove required flags
* Allows VMA to fallback to system RAM instead of crashing
2023-06-22 20:03:12 +03:00
Liam db40a2f430 general: remove atomic signal and wait 2023-06-22 09:25:23 -04:00
Kelebek1 c7430e51e3 Remove memory allocations in some hot paths 2023-06-22 08:05:10 +01:00
bunnei 72a469b967 Merge pull request #10086 from Morph1984/coretiming-ng-1
core_timing: Use CNTPCT as the guest CPU tick
2023-06-21 21:12:46 -07:00
bunnei 5a5080ba4e Merge pull request #10777 from liamwhite/no-barrier
video_core: optionally skip barriers on feedback loops
2023-06-21 21:10:08 -07:00
bunnei feb4104440 Merge pull request #10841 from liamwhite/math-is-hard
vfs_concat: fix offset calculation when not aligned to file boundary
2023-06-21 21:07:08 -07:00
bunnei 1642b5217e Merge pull request #10863 from lat9nq/tz-end-of-string
time_zone_manager: Stop on comma
2023-06-21 21:05:03 -07:00
Narr the Reg b24451c571 input_common: Implement native mifare support 2023-06-21 17:54:58 -06:00
Abandoned Cart c955fc20b3 android: Generalize string message dialog 2023-06-21 18:25:15 -04:00
Abandoned Cart 42548ded9d android: Add support for concurrent installs 2023-06-21 18:25:15 -04:00
Abandoned Cart 25ad652787 android: Convert memory sizes to resource 2023-06-21 18:24:49 -04:00
Abandoned Cart 0891b3e775 android: Add a notice when RAM inadequate 2023-06-21 18:24:49 -04:00
Abandoned Cart f06174ed2b android: Refactor native and corresponding variables 2023-06-21 18:23:13 -04:00
Abandoned Cart 777567975e Fix JNI and expose mute settings to Android 2023-06-21 18:23:13 -04:00
Abandoned Cart 67ec04ddd5 android: Add a PiP interface to mute / unmute 2023-06-21 17:21:36 -04:00
Charles Lombardo 839e5f65e4 android: Don't show custom driver button on mali and x86 2023-06-20 20:06:36 -04:00
lat9nq 9357aaf637 time_zone_manager: Add null terminator
We aren't null-terminating this string after the copy, and we need to.
2023-06-20 15:54:28 -04:00
lat9nq aedaa1aa19 time_zone_manager: Stop on comma
This is a deviation from the reference time zone implementation. The
actual code will set a pointer to the time zone name here, but for us we
have a limited number of characters to work with, and the name of the
time zone here could be larger than 8 characters.

We can make the assumption that time zone names greater than five
characters in length include a comma that denotes more data. Nintendo
just truncates that data for the name, so we can do the same.

time_zone_manager: Check for length of array

Just to be double sure that we never break past the array length,
directly compare against it.
2023-06-20 15:54:05 -04:00
liamwhite 10f2beb17a Merge pull request #10818 from vonchenplus/render_target_samples
video_core: add samples check when find render target
2023-06-20 09:55:23 -04:00
liamwhite 5df094850f Merge pull request #10835 from lat9nq/intel-restrict-compute-disable
vulkan_device: Restrict compute disable only to affected Intel drivers
2023-06-20 09:55:14 -04:00
liamwhite 50fe67c0f1 Merge pull request #10840 from Kelebek1/unbug_blinks_brain
Use current GPU address when unmapping GPU pages, not the base
2023-06-20 09:55:01 -04:00
toast2903 f68b01a8cf vulkan_device: Remove brace initializer
Co-authored-by: Tobias <thm.frey@gmail.com>
2023-06-19 17:35:12 -04:00
lat9nq 1ad8df763f video_core: Check broken compute earlier
Checks it as the system is determining what settings to enable. Reduces
the need to check settings while the system is running.
2023-06-19 17:33:30 -04:00
Liam e1d8e0d842 vfs_concat: verify short read 2023-06-19 09:47:05 -04:00
Liam 0faeac4fcb vfs_concat: fix offset calculation when not aligned to file boundary 2023-06-18 22:21:29 -04:00
Kelebek1 6bd6e24d6e Use current GPU address when unmapping GPU pages, not the base 2023-06-19 00:19:50 +01:00
lat9nq eb2c848912 vk_device_info: Check only affected Intel drivers
Renames is_intel_proprietary to has_broken_compute for accuracy.

vk_device_info: Use vulkan::device to check compute
2023-06-18 16:15:51 -04:00
lat9nq a74f77bbbc video_core: Formalize HasBrokenCompute
Also limits it to only affected Intel proprietrary driver versions.

vulkan_device: Move broken compute determination

vk_device: Remove errant back quote
2023-06-18 16:15:47 -04:00
liamwhite 1ddf844419 Merge pull request #10829 from lat9nq/remove-external-mem
vulkan_device: Remove external memory extension
2023-06-18 09:43:03 -04:00
liamwhite 843f80ae60 Merge pull request #10486 from lat9nq/vk-device-find-once
yuzu-qt: Load Vulkan device info at startup
2023-06-18 09:42:55 -04:00
liamwhite 2f65ed20b7 Merge pull request #10798 from vonchenplus/draw_texture_scale
video_core: drawtexture support upscale
2023-06-18 09:42:41 -04:00
liamwhite e48b4b0b36 Merge pull request #10809 from Kelebek1/reduce_vertex_bindings
Synchronize vertex buffer even when it doesn't require binding
2023-06-18 09:42:32 -04:00
GPUCode 7b3718dc9c renderer_vulkan: Add missing initializers 2023-06-18 14:14:03 +03:00
GPUCode 66d3a1c5c7 renderer_vulkan: Use VMA for buffers 2023-06-18 12:45:18 +03:00
GPUCode d84d595dab renderer_vulkan: Use VMA for images 2023-06-18 12:45:18 +03:00
GPUCode fd9b920d2d memory_allocator: Remove OpenGL interop
* Appears to be unused atm
2023-06-18 12:45:18 +03:00
lat9nq 0a4650cd2b externals: Add vma and initialize it
video_core: Move vma implementation to library
2023-06-18 12:45:12 +03:00
bunnei 6d055a21e3 Merge pull request #10797 from lat9nq/tzdb-patch
time: Various time zone fixes
2023-06-17 23:47:16 -07:00
lat9nq 38fe34a43f vulkan_device: Remove external memory extension
Unused in yuzu. Enables yuzu to boot games in Wine using Vulkan.
2023-06-18 01:20:08 -04:00
Liam e62d452bd9 renderer_vulkan: add missing include 2023-06-17 23:57:47 -04:00
lat9nq e260539065 time_zone_service: Always write time zone rule data
Switch firmware will initialize this data even if the given parameters
are invalid. We should do the same.
2023-06-17 20:53:39 -04:00
Morph 5cf658d2e6 Merge pull request #10813 from lat9nq/no-atomic-bool
k_thread: Use a mutex and cond_var to sync bool
2023-06-17 20:29:57 -04:00
Fernando S 06f47d34c8 Merge pull request #10744 from Wollnashorn/af-for-all
video_core: Improved anisotropic filtering heuristics
2023-06-18 00:02:05 +02:00
Kelebek1 547e837f78 Synchronize vertex buffer even when it doesn't require binding 2023-06-17 17:47:00 -04:00
lat9nq 59236a458c k_thread: Use a mutex and cond_var to sync bool
std::atomic<bool> is broken on MinGW and causes deadlocks there.
Use a normal cond var in its stead.
2023-06-17 15:25:36 -04:00
FengChen 255ab12789 video_core: add samples check when find render target 2023-06-17 23:48:51 +08:00
Wollnashorn e10113e853 video_core: Only apply AF to 2D (array) image types 2023-06-17 14:20:44 +02:00
Wollnashorn 62b0b6bde0 video_core: Removed AF for all mip modes option as it's default now 2023-06-17 11:19:39 +02:00
bunnei 853249121d Merge pull request #10783 from liamwhite/memory
video_core: preallocate fewer IR blocks
2023-06-16 16:53:25 -07:00
bunnei e979299431 Merge pull request #10808 from t895/settings-stuffs
android: Expose settings
2023-06-16 16:52:54 -07:00
bunnei 2854efee65 Merge pull request #10807 from t895/ktlint-fixes
android: Ktlint fixes
2023-06-16 16:47:14 -07:00
liamwhite 4c7987cded Merge pull request #10731 from german77/misc_fixes
service: nfc: Accuracy fixes
2023-06-16 18:18:24 -04:00
Liam 3191a97b22 vfs_real: ensure size cache is reset on write 2023-06-16 16:43:14 -04:00
Charles Lombardo 8586ed3bfe android: Expose audio output engine setting 2023-06-16 16:42:56 -04:00
Charles Lombardo cb65166fac android: Bump ktlint version to 0.47.1 2023-06-16 16:32:08 -04:00
Charles Lombardo fa67cd8edf android: Disable import-ordering ktlint check 2023-06-16 16:31:49 -04:00
Liam b73cc6d51c patch_manager: remove unnecessary GetSize calls 2023-06-16 16:29:10 -04:00
Liam 0f7b1f067f vfs_real: misc optimizations 2023-06-16 16:29:06 -04:00
Charles Lombardo a88166f870 android: Expose CPU debugging option 2023-06-16 16:25:06 -04:00
Charles Lombardo 6c18ceff4d android: Expose fastmem option 2023-06-16 16:24:40 -04:00
Charles Lombardo c050dd3122 android: Support changing multiple settings at once 2023-06-16 15:49:49 -04:00
Abandoned Cart 465927f4c5 android: Fix aspect ratio when rotating screen 2023-06-16 10:11:18 -04:00
Feng Chen c362895572 video_core: drawtexture support upscale 2023-06-16 20:51:15 +08:00
Wollnashorn 815f54385a video_core: Use sampler IDs instead pointers in the pipeline config
The previous approach of storing pointers returned by `GetGraphicsSampler`/`GetComputeSampler` caused UB, as these functions can cause reallocation of the sampler slot vector and therefore invalidate the pointers
2023-06-16 13:45:14 +02:00
liamwhite c637971ae3 Merge pull request #10795 from german77/foomiibo
input_common: Add foomiibo support
2023-06-16 00:08:30 -04:00
lat9nq 5173821cfa time_zone_manager: Compare to the correct boolean
Reference implementation does not compare the booleans as we had them.
Use the correct ones as in the reference.

Also adds an assert. I have been made aware of a crash here and am
not able to reproduce currently.
2023-06-15 23:05:41 -04:00
lat9nq 2ed870c2a8 nx_tzdb: Correct Antarctica spelling 2023-06-15 23:03:54 -04:00
Charles Lombardo 37cbf16322 android: Apply ktlint codestyle 2023-06-15 22:36:54 -04:00
Charles Lombardo 98f711100e Android: Use ktlint for Kotlin code style 2023-06-15 22:22:49 -04:00
Charles Lombardo 1ad4a05d64 android: Enable android linting 2023-06-15 22:19:58 -04:00
bunnei 947e258ac2 Merge pull request #10796 from bunnei/fix-saf
android: fs: Fix Exists / IsFile for SAF.
2023-06-15 18:39:14 -07:00
bunnei 837d487905 Merge pull request #10790 from liamwhite/arm-driver-moment
vulkan_device: disable extended_dynamic_state2 on ARM drivers
2023-06-15 18:34:31 -07:00
bunnei 981332d727 Merge pull request #10775 from liamwhite/cb2
renderer_vulkan: propagate conditional barrier support
2023-06-15 17:37:03 -07:00
Narr the Reg 4a5f56645a input_common: Add amiibo with originality signature support 2023-06-15 18:22:13 -06:00
bunnei bc21da779e android: fs: Fix Exists / IsFile for SAF. 2023-06-15 17:20:56 -07:00
bunnei da26ff3e0f Merge pull request #10639 from 8bitDream/pictureinpicture
android: Support for Picture in Picture / Portrait
2023-06-15 16:40:13 -07:00
Wollnashorn eff77dae59 video_core: Fallback to default anisotropy instead to 1x anisotropy 2023-06-15 23:16:26 +02:00
Wollnashorn e405fb1c72 video_core: Disable AF for non-color image formats 2023-06-15 20:59:33 +02:00
Wollnashorn 1f7c69934d video_core: Fixed compilation errors because of name shadowing 2023-06-15 18:46:40 +02:00
Liam 0875e158fe vulkan_device: disable extended_dynamic_state2 on ARM drivers 2023-06-15 12:29:54 -04:00
Wollnashorn 1844cad9d4 video_core: Add per-image anisotropy heuristics (format & mip count) 2023-06-15 18:19:32 +02:00
Liam c913c891e0 video_core: preallocate fewer IR blocks 2023-06-14 21:37:57 -04:00
bunnei c307399340 Merge pull request #10729 from liamwhite/windows-is-a-meme
vfs_real: add file LRU cache for open file limits
2023-06-14 18:32:25 -07:00
Narr the Reg 6ae2249f88 service: nfc: Read tag protocol only for nfc backend 2023-06-14 18:16:23 -06:00
Narr the Reg 05fcd73843 service: nfc: Accuracy fixes 2023-06-14 18:08:35 -06:00
Morph 6a4ebf7dd6 Merge pull request #10749 from Morph1984/strong-typing
buffer_cache_base: Specify buffer type in HostBindings
2023-06-14 18:03:11 -04:00
Abandoned Cart dfa23c70c6 android: Move overlays to their own layout 2023-06-14 16:43:24 -04:00
Abandoned Cart 5d37de1e70 android: Initialize defaults for each orientations 2023-06-14 16:35:58 -04:00
Abandoned Cart e438f2e053 android: Display FPS with emulation on hinge 2023-06-14 16:35:57 -04:00
Abandoned Cart 468a6c5555 android: Remove PiP reliance on fragment 2023-06-14 16:35:56 -04:00
Abandoned Cart 5417700e64 android: Set layout by fragment, not view 2023-06-14 16:35:54 -04:00
Abandoned Cart be83a80f62 android: Add a separate foldable layout set 2023-06-14 16:34:23 -04:00
Abandoned Cart df42e34dfb android: Set portrait default control params 2023-06-14 16:34:22 -04:00
Abandoned Cart f24d322941 android: Actually implement portrait controls 2023-06-14 16:34:19 -04:00
Abandoned Cart 78826a0afd android: Enable automated portrait controls 2023-06-14 16:34:16 -04:00
Abandoned Cart 399fb74890 android: Add Picture in Picture / Orientation 2023-06-14 16:34:14 -04:00
Charles Lombardo 8e33b7993d android: Adapt EmulationActivity to navigation component 2023-06-14 14:55:25 -04:00
Liam d0837e10ae video_core: optionally skip barriers on feedback loops 2023-06-14 14:11:46 -04:00
Liam e77190ffab renderer_vulkan: propagate conditional barrier support 2023-06-14 10:49:40 -04:00
Wollnashorn 04782a922d video_core: Apply AF only to samplers with normal LOD range [0, 1+x] 2023-06-14 13:27:27 +02:00
Wollnashorn 9f46c7724b video_core: Fix default anisotropic heuristic 2023-06-14 11:21:22 +02:00
Wollnashorn 614f8a0429 video_core: Never apply AF to None mipmap mode
Should fix some artifacts with the "apply anisotropic filtering for all mipmap modes" option
2023-06-14 03:57:39 +02:00
Liam 863d5c23d0 vfs_real: require file existence on open 2023-06-13 17:22:47 -04:00
Liam 87087b768b vfs_real: add simplified open file cache 2023-06-13 17:16:14 -04:00
bunnei 4abd6e552c Merge pull request #10603 from lat9nq/tz-more-complete
core,common: Implement missing time zone data/computations
2023-06-13 13:28:45 -07:00
Charles Lombardo 8395dcea78 Merge pull request #10760 from FearlessTobi/translations
android: Declare languages in locales_config.xml
2023-06-13 15:48:45 -04:00
Wollnashorn ff4c4a45e6 video_core: Disable anisotropic filtering for samplers with depth compare 2023-06-13 21:32:32 +02:00
FearlessTobi f437542a7f android: Declare languages in locales_config.xml
This is required to make per-app language swithcing possible on Android 13.
2023-06-13 20:26:45 +02:00
Charles Lombardo 33812b0c24 Merge pull request #10751 from german77/touch
android: Fix touch input
2023-06-13 14:01:02 -04:00
bunnei 8f68196ecc Merge pull request #10747 from liamwhite/arm-interface-decouple
core: decouple ARM interface from Dynarmic
2023-06-13 09:45:09 -07:00
Liam 729216e5d8 vfs_real: lazily open files 2023-06-13 10:37:34 -04:00
Liam efaaa6e0bf vfs_real: add file LRU cache for open file limits 2023-06-13 10:37:34 -04:00
german77 110f8ea167 android: Fix touch input 2023-06-13 00:17:10 -06:00
Morph 9da90de908 buffer_cache_base: Specify buffer type in HostBindings
Avoid reinterpret-casting from void pointer since the type is already known at compile time.
2023-06-13 00:59:42 -04:00
bunnei 0c919d1704 Merge pull request #10746 from bunnei/update-android-settings
android: Update settings, remove unused translations
2023-06-12 21:15:26 -07:00
Liam 5b858c8306 core: decouple ARM interface from Dynarmic 2023-06-12 22:11:51 -04:00
Wollnashorn 6f1fb4c28a video_core: Option to apply anisotropic filtering for all mipmap modes 2023-06-13 03:21:01 +02:00
liamwhite aab6e3098d Merge pull request #10675 from liamwhite/scaler
image_info: adjust rescale thresholds and refactor constant use
2023-06-12 21:16:36 -04:00
bunnei 5f6c1b5243 android: settings: Disable force_max_clock by default. 2023-06-12 17:57:48 -07:00
bunnei 501e43a053 android: settings: Add reactive flushing as a default-disabled setting. 2023-06-12 17:56:44 -07:00
bunnei 5c6c48fe24 android: res: Remove translated strings that no longer exist. 2023-06-12 17:45:02 -07:00
bunnei f631b3a39a Merge pull request #10743 from FearlessTobi/translations
android: Add translation files manually
2023-06-12 17:20:27 -07:00
bunnei 72db3f10d0 Merge pull request #10705 from german77/updates
android: Add update and DLC support
2023-06-12 17:03:44 -07:00
FearlessTobi cf118cecd0 android: Add translation files manually 2023-06-13 01:00:23 +02:00
bunnei 5f6814da47 Merge pull request #10728 from t895/game-hash
android: Use autogenerated hash code function for Game class
2023-06-12 14:45:18 -07:00
bunnei a7d42ec05b Merge pull request #10724 from t895/auto-version-property
android: Use autoVersion when gradle property is set
2023-06-12 13:12:32 -07:00
Matías Locatti 28e1429daf Merge pull request #10699 from liamwhite/conditional-barrier
shader_recompiler: remove barriers in conditional control flow when device lacks support
2023-06-12 16:50:59 -03:00
bunnei d40c8428a0 Merge pull request #10693 from liamwhite/f64-to-f32
shader_recompiler: translate f64 to f32 when unsupported on host
2023-06-12 12:46:54 -07:00
Narr the Reg 707999d4c0 android: Add update support 2023-06-11 23:33:50 -06:00
Morph 492a4c705a Merge pull request #10718 from liamwhite/buffered-io
qt: use larger buffer for update install
2023-06-12 00:58:34 -04:00
Charles Lombardo c62bbe270a android: Use autogenerated hash code function for Game class 2023-06-11 21:15:13 -04:00
Charles Lombardo 8180d213d7 android: Use autoVersion when gradle property is set 2023-06-11 20:04:08 -04:00
Baptiste Marie 83f4158d6c input_common: Redesign mouse panning 2023-06-12 00:47:52 +02:00
bunnei 866b7c0632 Merge pull request #10668 from Kelebek1/reduce_vertex_bindings
Combine vertex/transform feedback buffer binding into a single call
2023-06-11 11:33:48 -07:00
bunnei e35f1fc123 Merge pull request #10713 from t895/gradle-updates
android: Gradle updates
2023-06-11 11:31:03 -07:00
Liam 26a9ebf326 qt: use larger buffer for update install 2023-06-11 11:43:04 -04:00
Charles Lombardo 81d4145aca android: Update dependencies 2023-06-11 02:17:29 -04:00
Charles Lombardo 6d1b8d6ca4 android: Differentiate build types with new names
Change the applicationIdSuffix and app launcher title based on build type
2023-06-11 02:16:45 -04:00
Charles Lombardo 4ad4f6cf26 Android: Remove unused relWithVersionCode build type 2023-06-11 02:15:28 -04:00
Charles Lombardo 62a8bb65be android: Use ContentResolver to get file extension
Fixes an issue where we try to resolve file extension from URIs. Sometimes the URI will not contain the file name at all and instead a string of numbers. Here we query the content resolver and guarantee that we get a file name every time.
2023-06-11 01:41:58 -04:00
bunnei e1402935d9 android: Fix screen orientation & blurriness. 2023-06-10 15:13:06 -07:00
bunnei 2259f8a788 Merge pull request #10670 from liamwhite/fxaa2
vk_blit_screen: use higher bit depth for fxaa
2023-06-10 14:35:23 -07:00
Liam 947a4f6141 shader_recompiler: translate f64 to f32 when unsupported on host 2023-06-10 12:38:49 -04:00
Liam b646ac2908 shader_recompiler: remove barriers in conditional control flow when device lacks support 2023-06-10 12:30:39 -04:00
Morph 2affb40418 Merge pull request #10685 from liamwhite/serialization-is-hard
qt: persist framerate sync option
2023-06-10 12:28:00 -04:00
bunnei 33fe748bd3 Merge pull request #10691 from t895/nro-check
android: Add proper homebrew check
2023-06-09 23:59:51 -07:00
Charles Lombardo b1b9075f2d android: Add proper homebrew check 2023-06-09 20:17:51 -04:00
Charles Lombardo 1595600bf2 android: Fix input overlay version check 2023-06-09 15:15:57 -04:00
liamwhite dbe291a1b2 Merge pull request #10614 from xcfrg/shader-backend-status-bar
yuzu: add opengl shader backend info in status bar
2023-06-09 09:46:11 -04:00
Liam 99580c36b0 qt: persist framerate sync option 2023-06-09 09:40:34 -04:00
liamwhite 82dace133c Merge pull request #10623 from german77/backup
service: nfc: Add backup support
2023-06-08 21:54:12 -04:00
liamwhite b1fb8817dc Merge pull request #10666 from liamwhite/my-framerate-is-fine
nvnflinger: allow locking framerate during video playback
2023-06-08 21:53:57 -04:00
liamwhite 4db4eeb321 Merge pull request #10676 from bunnei/fix-mi-5-android
android: EmulationActivity: Fix orientation on Mi Pad 5.
2023-06-08 21:53:51 -04:00
bunnei 571c5c728e android: EmulationActivity: Fix orientation on Mi Pad 5. 2023-06-08 17:20:13 -07:00
Tokarev Artem 07000c5c4c Fix potentially uninitialized local variable warning 2023-06-09 05:12:22 +05:00
Liam 2046bead0e image_info: adjust rescale thresholds and refactor constant use 2023-06-08 17:46:40 -04:00
Liam 7e5be01a48 vk_blit_screen: use higher bit depth for fxaa 2023-06-08 11:27:57 -04:00
Kelebek1 ac23abacac Combine vertex/transform feedback buffer binding into a single call 2023-06-08 12:13:27 +01:00
Liam 1b33ebdde2 nvnflinger: allow locking framerate during video playback 2023-06-08 01:15:51 -04:00
Morph 6b460f860e nvdisp: Fix SingleCore frametime reporting 2023-06-07 22:04:02 -04:00
Morph 52a219cfe9 core_timing: Fix SingleCore cycle timer 2023-06-07 21:44:42 -04:00
Morph 1b83c7eab4 (wall, native)_clock: Add GetGPUTick
Allows us to directly calculate the GPU tick without double conversion to and from the host clock tick.
2023-06-07 21:44:42 -04:00
Morph e25d41580b time: Use compile time division for TimeSpanType conversion 2023-06-07 21:44:42 -04:00
Morph 2856fadaa0 core_timing: Use CNTPCT as the guest CPU tick
Previously, we were mixing the raw CPU frequency and CNTFRQ.
The raw CPU frequency (1020 MHz) should've never been used as CNTPCT (whose frequency is CNTFRQ) is the only counter available.
2023-06-07 21:44:42 -04:00
Morph fb3bb63880 nvnflinger: Acquire lock prior to signaling the vsync variable 2023-06-07 21:44:42 -04:00
Morph c264630ba4 (wall, native)_clock: Rework NativeClock 2023-06-07 21:44:42 -04:00
Morph 728048edfe x64: Deduplicate RDTSC usage 2023-06-07 21:44:42 -04:00
bunnei 400286b7a0 Merge pull request #10650 from qurious-pixel/android_tv
Android TV banner
2023-06-07 16:32:25 -07:00
qurious-pixel 2984cc4b30 remove version code declaration 2023-06-07 13:27:51 -07:00
liamwhite c537713dc2 Merge pull request #10655 from Morph1984/msvc-cxx20
CMakeLists: Force C++20 on MSVC due to conflicts with C++23 modules
2023-06-07 14:04:25 -04:00
liamwhite 06a6786a42 Merge pull request #10635 from mrcmunir/l4t-tx1-nvidia
Make VK_EXT_robustness2 optional
2023-06-07 14:04:14 -04:00
liamwhite 93372f503a Merge pull request #10476 from ameerj/gl-memory-maps
OpenGL: Make use of persistent buffer maps in buffer cache
2023-06-07 14:03:57 -04:00
liamwhite c2958ae5b6 Merge pull request #10583 from ameerj/ill-logic
AccelerateDMA: Fix incorrect check in Buffer<->Texture copies
2023-06-07 14:03:40 -04:00
liamwhite c99586dc47 Merge pull request #10591 from keve1227/localized-game-icons
Localize game icons
2023-06-07 14:03:28 -04:00
Morph 4d37337551 CMakeLists: Force C++20 on MSVC due to conflicts with C++23 modules
The latest version of MSVC STL brings C++23 standard library modules, which conflict with precompiled headers.
Disabling with /experimental:module- has no effect, so force C++20 in the meantime while we wait for module support in other compilers.
2023-06-06 20:20:09 -04:00
german77 4255ac45d1 service: nfc: Add backup support 2023-06-06 17:06:21 -06:00
Live session user 9cf85cb9e3 Android TV banner 2023-06-06 11:32:25 -07:00
Narr the Reg fa13ede502 android: Set version code 2023-06-06 12:14:38 -06:00
Carlos Estrague / Mrc_munir 1de6e7a3e5 Updated to lexicographical order suggestions 2023-06-06 19:33:52 +02:00
Abandoned Cart 5e1a62e7af android: Improve Gradle build configuration 2023-06-06 12:46:21 -04:00
lat9nq 7856e40be5 vk_device_info: Clean up includes [IWYU] 2023-06-06 01:54:44 -04:00
lat9nq b381d140f9 vk_device_info: Add SPDX data 2023-06-06 01:54:44 -04:00
lat9nq 3263f49390 yuzu-qt: Load Vulkan device info at startup
Loading it when the configuration opens now incurs a noticeable delay.
We also don't need to rediscover the same data repeatedly each time the
configuration opens.

Moves vulkan device info discovery to yuzu's startup as opposed to the
configure_graphics constructor.
2023-06-06 01:54:44 -04:00
bunnei 5b8f185151 android: audio_core: sink_stream: Remove unnecessary check. 2023-06-05 21:47:36 -07:00
bunnei 31ad92b287 Merge pull request #10508 from yuzu-emu/lime
Project Lime - yuzu Android Port
2023-06-05 21:43:43 -07:00
Carlos Estrague / Mrc_munir e450a7d28c Make VK_EXT_robustness2 optional
For some reason nvidia implemented Vulkan 1.2 supported without support for VK_EXT_robustness2 in tegra X1/X2 .

Fix vulkan work in TX1/TX2  L4T drivers .
2023-06-06 06:32:47 +02:00
bunnei f9db8b7c70 Merge pull request #10633 from t895/variable-surface-ratio
android: Use a custom view for changing emulation aspect ratio
2023-06-05 20:27:58 -07:00
bunnei 09ee7b07a0 Merge pull request #10578 from PabloG02/lime-firmware&logs
Add UI to import firmware and share logs
2023-06-05 17:41:19 -07:00
bunnei c09c2c9292 android: HomeSettingsFragment: Use string resource for "Share log". 2023-06-05 17:40:43 -07:00
Charles Lombardo f83acbd1ae android: Use a custom view for changing emulation aspect ratio
Credit to the Skyline team for the FixedRatioSurfaceView.
2023-06-05 20:24:36 -04:00
bunnei 12f79c6844 Merge pull request #10611 from liamwhite/audio-deadlock
audio_renderer: resolve adsp thread deadlock shutdown
2023-06-05 17:15:19 -07:00
bunnei eb0ebf2282 Merge pull request #10618 from t895/licenses
android: Add licenses page
2023-06-05 17:14:15 -07:00
PabloG02 582f6df48c Address feedback 2023-06-06 00:07:54 +02:00
lat9nq 2556a6c78c tz_manager: Fix comparison to wrong integer 2023-06-05 15:15:23 -04:00
lat9nq c95977a29f tz_manager: Implement missing transition times
time_zone_manager: Use s64 storage
2023-06-05 15:15:23 -04:00
lat9nq 021df7a2e1 tz_manager: Warn on unimplemented code 2023-06-05 15:15:23 -04:00
lat9nq c82d11ff73 tz_manager: Fix character offset not advancing 2023-06-05 15:15:23 -04:00
lat9nq 95faad1413 tz_manager: Fix off-by-one error 2023-06-05 15:15:23 -04:00
lat9nq 5ab84435dc time_zone: Handle offset time zones
time_zone: Remove maybe_unused

time_zone: Use s64 storages

time_zone: Catch by reference
2023-06-05 15:15:23 -04:00
lat9nq 60e705fd6d time_zone_binary: Add zoneinfo data
Adds the basic time zone data for the system archive.

time_zone_binary: Implement full system archive

time_zone_binary: Remove unneeded template

tz_binary: Make GenerateFiles static
2023-06-05 15:15:23 -04:00
Narr the Reg c934089969 time: Implement missing services
Implements GetTotalLocationNameCount LoadLocationNameList and
GetTimeZoneRuleVersion.

tz-manager: Fix sign issue
2023-06-05 15:15:11 -04:00
lat9nq 99d8774310 time_zone_manager: Implement go_ahead/go_back 2023-06-05 15:15:11 -04:00
lat9nq bd9ab73ba8 tz_content_manager: Try the system time zone first
If we can't find the normal time zone string, try searching for the
closest one.
2023-06-05 15:15:11 -04:00
lat9nq 2c92d48491 common: Move system time zone string detection
Moves it from Settings to Common::TimeZone, since this algorithm doesn't
depend on the setting. It also lets us use it in other libraries.

common: Various fixes

time_zone: Don't double up the std::abs

Too many absolute values were causing mirrored time zones to resolve
as the same.
2023-06-05 15:15:11 -04:00
lat9nq 29c66764bb configure_system: Remove external offset on custom rtc 2023-06-05 15:15:11 -04:00
lat9nq a379c50acc time: Remove auto timezone consideration
GetTimeZoneString no longer reports a setting unique to yuzu, so we
can assume a valid timezone string in core.
2023-06-05 15:15:11 -04:00
lat9nq e2bb24f012 settings: Always report a valid time zone
Prevents needing to deduce the non-Switch setting in core. Instead, we
deduce the meaning of this setting where the heresy is committed, in
common.

settings: Remove strftime usage

GetTimeZoneString: Use standard features

Also forces GMT on MinGW due to broken strftime.
2023-06-05 15:15:11 -04:00
lat9nq 5ecd76f619 time_manager: Don't offset RTC by system time zone
This causes the emulated system's universal time to be on the user's clock, and the user time to
be off if they set a time zone.

time_manager: Remove GetExternalRtcTime
2023-06-05 15:15:11 -04:00
lat9nq 6457b99586 tz_content_manager: Detect system time zone
Uses C++20 tzdb to determine the system timezone. The switch uses the
597 posix time zones, so this needs tests if the system time zone isn't
posix-compliant.
2023-06-05 15:15:11 -04:00
Charles Lombardo f51882a9ae android: Create licenses page 2023-06-05 14:34:23 -04:00
bunnei 29d01cd2a7 Merge pull request #10613 from t895/settings-changes
android: String and settings organization changes
2023-06-04 19:17:42 -07:00
Charles Lombardo 079a3deced android: Move settings to debug submenu 2023-06-04 19:53:27 -04:00
Charles Lombardo 73440cbb01 android: Load settings at the start of each activity 2023-06-04 19:37:10 -04:00
xcfrg 178b2a0b69 yuzu: add opengl shader backend info in status bar 2023-06-04 17:24:30 -04:00
bunnei 1c624b1b29 Merge pull request #10594 from liamwhite/double-patch
fsp-srv: avoid patching romfs multiple times
2023-06-04 13:24:47 -07:00
PabloG02 14665c97f2 Attempt to move the unzip coroutine to a ViewModel 2023-06-04 20:52:12 +02:00
PabloG02 25be1f62cd android: update strings 2023-06-04 20:52:12 +02:00
PabloG02 1b3b1592ea android: add option to share log 2023-06-04 20:52:12 +02:00
PabloG02 b63d3b7fce android: add option to install firmware 2023-06-04 20:52:12 +02:00
PabloG02 3c15b89b78 android: move unzip function to FileUtil and use SecurityException 2023-06-04 20:50:00 +02:00
Charles Lombardo 546a2653b9 android: Several string changes 2023-06-04 13:30:56 -04:00
Liam 16bd50f9b4 audio_renderer: resolve adsp thread deadlock shutdown 2023-06-04 13:00:10 -04:00
bunnei eb15ff27dd Merge pull request #10588 from liamwhite/vfs-cached
vfs: add vfs_cached for romfs build
2023-06-03 23:23:45 -07:00
Abandoned Cart d3b46a88af android: Resolve a couple Gradle warnings 2023-06-04 02:06:38 -04:00
Abandoned Cart fa02375617 android: Add support for split foldable view 2023-06-03 22:57:28 -04:00
Kevin Sundqvist Norlén 596dc7ebb7 Fix typo
Co-authored-by: liamwhite <liamwhite@users.noreply.github.com>
2023-06-03 21:31:44 +02:00
Abandoned Cart b360aa794e android: Replace deprecated and Java code 2023-06-03 15:16:25 -04:00
Liam 22d0bf11f1 fsp-srv: avoid patching romfs multiple times 2023-06-03 14:27:08 -04:00
Keve1227 0cadb7a705 Update Chinese NX language names
... as per the TLoZ: TotK icon files. Would this conflict with older games?
2023-06-03 17:23:14 +02:00
Keve1227 69daffcc2f Issue a reload if the system language changed 2023-06-03 17:17:03 +02:00
Keve1227 7f4c596af2 Pick game icon based on the configured system language 2023-06-03 17:13:24 +02:00
Liam 445948d297 romfs: use vfs_cached for romfs output 2023-06-03 08:56:59 -04:00
Liam 3fd364d3bb vfs: add vfs_cached for romfs build 2023-06-03 08:50:54 -04:00
Charles Lombardo 80069f2bc4 android: Fix crash on importing invalid save 2023-06-03 00:06:08 -07:00
bunnei f4dd94ab58 android: vk_presentation_manager: Fix unusued needs_recreation. 2023-06-03 00:06:08 -07:00
Charles Lombardo 82cf343786 android: Rename "Input Overlay" to "Overlay Options" 2023-06-03 00:06:08 -07:00
Charles Lombardo 53547f7f37 android: Adjust import/export saves dialog 2023-06-03 00:06:08 -07:00
Charles Lombardo 30c65465d8 android: Warning dialogs for key errors 2023-06-03 00:06:08 -07:00
bunnei 8e9813a618 android: vk_turbo_mode: Remove unnecessary device recreation.
- Fixes a rare crash.
2023-06-03 00:06:08 -07:00
bunnei cb077cc1b0 android: EmulationFragment: Remove unnecessary surface destroy on pause. 2023-06-03 00:06:08 -07:00
bunnei fb362f0b6e android: renderer_vulkan: Fix crash with surface recreation. 2023-06-03 00:06:07 -07:00
bunnei d57495d3c0 android: Fix presentation layout on foldable and tablet devices. 2023-06-03 00:06:07 -07:00
Charles Lombardo cbfc1d7809 android: Enable overlay scale/opacity dialog 2023-06-03 00:06:07 -07:00
PabloG02 09bbcceec6 Add image to card_game.xml to preview in the Layout Editor 2023-06-03 00:06:07 -07:00
PabloG02 aa5437bc16 Save the position of buttons as a percentage 2023-06-03 00:06:07 -07:00
Charles Lombardo 0153f39bc1 android: Don't crash the app when selecting a zip that causes a SecurityException 2023-06-03 00:06:07 -07:00
bunnei 122ff50c1a input_common: Fix virtual amiibos 2023-06-03 00:06:06 -07:00
bunnei bbd4f9c722 android: audio_core: Avoid shutdown hang. 2023-06-03 00:06:06 -07:00
bunnei a7696575f1 android: ForegroundService: Handle null intent. 2023-06-03 00:06:06 -07:00
bunnei a01f8ae529 android: ImportExportSavesFragment: Cleanup strings. 2023-06-03 00:06:06 -07:00
bunnei 29f677f10d Update src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/ImportExportSavesFragment.kt 2023-06-03 00:06:06 -07:00
PabloG02 5091df34bf Remove `?.` 2023-06-03 00:06:06 -07:00
PabloG02 b96e520f89 Check if folder exists before letting the user import/export saves 2023-06-03 00:06:06 -07:00
PabloG02 fdfea60242 Add save import/export in UI 2023-06-03 00:06:06 -07:00
Charles Lombardo 57afc35f1a android: Fix FPS text getting cut off by rounded display corners 2023-06-03 00:06:05 -07:00
Charles Lombardo 074fc0bc13 android: Prevent deleting the settings file while a game is running 2023-06-03 00:06:05 -07:00
Charles Lombardo 64110e582c android: Fix link text color for base theme dialog 2023-06-03 00:06:05 -07:00
bunnei 04eabc45e5 android: Various fixes for CI. 2023-06-03 00:06:05 -07:00
bunnei cb9ba1b004 android: externals: Update libadrenotools, use useLegacyPackaging. 2023-06-03 00:06:05 -07:00
Charles Lombardo 70b013ab2f android: Re-enable service notification 2023-06-03 00:06:05 -07:00
Charles Lombardo ecdbaecea2 android: Ensure keys are loaded before populating games list 2023-06-03 00:06:05 -07:00
Charles Lombardo aadc63e1b5 android: Use dialog fragment for the reset settings dialog 2023-06-03 00:06:05 -07:00
Charles Lombardo 1ca8ba6864 android: Upgrade AGP to 8.0.2 2023-06-03 00:06:04 -07:00
Charles Lombardo f4077c398b android: Show notification permission page during setup 2023-06-03 00:06:04 -07:00
Charles Lombardo aa9911ade5 android: DIsable FPS counter by default 2023-06-03 00:06:04 -07:00
Charles Lombardo dbe7cc58e3 android: Improve searches with one character
The Jaccard algorithm is great for searches with 2 or more characters but nothing is returned for searches with one character. To get around this, just search with JaroWinkler for single character searches.
2023-06-03 00:06:04 -07:00
Charles Lombardo 15e3bb4cfb android: Stop building x86 packages in APKs
This was really only meant for building the app to run in an emulator. If this is necessary, just add manually.
2023-06-03 00:06:04 -07:00
Charles Lombardo f2e0a38157 android: Add FPS toggle 2023-06-03 00:06:04 -07:00
Charles Lombardo 75ae2c948e android: Clean up app build.gradle
Removes the conflicting declaration of "version" and changes to versionCode that did nothing.
2023-06-03 00:06:04 -07:00
bunnei 445a1f1b18 video_core: vk_rasterizer: Decrease draw dispatch count for Android. 2023-06-03 00:06:04 -07:00
bunnei 803c50a861 android: config: Expose VSync as a configurable setting. 2023-06-03 00:06:04 -07:00
bunnei 230dd8192d android: GPU: Enable async presentation, increase frames in flight. 2023-06-03 00:06:03 -07:00
Charles Lombardo bb48ac9fe3 android: Enable onBackInvokedCallback
For now this enables the ability to see the new Android 13 back gesture animations but later we can create custom animations that follow the back gesture.
2023-06-03 00:06:03 -07:00
Charles Lombardo a7fa14edd3 android: Remove deprecated use of onBackPressed() 2023-06-03 00:06:03 -07:00
Charles Lombardo 83bd1cf20c android: Add option for touch overlay haptics
Disabled by default
2023-06-03 00:06:03 -07:00
Charles Lombardo 5341f58f2f android: Improve missing game handling
Previously the app would crash if you selected a game that no longer existed. Now we show an error message and reload the games list to remove any invalid games from the list.
2023-06-03 00:06:03 -07:00
Charles Lombardo f0beadece2 android: Clean up dependencies
Additionally updates material and androidx core libraries
2023-06-03 00:06:03 -07:00
Charles Lombardo e470a37e61 android: Delete java code style file 2023-06-03 00:06:03 -07:00
Charles Lombardo 04afc03500 android: Settings UI tweaks
New spacing and fonts for list items
2023-06-03 00:06:03 -07:00
Charles Lombardo 3dbe044910 android: Simplify setup in search and games fragments 2023-06-03 00:06:03 -07:00
Charles Lombardo cb564b067b android: Use collapsing toolbar layout in settings 2023-06-03 00:06:03 -07:00
Charles Lombardo d0d7e555aa android: Remove unnecessary JvmStatic/JvmField annotations 2023-06-03 00:06:02 -07:00
Charles Lombardo 00d0a93e65 android: Fix navigation rail animation in rtl layout 2023-06-03 00:06:02 -07:00
Charles Lombardo 39de6c6e54 android: Use cutout insets on setup fragment 2023-06-03 00:06:02 -07:00
Charles Lombardo 54bf98ef0b android: Button to reset all settings 2023-06-03 00:06:02 -07:00
Charles Lombardo 3c6b472134 android: Use proguard file in relWithDebInfo 2023-06-03 00:06:02 -07:00
Charles Lombardo 537fcc8339 android: Fix background color within inset areas 2023-06-03 00:06:02 -07:00
Charles Lombardo 715f83a060 android: Shortcut to settings activity on reselection 2023-06-03 00:06:01 -07:00
Charles Lombardo 6be54d1aa8 android: Expose custom RTC setting 2023-06-03 00:06:01 -07:00
Charles Lombardo 6b1767ac32 android: Reset setting on long press 2023-06-03 00:06:01 -07:00
Charles Lombardo 5fd13f02fd android: Fix issues with ea/main icons and version codes
Now all yuzu icon variants are taken care of and now we have a build variant that uses the versioning we need for the play store.
2023-06-03 00:06:01 -07:00
Charles Lombardo 5fa9b35e3f android: Move theme options out of advanced settings 2023-06-03 00:06:01 -07:00
Charles Lombardo a3844cc597 android: Check if cached games are valid
Fixes bug when you close yuzu, delete games, and reopen to an instant crash.
2023-06-03 00:06:01 -07:00
german77 3e1613dc20 android: Invert rotation to match phone orientation 2023-06-03 00:06:01 -07:00
bunnei c55db7e03d android: vulkan_device: Skip BGR565 emulation on S8gen2. 2023-06-03 00:06:01 -07:00
bunnei 576cfa137b android: config: Use default anisotropic filtering. 2023-06-03 00:06:01 -07:00
Charles Lombardo 7c5e6bc895 android: Remove top padding from in game menu items 2023-06-03 00:06:00 -07:00
Charles Lombardo c478f51b46 android: Use different icons for mainline/ea 2023-06-03 00:06:00 -07:00
Charles Lombardo 7072a9b19c android: Add early access upgrade fragment
We now have a second build flavor that will determine whether the "Get Early Access" button appears.
2023-06-03 00:06:00 -07:00
bunnei 4e2cdf74a3 android: vulkan_device: Only compile OverrideBcnFormats when used. 2023-06-03 00:06:00 -07:00
Liam 5d9250daf4 android: remove spurious warnings about BCn formats when patched with adrenotools 2023-06-03 00:06:00 -07:00
bunnei ac32fd08e9 android: video_core: Disable some problematic things on GPU Normal. 2023-06-03 00:06:00 -07:00
bunnei 0f676451b3 android: settings: Use mailbox vsync by default. 2023-06-03 00:06:00 -07:00
bunnei baa09b9cef android: video_core: Disable problematic compute shaders.
- Fixes #104.
2023-06-03 00:06:00 -07:00
Charles Lombardo 053f0fb1fe android: Update progard to fix settings crash
R8 full mode was removing important classes from Wini that would cause a crash on saving settings. This keeps the relevant classes and suppresses warnings about irrelevant ones.
2023-06-03 00:05:59 -07:00
bunnei 2650faea9d android: vulkan: Recreate surface after suspension & adapt to async. presentation. 2023-06-03 00:05:59 -07:00
Charles Lombardo 710e19a4bb android: Game data cache 2023-06-03 00:05:59 -07:00
Charles Lombardo 50187bc017 android: Update to Kotlin 1.8.21 2023-06-03 00:05:59 -07:00
Charles Lombardo 1601f9e435 android: Disable jetifier
We no longer depend on any legacy libraries that required this flag
2023-06-03 00:05:59 -07:00
Charles Lombardo 76108cee0a android: Update dependencies 2023-06-03 00:05:59 -07:00
Charles Lombardo 1367956b05 android: Migrate to AGP 8.0.1 2023-06-03 00:05:59 -07:00
Charles Lombardo 3c3f7dcf2e android: Enable non-transitive R classes
New default going forward for new android projects. Best to follow the new standard.
2023-06-03 00:05:59 -07:00
bunnei 4059d2f11d android: config: Enable asynchronous presentation by default on Android. 2023-06-03 00:05:59 -07:00
bunnei 3571f28cde video_core: Enable support_descriptor_aliasing on Turnip, disable storage atomic otherwise. 2023-06-03 00:05:58 -07:00
german77 91596d5fd5 android: fix deadzone calculation 2023-06-03 00:05:58 -07:00
Charles Lombardo da26114d3f android: Fix background color when starting emulation 2023-06-03 00:05:58 -07:00
Charles Lombardo 2071d4fdc1 android: Persistent scrollbars on home settings fragment 2023-06-03 00:05:58 -07:00
Charles Lombardo 7930f6ea5d android: Use short build hash 2023-06-03 00:05:58 -07:00
Charles Lombardo fcebfe8943 android: Use navigation bar shade view 2023-06-03 00:05:58 -07:00
Charles Lombardo c1a972d2a7 android: About fragment 2023-06-03 00:05:58 -07:00
Charles Lombardo 6a38aa2a7d android: Use x-axis animation for navigation rail 2023-06-03 00:05:58 -07:00
Charles Lombardo dfd0055339 android: Sort games alphabetically by default 2023-06-03 00:05:58 -07:00
Charles Lombardo 3287ba7d91 android: New icons for navigation bar 2023-06-03 00:05:57 -07:00
Charles Lombardo 790445276e android: New icons for home settings fragment 2023-06-03 00:05:57 -07:00
Charles Lombardo 0928955a44 android: Add navigation rail 2023-06-03 00:05:57 -07:00
Charles Lombardo 0c04d1be50 android: Search Fragment 2023-06-03 00:05:57 -07:00
Charles Lombardo 932a6f42a2 android: Fix potential zip traversal exploit 2023-06-03 00:05:57 -07:00
german77 c7f27b72be android: Add dedicated show overlay checkbox 2023-06-03 00:05:57 -07:00
Charles Lombardo e53f927cb6 android: Add user directory shortcut 2023-06-03 00:05:57 -07:00
german77 87eacd09a0 android: Fix inline keyboard input 2023-06-03 00:05:57 -07:00
Charles Lombardo 766347e44d android: Fix grammatical mistake in video core error message 2023-06-03 00:05:56 -07:00
Charles Lombardo 4010d5e9a3 android: Adjust wording on GPU driver install button 2023-06-03 00:05:56 -07:00
Narr the Reg 9d1c4a25a0 android: Add deadzone to stick input 2023-06-03 00:05:56 -07:00
german77 de7428c61e android: Move motion listener to emulation activity 2023-06-03 00:05:56 -07:00
Narr the Reg c4925fc96a core: hid: Finish linking motion from virtual controllers 2023-06-03 00:05:56 -07:00
Charles Lombardo 06104b04b6 android: Change wording for "Add Games" button (#100)
Co-authored-by: bunnei <bunneidev@gmail.com>
2023-06-03 00:05:56 -07:00
Charles Lombardo 2e39fbd326 android: Scroll shortcut for games list
If you reselect the "Games" menu item in the bottom navigation menu, the list smoothly scrolls to the top.
2023-06-03 00:05:56 -07:00
Charles Lombardo 1113a08228 android: Setup screen hotfix
Added help button link for add games warning and a check for whether a task was completed on a given screen.
2023-06-03 00:05:56 -07:00
Charles Lombardo 92ce6a09cc android: Swap Default and Install buttons for GPU driver installation dialog 2023-06-03 00:05:56 -07:00
Charles Lombardo 84be5142e1 android: Add warnings to setup screens 2023-06-03 00:05:56 -07:00
Charles Lombardo 1684d4905f android: Allow search bar to scroll offscreen 2023-06-03 00:05:55 -07:00
Charles Lombardo c191c5e33b android: Update app icon
Small icon updates from Flam
2023-06-03 00:05:55 -07:00
Charles Lombardo 86c037531e android: Change organization of the settings tab in the home screen 2023-06-03 00:05:55 -07:00
Charles Lombardo e749fa534c android: Properly pop setup fragment from the back stack 2023-06-03 00:05:55 -07:00
Charles Lombardo fa3dbb7f01 android: Vertically scalable setup pages
Previously the setup pages would remain at a fixed height but now the icon and two text boxes will give up space as a device gets shorter. This eliminates the need for a scrolling view further problems with padding.
2023-06-03 00:05:55 -07:00
Charles Lombardo 7c08648906 android: Fix setup rotation bug
If you rotated the device at the "Add Games" screen the buttons would disappear until you trigged them from the beginning page swap. Now button state is saved across recreation.
2023-06-03 00:05:55 -07:00
Charles Lombardo 07d295f231 android: Temporarily switch for a fixed version code for testing 2023-06-03 00:05:55 -07:00
Charles Lombardo f0ea804186 android: Fix alignment of SwipeRefreshLayout 2023-06-03 00:05:55 -07:00
Charles Lombardo 4677e684ec android: Shape/spacing adjustments to game card
Ripple effect now reaches into rounded corners, icon size changed, company text removed, title font adjusted, and spacing around the card was adjusted as well. Text also doesn't get cut off anymore and instead scrolls indefinitely on one line.
2023-06-03 00:05:55 -07:00
Charles Lombardo aa6a2ec832 android: Manual tweaks for dialog colors
Small fix for Flam
2023-06-03 00:05:54 -07:00
Charles Lombardo 4e727a4abf android: Fix black backgrounds bug
Start using a specific night mode check because black backgrounds could apply incorrectly when using the light app mode, dark system mode, and black backgrounds. Launching the settings activity will show light mode colors/navigation bars but with black backgrounds.
2023-06-03 00:05:54 -07:00
Charles Lombardo 6b3335cf12 android: Use navigation bar shade view for settings activity 2023-06-03 00:05:54 -07:00
Charles Lombardo f74a2c1bfa android: Disable editing themes during emulation 2023-06-03 00:05:54 -07:00
Charles Lombardo a38c9d2651 android: Prevent situation where binding is called on a null view 2023-06-03 00:05:54 -07:00
Charles Lombardo 744ec1961c android: Add black backgrounds toggle 2023-06-03 00:05:54 -07:00
Charles Lombardo c24322ce4c android: Add theme mode picker 2023-06-03 00:05:54 -07:00
Charles Lombardo ab3ff694d5 android: Add theme picker 2023-06-03 00:05:54 -07:00
Charles Lombardo 119fe3996d android: Prevent potential abstract settings crash 2023-06-03 00:05:54 -07:00
Charles Lombardo 77131b8ab0 android: Fix cast for abstract settings 2023-06-03 00:05:54 -07:00
Charles Lombardo 7f765aa0a1 android: Create xml for Material You theme 2023-06-03 00:05:54 -07:00
Charles Lombardo 386aaea2b3 android: Remove check for API 29 in themes 2023-06-03 00:05:53 -07:00
Charles Lombardo 0f6270ca65 android: Adjustments to home option card
Several spacing/color adjustments provided by Flam
2023-06-03 00:05:53 -07:00
Charles Lombardo 55a2496645 android: Use different colors for logo in options menu
Reverting to the official logo colors
2023-06-03 00:05:53 -07:00
Charles Lombardo 80e38750aa android: New default theme colors 2023-06-03 00:05:53 -07:00
Charles Lombardo 0d689b87e9 android: Use libnx default icon
Credit to jaames for the original icon
2023-06-03 00:05:53 -07:00
Liam 96e9f4d582 android: enable LTO 2023-06-03 00:05:53 -07:00
Charles Lombardo 97286fee7e android: Show error if invalid keys file is selected
There aren't MIME types specific enough for filtering out files that aren't amiibo or production keys. So here we just check for the extensions "bin" or "keys" where appropriate and stop the process if incorrect. Previously you could select any document and it could cause the app to hang.
2023-06-03 00:05:53 -07:00
Charles Lombardo 159d55223b android: Fix first time setup scrolling bug
If you quickly scrolled from the second page to the first and then back, the next/back buttons would disappear.
2023-06-03 00:05:53 -07:00
Charles Lombardo 61864877d7 android: Fix A button preference key 2023-06-03 00:05:53 -07:00
Charles Lombardo bdf4119fa4 android: First time setup screen 2023-06-03 00:05:52 -07:00
Charles Lombardo fe113db2f2 android: Prevent editing unsafe settings at runtime
There currently isn't a visual "disabled" cue for any of the view holders that aren't the switch setting. This will be improved in the future.
2023-06-03 00:05:52 -07:00
Charles Lombardo e691d74a1a android: Abstract settings
Previously we could only add settings that would change our ini file. Now we can create abstract settings in our presenter to alter things like shared preferences for theme support!
2023-06-03 00:05:52 -07:00
german77 f88fce2c11 android: Implement gamepad input 2023-06-03 00:05:52 -07:00
Charles Lombardo 0d2549b062 android: Bump minimum version to Android 11 2023-06-03 00:05:52 -07:00
Charles Lombardo 373eab5529 android: Decouple status bar shade from navigation bar visibility 2023-06-03 00:05:52 -07:00
Charles Lombardo 0ee7e74fb8 android: Enable code minification 2023-06-03 00:05:52 -07:00
Charles Lombardo 75d3612139 android: Switch from a colored status bar to a custom view
Allows for smoother transitions with the search bar
2023-06-03 00:05:52 -07:00
Charles Lombardo ac8bcc98a4 android: Adjustments to card_game
Removed a currently unused text view and moved to material text views.
2023-06-03 00:05:51 -07:00
Charles Lombardo f556705914 android: MainActivity overhaul
This moves several parts of the main activity into fragments that manage themselves to react to changes. UI changes like the appearance of a new search view or when the games list changes now gets updated via multiple view models. This also starts a conversion to the androidx navigation component which furthers the goals mentioned previously with more fragment responsibility. This will eventually allow us to use one activity with interchanging fragments and multiple view models that are stored within that central activity.

fdas
2023-06-03 00:05:51 -07:00
Charles Lombardo 6735b5dd2a android: Enforce Vulkan 1.1 support as minimum 2023-06-03 00:05:51 -07:00
Charles Lombardo 1c23ed27dd android: Update gradle version to 8.1 2023-06-03 00:05:51 -07:00
Charles Lombardo 929e93f0b5 android: Update app dependencies 2023-06-03 00:05:51 -07:00
Charles Lombardo ea8a2aa8c8 android: Convert gradle scripts to Kotlin DSL 2023-06-03 00:05:51 -07:00
bunnei 2810793b17 android: vulkan: Disable vertex_input_dynamic_state on Qualcomm. 2023-06-03 00:05:51 -07:00
bunnei 9cba432a12 android: settings: Add scaling filter & anti-aliasing options. (#66) 2023-06-03 00:05:50 -07:00
bunnei da0db2da17 android: video_core: Add support for disk shader cache. (#64) 2023-06-03 00:05:50 -07:00
bunnei e8efc6121d android: vulkan_debug_callback: Ignore many innocuous errors. 2023-06-03 00:05:50 -07:00
bunnei 9a9c860d55 android: config: Change docked mode and GPU accuracy to favor performance on Android. 2023-06-03 00:05:50 -07:00
german77 8da09657e6 service: account: Save user profile folder on first user creation 2023-06-03 00:05:50 -07:00
german77 a21d1dcd1e android: Initialize account manager 2023-06-03 00:05:50 -07:00
german77 ea63f26a20 android: Remove unsafe null check 2023-06-03 00:05:50 -07:00
Charles Lombardo 5b201decb8 android: Scale input overlay independently of system display scale 2023-06-03 00:05:50 -07:00
Charles Lombardo 61346cfe43 android: Use apply instead of commit for shared preferences
Previously we were operating on the assumption that apply'd settings wouldn't be visible immediately. This isn't true and settings will be accessible via memory before being stored to disk. This reduces any potential stutters caused by saving to shared preferences.
2023-06-03 00:05:50 -07:00
Charles Lombardo 4b3b59611b android: Add DPad slide toggle 2023-06-03 00:05:50 -07:00
Charles Lombardo 9f477c9592 android: Add relative stick center toggle 2023-06-03 00:05:49 -07:00
Charles Lombardo 5880b3d18d android: Make hash and branch accessible from BuildConfig 2023-06-03 00:05:49 -07:00
Charles Lombardo c04cc1b4f4 android: Backup shared preferences where applicable 2023-06-03 00:05:49 -07:00
Charles Lombardo e9aa7de8d2 android: Enable retaining app data after uninstall 2023-06-03 00:05:49 -07:00
Charles Lombardo aeeb148d1a android: Remove unused doFrame function 2023-06-03 00:05:49 -07:00
Charles Lombardo 485074b57f android: Convert NativeLibrary to Kotlin 2023-06-03 00:05:49 -07:00
Charles Lombardo 939dc1813e android: Remove LocalBroadcastManager
This causes a couple of minor changes to directory initialization. We don't have a lengthy initialization step so we could spend less time creating state receivers and just run initialization on the main thread. We also don't have a situation where external storage will be a concern so checks are removed in favor of a binary check to see if initialization is ready.

This additionally removes the unused DoFrame callback.
2023-06-03 00:05:49 -07:00
Charles Lombardo f41bca4873 android: Remove game database
The content provider + database solution was excessive and is now replaced with the simple file checks from before but turned into an array list held within a viewmodel.
2023-06-03 00:05:49 -07:00
Charles Lombardo df2e69f896 android: Adjust game icon loading 2023-06-03 00:05:49 -07:00
Charles Lombardo 229c4f5895 android: Remove unused dimensions files 2023-06-03 00:05:48 -07:00
Charles Lombardo 7c887a4901 android: Slightly reduce game card size 2023-06-03 00:05:48 -07:00
Charles Lombardo 157c5286c1 android: Only show company text view if it has content 2023-06-03 00:05:48 -07:00
Charles Lombardo 40d7b3724b android: Fix check for ok text in software keyboard 2023-06-03 00:05:48 -07:00
Narr the Reg 9d11e03d61 android: Implement amiibo reading from nfc tag 2023-06-03 00:05:48 -07:00
bunnei bf598273e9 android: vulkan_device: Disable VK_EXT_custom_border_color on Adreno.
- Causes crashes on sampler creation with Super Mario Odyssey.
2023-06-03 00:05:48 -07:00
Charles Lombardo 702b1a30ad android: Add toggle controls option to input overlay 2023-06-03 00:05:48 -07:00
Charles Lombardo 8c40cdbb5c android: Do not update FPS text on null view 2023-06-03 00:05:48 -07:00
Charles Lombardo 03275e4114 android: Convert keyboard applet to kotlin and refactor 2023-06-03 00:05:48 -07:00
bunnei 3a4270dbc2 android: Implement basic software keyboard applet. 2023-06-03 00:05:47 -07:00
bunnei f3dfb76eb6 android: config: Disable shader cache by default on Android. 2023-06-03 00:05:47 -07:00
german77 2e0e20e86b android: Fix fps counter not showing up 2023-06-03 00:05:47 -07:00
Charles Lombardo 4a06d464ff android: Prevent showing games on an invalid view 2023-06-03 00:05:47 -07:00
Charles Lombardo a8834fa20c android: Re-implement overlay editing 2023-06-03 00:05:47 -07:00
Charles Lombardo bbee31810f android: Fix popup menu going out of bounds 2023-06-03 00:05:47 -07:00
Charles Lombardo 5e2695275e android: Use autofit grid for games fragment 2023-06-03 00:05:47 -07:00
Charles Lombardo 8962c3456f android: Prevent updating empty game list text on invalid view 2023-06-03 00:05:47 -07:00
Charles Lombardo 8a76f253e4 android: Persist settings across configuration changes
Mostly things get refactored here to remove previous assumptions made about how the activity/fragment lifecycles would operate. The important change for persistence is removing the assumption that the user will be at the first settings fragment on recreation when deciding whether or not to reload settings. Now we check a flag in Settings to know if we loaded the settings within this lifecycle.
2023-06-03 00:05:47 -07:00
Charles Lombardo 4bc0f87d96 android: Store settings object in viewmodel 2023-06-03 00:05:47 -07:00
Charles Lombardo 8fa08abdb3 android: Remove configChanges exceptions 2023-06-03 00:05:46 -07:00
Charles Lombardo 188516a016 Android: Enable resizeable activities 2023-06-03 00:05:46 -07:00
Charles Lombardo 59b20e67da android: Fix emulation fragment comments 2023-06-03 00:05:46 -07:00
Charles Lombardo 947e46ef2e android: Use modal navigation drawer as in game menu 2023-06-03 00:05:46 -07:00
Charles Lombardo 99d76acb77 android: Make Game class parcelable 2023-06-03 00:05:46 -07:00
Charles Lombardo c41072feb0 android: Add kotlin parcelize plugin 2023-06-03 00:05:46 -07:00
Charles Lombardo ef1b2561ef android: Remove deprecated use of onActivityResult 2023-06-03 00:05:46 -07:00
Charles Lombardo bb5faf6558 android: Fix RTL layouts 2023-06-03 00:05:46 -07:00
Charles Lombardo f7fc5d6e07 android: Use ellipsis character 2023-06-03 00:05:46 -07:00
Charles Lombardo 6d28b14f2d android: Move all array strings to main strings file 2023-06-03 00:05:46 -07:00
Charles Lombardo c86d7eb8c2 android: Remove unused strings 2023-06-03 00:05:45 -07:00
Charles Lombardo 49417520ef android: Remove unused colors 2023-06-03 00:05:45 -07:00
Charles Lombardo 5fd53f09c3 android: Remove citra date time picker 2023-06-03 00:05:45 -07:00
Charles Lombardo f4fdf5a4ce android: Remove unused premium header layout 2023-06-03 00:05:45 -07:00
Charles Lombardo 1c00ddcd05 android: Remove unused fragment animations 2023-06-03 00:05:45 -07:00
Charles Lombardo 4155bd2144 android: Remove unused string arrays 2023-06-03 00:05:45 -07:00
Charles Lombardo 85e9d656b9 android: Remove unused integer xmls 2023-06-03 00:05:45 -07:00
Charles Lombardo 155ce37214 android: Refactor ic_launcher.xml to drawables 2023-06-03 00:05:45 -07:00
Charles Lombardo b17d58b523 android: Suppress lint in InsetsHelper 2023-06-03 00:05:45 -07:00
Charles Lombardo 8add51924f android: Add data extraction rules 2023-06-03 00:05:44 -07:00
Charles Lombardo 9af7547774 android: Remove requestLegacyExternalStorage attribute 2023-06-03 00:05:44 -07:00
Charles Lombardo cfb821e680 android: Remove unused permissions 2023-06-03 00:05:44 -07:00
Charles Lombardo 4330135912 android: Inset input overlay based on system cutouts 2023-06-03 00:05:44 -07:00
Narr the Reg 1eb2e781ff Use yuzu as category instead of citra 2023-06-03 00:05:44 -07:00
Charles Lombardo 6cebdba191 android: Stop updating fps counter when emulation stops 2023-06-03 00:05:44 -07:00
Charles Lombardo 5ef7478141 android: Move driver installation off of main thread
Additionally creates an indeterminate loading dialog during installation
2023-06-03 00:05:44 -07:00
Charles Lombardo 8ee6154d6d android: Fix crash when decodeGameIcon creates a null Bitmap 2023-06-03 00:05:44 -07:00
Charles Lombardo 3e088c768b android: Use view binding 2023-06-03 00:05:44 -07:00
Charles Lombardo dd0a0955eb android: Enable view binding 2023-06-03 00:05:44 -07:00
Charles Lombardo 7e48948d54 android: Refactor CheckBoxSetting to SwitchSetting 2023-06-03 00:05:44 -07:00
bunnei 542e0c39f7 android: EmulationActivity: Fix variable shadowing in fragment creation. 2023-06-03 00:05:43 -07:00
bunnei 43394945c9 android: res: fragment_emulation: Ensure FPS counter is shown. 2023-06-03 00:05:43 -07:00
Liam e3c37d97f9 common: link libandroid on android 2023-06-03 00:05:43 -07:00
Liam d54605d1a5 build: only enable adrenotools on arm64 2023-06-03 00:05:43 -07:00
Charles Lombardo e6740530e5 android: Use Skyline's document provider 2023-06-03 00:05:43 -07:00
Charles Lombardo 9238214837 android: Use androidx splash screen 2023-06-03 00:05:43 -07:00
Charles Lombardo 77075417b0 android: Replace Picasso with Coil 2023-06-03 00:05:43 -07:00
Charles Lombardo 0caa228190 android: New swipe to refresh color scheme 2023-06-03 00:05:43 -07:00
Charles Lombardo c550f3bfff android: New settings fragment animations 2023-06-03 00:05:43 -07:00
Charles Lombardo ee29f2a875 android: Use edge to edge 2023-06-03 00:05:43 -07:00
Charles Lombardo 6581821e39 android: Use Material 3 components 2023-06-03 00:05:42 -07:00
Charles Lombardo e73d0adc16 android: Modernize theme system 2023-06-03 00:05:42 -07:00
Charles Lombardo ff36c209a5 android: Use vector icons 2023-06-03 00:05:42 -07:00
Charles Lombardo cc5ee75b52 android: Use adaptive icon 2023-06-03 00:05:42 -07:00
bunnei 374f9cbfa2 android: settings: Dynamically evaluate valueAsString
Co-Authored-By: bunnei <bunneidev@gmail.com>
2023-06-03 00:05:42 -07:00
Charles Lombardo 13ee2288d2 android: Add license identifier 2023-06-03 00:05:42 -07:00
Charles Lombardo d88c5b4ea5 android: Convert YuzuApplication to Kotlin 2023-06-03 00:05:42 -07:00
Charles Lombardo 1234a59f8a android: Convert Action1 to Kotlin 2023-06-03 00:05:42 -07:00
Charles Lombardo bc26a0af50 android: Convert GameViewHolder to Kotlin 2023-06-03 00:05:41 -07:00
Charles Lombardo 4090e875d5 android: Remove ThemeUtil 2023-06-03 00:05:41 -07:00
Charles Lombardo 2ad75ab815 android: Convert StartupHandler to Kotlin 2023-06-03 00:05:41 -07:00
Charles Lombardo 8841429c4b android: Convert Log to Kotlin 2023-06-03 00:05:41 -07:00
Charles Lombardo b8b70aa422 android: Convert GpuDriverMetadata to Kotlin 2023-06-03 00:05:41 -07:00
Charles Lombardo 69ed6725b1 android: Convert GpuDriverHelper to Kotlin 2023-06-03 00:05:41 -07:00
Charles Lombardo f1b93071cc android: Convert GameIconRequestHandler to Kotlin 2023-06-03 00:05:41 -07:00
Charles Lombardo 5ffe5b5293 android: Convert ForegroundService to Kotlin 2023-06-03 00:05:41 -07:00
Charles Lombardo b13e6c53f3 android: Convert FileUtil to Kotlin 2023-06-03 00:05:41 -07:00
Charles Lombardo 35d37a1a4f android: Convert FileBrowserHelper to Kotlin 2023-06-03 00:05:41 -07:00
Charles Lombardo e0814f8716 android: Convert EmulationMenuSettings to Kotlin 2023-06-03 00:05:40 -07:00
Charles Lombardo 8f973863ae android: Convert DocumentsTree to Kotlin 2023-06-03 00:05:40 -07:00
Charles Lombardo 0fc825b449 android: Convert DirectoryStateReceiver to Kotlin 2023-06-03 00:05:40 -07:00
Charles Lombardo faf21f9d5d android: Convert DirectoryInitialization to Kotlin 2023-06-03 00:05:40 -07:00
Charles Lombardo f608dddeb2 android: Convert ControllerMappingHelper to Kotlin 2023-06-03 00:05:40 -07:00
Charles Lombardo 3b7e0f6fc2 android: Convert BiMap to Kotlin 2023-06-03 00:05:40 -07:00
Charles Lombardo dbac879874 android: Convert AddDirectoryHelper to Kotlin 2023-06-03 00:05:40 -07:00
Charles Lombardo 319e2017ef android: Convert PlatformGamesView to Kotlin 2023-06-03 00:05:40 -07:00
Charles Lombardo 7847ddab17 android: Convert PlatformGamesPresenter to Kotlin 2023-06-03 00:05:40 -07:00
Charles Lombardo f76121ec08 android: Convert PlatformGamesFragment to Kotlin 2023-06-03 00:05:40 -07:00
Charles Lombardo cdd8fc4b7f android: Convert MainView to Kotlin 2023-06-03 00:05:39 -07:00
Charles Lombardo f8d6cbc6f3 android: Convert MainPresenter to Kotlin 2023-06-03 00:05:39 -07:00
Charles Lombardo 242ecff4a1 android: Convert InputOverlayDrawableJoystick to Kotlin 2023-06-03 00:05:39 -07:00
Charles Lombardo d9bf961928 android: Convert MainActivity to Kotlin 2023-06-03 00:05:39 -07:00
Charles Lombardo e729ae33f5 android: Remove ExampleInstrumentedTest 2023-06-03 00:05:39 -07:00
Charles Lombardo 4f48baf769 android: Remove TwoPaneOnBackPressedCallback
Leftover UI code for dolphin's cheat system. Removing for now.
2023-06-03 00:05:39 -07:00
Charles Lombardo fec032d9b3 android: Convert InputOverlayDrawableDpad to Kotlin 2023-06-03 00:05:39 -07:00
Charles Lombardo bd1a31d467 android: Convert InputOverlayDrawableButton to Kotlin 2023-06-03 00:05:39 -07:00
Charles Lombardo d60daf7565 android: Convert InputOverlay to Kotlin 2023-06-03 00:05:39 -07:00
Charles Lombardo 75f608ff14 android: Remove DividerItemDecoration
Removed in favor of material components version
2023-06-03 00:05:39 -07:00
Charles Lombardo 4dff09a32b android: Inherit from Material 3 themes
Partially breaks the UI for now but is necessary to use new material components.
2023-06-03 00:05:38 -07:00
Charles Lombardo 2bfa1fcc36 android: Convert MinimalDocumentFile to Kotlin 2023-06-03 00:05:38 -07:00
Charles Lombardo 9725bf8103 android: Convert GameProvider to Kotlin 2023-06-03 00:05:38 -07:00
Charles Lombardo cf0f69d13d android: Convert GameDatabase to Kotlin 2023-06-03 00:05:38 -07:00
Charles Lombardo 0bf21f04c1 android: Convert Game to Kotlin 2023-06-03 00:05:38 -07:00
Charles Lombardo 569a7b7ae4 android: Convert EmulationFragment to Kotlin 2023-06-03 00:05:38 -07:00
Charles Lombardo ede993a8c3 android: Convert SettingsFile to Kotlin 2023-06-03 00:05:38 -07:00
Charles Lombardo 76b357cfe9 android: Convert SettingsFrameLayout to Kotlin 2023-06-03 00:05:38 -07:00
Charles Lombardo 51583a8842 android: Convert SettingsFragmentView to Kotlin 2023-06-03 00:05:38 -07:00
Charles Lombardo 1b9472a2d3 android: Convert SettingsFragmentPresenter to Kotlin 2023-06-03 00:05:38 -07:00
Charles Lombardo 7fc1459dad android: Convert SettingsFragment to Kotlin 2023-06-03 00:05:37 -07:00
Charles Lombardo 9dc5e6357a android: Convert SettingsActivityView to Kotlin 2023-06-03 00:05:37 -07:00
Charles Lombardo 7d5891fd2c android: Convert SettingsActivityPresenter to Kotlin 2023-06-03 00:05:37 -07:00
Charles Lombardo 8ae265d457 android: Convert SettingsActivity to Kotlin 2023-06-03 00:05:37 -07:00
Charles Lombardo 86d10dc029 android: Convert SubmenuViewHolder to Kotlin 2023-06-03 00:05:37 -07:00
Charles Lombardo 77129e3de3 android: Convert SliderViewHolder to Kotlin 2023-06-03 00:05:37 -07:00
Charles Lombardo 2bc7a87424 android: Convert SingleChoiceViewHolder to Kotlin 2023-06-03 00:05:37 -07:00
Charles Lombardo b468c5d052 android: Convert SettingViewHolder to Kotlin 2023-06-03 00:05:37 -07:00
Charles Lombardo 93d87111c5 android: Convert HeaderViewHolder to Kotlin 2023-06-03 00:05:37 -07:00
Charles Lombardo 4d38000140 android: Convert DateTimeViewHolder to Kotlin 2023-06-03 00:05:37 -07:00
Charles Lombardo 769fcb4a2d android: Convert CheckBoxSettingViewHolder to Kotlin 2023-06-03 00:05:36 -07:00
Charles Lombardo 28a069de34 android: Convert StringSetting to Kotlin 2023-06-03 00:05:36 -07:00
Charles Lombardo 48f959540c android: Convert SettingSection to Kotlin 2023-06-03 00:05:36 -07:00
Charles Lombardo f6d37365cf android: Convert Setting to Kotlin 2023-06-03 00:05:36 -07:00
Charles Lombardo 0cbd5545db android: Convert IntSetting to Kotlin 2023-06-03 00:05:36 -07:00
Charles Lombardo 1a04e1e0c0 android: Convert FloatSetting to Kotlin 2023-06-03 00:05:36 -07:00
Charles Lombardo 372bf73aef android: Convert BooleanSetting to Kotlin 2023-06-03 00:05:36 -07:00
Charles Lombardo bab9335bcb android: Convert SubmenuSetting to Kotlin 2023-06-03 00:05:36 -07:00
Charles Lombardo b0acee2098 android: Convert StringSingleChoiceSetting to Kotlin 2023-06-03 00:05:36 -07:00
Charles Lombardo 1abd7828b9 android: Convert SliderSetting to Kotlin 2023-06-03 00:05:36 -07:00
Charles Lombardo 5452399d41 android: Convert SingleChoiceSetting to Kotlin 2023-06-03 00:05:35 -07:00
Charles Lombardo 73c51dc89f android: Convert SettingsItem to Kotlin 2023-06-03 00:05:35 -07:00
Charles Lombardo e243d6d2d7 android: Convert HeaderSetting to Kotlin 2023-06-03 00:05:35 -07:00
Charles Lombardo 87523b434b android: Convert DateTimeSetting to Kotlin 2023-06-03 00:05:35 -07:00
Charles Lombardo fba3550c64 android: Convert CheckBoxSetting to Kotlin 2023-06-03 00:05:35 -07:00
Charles Lombardo c3c3c0c2e6 android: Convert GameAdapter to Kotlin 2023-06-03 00:05:35 -07:00
Charles Lombardo 729faf93e0 android: Convert SettingsAdapter to Kotlin
Update SettingsAdapter.kt
2023-06-03 00:05:35 -07:00
Charles Lombardo 69e52b6ef9 android: Convert EmulationActivity to Kotlin 2023-06-03 00:05:35 -07:00
Charles Lombardo 28215f6d7d android: Use material slider in settings dialog 2023-06-03 00:05:35 -07:00
Charles Lombardo 53f09ed61b android: Convert Settings to Kotlin 2023-06-03 00:05:35 -07:00
Charles Lombardo 107087b5a4 android: Use androidx preferences 2023-06-03 00:05:34 -07:00
bunnei 815cafacb2 android: frontend: Add unique error strings for Vulkan initialization errors. 2023-06-03 00:05:34 -07:00
german77 ada3a4085a android: Use the center of the object and reduce draw calls 2023-06-03 00:05:34 -07:00
german77 76b5181bdf android: Replace old buttons with vectors 2023-06-03 00:05:34 -07:00
Charles Lombardo b07a640036 android: Enable Kotlin support 2023-06-03 00:05:34 -07:00
Charles Lombardo a65a6e7b36 android: Upgrade java version to 11 2023-06-03 00:05:33 -07:00
Charles Lombardo ae08a9e1ed android: Upgrade dependencies 2023-06-03 00:05:33 -07:00
Charles Lombardo 4ec3ebeb00 android: Upgrade to AGP 7.4.2 2023-06-03 00:05:33 -07:00
Charles Lombardo a72f2e1493 android: Replace lintOptions with lint 2023-06-03 00:05:33 -07:00
Charles Lombardo 57060fc7cd android: Move namespace to app module build.gradle 2023-06-03 00:05:33 -07:00
Charles Lombardo 0e6b181f17 android: bump compile/target sdk to 33 2023-06-03 00:05:33 -07:00
Charles Lombardo 3356f96505 android: Upgrade gradle to 8.0.1 2023-06-03 00:05:33 -07:00
liushuyu 44a629e584 video_core: fix clang-format errors 2023-06-03 00:05:33 -07:00
liushuyu 0492011af7 CMake: fix pkg-config behavior when building for Android 2023-06-03 00:05:33 -07:00
liushuyu bca45d1588 CI: add Android build systems 2023-06-03 00:05:33 -07:00
bunnei 041fab3165 android: build.gradle: Cleanup build types. 2023-06-03 00:05:32 -07:00
bunnei aabb796b6d android: frontend: settings: Add graphics debugging. 2023-06-03 00:05:32 -07:00
bunnei 8b30f10dd1 android: jni: Ensure system is only initialized once.
- Fixes likelihood that fastmem allocation succeeds.
2023-06-03 00:05:32 -07:00
bunnei ea54161dbf video_core: vulkan_device: Correct error message for unsuitable driver. 2023-06-03 00:05:32 -07:00
bunnei 7330adf87b android: frontend: Cleanup framerate counter. 2023-06-03 00:05:32 -07:00
bunnei 27250ee9ad android: vulkan: Implement adrenotools turbo mode. 2023-06-03 00:05:32 -07:00
bunnei 6ae51eff8a android: vulkan_device: Disable VK_EXT_extended_dynamic_state2 on Qualcomm.
- Newer drivers report this as supported, but it is broken.
2023-06-03 00:05:32 -07:00
bunnei a4a4784553 android: frontend: Add support for GPU driver selection. 2023-06-03 00:05:32 -07:00
bunnei 74e76421e6 android: native: Add support for custom Vulkan driver loading. 2023-06-03 00:05:31 -07:00
bunnei 56600190e4 core: frontend: Refactor GraphicsContext to its own module. 2023-06-03 00:05:31 -07:00
bunnei f644380506 common: dynamic_library: Add ctor for existing handle. 2023-06-03 00:05:31 -07:00
bunnei f292a3a357 android: EmulationFragment: Always reset overlay.
- Ensures correct placement until we have better overlay configuration.
2023-06-03 00:05:31 -07:00
Billy Laws cfbe4b09eb Avoid using VectorExtractDynamic for subgroup mask on Adreno GPUs
This crashes their shader compiler for some reason.
2023-06-03 00:05:31 -07:00
Billy Laws 2beb3051c1 Implement scaled vertex buffer format emulation
These formats are unsupported by mobile GPUs so they need to be emulated in shaders instead.
2023-06-03 00:05:31 -07:00
Billy Laws 58d420937c Disable push descriptors on adreno drivers
Regular descriptors are around 1.5x faster to update.
2023-06-03 00:05:31 -07:00
Billy Laws ca2c3a6d5a Disable VK_EXT_extended_dynamic_state on mali 2023-06-03 00:05:31 -07:00
Billy Laws b2b069279e Disable multithreaded pipeline compilation on Qualcomm drivers
This causes crashes during compilation on several 6xx and 5xx driver versions.
2023-06-03 00:05:31 -07:00
Narr the Reg 38b030ac58 android: Add motion sensor 2023-06-03 00:05:30 -07:00
Narr the Reg 580e65192c android: Hook jni input properly 2023-06-03 00:05:30 -07:00
Narr the Reg c478528dca android: cleanup touch update loop 2023-06-03 00:05:30 -07:00
Narr the Reg dbca0637a1 android: Clean joystick overlay 2023-06-03 00:05:30 -07:00
Narr the Reg 28f4ee78f6 android: Clean dpad overlay 2023-06-03 00:05:30 -07:00
Narr the Reg f465b2aa69 android: Clean button overlay 2023-06-03 00:05:30 -07:00
Narr the Reg 99eb289722 android: Add all buttons to screen controller 2023-06-03 00:05:30 -07:00
Narr the Reg f7f126520c android: Apply clang format 2023-06-03 00:05:30 -07:00
bunnei a75fe2e2c3 android: frontend: Implement game grid view. (#9) 2023-06-03 00:05:30 -07:00
german77 ceed69d9a5 android: Replace notification icon with yuzu 2023-06-03 00:05:30 -07:00
bunnei bc4213e6dc android: strings: Refresh key dumping URL. 2023-06-03 00:05:29 -07:00
bunnei 6ec92cc172 android: frontend: Modify ROM load messaging for invalid keys. 2023-06-03 00:05:29 -07:00
bunnei af1855e0ad android: frontend: Integrate key installation for SAF. 2023-06-03 00:05:29 -07:00
bunnei a42184f92e android: jni: Add function to reload keys. 2023-06-03 00:05:29 -07:00
bunnei 4fb2d06a8c core: crypto: key_manager: Add methods to reload & validate keys. 2023-06-03 00:05:29 -07:00
bunnei 9da136ffdc android: EmulationActivity: Temporarily disable running notification. 2023-06-03 00:05:29 -07:00
bunnei 44b082af08 android: Implement SAF support & migrate to SDK 31. (#4) 2023-06-03 00:05:29 -07:00
bunnei 8d2b8927a4 android: Harden emulation shutdown when loader fails. 2023-06-03 00:05:29 -07:00
bunnei 0f4119c966 android: SettingsFragmentPresenter: Fix default renderer backend. 2023-06-03 00:05:29 -07:00
bunnei 1286403687 android: jni: native: Add lock around HaltEmulation, tighten run loop. 2023-06-03 00:05:29 -07:00
bunnei d3217eaa4b android: jni: native: Refactor locking for is_running. 2023-06-03 00:05:28 -07:00
bunnei 09ad9ed549 android: jni: native: Remove unnecessary atomic for is_running. 2023-06-03 00:05:28 -07:00
bunnei 5dbae4cd4d android: jni: native: Tighten up emulation start/stop signaling. 2023-06-03 00:05:28 -07:00
bunnei ea4b6e3d8b android: jni: native: Consolidate emulation state into EmulationSession singleton.
- Fixes state management issues across multiple boots.
- Fixes crashes related to unsafe access of perf stats.
2023-06-03 00:05:28 -07:00
bunnei ca686f1ab7 android: Frontend: Fix rendering aspect ratio & add a setting for it. 2023-06-03 00:05:28 -07:00
bunnei ffdb02ea5e android: Integrate settings frontend with yuzu & remove unused code. 2023-06-03 00:05:28 -07:00
Liam 46927d217c externals: add adrenotools for bcenabler 2023-06-03 00:05:28 -07:00
Liam 120b8baebb device_memory: Use smaller virtual reservation size for compatibility with 39-bit paging 2023-06-03 00:05:28 -07:00
bunnei b3a74d7f73 video_core: vulkan_device: Device initialization for Adreno. 2023-06-03 00:05:28 -07:00
bunnei ce06e9e7fc video_core: vk_pipeline_cache: Disable support_descriptor_aliasing on Android. 2023-06-03 00:05:28 -07:00
bunnei f6f470fb4b video_core: vk_swapchain: Fix image format for Android. 2023-06-03 00:05:28 -07:00
bunnei 3f736b377a android: Minimize frontend & convert to yuzu. 2023-06-03 00:05:27 -07:00
bunnei 189bb7602c video_core: vk_blit_screen: Rotate viewport for Android landscape. 2023-06-03 00:05:27 -07:00
bunnei c5b29ef3b7 common: error: Fix for Android. 2023-06-03 00:05:27 -07:00
bunnei 48835ce81b common: fs: Implement for Android. 2023-06-03 00:05:27 -07:00
bunnei fa9b38c400 common: logging: Implement Android logcat backend. 2023-06-03 00:05:26 -07:00
bunnei 699d6751d8 common: host_memory: Implement for Android. 2023-06-03 00:05:26 -07:00
bunnei 573b88b179 android: Minimal JNI for yuzu. 2023-06-03 00:05:26 -07:00
bunnei 5fa0293c19 android: Add Citra frontend. 2023-06-03 00:05:26 -07:00
bunnei 6549cf8bd0 cmake: Integrate bundled FFmpeg for Android. 2023-06-03 00:05:26 -07:00
ameerj e9c07146d8 texture_cache: Fix incorrect logic for AccelerateDMA 2023-06-02 18:07:52 -04:00
kkoniuszy 802d30d421 host_memory: merge adjacent placeholder mappings on Linux
Track the private anonymous placeholder mappings created by Unmap() and
wherever possible, replace existing placeholders with larger ones
instead of creating many small ones.

This helps with the buildup of mappings in /proc/YUZU_PID/maps after a
longer gaming session, improving stability without having to increase
vm.max_map_count to a ridiculous value. The amount of placeholder
mappings will no longer outgrow the amount of actual memfd mappings in
cases of high memory fragmentation.
2023-06-01 22:57:27 +02:00
liamwhite cd9f88e483 Merge pull request #10091 from Kelebek1/bc_bugggggg
Fix buffer overlap checking skipping a page for stream score right expand
2023-06-01 09:06:07 -04:00
liamwhite 2d92f940d7 Merge pull request #10530 from Kelebek1/syncpt_oob
Fix incorrect syncpt id bounds check and potential out of bounds lookup
2023-06-01 09:05:42 -04:00
liamwhite 90a3955fbb Merge pull request #10474 from GPUCode/you-left-me-waiting
Remove timeline semaphore wait
2023-06-01 09:05:30 -04:00
liamwhite c60fc2d416 Merge pull request #10352 from grimkor/add-context-menu-status-bar-settings
add context menu for status bar settings
2023-06-01 09:05:23 -04:00
liamwhite 38a5299599 Merge pull request #10482 from german77/gamelist
yuzu: Disable game list while game is running
2023-06-01 09:05:18 -04:00
Kelebek1 f50f69f07c Fix incorrect id check and potential out of bounds lookup 2023-05-31 19:10:00 +01:00
Kelebek1 3da7eafba7 Skip BufferCache tickframe with no channel state set 2023-05-30 21:57:13 +01:00
12101111 3f3e986098 input_common: rename PAGE_SIZE to avoid conflict
See also: https://github.com/yuzu-emu/yuzu/issues/8779
2023-05-30 16:59:06 +08:00
german77 e1f99c566b yuzu: Disable game list while game is running 2023-05-29 10:00:34 -06:00
Morph ef9b1765fa externals: Update to fmt 10 and add format_as formatter for BitField
Implicit conversions are now disallowed in fmt 10. Use format_as to convert to the underlying type.
2023-05-28 15:05:55 -04:00
liamwhite a4a3df9e69 Merge pull request #10483 from ameerj/gl-cpu-astc
gl_texture_cache: Fix ASTC CPU decoding with compression disabled
2023-05-28 13:18:31 -04:00
liamwhite ca2c5a9243 Merge pull request #10280 from danilaml/cmake-bin-dir
Use TARGET_FILE_DIR generator expression
2023-05-28 13:18:06 -04:00
liamwhite 01008297aa Merge pull request #10283 from danilaml/support-interlaced-videos
Add support for deinterlaced video playback
2023-05-28 13:17:58 -04:00
liamwhite e39dde5cd6 Merge pull request #10463 from liamwhite/this-is-why-we-need-g
vfs_concat: fix time complexity of read
2023-05-28 13:17:42 -04:00
liamwhite c0e8e6b617 Merge pull request #10464 from liamwhite/clear-cache
qt: add menu item to remove cache storage
2023-05-28 13:17:33 -04:00
liamwhite 56e0201201 Merge pull request #10469 from Kelebek1/bc_state
Move buffer bindings to per-channel state
2023-05-28 13:17:26 -04:00
ameerj 514c224679 gl_texture_cache: Fix ASTC CPU decoding with compression disabled
gl_format was incorrectly being overwritten when compression was disabled
2023-05-28 13:14:51 -04:00
ameerj 41dfd9e4ec gl_staging_buffers: Optimization to reduce fence waiting 2023-05-28 00:38:47 -04:00
ameerj 8d223e8092 OpenGL: Make use of persistent buffer maps in buffer cache downloads
Persistent buffer maps were already used by the texture cache, this extends their usage for the buffer cache.

In my testing, using the memory maps for uploads was slower than the existing "ImmediateUpload" path, so the memory map usage is limited to downloads for the time being.
2023-05-28 00:38:46 -04:00
GPUCode 0dc4778654 renderer_vulkan: Remove timeline semaphore wait 2023-05-28 02:39:44 +03:00
Kelebek1 29e1cdf7e1 Audren wait as suggested by ByLaws 2023-05-27 17:38:07 +01:00
Kelebek1 62c747f8a1 Move buffer bindings to per-channel state 2023-05-27 17:04:18 +01:00
Liam 0627c4622f qt: add menu item to remove cache storage 2023-05-26 23:29:44 -04:00
Matías Locatti ebcfe440ba Merge pull request #10414 from liamwhite/anv-push-descriptor
vulkan_device: Enable VK_KHR_push_descriptor on newer ANV
2023-05-26 17:36:37 -03:00
Matías Locatti 9eab38567c Merge pull request #10418 from liamwhite/blink-and-youll-miss-it
texture_cache: process aliases and overlaps in the correct order
2023-05-26 17:36:09 -03:00
Liam 18088c67cd vfs_concat: fix time complexity of read 2023-05-26 16:07:38 -04:00
Kelebek1 eea071bf87 Fix buffer overlap checking skipping a page for stream score right expand 2023-05-26 10:35:46 +01:00
Liam e19d49925a shader_recompiler: fix copy-paste error 2023-05-26 00:36:12 -04:00
bunnei eeef4170e3 Merge pull request #10221 from Kelebek1/partial_dsp_revert
Add a 5ms tiemout to the DSP processing wait
2023-05-25 21:34:50 -07:00
bunnei 39fcbfead6 Merge pull request #10396 from german77/amiibo_write
input_common: Implement amiibo writing
2023-05-25 14:07:16 -07:00
liamwhite bdebdf83fb Merge pull request #10454 from 521337/fix-u-option
Don't exit when using "-u" option in yuzu-cmd
2023-05-25 14:12:51 -04:00
Fernando S 987c98fdec Merge pull request #10452 from liamwhite/ibgc
video_core: don't garbage collect during configuration
2023-05-25 20:09:08 +02:00
Ariel Cabello c44d17b35d Don't exit when using "-u" option in yuzu-cmd 2023-05-25 20:07:52 +02:00
Liam 6c77a107a4 video_core: don't garbage collect during configuration 2023-05-25 12:03:12 -04:00
Ariel Cabello df0f80f55c Add short "-u" option for yuzu_cmd.
The -u short option was documented but not implemented in yuzu_cmd.
The same long option --user worked before.
2023-05-25 16:05:22 +02:00
bunnei d9ed2052d8 Merge pull request #10415 from german77/amiibo-no-key
service: nfc: Remove encryption key requirement
2023-05-24 22:14:55 -07:00
bunnei 62301e0f65 Merge pull request #10435 from FernandoS27/gotta-clean-mess-ups
Texture cache: revert wrong acceleration assumption
2023-05-24 21:00:53 -07:00
Fernando Sahmkow b0e5aa6725 Texture cache: revert wrong acceleration assumption 2023-05-24 10:52:02 +02:00
Fernando Sahmkow 769b1f0264 Texture Cache Util: Fix block depth adjustment on slices. 2023-05-24 10:06:58 +02:00
Fernando Sahmkow ce9a97ca48 texture_cache: process aliases and overlaps in the correct order 2023-05-24 09:53:42 +02:00
Fernando S 72c3cf6b32 Merge pull request #10422 from liamwhite/gc
video_core: tune garbage collection aggressiveness
2023-05-24 03:58:49 +02:00
Fernando S 7a201e9218 Merge pull request #10417 from liamwhite/check-state
k_memory_block_manager: remove auditing calls
2023-05-24 03:56:58 +02:00
Fernando S 178e8a6b0e Merge pull request #10398 from liamwhite/bcn
video_core: add ASTC recompression
2023-05-24 03:55:45 +02:00
grimkor 1e7b656c29 add context menu for filter and anti-aliasing status buttons 2023-05-24 00:21:04 +00:00
Liam 4a54cea69a video_core: tune garbage collection aggressiveness 2023-05-23 12:55:14 -04:00
Liam 011dfe1db7 textures: add BC1 and BC3 compressors and recompression setting 2023-05-23 12:54:40 -04:00
liamwhite a496e853ff Merge pull request #10388 from GPUCode/fence-wait
vk_master_semaphore: Move fence wait on separate thread
2023-05-23 09:42:56 -04:00
liamwhite 7515655327 Merge pull request #10402 from liamwhite/uh
renderer_vulkan: barrier attachment feedback loops
2023-05-23 09:42:49 -04:00
liamwhite 246a1407cb Merge pull request #10411 from scorpion81/gc-steamdeck-fix-attempt
Limit device access memory for integrated devices to 4 GB
2023-05-23 09:42:39 -04:00
Liam d23a532bf4 k_memory_block_manager: remove auditing calls 2023-05-23 09:15:16 -04:00
Narr the Reg 6a217dd7a5 service: nfc: Remove encryption key requirement 2023-05-22 18:42:09 -06:00
Liam cdd20c6231 vulkan_device: Enable VK_KHR_push_descriptor on newer ANV 2023-05-22 19:53:20 -04:00
Liam 147f6129f4 renderer_vulkan: barrier attachment feedback loops 2023-05-22 18:10:16 -04:00
scorpion81 9c33fade59 Limit the device access memory to 4 GB
Hardly limiting the device access memory to 4 GB for integrated vulkan devices here. This works for the Steam Deck in order not to go above 4 GB VRAM usage any more (above this value the likelihood to crash when the RAM exceeds 12 GB as well raises).

But there will be perhaps a detection mechanism necessary for detecting the real memory limit for integrated vulkan devices. Those likely might have small limits anyway, but what about integrated GPUs on machines with > 16 GB RAM, aka larger amounts ?
2023-05-22 16:48:55 +02:00
Narr the Reg 60ba48c5e2 input_common: Implement amiibo writting 2023-05-21 21:09:20 -06:00
Danila Malyutin 6ab723eace Add support for deinterlaced videos playback
This is a follow up to #10254 to improve the playback of cut scenes in Layton's Mystery Journey.
It uses ffmpeg's yadif filter for deinterlacing.
2023-05-22 01:43:44 +04:00
GPUCode 7732ce8a92 vk_master_semaphore: Move fence wait on separate thread 2023-05-20 19:23:53 +03:00
german77 7a3b44abc8 input_common: Map motion with relative values not absolute ones 2023-05-19 21:19:29 -06:00
bunnei ea0d8c4119 Merge pull request #10344 from german77/pro-amiibo
input_common: Fix pro controller amiibo support
2023-05-18 18:10:38 -07:00
Liam f532faa5c3 renderer_vulkan: remove wrong constexpr 2023-05-18 18:01:01 -04:00
Kelebek1 ba0d258a3f Smooth out the DSP callback by adding a 5ms wait time limit 2023-05-18 13:03:32 +01:00
lat9nq 6597d2a5d3 vulkan_device: Disable VK_KHR_push_descriptor on ANV
Mesa commit ff91c5ca42bc80aa411cb3fd8f550aa6fdd16bdc breaks
VK_KHR_push_descriptor usage on ANV drivers 22.3.0, so disable it
and allow games to boot.
2023-05-17 22:19:57 -04:00
bunnei de9a79402d Merge pull request #10262 from liamwhite/depth-clamp
vulkan_common: disable depth clamp dynamic state for older radv
2023-05-17 12:19:03 -07:00
Narr the Reg e0d140581b input_common: Fix pro controller amiibo support 2023-05-16 18:37:22 -06:00
liamwhite 12a4dbe8f1 Merge pull request #10217 from Kelebek1/clear_value
Use the rendertarget format of the correct RT rather than the first valid
2023-05-16 10:06:30 -04:00
liamwhite d0244da5bf Merge pull request #10107 from grimkor/allow-fully-customised-hotkeys
Allow fully customised controller hotkeys
2023-05-16 10:06:15 -04:00
liamwhite c8356ee137 Merge pull request #10181 from lat9nq/intel-compute-toggle
configure_graphics: Add option to enable compute pipelines for Intel proprietary
2023-05-15 12:05:24 -04:00
liamwhite f3223a5238 Merge pull request #10234 from Kelebek1/clouds_depth
Fix Tears of the Kingdom flickering clouds and depths geometry.
2023-05-15 12:03:31 -04:00
liamwhite 896bf929d9 Merge pull request #10249 from FernandoS27/sorry-i-am-late
Buffer Cache: Clear sync code.
2023-05-15 12:03:25 -04:00
liamwhite cee8ef154e Merge pull request #10254 from danilaml/fix-h264-decode
Fix missing pic_order_present_flag in h264 header
2023-05-15 12:03:14 -04:00
liamwhite 2f464411e6 Merge pull request #10265 from german77/amiibo-lag
input_common: Make amiibo scanning less demanding
2023-05-15 12:03:08 -04:00
liamwhite 57e4acaa57 Merge pull request #10294 from german77/vibration_span
service: hid: Use span instead of vector reference
2023-05-15 12:03:00 -04:00
german77 5e95870b1f service: hid: Use span instead of vector reference 2023-05-14 18:07:04 -06:00
Fernando Sahmkow 525cb91e3b Buffer Cache: Clear sync code. 2023-05-15 01:50:21 +02:00
liamwhite 836b8e1d64 Merge pull request #10288 from liamwhite/vram-limits
vulkan_device: reserve extra memory to prevent swaps
2023-05-14 17:02:15 -04:00
Liam 41353d738a vulkan_device: reserve extra memory to prevent swaps 2023-05-14 16:49:59 -04:00
german77 62d019dd72 input_common: Make amiibo scanning less demanding 2023-05-14 09:04:37 -06:00
Liam b10b8b7a57 vulkan_common: fix incompatible property flags 2023-05-14 01:13:11 -04:00
Danila Malyutin bed7daa987 Use TARGET_FILE_DIR generator expression
Use $<TARGET_FILE_DIR:...> where appropriate instead of trying to guess where the binary will end up.
2023-05-13 23:58:17 +04:00
Liam 50b42ab980 vulkan_common: disable depth clamp dynamic state for older radv 2023-05-13 00:37:17 -04:00
Fernando S 789be8368f Merge pull request #10244 from liamwhite/lower-upper
time: implement ContinuousAdjustmentTimePoint
2023-05-13 03:51:05 +02:00
Fernando S 1f2c5e89ee Merge pull request #10243 from Kelebek1/red_dot
Correctly track render target index in the framebuffer for image aspects
2023-05-13 03:50:31 +02:00
bunnei ad99f6eccc Merge pull request #10237 from liamwhite/cache-storage
fs: stub cache storage
2023-05-12 16:42:17 -07:00
Danila Malyutin 84df6eb7f9 Fix missing pic_order_present_flag in h264 header
Fixes #9635
2023-05-12 22:30:59 +04:00
Liam 78b97867cb time: implement ContinuousAdjustmentTimePoint 2023-05-11 21:05:27 -04:00
Kelebek1 8a5db1aeff Correctly track RT indexes for image aspect lookup during clears 2023-05-12 01:40:21 +01:00
Liam 7e3c5fa38a fs: adjust future save path 2023-05-11 17:30:30 -04:00
Liam 1fc6519671 am: stub CreateCacheStorage 2023-05-11 17:26:02 -04:00
Liam 6bee9352b7 fs: stub cache storage and fix params alignment 2023-05-11 17:23:28 -04:00
Liam c59b0c9715 nvnflinger: fix Parcel serialization 2023-05-11 17:09:19 -04:00
Liam b929ebf49e nvnflinger: fix producer slot fence init 2023-05-11 17:08:14 -04:00
Kelebek1 2e478a66cf Fix Tears of the Kingdom flickering clouds and depths. 2023-05-11 19:25:24 +01:00
liamwhite 4838605114 Merge pull request #10132 from Kelebek1/fermi_blit2
Allow Fermi blit accelerate to work without images in cache
2023-05-11 10:45:59 -04:00
liamwhite 855502e669 Merge pull request #10216 from Kelebek1/buffer_cache_region_checks
Swap order of checking/setting region modifications in the buffer_cache
2023-05-11 10:45:47 -04:00
Kelebek1 fc6c77f7ae Allow Fermi blit accelerate to add src/dst to the cache if they don't exist already. Use ScratchBuffers in the software blit path. 2023-05-11 06:42:38 +01:00
grimkor ba492a616d Allow fully customisable controller hotkeys 2023-05-10 19:28:11 +01:00
Liam 66732f3e22 renderer_vulkan: separate guest and host compute descriptor queues 2023-05-10 13:46:48 -04:00
liamwhite c6ac5d9d74 Merge pull request #10207 from german77/amiibo_cheater
service: nfp: Allow to load with a different amiibo id
2023-05-10 10:25:48 -04:00
Narr the Reg 4c16baf028 Merge pull request #10119 from marius851000/improved_non_hd_feeback
Attempt at improving HD Rumble emulation
2023-05-09 22:59:32 -06:00
Narr the Reg cc610d369c service: nfc: Seed all random values 2023-05-09 17:54:07 -06:00
german77 e43d1c20d5 service: nfp: Allow to load with a different amiibo id 2023-05-09 17:51:59 -06:00
Kelebek1 b72b1f0a4e Use the rendertarget format of the correct RT rather than the first valid 2023-05-09 22:13:15 +01:00
Kelebek1 05dcdf5793 Swap order of checking/setting region modifications in the buffer_cache 2023-05-09 20:21:08 +01:00
liamwhite 0365c544c5 Merge pull request #10183 from liamwhite/mods
vfs_vector: avoid n^2 lookup in layeredfs building
2023-05-09 09:47:36 -04:00
liamwhite a6dbefe99e Merge pull request #10203 from german77/calibration
core: hid: Allow to calibrate gyro sensor
2023-05-09 09:47:29 -04:00
liamwhite 53f6273e15 Merge pull request #10206 from FernandoS27/astc-3d
Texture Cache: Fix 3D ASTC textures
2023-05-09 09:47:22 -04:00
german77 5d49fffd67 input_common: Fix nfc detection for joycons 2023-05-09 00:32:53 -06:00
Fernando Sahmkow a1317c3a6e Texture Cache: Fix ASTC textures 2023-05-09 02:42:10 +02:00
Jan Beich 5a4e361862 qt_common: consistently ifdef QPlatform after 17507c4849
src/yuzu/qt_common.cpp:45:33: error: member access into incomplete type 'QPlatformNativeInterface'
    wsi.display_connection = pni->nativeResourceForWindow("display", window);
                                ^
/usr/include/qt6/QtGui/qguiapplication.h:20:7: note: forward declaration of 'QPlatformNativeInterface'
class QPlatformNativeInterface;
      ^
src/yuzu/qt_common.cpp:47:42: error: member access into incomplete type 'QPlatformNativeInterface'
        wsi.render_surface = window ? pni->nativeResourceForWindow("surface", window) : nullptr;
                                         ^
/usr/include/qt6/QtGui/qguiapplication.h:20:7: note: forward declaration of 'QPlatformNativeInterface'
class QPlatformNativeInterface;
      ^
2023-05-08 20:47:16 +00:00
Narr the Reg 5dd7748371 yuzu: Make 3d cube with joycon shape 2023-05-08 12:06:39 -06:00
Narr the Reg 63ab5ee887 core: hid: Allow to calibrate gyro sensor 2023-05-08 12:06:38 -06:00
lat9nq f7cd4ecf9b configure_graphics_advanced: Hide input compute toggle a little later
SetColoredTristate causes the setting to become visible as it calls
`show()` on it.
2023-05-08 12:32:56 -04:00
bunnei 0b1cffbd9c Merge pull request #10075 from Kelebek1/silence_nifm_spam
Silence network spam
2023-05-07 17:45:32 -07:00
Liam 69b754f096 bootmanager: remove stop_token header 2023-05-07 19:20:09 -04:00
liamwhite 11e88239ec Merge pull request #10195 from german77/mutex
core: hid: Update motion on a better place
2023-05-07 19:06:10 -04:00
Liam 174bad7011 vfs_layered: avoid n^2 lookup in layeredfs building 2023-05-07 19:03:41 -04:00
german77 62acd50c0b core: hid: Update motion on a better place 2023-05-07 17:01:57 -06:00
Fernando Sahmkow 5fa8c8685e Texture cache: Only force flush the dma downloads 2023-05-07 23:46:12 +02:00
Fernando Sahmkow 8203f2d8e1 Buffer Cache: disable reactive flushing in it. 2023-05-07 23:46:12 +02:00
Fernando Sahmkow a7a63d119c Texture cache: reverse inmediate flush changes 2023-05-07 23:46:12 +02:00
Fernando Sahmkow 1a2ed85a28 Buffer cache: always use async buffer downloads and fix regression. 2023-05-07 23:46:12 +02:00
Fernando Sahmkow 134c14f089 Address feedback, add CR notice, etc 2023-05-07 23:46:12 +02:00
Fernando Sahmkow dffc48b942 Query cache: stop updating pages as it's not affected by cpu writes 2023-05-07 23:46:12 +02:00
Fernando Sahmkow 62295b5069 Settings: add option to enable / disable reactive flushing 2023-05-07 23:46:12 +02:00
Fernando Sahmkow f1aa574448 Texture cache: sync the first flush. 2023-05-07 23:46:12 +02:00
Fernando Sahmkow 6bc60f78d9 GPU: Add Reactive flushing 2023-05-07 23:46:12 +02:00
Liam b0c0344388 vfs_vector: avoid n^2 lookup in layeredfs building 2023-05-07 16:50:35 -04:00
bunnei 36a670a4c9 Merge pull request #10097 from german77/nfp_full
service: nfc: Merge device interfaces and create the device manager
2023-05-07 12:18:09 -07:00
liamwhite 28ed548196 Merge pull request #10081 from Kelebek1/copy_overlap_tick
Sort overlap_ids by modification tick before copy
2023-05-07 14:09:10 -04:00
liamwhite de45be2681 Merge pull request #10172 from Kelebek1/debug_validation_names
Log object names with debug renderer, add a GPU address to ImageViews
2023-05-07 14:09:03 -04:00
QGJ 5c66c9dec4 yuzu/applets/qt_profile_select: connect double-click to accept()
In the profile selection window:

Allow the user to start the game by double-clicking a profile to avoid having to additionally click the OK button. This avoids an unnecessary "step" to the start of the game...
2023-05-07 18:05:42 +02:00
Kelebek1 ac49a29b85 Fix address space allocator slow path to avoid OOB 2023-05-07 15:11:16 +01:00
bunnei 8be489f752 Merge pull request #10180 from german77/debug
input_common: Revert debugging changes
2023-05-06 22:26:53 -07:00
german77 5776810598 input_common: Revert debugging changes 2023-05-06 23:06:44 -06:00
lat9nq 409c6af0e4 yuzu-qt/config: Add option to disable compute on Intel
This option is only visible if an Intel GPU using the proprietary
driver is found during Vulkan device enumeration.

configure_graphics: More directly get driver id

Vulkan::Device does quite a bit more than we need just to see the
driver ID here.
2023-05-07 01:06:22 -04:00
lat9nq 98f6fbd31c vk_pipeline_cache: Use setting to disable intel compute 2023-05-07 01:06:22 -04:00
lat9nq 90f4126609 settings: Add enable compute pipelines
For the Intel proprietary driver's deficiencies.

settings: Restore compute option global state
2023-05-07 01:06:20 -04:00
bunnei 12c4c09b3f Merge pull request #10125 from lat9nq/vsync-select
configuration: Expose separate swap present modes
2023-05-06 21:55:39 -07:00
bunnei fdb3652f12 Merge pull request #10174 from german77/motriod
input_common: Add experimental motion to button
2023-05-06 21:40:20 -07:00
liamwhite 0018e53745 Merge pull request #10162 from lat9nq/sdl-remove-old
yuzu-sdl,audio_core: Remove antiquated warning ignore
2023-05-06 23:10:09 -04:00
liamwhite 1911b50d34 Merge pull request #10167 from german77/motion_preview
yuzu: Add motion preview to controller input
2023-05-06 23:09:55 -04:00
Roni Kirla 5d02eca7c9 Fix read access violation 2023-05-07 00:13:33 +03:00
german77 7b41e71877 input_common: Add experimental motion to button 2023-05-05 22:49:56 -06:00
Narr the Reg 2a36d667c9 service: nfc: Merge device interfaces and create the device manager 2023-05-05 22:02:59 -06:00
Kelebek1 d43a18a6ef Log object names with debug renderer, add a GPU address to ImageViews 2023-05-06 04:48:32 +01:00
Narr the Reg 53ec77c62c input_common: Add property to invert an axis button 2023-05-05 17:18:35 -06:00
Narr the Reg 94c16132ba yuzu: Add motion preview to controller input 2023-05-05 13:53:38 -06:00
bunnei 7ef5ca4f59 Merge pull request #10159 from german77/home_screenshot
core: hid: Fix state of capture and home buttons
2023-05-05 12:02:15 -07:00
marius david f5827baefe Improve emulation of HD Rumble 2023-05-05 19:30:40 +02:00
lat9nq be5eee647e yuzu-sdl,audio_core: Remove antiquated warning ignore
Issue was fixed a long time ago, both by SDL2 and in yuzu by including
SDL2 as a system library.
2023-05-05 03:48:28 -04:00
german77 dbef75ecdd core: hid: Fix state of capture and home buttons 2023-05-04 22:36:59 -06:00
liamwhite fceef23303 Merge pull request #10128 from Kelebek1/audren_terminate
Wait for the terminate event before destroying a system instance
2023-05-04 14:44:09 -04:00
liamwhite 64e46e723a Merge pull request #10145 from Kelebek1/code_size
Fix shader code resize to use word size rather than byte size
2023-05-04 14:44:02 -04:00
Fernando S c9a31835b6 Merge pull request #10153 from FernandoS27/a-quickie-fixie
Memory manager: Fix possible softlock
2023-05-04 03:56:53 +02:00
Fernando S 9f2dd6f328 Merge pull request #10154 from liamwhite/optimistic
settings: remove pessimistic flushing
2023-05-04 01:55:51 +02:00
bunnei edac11f6c8 Merge pull request #10142 from FernandoS27/missing-astc
GPU: implement missing ASTC
2023-05-03 16:49:27 -07:00
Liam f50b8635b3 settings: remove pessimistic flushing 2023-05-03 18:52:42 -04:00
Fernando Sahmkow d9b4380457 Memory manager: Fix possible softlock 2023-05-04 00:15:21 +02:00
lat9nq fa8da0ded9 qt_common: Remove yuzu prefix 2023-05-03 18:11:53 -04:00
bunnei 6f10c3fcd8 Merge pull request #10088 from FernandoS27/100-gelato-flavor-test-builds-later
Y.F.C Implement Asynchronous Fence manager and Rework Query async downloads
2023-05-03 15:10:22 -07:00
bunnei dd78368441 Merge pull request #10117 from liamwhite/sync-register
kernel: match calls to Register and Unregister
2023-05-03 09:07:19 -07:00
Fernando Sahmkow 94ecd260e3 GPU: implement missing ASTC 2023-05-03 11:33:28 -04:00
liamwhite 58b38d1761 Merge pull request #10151 from GPUCode/no-softlocks-please
Fix softlocks when disabling async present
2023-05-03 10:54:24 -04:00
Morph 2f29ad9d7e Merge pull request #10144 from liamwhite/dont-turbo
vulkan: disable turbo when debugging tool is attached
2023-05-03 10:53:03 -04:00
Morph 5e21f326b2 Merge pull request #10143 from liamwhite/fruit-company-moment
video_core: fix build on Apple Clang
2023-05-03 10:52:56 -04:00
Morph 069637f4ff Merge pull request #10124 from liamwhite/pebkac
settings: rename extended memory layout to unsafe, move from general to system
2023-05-03 10:52:45 -04:00
GPUCode 40fa53e6d7 vk_present_manager: Fix softlocks when disabling async present 2023-05-03 07:50:10 +03:00
lat9nq 047ee6733f configure_graphics: No there isn't a hyphen in VSync
Most sources seem to suggest VSync and not V-Sync
2023-05-02 21:52:43 -04:00
lat9nq 41e7765eb5 configure_input_player: Add missing include
Cleaning up includes in bootmanager and configure_graphics has exposed a
missing include here.
2023-05-02 21:52:43 -04:00
lat9nq e382ab8058 configure_graphics: Clean up includes [IWYU] 2023-05-02 21:52:43 -04:00
lat9nq a4322198be bootmanager: Clean up includes [IWYU]
bootmanager: Remove system-specific headers

IWYU can be too complete I suppose.
2023-05-02 21:52:43 -04:00
lat9nq 40108e515b configure_graphics: Actively find present modes
When Vulkan devices are enumerated, this also determines the available
present modes for each device, maps them to a vector, and gives
those options to the user.
OpenGL options are limited to On/Off.

Required creating a VkSurfaceKHR during device enumeration, which
may or may not be desireable. For the sake of a less confusing UI.

Also fixes a bug where if a graphics device disappears on the host, we
don't try and select the non-existant devices.

configure_graphics: Remove vsync runtime lock for Vulkan

configure_graphics: Recommend Mailbox present mode

configure_graphics: Fix type-limits warning

configure_graphics: Clean up includes

configure_graphics: Add tooltip
2023-05-02 21:52:43 -04:00
lat9nq cef9dca85f vk_swapchain: Use certain modes for unlocked
Uses mailbox, then immediate for unlocked framerate depending on
support for either. Also adds support for FIFO_RELAXED.

This function now assumes vsync_mode was originially configured to a value
that the driver supports.

vk_swapchain: ChooseSwapPresentMode determines updates

Simplifies swapchain a bit and allows us to change the present mode
during guest runtime.

vk_swapchain: Fix MSVC error

vk_swapchain: Enforce available present modes

Some frontends don't check the value of vsync_mode before comitting it.
Just as well, since a driver update or misconfiguration could problems
in the swap chain.

vk_swapchain: Silence warnings

Silences GCC warnings implicit-fallthrough and shadow, which apparently
are not enabled on clang.
2023-05-02 21:52:43 -04:00
lat9nq 3573979d27 bootmanager: Remove inaccurate switch
Those vulkan settings do not correspond 1:1 to the swap intervals that
they set for OpenGL, so remove it.

bootmanager: Add missing include

I didn't add this log why did it break
2023-05-02 21:51:30 -04:00
lat9nq 17507c4849 qt_common: Move window info function out of bootmanager
Function is useful outside of bootmanager, so put it in a common place.

qt_common: Add missing include

qt_common: Add some newlines

qt_common: Add trailing newline

qt_common: Add trainline newline
2023-05-02 21:51:30 -04:00
lat9nq ff2197130f vulkan_surface: Pass only window info for surface creation
We don't need the whole EmuWindow when creating a surface,
and it creates onerous requirements outside of typical usage for
creating a surface elsewhere.
2023-05-02 21:51:30 -04:00
lat9nq 2cca81495e settings: Enable FIFO relaxed
Not entirely sure if we need this, but there's also no reason not to
support it.

settings: Give VSyncMode values
2023-05-02 21:51:30 -04:00
lat9nq bd25f22842 configure_graphics: Fix another typo 2023-05-02 21:51:29 -04:00
lat9nq 7bffe8ce02 telemetry_session: Make translate function static
Addresses review feedback

Co-authored-by: Lioncash <mathew1800@gmail.com>
2023-05-02 21:51:29 -04:00
lat9nq 178a4e3e2d bootmanager: Return value in impossible case
The setting is ranged, so this return statement is unreachable.
But GCC can't tell I guess.
2023-05-02 21:51:29 -04:00
lat9nq 01d93d094f configure_graphics: Fix typo 2023-05-02 21:51:29 -04:00
lat9nq a0f34fb0a1 default_ini: Update V-Sync description
default_ini: Update vsync text

default_ini: Add tooltip from configure_graphics
2023-05-02 21:51:29 -04:00
lat9nq 581d8f34ee configuration: Expose separate swap present modes
Previously, yuzu would try and guess which vsync mode to use given
different scenarios, but apparently we didn't always get it right. This
exposes the separate modes in a drop-down the user can select.

If a mode isn't available in Vulkan, it defaults to FIFO.
2023-05-02 21:51:29 -04:00
bunnei 35b4802239 Merge pull request #9973 from GPUCode/async-present
Implement asynchronous presentation
2023-05-02 17:54:57 -07:00
Kelebek1 3fc1615e28 Fix code resize to use word size rather than byte size 2023-05-02 23:52:21 +01:00
liamwhite 28126a6754 Merge pull request #10133 from lat9nq/clang-shadow-and-fallthrough
CMakeLists: Enable more checks on Clang
2023-05-02 18:18:46 -04:00
liamwhite 7b7531a7f3 Merge pull request #10130 from liamwhite/keys
qt: warn on inoperable keys
2023-05-02 18:17:24 -04:00
liamwhite ccea9408c7 Merge pull request #10123 from Kelebek1/sample_mask
Define SampleMask as an array
2023-05-02 18:17:15 -04:00
Liam 44b15592e8 vulkan: disable turbo when debugging tool is attached 2023-05-02 18:14:57 -04:00
Liam 2438a0b087 video_core: fix build on Apple Clang 2023-05-02 18:05:30 -04:00
lat9nq 13a0b058bb CMake: Enable type limits on Clang 2023-05-02 02:07:36 -04:00
lat9nq bcb8e1491a CMakeLists: Enable checks on Clang
Enables shadow-uncaptured-locals and implicit-fallthrough for Clang.
implicit-fallthrough is not enabled by default in -Wall or -Wextra, and
shadow-uncaptured-local doesn't seem to be enabled by default by
-Wshadow, even though GCC has both of these by their respective cases.
2023-05-02 01:57:22 -04:00
GPUCode d56a40606c vk_present_manager: Add toggle for async presentation 2023-05-01 23:13:24 +03:00
GPUCode f9514cbc51 vk_blit_screen: Recreate FSR when frame is recreated
* Depends on the layout dimentions and thus should be recreated as well
2023-05-01 23:13:24 +03:00
GPUCode 373cfc636c renderer_vulkan: Fix crashing when updating descriptors
* During pipeline configure the function would acquire some payload space from the descriptor update queue,
  write the descriptor data on the GPU thread and give the scheduler a pointer to the beginning of said space to update it later.
  TickFrame resets the payload cursor, used to track acquires, back to the beginning of the buffer.
  This wasn't a problem before since WaitWorker was called at the end of the frame but now it is.
  If a frame writes to a cursor before the scheduler catches up, it will crash

* To fix this the payload buffer has been increased to account for the in flight frames that are allowed to exist now.
  TickFrame will switch between the payload spaces instead of resetting
2023-05-01 23:13:24 +03:00