Commit graph

25159 commits

Author SHA1 Message Date
GPUCode
e371511e3d cmake: Add option to fetch validation layer binary on android 2023-09-08 23:13:52 +03:00
Charles Lombardo
f6879dce96 Merge pull request #11420 from t895/long-install-fix
android: Fix game content installer
2023-08-30 23:44:35 -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
db7cdf7fea Merge pull request #11416 from t895/shortcuts
android: Support dynamic app shortcuts
2023-08-30 17:43:10 -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
liamwhite
ac1bdbb0ea Merge pull request #11419 from FearlessTobi/hwopus-2
hwopus: Implement GetWorkBufferSizeExEx
2023-08-30 14:16:39 -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
a4dbe9fd4b Merge pull request #11406 from german77/sdl2-28-2
externals: Update SDL to 2.28.2
2023-08-29 09:27:54 -04:00
liamwhite
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
liamwhite
1e3766c5e8 Merge pull request #11390 from FearlessTobi/hwopus-multi
hwopus: Implement OpenHardwareOpusDecoderForMultiStreamEx and DecodeInterleavedForMultiStream
2023-08-28 19:14:44 -04:00
liamwhite
837869a225 Merge pull request #11399 from liamwhite/cubeb-latency
audio: allow more latency in cubeb initialization
2023-08-28 19:14:33 -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
german77
c0e3a879f1 externals: Update SDL to 2.28.2 2023-08-27 21:08:28 -06: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
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
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
d525e4b062 Merge pull request #11350 from BenjaminHalko/button-padding
ui: Added padding to the reset button
2023-08-26 19:14:30 -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
liamwhite
cb8acaf51e Merge pull request #11338 from comex/warning-fixes-august-2023
Warnings cleanup for GCC 13 and Clang 16
2023-08-26 19:14:17 -04:00
Kelebek1
334a0eaa9c Mark decompiled macros as decompiled on dump, dump shaders after translation 2023-08-25 21:47:47 -04:00
Liam
f80e7b3136 Skip additional mbedcrypto warnings options on MSVC 2023-08-25 19:23:34 -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