Commit graph

22324 commits

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

gl_device: Detect Mesa to disable their ASTC

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

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

gl_device: Internalize Intel DG detection
2023-08-05 15:19:16 -04:00
german77 089e385944 service: olsc: Implement IOlscServiceForSystemService ITransferTaskListController interfaces for QLaunch 2023-08-05 11:47:51 -06:00
german77 0d470b57ed service: pctl: Implement functions needed for QLaunch 2023-08-05 11:27:41 -06:00
liamwhite 4533769f7f
Merge pull request #11212 from Kelebek1/shader_stuff
Fix various misc pipeline/shader things
2023-08-05 12:58:39 -04:00
liamwhite 00d9a9c44e
Merge pull request #11210 from german77/settings
service: set: Implement system settings for Qlaunch
2023-08-05 12:58:32 -04:00
liamwhite 35bdd5fff3
Merge pull request #11208 from german77/interface
service: am: Fix wrong interface ILibraryAppletSelfAccessor
2023-08-05 12:58:20 -04:00
Narr the Reg 7707768f80 service: set: Add more system settings and address comments 2023-08-04 17:20:40 -06:00
Kelebek1 dfb7fc8293 Fix shader dumps with nvdisasm
skip fragment shaders when rasterizer is disabled
initialize env_ptrs
2023-08-03 15:30:27 +01:00
Narr the Reg 4bd4a95d84 service: set: Implement system settings for Qlaunch 2023-08-02 22:33:42 -06:00
Ameer J cd80cbc420 vulkan_device: Fix subgroup_size_control detection on Vulkan 1.3 2023-08-02 20:45:03 -04:00
Ameer J c7c44dc238 vulkan_device: Fix VK_EXT_subgroup_size_control detection 2023-08-02 19:25:14 -04:00
Narr the Reg dd1cbd9c56 service: am: Fix wrong interface 2023-08-02 13:00:30 -06:00
liamwhite 096644c01c
Merge pull request #11202 from abouvier/vulkan-config
vulkan: centralize config
2023-08-02 14:26:03 -04:00
liamwhite fca7d975fd
Merge pull request #10839 from lat9nq/pgc-plus
general: Reimplement per-game configurations
2023-08-02 14:25:52 -04:00
lat9nq 32b4d63a5b config(qt): Fix name of network category
Turns out the network interface is in the Services category. Can't wait
get rid of this whole config.

Addresses yuzu-emu/yuzu/issues/11205
2023-08-02 12:21:43 -04:00
lat9nq 09e265c116 config(qt): Use qt_config directly to read config
ReadSetting with the default is a convenience function reading
settings,  not for use in an internal environment. It tries to manage
the default value of a setting.
2023-08-02 12:20:19 -04:00
Liam d6d43e11a3 vulkan_device: disable EDS3 blending on all AMD drivers 2023-08-01 20:46:05 -04:00
Alexandre Bouvier 9d6f8e88b2 vulkan: centralize config 2023-08-02 00:05:14 +02:00
Morph 9bca45aa15 audren_u: Fix parameter alignment
The reduction in size from 0x38 to 0x34 caused the parameter to be misaligned. Skipping 1 word fixes this.
2023-07-31 18:40:16 -04:00
liamwhite 2a9eab5e1b
Merge pull request #11188 from abouvier/vma-fix
vma: enable options everywhere
2023-07-31 15:28:35 -04:00
liamwhite 083fb8a15f
Merge pull request #11181 from Kelebek1/audrenparaminternal
Fix AudioRendererParameterInternal's size
2023-07-31 15:28:24 -04:00
liamwhite 06fa13a014
Merge pull request #11169 from GPUCode/desc-stuff
vk_descriptor_pool: Disallow descriptor set free
2023-07-31 09:11:19 -04:00
liamwhite 1ed6e3e51d
Merge pull request #11173 from Morph1984/atleast_nanosecond_precision
wall_clock: Increase precision requirements
2023-07-31 09:11:11 -04:00
liamwhite e2623d64de
Merge pull request #11186 from lat9nq/tz-gen-once
tz_content_man: Generate the time zone binary once
2023-07-31 09:11:01 -04:00
Alexandre Bouvier ed3f9bab11 vma: enable options everywhere 2023-07-31 13:01:21 +02:00
Moonlacer deafa92122 Formatting fix 2023-07-30 23:02:07 -05:00
Moonlacer c6458970ad Match log warning 2023-07-30 22:50:22 -05:00
lat9nq eaf2ab5289 tz_content_man: Generate the time zone binary once
Fixes a memory leak with time zone binaries accumulating on theirselves.
2023-07-30 12:55:19 -04:00
lat9nq 7aa848080d shared_widget: Only save global settings as needed
Fixes a potential but not reproduced issue where the custom config
is being applied to the global config.
2023-07-30 12:26:55 -04:00
lat9nq 55c0b55d1d config(qt): Write the UiGeneral category 2023-07-30 12:09:32 -04:00
Moonlacer a4a106bb25 Formatting fix 2023-07-30 04:29:51 -05:00
Moonlacer f4e5d07619 Address feedback and change log warning 2023-07-30 04:01:29 -05:00
Kelebek1 70f37be9b9 Fix AudioRendererParameterInternal's size 2023-07-30 06:50:59 +01:00
Moonlacer 36d48cef50
Revert "Revert "Blacklist EDS3 blending from new AMD drivers"" 2023-07-30 00:21:51 -05:00
lat9nq d90c622549 Merge branch 'pgc-plus' of github.com:lat9nq/yuzu into pgc-plus 2023-07-29 13:23:14 -04:00
lat9nq 05c8063ac1 config(qt): Fix generic read setting
Previously was not respecting whether the setting was default.
2023-07-29 13:23:06 -04:00
liamwhite 689dc4a17b
Merge pull request #11155 from liamwhite/memory3
memory: check page against address space size
2023-07-28 09:29:21 -04:00
liamwhite 9352a0f2e6
Merge pull request #11156 from 8bitDream/localize
android: Only label language with language
2023-07-28 09:29:11 -04:00
Morph bb4e676155 wall_clock: Increase precision requirements
We are providing a conversion to nanoseconds in NativeClock, which is more precise than the GPU tick.
2023-07-27 18:40:56 -04:00
GPUCode 8c2411da29 vk_descriptor_pool: Disallow descriptor set free 2023-07-27 18:08:56 +03:00
Moonlacer 4007142b91
Revert "Blacklist EDS3 blending from new AMD drivers" 2023-07-26 15:02:48 -05:00
liamwhite a1c355051e
Merge pull request #11128 from german77/discord
yuzu: Replace httplib with QtNetworkRequest
2023-07-26 11:04:57 -04:00
liamwhite d3da1e6517
Merge pull request #10990 from comex/ubsan
Fixes and workarounds to make UBSan happier on macOS
2023-07-26 10:33:28 -04:00
liamwhite 6ffcc3d5d2
Merge pull request #11142 from german77/avoid_crash
yuzu: Avoid reading broken games
2023-07-26 10:33:14 -04:00
Morph 01b379fe20 Address feedback 2023-07-26 00:41:24 -04:00
lat9nq 195403c87c (ui)settings: Add more runtime_modifiable settings 2023-07-25 23:14:13 -04:00
lat9nq 1bc0b673aa backend: Remove usage of explicit operator overload
Causes a crash on MSVC from a race condition on application quit.

Intended to address yuzu-emu/yuzu/issues/11137
2023-07-25 22:53:58 -04:00
lat9nq 397333b2d5 settings: Correct Linkage member impl location 2023-07-25 15:57:55 -04:00
Abandoned Cart e2ea46f6ef android: Only label language with language 2023-07-25 10:38:30 -04:00
Liam 07f71e2620 memory: check page against address space size 2023-07-25 09:51:06 -04:00
lat9nq b1716a9e14 settings: Set GPU as default ASTC decoder 2023-07-24 16:28:13 -04:00
liamwhite 18000df5e9
Merge pull request #11095 from liamwhite/memory2
memory: cleanup
2023-07-24 13:47:11 -04:00
liamwhite bb0edb53ae
Merge pull request #11135 from liamwhite/getaddrinfo
core: implement GetGaiStringErrorRequest, IContextRegistrar
2023-07-24 13:47:02 -04:00
german77 a0ed0e4e10 yuzu: Avoid reading broken games 2023-07-24 08:59:14 -06:00
lat9nq ab2921121e shared_widget: Determine default request earlier
Fixes a bug where a restore button could be created for an unmanaged
widget.
2023-07-23 17:08:25 -04:00
lat9nq f84e7b4656 settings_common: Document specializations 2023-07-23 16:21:08 -04:00
Liam dad0d076ee ssa_rewrite_pass: use proper maps 2023-07-23 11:38:01 -04:00
Liam 3e3294e1c2 core: implement GetGaiStringErrorRequest, IContextRegistrar 2023-07-22 23:29:45 -04:00
lat9nq fc1bb93b01 shared_widget: Use QRegularExpression 2023-07-22 15:07:34 -04:00
lat9nq fb7da1fa11 config: Read the Network category 2023-07-22 14:50:32 -04:00
Liam 9f3f615e05 core: reduce TOCTTOU memory access 2023-07-22 11:19:29 -04:00
Liam d144168442 memory: minimize dependency on process 2023-07-22 11:19:29 -04:00
liamwhite b1aed2c5b7
Merge pull request #11094 from liamwhite/get
kernel: misc cleanup of page table accessors
2023-07-22 11:17:36 -04:00
liamwhite 0ea138fb5b
Merge pull request #11098 from GPUCode/texel-buffers
buffer_cache: Increase number of texture buffers
2023-07-22 11:17:27 -04:00
lat9nq 85ed10f31f configure_audio/cpu: Sort settings
Was producing out of order settings as a result of the switch to vectors
2023-07-22 00:42:15 -04:00
bunnei 482c957f5d
Merge pull request #11113 from liamwhite/nsd1
nsd: add GetApplicationServerEnvironmentType
2023-07-21 21:24:36 -07:00
lat9nq 33d118509a configure_dialog: Focus the button box on start
Without this, the Reset All Settings button would be selected by default
2023-07-21 23:56:01 -04:00
lat9nq 1d4f813c6a qt/configuration: Use deleteLater 2023-07-21 23:25:22 -04:00
lat9nq 17b9c1e171 common,qt-config: Remove usage of forward_list 2023-07-21 23:09:09 -04:00
Liam 05bc024260 core: remove remaining uses of dynamic_cast 2023-07-21 19:37:29 -04:00
Liam 4bee333d84 general: reduce use of dynamic_cast 2023-07-21 19:22:14 -04:00
Narr the Reg c067046387 yuzu: Replace httplib with QtNetworkRequest 2023-07-21 16:53:06 -06:00
liamwhite 8927f016e1
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 2911988b85 settings_common: Use a vector in category linkage
Improve storage requirements.
2023-07-21 10:56:55 -04:00
lat9nq ffb384463f settings: Remove sorting from log
Unecessary, and would run every time the settings are logged.
2023-07-21 10:56:55 -04:00
lat9nq b54c3fba68 configure_system: Use lambda template to group settings 2023-07-21 10:56:55 -04:00
lat9nq b55a763618 config-android: Update memory layout member name 2023-07-21 10:56:55 -04:00
lat9nq 8e91554e11 k_system_control: Always return some memory size 2023-07-21 10:56:55 -04:00
lat9nq 3211623192 common: Move global configuration state modifiers back to settings 2023-07-21 10:56:55 -04:00
lat9nq b02e7eea78 settings_setting: Fix typo 2023-07-21 10:56:55 -04:00
lat9nq 1e093767a8 common,configure_system: Rename method to GetCategory
Fixes essentially a shadowing issue.
2023-07-21 10:56:55 -04:00
lat9nq 267f3c7905 settings: Cleanup
Addresses review feedback

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

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

general: Partial audio config implmentation

configure_audio: Implement ui generation

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

general: Partial audio config implmentation

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

settings: Handle empty string, remove redundant category

settings: Rename Input to Controls, FS to DataStorage

settings: Fix Controls groups information

settings: Move use_docked_mode to System (again)

settings: Document

settings: Add type identification function

settings: Move registry into values

settings: Move global_reset_registry into values

settings: Separate AdvGraphics from Renderer

settings: More document

squash

settings: Use linkage object

uisettings: Move registry into settings

Probably wont build without

uisettings: Use settings linkage object

config: Load settings with a map

Uses the new all_settings vector to load settings.

qt-config: Rename settings category

qt config: Rename to read category

config: Read/write contols category with for_each

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

qt-config: Use new settings registry

qt-config: Read/write advgrphics

qt-config: Use settings linkage object

yuzu_cmd: Load setting off of vector

cmd-config: Finish settings rename

config: Read controls settings group with for_each

cmd/config: Move registry into values

cmd: Read adv graphics

cmd-config: Use settings linkage object
2023-07-21 10:56:07 -04:00
lat9nq e7543e8b84 uisettings: Fix typings 2023-07-21 10:56:07 -04:00
lat9nq 4133165607 settings,core,config_sys: Remove optional type from custom_rtc, rng_seed
core: Fix MSVC errors
2023-07-21 10:56:07 -04:00
lat9nq 5ccfaf0517 settings: Pool SetGlobal functions 2023-07-21 10:56:07 -04:00
lat9nq 5cffa34288 settings,video_core: Consolidate ASTC decoding options
Just puts them all neatly into one place.
2023-07-21 10:56:07 -04:00
liamwhite c0202da9ac
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 014ca709c9
Merge pull request #11116 from lat9nq/clang-shadowing
general: Silence -Wshadow{,-uncaptured-local} warnings
2023-07-19 17:14:55 -04:00
liamwhite 86bbfe3b1d
Merge pull request #11114 from Kelebek1/warnings
Mark SetIdleTimeDetectionExtension logging as debug
2023-07-19 17:14:45 -04:00
lat9nq 4ecedc4991 vk_buffer_cache: Format 2023-07-18 19:56:20 -04:00
lat9nq 71b3b2a2f0 general: Silence -Wshadow{,-uncaptured-local} warnings
These occur in the latest commits in LLVM Clang.
2023-07-18 19:31:35 -04:00
Kelebek1 80cd67ed7b Debug SetIdleTimeDetectionExtension 2023-07-18 10:16:14 +01:00
Liam 8f1d48fda6 nsd: add GetApplicationServerEnvironmentType 2023-07-17 21:34:23 -04:00
Morph 16c238e4b9 ssl: Link with crypt32 for secure channel backend 2023-07-17 15:46:24 -04:00
Morph e0fb1d3d17 ssl: Reorder inclusions 2023-07-17 15:46:24 -04:00
Morph 5bbc3aef13 network: Forward declarations 2023-07-17 15:36:03 -04:00
Narr the Reg 54f150b70a service: nfc: Update Implementation to match with latest RE 2023-07-17 11:24:23 -06:00
liamwhite 5593bed08a
Merge pull request #10934 from abouvier/cmake-vma
cmake: allow using system VMA library
2023-07-17 10:42:41 -04:00