Commit Graph

22608 Commits

Author SHA1 Message Date
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