Commit graph

25085 commits

Author SHA1 Message Date
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
Morph
32e7c33a5c ci: Remove GA, Gr optimizations from MSVC
Internal testing has shown these result in higher committed memory usage in some systems.
Also Ob2 is already implied by O2, so that can be removed as well.
2023-07-21 01:30:43 -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
cc6431d884 demangle: Update to llvm/llvm-project@ecbc812e0c 2023-07-18 22:39:26 -04:00
lat9nq
60b1445993 CMake: Require LLVM 17 or later
API changes necessitate an update here.
2023-07-18 22:39:13 -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
Morph
d703c0a10c Merge pull request #11109 from Morph1984/net
network: Fix compilation with ENABLE_WEB_SERVICE=OFF
2023-07-17 23:57:39 -04: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
69f81a3f11 Merge pull request #11064 from lat9nq/mingw-no-install-pefile
ci/mingw: Remove pefile installation step
2023-07-09 19:27:52 -04: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
lat9nq
8c6c159841 ci/mingw: Remove pefile installation step
This is unnecessary here: pefile is already installed on the container.
This step also causes issues in coming changes to the container.
2023-07-09 16:07:43 -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
bunnei
8f623a266b Merge pull request #11049 from Morph1984/gha
github: Remove dependence on chocolatey for buildcache
2023-07-07 13:47:59 -07: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