Commit Graph

9891 Commits

Author SHA1 Message Date
0bedb28bdc rpc: Fix class hierarchy. (#6694) 2023-07-13 16:29:54 -07:00
c10ffda91f android: Restore notification permission request (#6693)
When we targeted API <32, the notification permission would automatically be requested on startup. This restores that behavior temporarily while we work on new UX.
2023-07-12 18:54:21 -07:00
5e8ae4fa8a qt: Fix per-game config loading for 3DSX/ELF. (#6691)
Co-authored-by: Michael Theall <pigman46@gmail.com>
2023-07-12 18:54:11 -07:00
7a7f485640 core: Cleanup RPC (#6674) 2023-07-12 18:54:02 -07:00
bbf833bceb citra_qt\game_list: Make columns hideable (#6467) 2023-07-12 23:17:16 +02:00
8eebb83c2c service: nfc: Keep tag alive while it's being used (#6687) 2023-07-12 14:01:08 -07:00
d702915624 Remove some global usages of system (#6688) 2023-07-11 21:43:28 -07:00
943d5eeddf citra_qt: Remove image allocation limit (#6682) 2023-07-11 21:43:19 -07:00
f3ac6f054f audio_core: Clean up cubeb backend. (#6677) 2023-07-11 21:43:07 -07:00
a94af8ea62 shader_jit: Add optimizations up to x86-64-v4 (#6668) 2023-07-11 09:21:37 -07:00
6da4853360 kernel: fix typo in recorder.cpp (#6686) 2023-07-11 02:56:36 +02:00
b738584832 android: Update layout indexes (#6673) 2023-07-10 03:05:18 +03:00
1cb34ea0d3 core/memory.*:constify GetPhysicalPointer;
audio_core\hle\source.h: constify `memory_system`
2023-07-09 16:37:28 +05:30
662bb9ba77 hle: Stub some service calls used by the home menu. (#6675) 2023-07-07 22:05:38 -07:00
26e3f96983 service: nfc: Start adapter communication on scan (#6671) 2023-07-07 19:02:39 -07:00
cd3244f139 mic_u: Fix up logic for populating shared memory sample buffer. (#6669) 2023-07-07 19:02:31 -07:00
e5310b25d4 ci-merge: remove use of deprecated pushedDate (#6676) 2023-07-07 22:30:15 +02:00
80033b84cb renderer_software: Fix screen rendering (#6664) 2023-07-06 17:15:59 -07:00
cf9bb90ae3 code: Use std::span where appropriate (#6658)
* code: Use std::span when possible

* code: Prefix memcpy and memcmp with std::
2023-07-07 01:52:40 +03:00
4ccd9f24fb Merge pull request #6638 from GPUCode/new-log
common: Backport yuzu log improvements
2023-07-06 23:44:54 +03:00
753b36c6ef act: Use correct service session limit. (#6670) 2023-07-06 13:16:46 -07:00
c00768d6d0 nfc: Use existing secrets infrastructure for amiibo encryption. (#6652) 2023-07-06 11:45:46 -07:00
4383f6d80a Port yuzu-emu/yuzu#5229: "yuzu/main: Add basic command line arguments" (#5696)
Co-authored-by: Morph <39850852+Morph1984@users.noreply.github.com>
2023-07-06 20:44:35 +02:00
dc5ca96c0f service: nfc: Use official names (#6672) 2023-07-06 20:25:05 +02:00
9d4609e29a build: Bundle libraries in-place as well on MSVC. (#6665) 2023-07-06 02:37:06 +02:00
df9cc1b84c ci: Fix CI builds being marked as dirty. (#6656) 2023-07-04 21:02:33 -07:00
13a8969824 build: Clear out remaining compile warnings. (#6662) 2023-07-04 21:00:24 -07:00
d7b4260389 common: Address feedback 2023-07-03 17:13:00 +03:00
2126c240cd core: backport some ResultCode updates (#6645)
Co-authored-by: Lioncash <mathew1800@gmail.com>
Co-authored-by: Morph <39850852+Morph1984@users.noreply.github.com>
2023-07-03 02:23:53 +02:00
0b37c1da57 shader_jit/tests: Add additional shader-jit tests (#6648)
* shader_jit/tests: Add support for multiple inputs

Allows for multiple `Vec4f` inputs for each run

* shader_jit/tests: Add additional shader-jit tests

Add some more expansive tests for each of the shader-instructions for
regression-testing.  `MAD`/`MADI` is not added due to an upstream bug in
nihstro:

https://github.com/neobrain/nihstro/issues/68
2023-07-03 02:44:56 +03:00
9527bfffed common: Remove dependency from core 2023-07-03 02:18:37 +03:00
ba98bf058a logging: Address some issues 2023-07-03 02:18:35 +03:00
c88acf7405 Android: Gradle updates (#6653)
* android: Migrate to Kotlin DSL

Includes updates to all android dependencies/ndk (minus billing) and adds support for Kotlin, Android 13, and view binding.

* android: Remove unused tests

* android: Remove unused dependencies
2023-07-02 01:08:27 -07:00
71aea7e571 shader/jit: Use xbyak::util::Cpu for Host capabilities (#6643)
Xbyak has a complete utility-class for determining the host-processor's
ISA-features such as SSE4.1, AVX, AVX2, AVX512{F,VL,DQ,VBMI,etc}, and so
on for further potential optimizations.
2023-07-02 08:05:07 +05:30
3d0a3c2c45 service: nfc: Implement amiibo encryption and appdata (#6340) 2023-06-30 22:15:58 +02:00
9c3e2d0f50 externals: Update boost
* To include stack traces
2023-06-30 12:15:52 +03:00
0ddb095273 logging: Make use of bounded queue 2023-06-30 12:15:52 +03:00
52b9007fcf common: Reduce unused includes 2023-06-30 12:15:52 +03:00
e112421db8 backend: Ensure backend_thread is destructed before message_queue
Ensures that stop_token signals that stop has been requested before destruction of conditional_variable
2023-06-30 12:15:52 +03:00
ae6fda8638 logging: Convert backend_thread into an std::jthread
Was getting an unhandled `invalid_argument` [exception](https://en.cppreference.com/w/cpp/thread/thread/join) during
shutdown on my linux machine. This removes the need for a `StopBackendThread` function entirely since `jthread`
[automatically handles both checking if the thread is joinable and stopping the token before attempting to join](https://en.cppreference.com/w/cpp/thread/jthread/~jthread) in the case that `StartBackendThread` was never called.
2023-06-30 12:15:52 +03:00
197c1adcba Refactor Logging Impl
Loop on stop_token and remove final_entry in Entry.
Move Backend thread out of Impl Constructor to its own function.
Add Start function for backend thread.
Use stop token in PopWait and check if entry filename is nullptr before logging.
2023-06-30 12:15:52 +03:00
fe027a96fb common: Replace lock_guard with scoped_lock 2023-06-30 12:15:52 +03:00
637ade3b25 threadsafe_queue: Fix deadlock
This fixes a lost wakeup in SPSCQueue. If the reader is in just the right position, the writer's notification will be lost and this will be a problem if the writer then does something to wait on the reader.

This was discovered to affect my upcoming stacktrace PR. I don't think any performance decrease will be noticeable because an uncontended mutex is smart enough to skip the syscall. This PR might also resolve some rare deadlocks but I don't know of any examples.
2023-06-30 12:15:52 +03:00
a1443356f1 threadsafe_queue: Add std::stop_token overload to PopWait
Useful for jthreads which make use of the threadsafe queues.
2023-06-30 12:15:52 +03:00
aa39430e2c common/logging: Reduce scope of fmt include 2023-06-30 12:15:52 +03:00
8f51dd9513 common/logging: Move Log::Entry declaration to a separate header
This reduces the load of requiring to include std::chrono in all files which include log.h
2023-06-30 12:15:52 +03:00
98e9f4c32e logging: Fix log filter during initialization
The log filter was being ignored on initialization due to the logging instance being initialized before the config instance, so the log filter was set to its default value.

This fixes that oversight, along with using descriptive exceptions instead of abort() calls.
2023-06-30 12:15:51 +03:00
a8340395a3 logging: Display backtrace on crash
This implements backtraces so we don't have to tell users how to use gdb anymore.

This prints a backtrace after abort or segfault is detected. It also fixes the log getting cut off with the last line containing only a bracket. This change lets us know what caused a crash not just what happened the few seconds before it.

I only know how to add support for Linux with GCC. Also this doesn't work outside of C/C++ such as in dynarmic or certain parts of graphics drivers. The good thing is that it'll try and just crash again but the stack frames are still there so the core dump will work just like before.
2023-06-30 12:15:51 +03:00
3641b9891d logging: Simplify and make thread-safe
This simplifies the logging system.

This also fixes some lost messages on startup.

The simplification is simple. I removed unused functions and moved most things in the .h to the .cpp. I replaced the unnecessary linked list with its contents laid out as three member variables. Anything that went through the linked list now directly accesses the backends. Generic functions are replaced with those for each specific use case and there aren't many. This change increases coupling but we gain back more KISS and encapsulation.

With those changes it was easy to make it thread-safe. I just removed the mutex and turned a boolean atomic. I was planning to use this thread-safety in my next PR about stacktraces. It was actually async-signal-safety at first but I ended up using a different approach. Anyway getting rid of the linked list is important for that because have the list of backends constantly changing complicates things.
2023-06-30 12:15:51 +03:00
8e8ca7d9d0 common: logging: backend: Close the file after exceeding the write limit
There's no point in keeping the file open after the write limit is exceeded. This allows the file to be committed to the disk shortly after it is closed and avoids redundantly checking whether or not the write limit is exceeded.
2023-06-30 12:15:51 +03:00