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
liamwhite
8750564bd2
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
2461c78e3f
Merge pull request #10912 from comex/ssl
...
Implement SSL service
2023-07-16 16:56:47 -04:00
Valeri Ochinski
50fe45f1e4
android: fix links to re-dumping guides
2023-07-16 20:22:27 +03:00
GPUCode
4347dd26c6
buffer_cache: Increase number of texture buffers
2023-07-15 23:09:58 +03:00
comex
d7c532d889
Fixes and workarounds to make UBSan happier on macOS
...
There are still some other issues not addressed here, but it's a start.
Workarounds for false-positive reports:
- `RasterizerAccelerated`: Put a gigantic array behind a `unique_ptr`,
because UBSan has a [hardcoded limit](https://stackoverflow.com/questions/64531383/c-runtime-error-using-fsanitize-undefined-object-has-a-possibly-invalid-vp )
of how big it thinks objects can be, specifically when dealing with
offset-to-top values used with multiple inheritance. Hopefully this
doesn't have a performance impact.
- `QueryCacheBase::QueryCacheBase`: Avoid an operation that UBSan thinks
is UB even though it at least arguably isn't. See the link in the
comment for more information.
Fixes for correct reports:
- `PageTable`, `Memory`: Use `uintptr_t` values instead of pointers to
avoid UB from pointer overflow (when pointer arithmetic wraps around
the address space).
- `KScheduler::Reload`: `thread->GetOwnerProcess()` can be `nullptr`;
avoid calling methods on it in this case. (The existing code returns
a garbage reference to a field, which is then passed into
`LoadWatchpointArray`, and apparently it's never used, so it's
harmless in practice but still triggers UBSan.)
- `KAutoObject::Close`: This function calls `this->Destroy()`, which
overwrites the beginning of the object with junk (specifically a free
list pointer). Then it calls `this->UnregisterWithKernel()`. UBSan
complains about a type mismatch because the vtable has been
overwritten, and I believe this is indeed UB. `UnregisterWithKernel`
also loads `m_kernel` from the 'freed' object, which seems to be
technically safe (the overwriting doesn't extend as far as that
field), but seems dubious. Switch to a `static` method and load
`m_kernel` in advance.
2023-07-15 12:00:28 -07:00
Liam
474db2d8da
kernel: reduce page table region checking
2023-07-14 22:33:10 -04:00
Liam
a85ce8ea56
k_process: PageTable -> GetPageTable
2023-07-14 21:43:15 -04:00
Tobias
04868ab9da
file_sys/content_archive: Detect compressed NCAs ( #11047 )
2023-07-12 23:17:18 +02:00
lat9nq
63a0a1f826
time_zone: Clean up includes
2023-07-12 03:03:03 -04:00
lat9nq
9e0d6f7d54
time_zone: Swap subtraction order
2023-07-12 03:02:45 -04:00
lat9nq
13755c0903
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
c3050c1b48
cmake: allow using system VMA library
2023-07-12 04:51:45 +02:00
bunnei
28598c9090
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
11cb4d88f0
Merge pull request #11070 from t895/home-setting-warning
...
android: Visualize disabled home options
2023-07-11 16:48:57 -07:00
Charles Lombardo
4b870b28e8
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
ce7c418e0c
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
169b198d08
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
833306bf5e
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
90d76333da
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
e32ce6cc69
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
79e289404b
Merge pull request #11055 from lat9nq/tzdb-catch-
...
settings: Catch runtime error from STL
2023-07-09 19:27:41 -04:00
Charles Lombardo
a6e467cd55
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
8a87a41f2d
Merge pull request #11063 from liamwhite/oops
...
arm_interface: correct breakpoint rewind condition
2023-07-09 16:24:49 -04:00
Liam
82568412f6
arm_interface: correct breakpoint rewind condition
2023-07-09 12:03:25 -04:00
lat9nq
1255196731
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
9ce5d39829
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
4540bcfaf7
k_server_session: translate special header for non-HLE requests
2023-07-08 01:01:49 -04:00
Martino Fontana
aa882cdaa8
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
45ea712d39
Merge pull request #10999 from Morph1984/fix-install-progress
...
main: Fix install progress calculation
2023-07-06 18:57:25 -04:00
liamwhite
95c5b715b1
Merge pull request #11031 from german77/zero
...
input_common: Avoid potential division by zero
2023-07-06 18:57:07 -04:00
liamwhite
8bf46f48f8
vfs_real: use open file size for getting size ( #11016 )
2023-07-06 23:43:53 +02:00
Morph
9d7671ec3b
main: Use 1_MiB as a constant for copy buffer size
2023-07-06 13:04:27 -04:00
Morph
5d0a051abb
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
4c84bce171
input_common: Avoid potential division by zero
2023-07-05 17:42:16 -06:00
lat9nq
302a735135
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
d8eb37fbec
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
ef7d44e243
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
f71140fbd9
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
f1cfd9c219
Fix ScratchBuffer moves
2023-07-04 16:02:58 +01:00
bunnei
1462db4694
video_core: vulkan_device: Disable timeline semaphore on Turnip, fix qcom version check.
2023-07-03 19:25:06 -07:00
bunnei
44af2e32a4
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
3c88547c74
Merge pull request #10943 from t895/stick-modifiers
...
android: Input overlay updates
2023-07-03 14:44:15 -07:00
bunnei
cef7aaa8ec
video_core: vulkan_device: Change to driver version check.
2023-07-03 14:25:06 -07:00
german77
b41006004b
android: Reintroduce launch mode as single top
2023-07-03 09:31:02 -06:00
gidoly
408a9cd50d
oops re open
2023-07-03 20:25:23 +09:00
zeltermann
d2b62ae401
Use toUtf8()
for string passed to DBus
2023-07-03 14:46:17 +07:00
german77
9cd698e8ad
service: nfc: Ensure controller is in the correct mode
2023-07-02 19:21:16 -06:00
Charles Lombardo
68f6f2671b
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
6f7cb69c94
Use spans over guest memory where possible instead of copying data.
2023-07-02 23:09:48 +01:00
liamwhite
95ceae40e6
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
5e3695ecaa
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
daaf03942f
Merge pull request #10969 from Morph1984/k-synchronize
...
kernel: Synchronize
2023-07-02 17:38:14 -04:00
Morph
c3fbc8d2fe
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
657ab0287d
Merge pull request #10949 from t895/memory-requirements
...
android: Rework MemoryUtil
2023-07-02 11:29:08 -04:00
liamwhite
eaa62aee98
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
87080e71c5
Merge pull request #10710 from liamwhite/romfs2
...
fsmitm_romfsbuild: avoid full path lookups
2023-07-02 11:28:55 -04:00
comex
644c3ce609
Rename variables to avoid -Wshadow warnings under GCC
2023-07-01 22:03:21 -07:00
Liam
ad1946b893
vulkan_common: use device local preferred for image memory
2023-07-01 23:44:57 -04:00
Liam
34c448bad4
Revert "texture_cache: Fix incorrect logic for AccelerateDMA"
...
This reverts commit 1fc47361a1
.
2023-07-01 23:37:50 -04:00
liamwhite
146769f44e
Merge pull request #10984 from comex/cob
...
Minor cleanup in BufferCacheRuntime::ReserveNullBuffer
2023-07-01 22:38:33 -04:00
liamwhite
ae7e9b5469
Merge pull request #10974 from Steveice10/macos_vk
...
vulkan: Improvements to macOS surface creation
2023-07-01 22:38:26 -04:00
liamwhite
971b89b979
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
7f5ccd0151
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
595d55d485
Merge pull request #10950 from german77/mouse_tune
...
input_common: Tune mouse controls
2023-07-01 22:38:01 -04:00
comex
0ed1cb7266
...actually add the SecureTransport backend to Git.
2023-07-01 17:48:36 -07:00
comex
0e191c2711
Updates:
...
- Address PR feedback.
- Add SecureTransport backend for macOS.
2023-07-01 17:27:35 -07:00
comex
98685d48e3
Merge remote-tracking branch 'origin/master' into ssl
2023-07-01 15:01:11 -07:00
Steveice10
aa89ec9214
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
b94e576653
kernel: Synchronize
2023-07-01 16:21:22 -04:00
comex
1e3b2328a6
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
272916eeaf
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
95cefaf993
renderer_vulkan: Add support for VK_KHR_image_format_list
2023-07-01 16:03:29 +03:00
Steveice10
e146a00345
vulkan: Use newer VK_EXT_metal_surface to create surface for MoltenVK.
2023-06-30 23:46:03 -07:00
Morph
1a46823ec5
parcel: Optimize small_vector sizes
2023-06-30 22:05:28 -04:00
Morph
5a09fa5012
maxwell_dma: Specify dst_operand.pitch instead of a temp var
2023-06-30 21:49:59 -04:00
Morph
310b6cf4af
general: Use ScratchBuffer where possible
2023-06-30 21:49:59 -04:00
german77
da8df6488d
yuzu: Ensure mouse panning can't be enabled with real mouse emulation
2023-06-30 18:59:39 -06:00
Fernando S
a10bdaf934
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
ff6d35f2c7
android: Show memory warning once
2023-06-30 13:46:35 -04:00
Morph
fbd85417ff
ring_buffer: Fix const usage on std::span
2023-06-30 13:33:14 -04:00
Morph
b8c906f9d1
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
9252ad4e10
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
11991fbd7f
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
ea8d5ef5e8
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
ddcd89afd4
video_core: vulkan_device: Scope S8Gen2 checks to just Qualcomm.
2023-06-29 18:41:38 -07:00
bunnei
dfa040502a
video_core: vulkan_device: Fix S8Gen2 dynamic state checks.
2023-06-29 17:37:42 -07:00
Fernando Sahmkow
596a6132b9
AccelerateDMA: Don't accelerate 3D texture DMA operations
2023-06-29 17:23:29 +02:00
Charles Lombardo
45be4c3214
Merge pull request #10955 from 8bitDream/gradle
...
android: Suppress a known incompatibility
2023-06-29 11:07:00 -04:00
liamwhite
5e70db0d43
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
4c705db73e
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
7de778ad39
Merge pull request #10946 from goldenx86/amdBlending
...
Blacklist EDS3 blending from new AMD drivers
2023-06-29 10:01:11 -04:00
Abandoned Cart
13506e7782
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
0e6b559c98
Memory Tracker: Use 64 bit atomics instead of 128 bits
2023-06-29 12:25:12 +02:00
Fernando Sahmkow
b62121fd60
Texture cache: Fix YFC regression due to code testing
2023-06-29 11:58:45 +02:00
german77
ac755476cd
input_common: Allow timeouts to happen while scanning for a ring
2023-06-29 01:07:39 -06:00
Narr the Reg
3f407417c1
input_common: Tune mouse controls
2023-06-28 21:04:33 -06:00
Charles Lombardo
a1dd5dfba5
android: Make MemoryUtil an object
2023-06-28 20:00:25 -04:00
Matías Locatti
ed93cbd462
Blacklist EDS3 blending from new AMD drivers
2023-06-28 20:10:27 -03:00
Charles Lombardo
b76b698c17
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
da440da9f5
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
47d0d292d5
MemoryTracking: Initial setup of atomic writes.
2023-06-28 19:34:21 +02:00
german77
df9685a21c
input_common: Remove duplicated DriverResult enum
2023-06-28 09:49:47 -06:00
Morph
295fc7d0f8
x64: cpu_wait: Implement MWAITX for non-MSVC compilers
2023-06-28 01:39:15 -04:00
Morph
2b68a3cbbf
x64: cpu_wait: Remove magic values
2023-06-28 01:39:06 -04:00
Morph
3d868baaa4
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
4303ed614d
x64: Add detection of monitorx instructions
...
monitorx introduces 2 instructions: MONITORX and MWAITX.
2023-06-28 01:36:06 -04:00
Liam
edd54abee4
fsmitm_romfsbuild: avoid full path lookups
2023-06-27 23:25:47 -04:00
GPUCode
ddcc958336
renderer_vulkan: Prevent crashes when blitting depth stencil
2023-06-27 18:00:09 -07:00
GPUCode
eac46ad7ce
video_core: Add BCn decoding support
2023-06-27 18:00:09 -07:00
GPUCode
b8c96cee5f
renderer_vulkan: Add more feature checking
2023-06-27 18:00:09 -07:00
GPUCode
220a42896d
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
1522b95658
renderer_vulkan: Bump minimum SPIRV version
...
* 1.3 is guaranteed on all 1.1 drivers
2023-06-27 18:00:09 -07:00
GPUCode
c339af37a7
renderer_vulkan: Respect viewport limit
2023-06-27 18:00:09 -07:00
GPUCode
a9b44d37e1
renderer_vulkan: Don't add transform feedback flag if unsupported
2023-06-27 18:00:09 -07:00
GPUCode
72e7f5b4dd
renderer_vulkan: Add suport for debug report callback
2023-06-27 18:00:09 -07:00
liamwhite
0fe44071f8
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
21675c9b68
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
e3c548d081
arm_dynarmic_32: Remove disabling of block linking on arm64
2023-06-27 23:51:49 +01:00
lat9nq
32475efbc4
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
30544fbfa5
yuzu: Fix clang format
2023-06-27 15:55:23 -06:00
Narr the Reg
112b660456
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
2b3bfafb9e
Merge pull request #10867 from Kelebek1/dma_safe
...
Use safe reads in DMA engine
2023-06-27 11:21:47 -04:00
liamwhite
c6959449d1
Merge pull request #10473 from GPUCode/vma
...
Use vulkan memory allocator
2023-06-27 11:21:36 -04:00
liamwhite
20111c86b6
Merge pull request #10495 from bm01/master
...
input_common: Redesign mouse panning
2023-06-27 11:21:28 -04:00
liamwhite
f254ce2c60
Merge pull request #10679 from zeltermann/wakelock-reason
...
Only use SDL wakelock on Linux
2023-06-27 11:21:20 -04:00
liamwhite
dafbc86366
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
9074a70b01
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
2ed8b3cbb9
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
b82c649b0f
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
ce990adae5
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
28df6ac0aa
Merge pull request #10888 from 8bitDream/native
...
android: (native) Parameter types from Android Studio
2023-06-26 14:31:00 -04:00
liamwhite
0030fa9721
Merge pull request #10865 from t895/extension-meme
...
android: Clean up file extension checks
2023-06-26 14:30:49 -04:00
Charles Lombardo
0f31039831
android: Clean up file extension checks
2023-06-26 13:25:56 -04:00
GPUCode
b6c6dcc576
externals: Use cmake subdirectory
2023-06-26 18:59:24 +03:00
Kelebek1
ffbaf574ca
Use safe reads in DMA engine
2023-06-26 11:34:02 +01:00
comex
d885dd5b64
PR feedback + constification
2023-06-25 19:24:49 -07:00
comex
b9f9d0a642
network.cpp: include expected.h
2023-06-25 18:51:39 -07:00
comex
cd4b8f037c
re-format
2023-06-25 17:09:54 -07:00
comex
ac939f08a4
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
42015de49b
ssl: fix compatibility with OpenSSL 1.1.1
...
Turns out changes were needed after all.
2023-06-25 16:09:16 -07:00
ameerj
4f160633d3
OpenGL: Limit lmem warmup to NVIDIA
...
🐸
2023-06-25 19:06:51 -04:00
ameerj
405eae3734
shaders: Track local memory usage
2023-06-25 18:59:33 -04:00
ameerj
b198339580
emit_glasm: Fix lmem size computation
2023-06-25 18:43:52 -04:00
ameerj
82107b33a2
OpenGL: Add Local Memory warmup shader
2023-06-25 18:43:23 -04:00
comex
4a35569921
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
8905142f43
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
7cc428ddf6
socket_types: Improve comment
2023-06-25 13:10:15 -07:00