Commit Graph

22109 Commits

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