bunnei
cc112f971e
hle: kernel: Fix service_threads access to be thread safe V2.
...
- PR #7699 attempted to fix CreateServiceThread and ReleaseServiceThread to be thread safe, but inadvertently introduced a possible dead-lock.
- With this PR, we use a worker thread to manage the service thread list, allowing it only to be accessed by a single thread, and guaranteeing threads will not destroy themselves.
- Fixes a rare crash in Pokemon Sword/Shield, I've now run this game for ~12 hours non-stop and am quite confident this is a good solution for this issue.
2022-01-14 16:02:57 -08:00
bunnei
2147240e47
hle: kernel: Fix service_threads access to be thread safe.
...
- CreateServiceThread and ReleaseServiceThread can be accessed by different threads, uses a lock to make this thread safe.
- Fixes a rare crash in Pokemon Sword/Shield that can occur when a new service thread is being created while an old one is being destroyed.
2022-01-13 21:26:10 -08:00
bunnei
f1aa7ff893
Merge pull request #7690 from Morph1984/increase-file-limit-win
...
yuzu: main: Increase the open file limit on Windows to 8192
2022-01-13 21:25:06 -08:00
bunnei
b3bcf0fa88
Merge pull request #7700 from german77/no-gyro
...
core/hid: Reduce gyro threshold even more
2022-01-13 21:24:41 -08:00
bunnei
eb7197eb47
Merge pull request #7697 from abouvier/opt-tests
...
cmake: make tests optional
2022-01-11 20:58:16 -08:00
bunnei
49a0e4330e
hle: kernel: k_page_table: Update SetProcessMemoryPermission.
2022-01-11 16:28:11 -08:00
bunnei
6ac44f3bdc
hle: service: ldr: UnmapCodeMemory BSS only when set.
2022-01-11 16:28:11 -08:00
bunnei
6123b6ea45
hle: kernel: k_page_table: ReadAndWrite -> UserReadWrite.
2022-01-11 16:28:11 -08:00
bunnei
081669c334
hle: kernel: k_page_table: Rename *ProcessCodeMemory -> *CodeMemory.
2022-01-11 16:28:11 -08:00
bunnei
599c0763e5
Merge pull request #7684 from bunnei/set-mem-perm-attr
...
Kernel Memory Updates (Part 1): SetMemoryAttribute, and other minor changes.
2022-01-11 16:26:17 -08:00
bunnei
c65c651b6f
Merge pull request #7633 from german77/hotkeys
...
yuzu: Add controller hotkeys
2022-01-11 10:49:23 -08:00
bunnei
acbfb0083a
Merge pull request #7682 from german77/udp_fix
...
input_common: Fix UDP controller mappings
2022-01-08 13:41:39 -08:00
bunnei
af4696657c
core: hle: kernel: svc: Updates to SetMemoryAttribute and SetMemoryPermission.
2022-01-08 12:18:14 -08:00
bunnei
b9a313057e
core: hle: kernel: k_page_table: Update CheckMemoryState.
2022-01-08 03:20:57 -08:00
bunnei
26f4e92c1f
Merge pull request #7680 from german77/accel_mapping
...
input_common: Allow to only have acceleration motion data
2022-01-08 00:06:15 -08:00
bunnei
f46e1b8ca2
Merge pull request #7674 from lat9nq/fix-custom-highlight
...
configure_per_game: Initialize tabs after loading custom configuration
2022-01-05 16:14:15 -08:00
bunnei
6af82fd070
Merge pull request #7610 from Tatsh/more-system-libs
...
Add support for linking against system Opus
2022-01-04 17:32:35 -08:00
bunnei
afb06b1495
Merge pull request #7636 from vonchenplus/buffer_queue_query
...
core:hle:service:nvflinger Implement few type in bufferqueue query method
2022-01-04 11:28:49 -08:00
bunnei
c68a0d17fc
Merge pull request #7251 from FernandoS27/shader-dump
...
ShaderDecompiler: Add a debug option to dump the game's shaders.
2022-01-03 17:56:30 -08:00
bunnei
e773354477
Merge pull request #7668 from ameerj/fence-stop-token
...
gpu: Use std::stop_token in WaitFence for VSync thread
2022-01-03 16:40:36 -08:00
bunnei
abbbdc2bc0
Merge pull request #7664 from german77/fallback
...
core/hid: Add fallback to fullkey controllers
2022-01-03 15:04:37 -08:00
bunnei
05b7b177f6
Merge pull request #7662 from german77/uistatus
...
yuzu: Fix UI elements not updating correctly
2022-01-03 13:24:15 -08:00
bunnei
b89d096652
Merge pull request #7663 from german77/applet
...
controller_applet: Only populate supported controllers
2022-01-03 10:51:51 -08:00
bunnei
667a8ae163
Merge pull request #7647 from german77/toad
...
core/hid: Fix controller type validation
2021-12-30 16:54:35 -08:00
bunnei
3a89723d97
core: hle: kernel: Implement thread pinning.
...
- We largely had the mechanics in place for thread pinning, this change hooks these up.
- Validated with tests https://github.com/Atmosphere-NX/Atmosphere/blob/master/tests/TestSvc/source/test_thread_pinning.cpp .
2021-12-30 15:50:45 -08:00
bunnei
5e58271903
Merge pull request #7635 from bunnei/set-heap-size
...
core: hle: kernel: Updated implementation of svcSetHeapSize.
2021-12-29 20:30:12 -08:00
bunnei
279c7bcc1a
Merge pull request #7618 from goldenx86/patch-4
...
Increase boost requirement to 1.78.0
2021-12-28 16:25:37 -08:00
bunnei
091463a429
core: hle: kernel: Updated implementation of svcSetHeapSize.
...
- Updates our svcSetHeapSize with latest HOS, furthermore allowing heap size to properly be extended/shrunk.
- Validated with tests https://github.com/Atmosphere-NX/Atmosphere/blob/master/tests/TestSvc/source/test_set_heap_size.cpp .
2021-12-28 01:25:20 -08:00
bunnei
f67605e6aa
Merge pull request #7622 from ameerj/vk-rescale-invalid-ptr
...
vk_texture_cache: Fix invalidated pointer access
2021-12-28 00:46:37 -08:00
bunnei
9a0648ff0a
Merge pull request #7621 from bunnei/set-mem-perm
...
core: hle: kernel: Implement SetMemoryPermission.
2021-12-27 23:33:11 -08:00
bunnei
c9e4acc4e2
Merge pull request #7630 from ameerj/glasm-get-int
...
emit_glasm_context_get_set: Fix GetAttribute return value type.
2021-12-27 16:35:11 -08:00
bunnei
292dfac25e
Merge pull request #7620 from bunnei/kernel-thread-x18
...
core: hle: kernel: KThread: X18 should be a cryptographically random number.
2021-12-25 00:42:54 -08:00
bunnei
8a48c4ed1c
Merge pull request #7623 from ameerj/unused-func
...
blit_image: Remove unused function
2021-12-23 22:21:28 -08:00
bunnei
4e7a6639d2
core: hle: kernel: Implement SetMemoryPermission.
...
- Not seen in any games yet, but validated with kernel tests.
2021-12-23 01:10:36 -08:00
bunnei
a0c7d93b84
core: hle: kernel: KThread: X18 should be a cryptographically random number.
...
- This was added with firmware 11.0.0 (https://switchbrew.org/wiki/11.0.0 ).
- X18 is OR'd by kernel with 1, to make sure it is odd.
2021-12-23 00:03:39 -08:00
bunnei
516325eba8
Merge pull request #7614 from liushuyu/fix-linux-inhibit
...
main: Fix wake lock (prevent sleep) in Flatpak
2021-12-22 16:53:54 -08:00
bunnei
36df305b13
Merge pull request #7599 from FernandoS27/primrestart-vulkan
...
Vulkan: Fix Primitive Restart and implement Logical Operations
2021-12-22 00:19:23 -08:00
bunnei
f1eff447bb
Merge pull request #7602 from jbeich/freebsd-vaapi
...
build: enable VA-API on FreeBSD
2021-12-21 22:46:49 -08:00
bunnei
49e3c073a5
hle: kernel: svc: GetInfo: Fix error checking with IdleTickCount.
...
- Enforce tha the supplied handle is invalid, not valid.
- This gets Witcher 3 booting.
2021-12-21 22:41:23 -08:00
bunnei
6991d447d4
Merge pull request #7604 from ameerj/fullscreen-render-window
...
main: Make separate render window fullscreen toggle on the monitor it resides in
2021-12-21 18:05:11 -08:00
bunnei
b30a1d49ff
Merge pull request #7608 from Tatsh/scm-ver-override
...
Allow overriding SCM version info
2021-12-21 16:07:27 -08:00
bunnei
5e24f7ed31
Merge pull request #7481 from german77/gyro-bias
...
service/hid: Improve console motion accuracy
2021-12-21 00:13:54 -08:00
bunnei
cf221ca92d
Merge pull request #7609 from Tatsh/file-assoc
...
dist/XDG: add more file associations
2021-12-20 21:55:43 -08:00
bunnei
ee6d40d414
Merge pull request #7597 from bunnei/remove-global-lock
...
core: hle: Remove global HLE lock.
2021-12-20 14:24:50 -08:00
bunnei
eb4ea7e5c7
Merge pull request #7603 from ameerj/here-we-go-again
...
kernel: Manually destroy the current process during shut down
2021-12-19 02:09:53 -08:00
bunnei
2030522d86
Merge pull request #7587 from liushuyu/fix-linux-decoding
...
[Patch v2] externals/ffmpeg: refactor ffmpeg searching and handling in cmake
2021-12-18 02:33:07 -08:00
bunnei
1490b49fa9
Merge pull request #7596 from Tatsh/externals-sdl-config-joycon-fix
...
externals/CMakeLists: fix detection/init of Switch controllers in SDL 2.0.18
2021-12-18 01:00:17 -08:00
bunnei
212b497d5c
Merge pull request #7302 from VPeruS/check-deadlock
...
[input_common] Fixed thread hang
2021-12-17 23:43:19 -08:00
bunnei
7feac8ba46
core: loader: kip: Minimal changes to fix KIP loading.
...
- Allows us to boot KIP (kernal apps), useful for testing the kernel.
2021-12-17 23:08:51 -08:00
bunnei
77d06d5df0
Merge pull request #7570 from ameerj/favorites-expanded
...
game_list: Add persistent setting for the favorites row expanded state
2021-12-17 16:09:05 -08:00
bunnei
c73841500a
core: hle: Remove global HLE lock.
...
- This was added early on as a hack to protect against some concurrency issues.
- It's not clear that this serves any purpose anymore, and if it does, individual components should be fixed rather than using a global recursive mutex.
2021-12-17 16:05:51 -08:00
bunnei
e242f16986
Merge pull request #7532 from goldenx86/patch-3
...
Update video core popup
2021-12-15 22:32:27 -08:00
bunnei
7cf74abbf5
Merge pull request #7551 from vonchenplus/fix_blit_image_view_mismatching
...
Fix blit image/view not compatible
2021-12-15 21:39:53 -08:00
bunnei
b3fc36d989
Merge pull request #7588 from Wunkolo/gibibibi-bytes
...
yuzu/main: Fix host memory byte units. GB to GiB
2021-12-15 12:04:37 -08:00
bunnei
2a24c415c1
Merge pull request #7589 from yuzu-emu/revert-7565-fix-linux-decoding
...
Revert "video_core/codecs: refactor ffmpeg searching and handling in cmake"
2021-12-15 00:03:20 -08:00
bunnei
2f32133ad5
Revert "video_core/codecs: refactor ffmpeg searching and handling in cmake"
2021-12-15 00:02:53 -08:00
bunnei
156215d1fa
Merge pull request #7565 from liushuyu/fix-linux-decoding
...
video_core/codecs: refactor ffmpeg searching and handling in cmake
2021-12-14 22:27:13 -08:00
bunnei
9fa1cf3e01
Merge pull request #7580 from lioncash/input-doc
...
input_poller/input_mapping: Silence several -Wdocumentation warnings
2021-12-13 20:21:18 -08:00
bunnei
ad45963b45
Merge pull request #7575 from lioncash/input
...
input_engine: Minor object churn cleanup
2021-12-13 16:50:54 -08:00
bunnei
7276aaf907
Merge pull request #7576 from lioncash/tasenum
...
tas_input: Minor cleanup
2021-12-13 14:47:24 -08:00
bunnei
a2f842ce54
Merge pull request #7527 from Tachi107/cubeb-result_of
...
build: update cubeb and remove the result_of comment
2021-12-12 22:44:05 -08:00
bunnei
280c779898
Merge pull request #7462 from bunnei/kernel-improve-scheduling
...
Kernel: Improve threading & scheduling V3
2021-12-12 22:43:25 -08:00
bunnei
46366c6dca
Merge pull request #7519 from itsmeft24/master
...
kernel: svc: Implement ProcessMemory and CodeMemory SVCs
2021-12-09 00:29:09 -08:00
bunnei
25298d1c02
Merge pull request #7545 from Morph1984/qt-deprecated-warn
...
profiler: Use QWheelEvent position().toPoint()
2021-12-08 22:01:35 -08:00
bunnei
7dd2764f2a
Merge pull request #7544 from Morph1984/r16g16
...
renderer_vulkan: Add R16G16_UINT
2021-12-08 11:47:05 -08:00
bunnei
5f7e73c74a
Merge pull request #7525 from german77/notifa
...
service/notif: Add notif:a and stub ListAlarmSettings, Initialize
2021-12-07 23:31:44 -08:00
bunnei
f6e8e61e3e
Merge pull request #7521 from german77/dual_single_joycons
...
service/hid: Implement SetNpadJoyAssignmentMode
2021-12-07 21:03:42 -08:00
bunnei
815189eaf3
Merge pull request #7488 from vonchenplus/support_multiple_videos_playing
...
Support multiple videos playing
2021-12-07 18:38:14 -08:00
bunnei
204d198d16
Merge pull request #7531 from Morph1984/zm-msvc
...
CMakeLists: Specify /Zm200 when compiling in MSVC
2021-12-06 19:52:27 -08:00
bunnei
257d3c9ecf
hle: kernel k_scheduler: EnableScheduling: Remove redundant GetCurrentThreadPointer calls.
2021-12-06 16:39:18 -08:00
bunnei
9a9e7dd78b
hle: kernel k_process: Remove unnecessary .at usage with thread pinning methods.
2021-12-06 16:39:18 -08:00
bunnei
834c25f4d9
hle: kernel: Remove unnecessary virtual specifier on NotifyAvailable.
2021-12-06 16:39:18 -08:00
bunnei
a63af9860b
hle: kernel: Remove unnecessary virtual specifier on EndWait.
2021-12-06 16:39:18 -08:00
bunnei
3f8eb44e7d
hle: kernel: k_light_condition_variable: Revert unnecessary license comment changes.
2021-12-06 16:39:18 -08:00
bunnei
2e8d737a96
hle: kernel: k_condition_variable: Revert unnecessary style changes.
2021-12-06 16:39:18 -08:00
bunnei
0d1bdfc1d4
hle: kernel: Remove unnecessary virtual specifier on CancelWait.
2021-12-06 16:39:18 -08:00
bunnei
d7f6d516ce
hle: kernel: service_thread: Force stop threads on destruction.
2021-12-06 16:39:18 -08:00
bunnei
e596fac6ee
hle: kernel: k_light_lock: Implement CancelWait.
...
- Fixes a crash in Megadimension Neptunia VII.
2021-12-06 16:39:18 -08:00
bunnei
efb5de1c5f
hle: kernel: service_thread: Use std::jthread.
...
- Fixes a potential deadlock on service thread shutdown.
2021-12-06 16:39:18 -08:00
bunnei
a2384a18fa
hle: kernel: k_thread: Skip reschedule on DisableDispatch with SC.
2021-12-06 16:39:18 -08:00
bunnei
42697527ba
hle: kernel: k_thread: Rename sleeping_queue -> wait_queue.
2021-12-06 16:39:18 -08:00
bunnei
e3d156ab0e
hle: kernel: svc: Fix deadlock that can occur with single core.
2021-12-06 16:39:18 -08:00
bunnei
0d9afdedc4
hle: kernel: k_thread: Treat dummy threads as a special type.
2021-12-06 16:39:18 -08:00
bunnei
abbea575cf
hle: kernel: Add a flag for indicating that the kernel is currently shutting down.
2021-12-06 16:39:17 -08:00
bunnei
2c49a65d2b
hle: kernel: KSynchronizationObject: Fix variable shadowing.
2021-12-06 16:39:17 -08:00
bunnei
8f4ff06c4c
hle: kernel: Cleanup to match coding style.
2021-12-06 16:39:17 -08:00
bunnei
316a2dd22a
hle: kernel: KProcess: Improvements for thread pinning.
2021-12-06 16:39:17 -08:00
bunnei
4c74761155
hle: kernel: KThreadQueue: Remove deprecated code.
2021-12-06 16:39:17 -08:00
bunnei
f3d6e31e78
hle: kernel: KConditionVariable: Various updates & simplifications.
2021-12-06 16:39:17 -08:00
bunnei
f62c7091a2
hle: kernel: KThread: Migrate to updated KThreadQueue (part 2).
2021-12-06 16:39:17 -08:00
bunnei
b0671c7cfa
hle: kernel: KThread: Migrate to updated KThreadQueue (part 1).
2021-12-06 16:39:17 -08:00
bunnei
beb55cb90e
hle: kernel: KConditionVariable: Migrate to updated KThreadQueue.
2021-12-06 16:39:17 -08:00
bunnei
e942d97540
hle: kernel: KServerSession: Migrate to updated KThreadQueue.
2021-12-06 16:39:17 -08:00
bunnei
5dff28290f
hle: kernel: KLightConditionVariable: Migrate to updated KThreadQueue.
2021-12-06 16:39:17 -08:00
bunnei
423acf53b7
hle: kernel: KLightLock: Migrate to updated KThreadQueue.
2021-12-06 16:39:17 -08:00
bunnei
15c721b909
hle: kernel: KAddressArbiter: Migrate to updated KThreadQueue.
2021-12-06 16:39:17 -08:00
bunnei
2f89456041
hle: kernel: KThread: Remove tracking of sync object from threads.
2021-12-06 16:39:17 -08:00
bunnei
bc1399204b
hle: kernel: Update KThreadQueue and migrate KSynchronizationObject.
2021-12-06 16:39:17 -08:00
bunnei
3dc803a430
core: hle: kernel: Disable dispatch count tracking on single core.
...
- This would have limited value, and would be a mess to handle properly.
2021-12-06 16:39:17 -08:00
bunnei
d14b8fc747
core: hle: kernel: k_thread: Mark KScopedDisableDispatch as nodiscard.
2021-12-06 16:39:17 -08:00