Commit Graph

18859 Commits (f783883bf89311b51aef76b6b8b07d112369eca7)

Author SHA1 Message Date
Liam 0cfcee95c7 service: jit: stub JIT service 2022-04-06 20:07:01 +07:00
Liam 52ebdd42c6 OpenGL: fix S8D24 to ABGR8 conversions 2022-04-06 19:44:33 +07:00
bunnei eb8c8db899
Merge pull request #8122 from bunnei/improve-thread-usage
Improve usage of service host threads
2022-04-06 12:25:25 +07:00
german77 8c089f4e2a service: hid: Partially revert #8123 2022-04-05 22:35:38 +07:00
bunnei 12dc4d0527
Merge pull request #8137 from bunnei/improve-nvflinger-2
Follow-up fixes for NVFlinger rewrite (Part 2)
2022-04-05 19:11:28 +07:00
bunnei 0c1b954e07
Merge pull request #8100 from Morph1984/registered-crash
registered_cache: Prevent nullptr dereference when accumulating files
2022-04-05 18:18:41 +07:00
lat9nq b976cac49d k_system_control: Fix data race
`return distribution(gen)` is a data race between a read and a write in
two threads, reported by TSan. Remove static random number generators so
they aren't using the same generator.
2022-04-05 19:55:56 +07:00
Mai M e4c3565ebe
Merge pull request #8159 from merryhime/pst
dynarmic: Print stack trace on unrecognised instruction or other exception
2022-04-05 17:18:31 +07:00
merry 7f11710e0a dynarmic: Print stack trace on unrecognised instruction or other exception 2022-04-05 20:40:20 +07:00
Andrea Pappacoda ce859cf526
build: remove -fconcepts
It was needed on GCC versions not supporting `-std=c++20`, but GCC 10 and newer (required to compile yuzu) don't need it anymore
2022-04-05 20:52:11 +07:00
bunnei 02473ea7d5
Revert "texture_cache/util: Remove unneeded ReadBlockUnsafe" 2022-04-04 16:26:53 +07:00
Liam 1ab771c3ad shader_recompiler: Decrease indirect cbuf limit to match hardware 2022-04-04 16:44:01 +07:00
ameerj 494c41dd5a texture_cache/util: Remove unneeded ReadBlockUnsafe
This call was reading GPU memory into the dst buffer, which is then overwritten by the SwizzleTexture call.
2022-04-04 15:57:54 +07:00
bunnei f114436120
Merge pull request #8089 from merryhime/paranoia
configuration: Add Paranoid CPU accuracy level
2022-04-04 11:07:38 +07:00
Liam b7be6a4316 OpenGL: fix cropping 2022-04-04 12:51:09 +07:00
Liam c59c035d74 Vulkan: crop to screen dimensions if crop not explicitly requested 2022-04-04 11:45:15 +07:00
Liam a57531854e OpenGL: propagate face flip condition 2022-04-04 10:32:14 +07:00
Liam cb913e5c02 OpenGL: flip front faces if Z scale is inverted 2022-04-04 10:19:40 +07:00
lat9nq 983916e919 k_auto_object: Fix data race
Change the memory order to acqure-release when we decrement the
reference count. Prevents a race with line 89 reported by TSan.
2022-04-03 21:47:58 +07:00
lat9nq 6bcbbb29e7 k_thread: Fix data race
TSan reports a data race between writing at cpp:1162 and reading at
h:262. Make the thread_state atomic to prevent this.
2022-04-03 21:47:58 +07:00
lat9nq d6a0666268 k_process: Fix data race
TSan reported a race between thread 36 and thread 34, a read at :225 and
a write at :225 respectively. Make total_proces_running_time_ticks
atomic to avoid this race.
2022-04-03 21:47:57 +07:00
lat9nq 5b5a1b7fa7 kernel: Fix current_process race
TSan reported a race at :258 and :803, so make current_process an atomic
pointer.
2022-04-03 21:47:57 +07:00
lat9nq 83b86d915a k_scheduler_lock: Fix data race
TSan reports a race between the main thread and T37 during
IsLockedByCurrentThread and when it's set at the end of Lock(),
respectively. Set owner_thread to an atomic pointer to fix it.

Co-authored-by: bunnei <bunneidev@gmail.com>
2022-04-03 21:47:57 +07:00
Merry 4052bfb4ad native_clock: Internal linkage for FencedRDTSC
__forceinline required on MSVC for function to be inlined
2022-04-03 22:38:12 +07:00
merry fdd4d019ef native_clock: Use lfence with rdtsc 2022-04-03 22:38:10 +07:00
bunnei e9cf2d43f1
Merge pull request #8105 from merryhime/atomicload128
native_clock: Use AtomicLoad128
2022-04-03 14:26:28 +07:00
merry a5d040df3d arm_dynarmic: Use HaltReason for svc calls and reschedules 2022-04-03 18:20:11 +07:00
merry f8b8af47ad dynarmic: Better interrupts 2022-04-03 16:39:48 +07:00
bunnei 2d1af6beee
Merge pull request #8135 from Morph1984/websession-hack
applets/web: Keep foreground (websession) web applet open
2022-04-02 20:49:51 +07:00
bunnei b5910ad0ba
Merge pull request #8123 from german77/bombslinger
service: hid: Remove inaccurate behavior on initialization
2022-04-02 20:12:45 +07:00
german77 3e5469a974 service: npad: Default initialize shared memory 2022-04-02 19:43:49 +07:00
merry 979e53b87b native_clock: Use writeback from CAS to avoid double-loading 2022-04-02 22:22:48 +07:00
merry 084bd225dc atomic_ops: Implement AtomicCompareAndSwap with writeback 2022-04-02 22:22:48 +07:00
Merry c562c1d6be native_clock: Use AtomicLoad128 2022-04-02 20:55:36 +07:00
Merry b4746529e1 atomic_ops: Implement AtomicLoad128 2022-04-02 20:55:36 +07:00
merry 7f1e66e94b
Merge pull request #8134 from Tachi107/remove-time-stretcher
audio_core: remove time stretcher
2022-04-02 20:49:21 +07:00
Morph 1e47252214
Merge pull request #8141 from merryhime/configure-hotkeys-columns
configure_hotkeys: Make first column stretch and not last column
2022-04-02 15:35:31 +07:00
Morph 0bcbe3a703
Merge pull request #8140 from merryhime/per-game-addon-columns
configure_per_game_addons: Stretch first column and not last
2022-04-02 15:35:26 +07:00
merry f4004b1271 configure_per_game_addons: Set tree view minimum section size to 150px 2022-04-02 17:19:25 +07:00
merry 8c57de1605 configure_hotkeys: Make first column stretch and not last column
Also configure minimum width of columns to be 150px.
2022-04-02 17:17:13 +07:00
Andrea Pappacoda 0c214cb5b9
fix: typos 2022-04-02 16:34:07 +07:00
merry 8dc1913db8 configure_per_game_addons: Stretch first column and not last
This provides more sensible column widths.
2022-04-02 13:46:16 +07:00
bunnei fdf4909f97 hle: service: nvflinger: buffer_queue_producer: Cleanup & fixes. 2022-04-01 22:59:35 +07:00
bunnei 4036e37bbe hle: service: nvflinger: consumer_base: Cleanup & fixes. 2022-04-01 22:58:40 +07:00
bunnei 30b07878ba hle: service: nvflinger: buffer_queue_producer: Cleanup & add GetReleasedBuffers. 2022-04-01 22:58:02 +07:00
bunnei 7610554b1e hle: service: nvflinger: buffer_queue_core: Cleanup & fixes. 2022-04-01 22:56:32 +07:00
bunnei f9371f36a4 hle: service: nvflinger: Use correct logger namespace. 2022-04-01 22:55:44 +07:00
Morph 93f010c988 hle: service: nvdrv: Create a service thread where appropriate. 2022-04-02 01:24:30 +07:00
bunnei d02bf6dab1 hle: service: vi: Create a service thread where appropriate. 2022-04-02 01:24:30 +07:00
bunnei 99770653bb hle: service: bsd: Create a service thread where appropriate. 2022-04-02 01:24:30 +07:00
bunnei 2afef2b609 hle: service: filesystem: Create a service thread where appropriate. 2022-04-02 01:24:30 +07:00
bunnei 11120b5b1e hle: service: audio: Create a service thread where appropriate. 2022-04-02 01:24:30 +07:00
bunnei bf1750664c hle: service: Add option for service interfaces to create or use the default thread. 2022-04-02 01:24:30 +07:00
bunnei 864523327f hle: kernel: Create a default thread for services that do not need their own host thread. 2022-04-02 01:24:30 +07:00
Morph 1166c3910d applets/web: Keep foreground (websession) web applet open
This is a hack to keep the foreground (websession) web applet open in games using these such as Super Mario 3D All-Stars.
2022-04-01 22:50:01 +07:00
Liam 7d5a38ea6c shader_compiler: support const buffer indirect addressing in GLSL 2022-04-01 17:08:40 +07:00
Andrea Pappacoda faf6a9876c
audio_core: remove time stretcher
Also drop the SoundTouch dependency
2022-04-01 19:54:58 +07:00
Fernando S 550844e5e8
Merge pull request #8128 from FernandoS27/gc-fixes
GPU Garbage Collection: Fix regressions.
2022-04-01 17:19:55 +07:00
Liam a45baa0e78 shader_recompiler: support const buffer indirect addressing on OpenGL SPIR-V 2022-04-01 11:17:54 +07:00
Mai M d061dc4342
Merge pull request #8079 from lat9nq/applet-typo
configure_debug: Fix typo
2022-04-01 11:15:15 +07:00
Mai M 4e4dbb6821
Merge pull request #8097 from Tachi107/build-cleanup-install
build: cleanup installation of yuzu and yuzu-cmd
2022-04-01 11:14:39 +07:00
Fernando S b1fdc02465
Merge pull request #8066 from ameerj/gpu-decode-fixes
codec: Fix GPU decoder detection on Windows and a memory leak
2022-04-01 01:37:22 +07:00
Fernando Sahmkow e9e671d101 GPU Garbage Collection: Fix regressions. 2022-04-01 01:36:24 +07:00
Fernando S 078a6cb0cb
Merge pull request #8116 from ameerj/nvhost_ctrl_bad_param
nvhost_ctrl: Only mark EventState::Busy as BadParameter
2022-04-01 01:29:46 +07:00
german77 9346f0b33d service: hid: Remove inaccurate behavior on initialization 2022-03-31 12:35:57 +07:00
bunnei 9b52ee4558
Merge pull request #8076 from ameerj/nv-vk-msaa-scale
Vulkan: Use 3D helpers for MSAA scaling on NV drivers 510+
2022-03-30 23:00:44 +07:00
bunnei c6aa4ec687
Merge pull request #8120 from german77/signal
service: hid: Signal event on AcquireNpadStyleSetUpdateEventHandle
2022-03-30 22:45:40 +07:00
bunnei 365c6ad753
Merge pull request #8090 from bunnei/fix-skyline
Kernel Memory Updates (Part 7): Various fixes to code memory (Skyline support)
2022-03-30 18:23:37 +07:00
Narr the Reg c04e65c254 service: hid: Signal event on AcquireNpadStyleSetUpdateEventHandle 2022-03-30 17:09:28 +07:00
bunnei 8e9d253687
Merge pull request #8107 from german77/fullscreen
yuzu: Only override fullscreen setting if gamepath or argument is provided
2022-03-29 17:43:10 +07:00
ameerj 69807dd208 nvhost_ctrl: Only mark EventState::Busy as BadParameter
Fixes an svc break in Kirby and the Forgotten Land with async GPU enabled.
2022-03-29 15:13:30 +07:00
Morph 6552968df4
Merge pull request #8109 from lat9nq/god-why
yuzu_cmd: Start the logging backend
2022-03-29 03:52:50 +07:00
lat9nq 0d7a0c0817 yuzu_cmd: Start the logging backend 2022-03-28 23:14:42 +07:00
german77 90c846d1ad yuzu: Only override fullscreen setting if gamepath or argument is provided 2022-03-28 18:52:27 +07:00
ameerj 3e489782e1 gl_rasterizer: Avoid scenario locking already owned mutex
gpu.TickWork() may lock the texture_cache and buffer_cache mutexes, which are owned by the thread prior to invoking TickWork().

Defer invoking gpu.TickWork() until the scope ends, where the owned mutexes are released.
2022-03-28 20:35:15 +07:00
bunnei 642913b0d1
Merge pull request #8098 from merryhime/ic-ivau
dynarmic: Invalidate CPU cache on all cores
2022-03-28 15:45:52 +07:00
Morph ea7a0d4652 registered_cache: Prevent nullptr dereference when accumulating files
For whatever reason, nca_file/dir can be nullptr in the list of files/dirs. I have not determined the cause of this yet, so add a nullptr check for these prior to dereferencing them.
2022-03-27 17:06:27 +07:00
Mai M 7382e7a5c8
Merge pull request #8095 from bylaws/master
shader_recompiler: Include <bit> header when std::count{r,l}_zero is used
2022-03-27 12:36:19 +07:00
merry 1383441b15 arm_dynarmic_64: Invalidate on all cores 2022-03-27 15:37:19 +07:00
Andrea Pappacoda af94bf4a59
build: cleanup installation of yuzu and yuzu-cmd
Explicitly specifying an install destination is not needed anymore since
CMake 3.14.

By removing the hardcoded ${CMAKE_INSTALL_PREFIX}/bin it is also now
possible to override the install destination via the command line. For
example, you can now install yuzu to /usr/games with
-DCMAKE_INSTALL_BINDIR=games
2022-03-27 15:10:24 +07:00
Fernando S 99654721eb
Merge pull request #8088 from bunnei/fixup-nvflinger
Follow-up fixes for NVFlinger rewrite
2022-03-27 13:09:59 +07:00
bunnei af04f8b8e9
Revert "Memory GPU <-> CPU: reduce infighting in the texture cache by adding CPU Cached memory." 2022-03-26 12:38:30 +07:00
merry 94967e0f6d configure_cpu: More descriptive text for Paranoid option 2022-03-26 08:56:23 +07:00
bunnei 9408100a80 hle: kernel: k_page_table: Fix implementations of LockForCodeMemory & UnlockForCodeMemory. 2022-03-26 01:49:34 +07:00
bunnei 0c75913bf2 hle: kernel: k_page_table: Implement LockMemoryAndOpen & UnlockMemory. 2022-03-26 01:46:41 +07:00
merry 3c8547160d configuration: Add Paranoid CPU accuracy level
Disables most optimizations for the paranoid.
2022-03-26 08:46:25 +07:00
bunnei 1b3dba329a hle: kernel: svc: MapProcessMemory: Fix usage of KPageLinkedList to use physical address space. 2022-03-26 01:35:37 +07:00
bunnei 3bc0c2a625 hle: kernel: svc: CreateCodeMemory: Remove log of 'out' host pointer.
- This does not seem terribly useful and is inconsistent with other usage.
2022-03-26 01:34:29 +07:00
bunnei 94543f129e hle: kernel: k_code_memory: Fix usage of KPageLinkedList to use physical address space. 2022-03-26 01:33:16 +07:00
bunnei 5b667f5e52 hle: kernel: k_page_table: Implement MakeAndOpenPageGroup & MakePageGroup. 2022-03-26 01:25:52 +07:00
bunnei c975a51ae7 hle: kernel: k_page_table: Add IsHeapPhysicalAddress method. 2022-03-26 01:23:43 +07:00
bunnei f29410d821 hle: kernel: k_page_linked_list: Add Empty method. 2022-03-26 01:02:42 +07:00
bunnei 4e2401c11a hle: kernel: svc: UnmapProcessCodeMemory: Fix inverted alignment check. 2022-03-26 01:01:55 +07:00
bunnei 664d8c8732
Merge pull request #8041 from Morph1984/inline-swkbd
applets/swkbd: Add support for an updated inline software keyboard
2022-03-25 23:19:11 +07:00
bunnei 25faca8ea7 hle: service: nvflinger: buffer_queue: Remove AutoLock and fix free buffer tracking. 2022-03-25 23:01:03 +07:00
bunnei 07c7f96fb2 hle: service: nvflinger: buffer_queue_consumer: Use scoped_lock instead of unique_lock. 2022-03-25 22:59:06 +07:00
bunnei 13aa0a1f24 hle: service: nvflinger: consumer_base: Use scoped_lock instead of unique_lock. 2022-03-25 22:58:52 +07:00
bunnei 741a8c3034 hle: service: nvflinger: Remove unused BufferQueue. 2022-03-25 22:58:23 +07:00
Fernando Sahmkow a2d7b2f905 Memory: Don't protect reads on Normal accuracy. 2022-03-25 04:24:25 +07:00
Fernando Sahmkow 7a9d9e575b Texture Cache: Add Cached CPU system. 2022-03-25 04:24:05 +07:00