Lioncash
97fd619312
reporter: Eliminate undefined behavior in SaveErrorReport
...
The optionals are unconditionally dereferenced when setting the custom
error text, and in a few cases this function is called using the default
value of the optionals.
This means we'd be dereferencing uninitialized storage.
Since they're used unconditionally, we can use value_or to set a default
when storage is uninitialized.
2022-12-05 21:31:34 -05:00
Lioncash
a3e4ad2cf5
applets/controller: Use aliases for callbacks
2022-12-05 19:06:04 -05:00
Lioncash
038b746678
applets/error: Use aliases for callbacks
2022-12-05 19:06:04 -05:00
Lioncash
a346b1270a
applets/mii_edit: Use aliases for callbacks
2022-12-05 19:06:04 -05:00
Lioncash
259307a152
applets/profile_select: Use aliases for callbacks
...
Deduplicates callback definitions and situates it in one place.
2022-12-05 19:06:04 -05:00
Lioncash
5012cd2057
applets/web_browser: Use aliases for callbacks
...
Deduplicates a lot of long callback declarations
2022-12-05 19:06:04 -05:00
Lioncash
047c256fe4
applets/software_keyboard: Use aliases for callbacks
...
Deduplicates really long std::function declarations to make the
interface nicer to read.
2022-12-05 19:06:01 -05:00
Lioncash
7a349e99ee
emulated_controller: Remove unused parameter in GetMappedDevices()
...
This isn't used, so it can be removed to make the function a little
nicer.
2022-12-05 18:27:18 -05:00
Lioncash
68d9621a8b
emulated_controller: Use std::move() in GetMappedDevices()
...
Avoids churning allocations in a loop.
2022-12-05 18:27:15 -05:00
Lioncash
1c9f02790c
emulated_console: Amend cast in SetTouch()
...
id is an int value, not a u32.
2022-12-05 18:15:23 -05:00
Lioncash
53eb9406f0
emulated_console: std::move() ParamPackages and callbacks where applicable
2022-12-05 18:15:19 -05:00
Lioncash
7ed6f9d6fd
kernel/k_shared_memory: Ensure device_memory is always initialized
2022-12-05 15:27:57 -05:00
Lioncash
0435142f58
kernel/k_memory_block: Ensure members are always initialized
2022-12-05 15:27:47 -05:00
Lioncash
4c5de31093
kernel/physical_core: Ensure is_interrupted is always initialized
2022-12-05 15:19:37 -05:00
Lioncash
6fea145402
kernel/thread: Ensure stack_top and argument are always initialized
2022-12-05 15:19:36 -05:00
Lioncash
8b8320be4a
kernel/kernel: Ensure shutdown threads are always initialized
2022-12-05 15:19:36 -05:00
liamwhite
b4ef55753e
Merge pull request #6833 from abouvier/unbundle
...
cmake: prefer system libraries
2022-12-05 12:26:09 -05:00
Mai
0dd3742763
Merge pull request #9381 from liamwhite/uninit
...
service_thread: fix uninitialized memory usage
2022-12-04 22:30:16 +00:00
Liam
4a65ee47d3
service_thread: fix uninitialized memory usage
2022-12-04 16:02:24 -05:00
liamwhite
fb8dad2eef
Merge pull request #9232 from bunnei/audio-default-thread
...
hle: service: audio: Use default service thread.
2022-12-04 15:31:40 -05:00
liamwhite
caa1555bc2
Merge pull request #9273 from ameerj/per-game-profile
...
Configuration: Add per-game input profiles
2022-12-04 13:38:01 -05:00
Alexandre Bouvier
325a016cd2
cmake: prefer system libraries
2022-12-04 17:09:25 +01:00
liamwhite
550f214e76
Merge pull request #9374 from liamwhite/externals
...
externals: update dynarmic, SDL2
2022-12-04 10:44:12 -05:00
Liam
8fbec5d298
externals: update dynarmic, SDL2
2022-12-04 10:12:26 -05:00
bunnei
d3e229ee9d
Merge pull request #9344 from liamwhite/null
...
video_core: add null backend
2022-12-03 11:23:25 -08:00
liamwhite
c53a3d3f37
Merge pull request #9300 from ameerj/pch
...
CMake: Use precompiled headers to improve compile times
2022-12-03 14:10:06 -05:00
liamwhite
e20c5a0b7f
Merge pull request #9289 from liamwhite/fruit-company
...
general: fix compile for Apple Clang
2022-12-03 12:09:21 -05:00
Matías Locatti
39df80ff00
Merge pull request #9303 from liamwhite/new-vulkan-init
...
Vulkan: update initialization
2022-12-02 18:32:54 -03:00
Liam
dfc09df118
core: add option to break on unmapped access
2022-12-02 08:25:45 -05:00
liamwhite
e81abf0744
Merge pull request #9348 from Morph1984/when-the-network-is-down
...
service: nifm: Update stubs for Submit/GetRequestState/GetResult
2022-12-01 22:14:43 -05:00
Narr the Reg
dbfc2f7ee2
service: nfc: Implement mifare service
2022-12-01 20:43:59 -06:00
ameerj
fb155dbffc
CMake: Consolidate common PCH headers
2022-11-30 18:30:30 -05:00
Fernando S
c04a159cd9
Merge pull request #9320 from yuzu-emu/fix-audio-suspend
...
AudioCore: Take suspend lock when stalling the running process.
2022-11-30 16:41:32 +01:00
ameerj
bbf3e7f313
CMake: Use precompiled headers
2022-11-29 18:50:49 -05:00
liamwhite
fa8bf5fb43
Merge pull request #9340 from lioncash/nvdrv
...
nvdrv: Simplify builder declarations
2022-11-29 08:27:13 -05:00
liamwhite
049c6ca248
Merge pull request #9346 from lioncash/vtable
...
producer_listener: Add virtual destructor to IProducerListener
2022-11-29 08:26:32 -05:00
liamwhite
6197033d88
Merge pull request #9345 from lioncash/fence
...
consumer_base: Pass std::shared_ptr by const reference
2022-11-29 08:26:25 -05:00
liamwhite
9e9e28c281
Merge pull request #9343 from lioncash/bounds
...
syncpoint_manager: Reduce redundant bounds checks
2022-11-29 08:26:16 -05:00
Morph
7ba644dc5d
service: nifm: Update stubs for Submit/GetRequestState/GetResult
2022-11-28 22:58:10 -05:00
Liam
acc4a150ef
video_core: add null backend
2022-11-28 19:49:09 -05:00
Lioncash
ccec899cd8
producer_listener: Add virtual destructor to IProducerListener
...
Several member variables are shared_ptr's to this base class. Even
though producer listeners are still unimplemented, this ensures we
always have consistent deletion behavior once this ends up being used
polymorphically.
2022-11-28 19:39:13 -05:00
Lioncash
93f287c79b
buffer_item_consumer: Pass fence by const-ref in ReleaseBuffer()
...
This isn't directly modified.
Also allows rvalues to be used with it.
2022-11-28 19:16:20 -05:00
Lioncash
7d9d432ff4
buffer_queue_consumer: std::move std::shared_ptr in Connect()
...
Avoids an unnecessary reference count increment and decrement
2022-11-28 19:12:26 -05:00
Lioncash
f5def4b9c5
consumer_base: Pass shared_ptr by const reference
...
Avoids churning atomic reference count increments and decrements.
2022-11-28 19:09:44 -05:00
Lioncash
bde42f6767
consumer_base: Remove redundant virtual
...
override already serves this purpose
2022-11-28 19:06:34 -05:00
Lioncash
eb1bdc5ed4
syncpoint_manager: Mark IsSyncpointAllocated() as const
...
This doesn't modify class state at all.
2022-11-28 16:08:21 -05:00
Lioncash
8409b91f2e
syncpoint_manager: Reduce number of bounds checks
...
The only time we need to check bounds is on the first access.
2022-11-28 16:06:01 -05:00
Lioncash
e621ee9ec6
nvdrv: Simplify builder declarations
...
We can just use auto here. If one of these ever happens to not be
derived from nvdevice, then this will cause a compilation error.
We can also move the devices into the collection to get rid of an
unnecessary atomic reference count increment and decrement.
2022-11-28 10:43:48 -05:00
Lioncash
a9892677ed
core/hid/emulated_controller: Use ranges version of transform
...
Makes the transform calls much nicer to read.
2022-11-28 10:00:42 -05:00
Lioncash
0862aabdc6
common/input: Add helpers functions for creating input and output devices
...
Avoids the redundancy of needing to explictly specify the common
namespace and the type.
2022-11-28 10:00:37 -05:00
Liam
0a077cb467
Vulkan: update initialization
...
Co-authored-by: bylaws <bylaws@users.noreply.github.com>
2022-11-27 14:58:28 -05:00
german77
23d7d8b9df
yuzu-cmd: Fix input callback crash on close
2022-11-27 10:53:22 -06:00
Valeri
e9fb4a65b9
crypto: use user-provided keys whenever possible
...
Solves an issue where autogenerated title keys would take precedence over those provided by user.
2022-11-27 05:08:25 +03:00
bunnei
94ee753735
core: Use atomic instead of a lock to protect is_paused.
...
- This allows us to call IsPaused() elsewhere if we are holding the suspend lock.
2022-11-26 13:46:38 -08:00
Lioncash
8c35c8c4a6
service: Make use of buffer element count helpers
2022-11-23 13:43:20 -05:00
Lioncash
ff19204dc6
hle_ipc: Add helper functions for getting number of buffer elements
2022-11-23 13:15:19 -05:00
Lioncash
ce329764a2
hle_ipc: Mark relevant member functions as [[nodiscard]]
...
Will allow the compiler to complain about cases where ignoring the
return value would be a bug.
2022-11-23 13:08:52 -05:00
Liam
5a712bb51a
general: fix compile for Apple Clang
2022-11-22 22:22:28 -05:00
liamwhite
1cc95c4d53
Merge pull request #9299 from lioncash/cast
...
k_handle_table: Remove cast to void* in GetObjectForIpc
2022-11-22 17:47:53 -05:00
Lioncash
71d5db9354
k_handle_table: Remove cast to void* in GetObjectForIpc
...
This was used to get around the KProcess class being incomplete. We can
just move this to the cpp file and eliminate the cast entirely, letting
the compiler do its work.
2022-11-22 13:58:42 -05:00
bunnei
8484ed0cf6
Merge pull request #9219 from german77/nfc_impl
...
service: nfc: Implement NFC IUser service
2022-11-22 10:28:38 -08:00
ameerj
19ca666e9f
Configuration: Add per-game input profiles
2022-11-20 14:06:31 -05:00
Narr the Reg
06d54056d6
Merge branch 'master' into nfc_impl
2022-11-20 09:31:20 -06:00
Liam
9c69743686
dmnt:cht: fix copy-paste error
2022-11-20 10:14:22 -05:00
bunnei
914f824b1f
Merge pull request #9238 from german77/cabinet_applet
...
service: am: Implement cabinet applet
2022-11-20 00:48:39 -08:00
bunnei
66235689d2
Merge pull request #9254 from FernandoS27/auto-cpu-fix
...
Dynarmic: Remove inaccurate NaN from Auto CPU settings.
2022-11-19 12:52:41 -08:00
liamwhite
e118cc09bd
Merge pull request #9191 from german77/touching_souls
...
core: hid: Implement true multitouch support
2022-11-19 13:21:01 -05:00
Narr the Reg
5c134b62bd
service: nfc: Implement nfc user
2022-11-19 08:51:59 -06:00
german77
1cf625b6c6
service: hid: Only overclock npad controllers
2022-11-19 08:44:42 -06:00
Narr the Reg
8e0e45dcb9
core: hid: Implement true multitouch support
2022-11-19 08:44:33 -06:00
bunnei
a6b1bc0ded
Merge pull request #9234 from liamwhite/data-cash-money
...
kernel: implement data cache management operations
2022-11-18 13:18:36 -08:00
bunnei
ca033e8d94
Merge pull request #9244 from liamwhite/lost-wakeup
...
nvnflinger: fix lost wakeup
2022-11-17 17:15:47 -08:00
Morph
ab4c53a3e6
Merge pull request #9229 from Docteh/achy_breaky_heart
...
Add break for default cases
2022-11-17 19:20:18 -05:00
Fernando Sahmkow
ee4b6380b9
Dynarmic: Remove inaccurate NaN from Auto CPU settings.
2022-11-17 16:59:41 +01:00
bunnei
295ac1cfe9
Merge pull request #9243 from german77/result
...
core: Update result module
2022-11-14 20:36:38 -08:00
Liam
14292b4067
nvnflinger: fix lost wakeup
2022-11-14 21:18:52 -05:00
Narr the Reg
da3b7ba4ed
core: Update result module
2022-11-14 20:08:47 -06:00
Kyle Kienapfel
d886438754
Add break for default cases
...
Visual Studio has an option to search all files in a solution, so I
did a search in there for "default:" looking for any missing break
statements.
I've left out default statements that return something, and that throw
something, even if via ThrowInvalidType. UNREACHABLE leads towards throw
R_THROW macro leads towards a return
2022-11-13 16:30:55 -08:00
german77
9639d49ec6
general: Address review comments
2022-11-13 17:13:43 -06:00
german77
7fdca4ffab
service: am: Fix cabinet applet result
2022-11-13 14:25:00 -06:00
german77
23cda93390
service: am: Implement cabinet applet backend
2022-11-13 11:07:48 -06:00
german77
de02ec2357
service: nfc: fix tagprotocol and implement GetApplicationAreaId
2022-11-13 10:52:48 -06:00
liamwhite
fafa91c354
Merge pull request #9225 from liamwhite/debugger-instance
...
Debugger improvements
2022-11-12 21:04:00 -05:00
Liam
e313e4f1ae
kernel: implement FlushProcessDataCache
2022-11-12 11:27:04 -05:00
bunnei
d942e886f5
Merge pull request #9224 from liamwhite/services-arent-processes
...
service_thread: remove explicit KProcess
2022-11-11 22:37:04 -08:00
bunnei
2df2dcd945
hle: service: audio: Use default service thread.
...
- This was arbitrarily added by me, and does not appear to be helpful.
2022-11-11 17:34:39 -08:00
bunnei
4e4c74cbe7
Merge pull request #9198 from liamwhite/arm64
...
Initial ARM64 support
2022-11-10 17:11:27 -08:00
Liam
9f12c3e22f
gdbstub: add ams monitor commands
2022-11-10 19:20:57 -05:00
Liam
a19fabfe0c
debugger: allow more than one connection attempt per session
2022-11-10 17:39:04 -05:00
Liam
47ce2e44d9
service_thread: remove explicit KProcess
2022-11-10 16:14:03 -05:00
Liam
affd5c32f9
kernel/svc_types: refresh
2022-11-09 19:05:08 -05:00
bunnei
829acd963c
Merge pull request #9182 from liamwhite/services-are-processes
...
kernel: assign KProcess to service threads
2022-11-09 15:52:23 -08:00
Liam
9509fb30a4
Initial ARM64 support
2022-11-09 16:58:49 -05:00
Fernando S
728eca47a1
Merge pull request #9215 from liamwhite/swordfight
...
Ensure correctness of atomic store ordering
2022-11-09 14:50:49 +01:00
Liam
683a0a1a71
Ensure correctness of atomic store ordering
2022-11-09 08:09:50 -05:00
Liam
0fc08006e5
service_thread: fix deletion
2022-11-06 19:50:51 -05:00
liamwhite
c14f27ee5f
Merge pull request #9173 from bunnei/kern-update-15
...
Kernel: Various updates for FW 15.0.x
2022-11-05 13:25:29 -04:00
Liam
f31c2e7f79
core: hle: kernel: Address review comments.
2022-11-05 12:23:47 -04:00
Liam
c835c254a3
service_thread: register service threads to the logical owner process
2022-11-04 09:18:57 -04:00
Liam
ae2bfd082b
kernel: avoid racy behavior in global suspension
2022-11-04 09:18:57 -04:00
Jan Beich
e05870489a
network: add missing header for SO_* on Unix after ce5b9d370d
...
src/core/internal_network/socket_proxy.cpp: In member function 'virtual Network::Errno Network::ProxySocket::Initialize(Network::Domain, Network::Type, Network::Protocol)':
src/core/internal_network/socket_proxy.cpp:51:20: error: 'SO_TYPE' was not declared in this scope
51 | SetSockOpt(fd, SO_TYPE, type);
| ^~~~~~~
src/core/internal_network/socket_proxy.cpp: In member function 'virtual Network::Errno Network::ProxySocket::SetLinger(bool, u32)':
src/core/internal_network/socket_proxy.cpp:253:27: error: 'SO_LINGER' was not declared in this scope
253 | return SetSockOpt(fd, SO_LINGER, values);
| ^~~~~~~~~
src/core/internal_network/socket_proxy.cpp: In member function 'virtual Network::Errno Network::ProxySocket::SetReuseAddr(bool)':
src/core/internal_network/socket_proxy.cpp:257:32: error: 'SO_REUSEADDR' was not declared in this scope
257 | return SetSockOpt<u32>(fd, SO_REUSEADDR, enable ? 1 : 0);
| ^~~~~~~~~~~~
src/core/internal_network/socket_proxy.cpp: In member function 'virtual Network::Errno Network::ProxySocket::SetBroadcast(bool)':
src/core/internal_network/socket_proxy.cpp:262:32: error: 'SO_BROADCAST' was not declared in this scope
262 | return SetSockOpt<u32>(fd, SO_BROADCAST, enable ? 1 : 0);
| ^~~~~~~~~~~~
src/core/internal_network/socket_proxy.cpp: In member function 'virtual Network::Errno Network::ProxySocket::SetSndBuf(u32)':
src/core/internal_network/socket_proxy.cpp:266:27: error: 'SO_SNDBUF' was not declared in this scope
266 | return SetSockOpt(fd, SO_SNDBUF, value);
| ^~~~~~~~~
src/core/internal_network/socket_proxy.cpp: In member function 'virtual Network::Errno Network::ProxySocket::SetRcvBuf(u32)':
src/core/internal_network/socket_proxy.cpp:274:27: error: 'SO_RCVBUF' was not declared in this scope
274 | return SetSockOpt(fd, SO_RCVBUF, value);
| ^~~~~~~~~
src/core/internal_network/socket_proxy.cpp: In member function 'virtual Network::Errno Network::ProxySocket::SetSndTimeo(u32)':
src/core/internal_network/socket_proxy.cpp:279:27: error: 'SO_SNDTIMEO' was not declared in this scope
279 | return SetSockOpt(fd, SO_SNDTIMEO, static_cast<int>(value));
| ^~~~~~~~~~~
src/core/internal_network/socket_proxy.cpp: In member function 'virtual Network::Errno Network::ProxySocket::SetRcvTimeo(u32)':
src/core/internal_network/socket_proxy.cpp:284:27: error: 'SO_RCVTIMEO' was not declared in this scope
284 | return SetSockOpt(fd, SO_RCVTIMEO, static_cast<int>(value));
| ^~~~~~~~~~~
2022-11-04 07:28:46 +00:00
bunnei
900d89f2b9
Merge pull request #9135 from liamwhite/service-thread-event
...
kernel: invert session request handling flow
2022-11-03 21:45:56 -07:00
bunnei
0335904d60
core: hle: kernel: k_page_table: Remove unnecessary casts.
2022-11-03 21:17:08 -07:00
bunnei
0b18b1426a
core: hle: kernel: k_page_table: Manually open/close pages for IPC methods.
2022-11-03 21:17:08 -07:00
bunnei
9bde36cb85
core: hle: kernel: k_page_table: Implement IPC memory methods.
2022-11-03 21:17:07 -07:00
bunnei
e88395e6cd
core: hle: kernel: k_memory_manager: Refresh.
2022-11-03 21:17:07 -07:00
bunnei
e81fcf5795
core: hle: kernel: Integrate system KSystemResource.
2022-11-03 21:17:07 -07:00
bunnei
d28e5d7e49
core: hle: kernel: k_dynamic_page_manager: Refresh.
2022-11-03 21:17:07 -07:00
bunnei
57796fc36e
core: hle: kernel: Add KSystemResource.
2022-11-03 21:17:07 -07:00
bunnei
512ddcd3d4
core: hle: kernel: k_handle_table: Refresh.
2022-11-03 21:17:07 -07:00
bunnei
a6e1e61bd6
core: hle: kernel: k_memory_layout: Refresh.
2022-11-03 21:17:07 -07:00
bunnei
acb9386c80
core: hle: kernel: k_memory_region_type: Refresh.
2022-11-03 21:17:07 -07:00
bunnei
992e678f4a
core: hle: kernel: slab_helpers: Add KAutoObjectWithSlabHeap.
2022-11-03 21:17:06 -07:00
bunnei
d3b3eb1d6d
core: hle: kernel: k_dynamic_resource_manager: Add KBlockInfoManager, KBlockInfoSlabHeap.
2022-11-03 21:17:06 -07:00
bunnei
3196057319
core: hle: kernel: k_page_bitmap: Refresh.
2022-11-03 21:17:06 -07:00
bunnei
46425afc3e
core: hle: kernel: k_memory_block: Refresh.
2022-11-03 21:17:06 -07:00
bunnei
5a46757171
core: hle: kernel: k_page_heap: Refresh.
2022-11-03 21:17:06 -07:00
bunnei
ddf0fbd8e9
core: hle: kernel: k_page_group: Add KPageBufferSlabHeap.
2022-11-03 21:17:06 -07:00
bunnei
53e40c01e7
core: hle: kernel: k_system_control: Add SecureAppletMemorySize.
2022-11-03 21:17:06 -07:00
bunnei
8973237f87
core: hle: kernel: k_page_buffer: Add KPageBufferSlabHeap.
2022-11-03 21:17:06 -07:00
bunnei
6e069b7ee5
core: hle: kernel: Add KPageTableManager.
2022-11-03 21:17:06 -07:00
bunnei
315292275e
core: hle: kernel: Add KPageTableSlabHeap.
2022-11-03 21:17:06 -07:00
bunnei
019e425377
core: hle: kernel: Add KEventInfo.
2022-11-03 21:17:06 -07:00
bunnei
0146d20e51
core: hle: kernel: Add KDebug.
2022-11-03 21:17:06 -07:00
bunnei
a91e38694a
core: hle: result: Fix code for compilers.
2022-11-03 21:17:06 -07:00
bunnei
6a447fd764
core: hle: service: acc: Fix ListOpenContextStoredUsers/StoreOpenContext.
...
- These APIs are used to capture the opened users and allow that state to be persisted across processes.
- They are not intended to just return the system opened users, that is what ListOpenUsers is for.
- Fixes the launch hang with Bayonetta 3.
2022-11-02 16:09:30 -07:00
Liam
710220601f
sm:: avoid excessive port recreation
2022-10-31 17:47:39 -04:00
Liam
2a4a371112
kernel: fix single core for service threads
2022-10-31 17:45:46 -04:00
Liam
8f65df7619
kernel: fix port tracking
2022-10-31 17:45:46 -04:00
Liam
57e5211eb6
k_server_session: add SendReplyHLE
2022-10-31 17:45:45 -04:00
Liam
b5a9e6f989
service_thread: convert to map for session management
2022-10-31 17:44:07 -04:00
Liam
2e56a382a9
kernel: invert session request handling flow
2022-10-31 17:44:06 -04:00
Liam
e86cadc4c4
kernel: more complete fix for KPort reference counting
2022-10-31 08:23:29 -04:00
Liam
e9589c859d
k_thread: fix single core
2022-10-30 18:44:29 -04:00
Liam
a0ed2571c7
kernel: reinitialize after dram layout change
2022-10-30 11:01:22 -04:00
bunnei
fb64d41b6f
Merge pull request #9149 from german77/volum
...
service: am: Stub SetRecordVolumeMuted
2022-10-29 23:36:15 -07:00
german77
4d66c180ac
service: am: Stub SetRecordVolumeMuted
...
Used by bayonetta 3
2022-10-30 00:34:33 -05:00
Liam
8988c3dea9
k_server_session: fix crashes
2022-10-29 23:05:56 -04:00
bunnei
8e31038129
Merge pull request #9137 from liamwhite/hbmenu
...
Improved support for nx-hbmenu
2022-10-29 16:11:26 -07:00
liamwhite
b5dc28edea
Merge pull request #9138 from liamwhite/hbl-stacktrace
...
arm_interface: curb infinite recursion in stacktrace generation
2022-10-27 20:07:48 -04:00
Liam
8544af06f5
arm_interface: curb infinite recursion in stacktrace generation
2022-10-27 16:01:05 -04:00
bunnei
9bbb12f37b
Merge pull request #9115 from vonchenplus/game_name_by_language
...
file_sys: Priority display of game titles in the current language
2022-10-27 11:33:02 -07:00
Liam
a71c698323
nvnflinger: release queued handles immediately on disconnection
2022-10-27 08:28:02 -04:00
Liam
4351ab1ff1
vi: implement CloseDisplay
2022-10-27 08:27:38 -04:00
liamwhite
d342210927
Merge pull request #9134 from lioncash/init
...
audio_in/out_system: Pass Initialize members by value where applicable
2022-10-27 08:10:24 -04:00
bunnei
fadd316c24
Merge pull request #9125 from liamwhite/dummy-scheduler
...
kernel: refactor dummy thread wakeups
2022-10-26 09:51:44 -07:00
Lioncash
a8b7993c88
audio_in/out_system: Pass Initialize members by value where applicable
...
applet_resource_user_id isn't actually modified and is just assigned to
a member variable, so this doesn't need to be a mutable reference.
Similarly, the device name itself isn't modified and is only moved. We
pass by value here, since we can still perform the move, but eliminate a
sneaky set of calls that can unintentionally destroy the original
string. Given how nested the calls are, it's good to get rid of this
potential vector for a use-after-move bug.
2022-10-26 11:21:48 -04:00
Morph
89ace6c367
concepts: Use the std::contiguous_iterator concept
...
This also covers std::span, which does not have a const iterator.
Also renames IsSTLContainer to IsContiguousContainer to explicitly convey its semantics.
2022-10-26 00:41:54 -04:00
liamwhite
1910dce4a4
Merge pull request #9113 from german77/peer_pressure
...
service: nfp: Allow amiibos without keys
2022-10-25 12:13:31 -04:00
liamwhite
f25243fd9d
Merge pull request #9107 from german77/gidoly_rules
...
input_common: cache vibration tests
2022-10-25 12:13:18 -04:00
liamwhite
252ae177ff
Merge pull request #9119 from liamwhite/shutdown-barrier
...
core: barrier service thread shutdown
2022-10-25 06:45:51 -04:00
Liam
3980952ab8
kernel: refactor dummy thread wakeups
2022-10-24 19:52:01 -04:00
FengChen
f5ee1a756a
file_sys: Priority display of game titles in the current language
2022-10-24 21:55:25 +08:00
Fernando S
6e7788c26f
Merge pull request #9122 from liamwhite/burnt-chicken
...
nvdrv: fix container destruction order
2022-10-24 12:41:46 +02:00
Liam
e9da7b43d5
nvdrv: fix container destruction order
2022-10-23 19:25:57 -04:00
Liam
ee969900ae
core: barrier service thread shutdown
2022-10-23 05:45:45 -04:00
german77
06555ad6c0
core: hid: Add handheld to nfc devices
2022-10-22 14:05:00 -05:00
Morph
c6c56d3e9c
general: Resolve -Wunused-lambda-capture and C5233
2022-10-22 15:02:04 -04:00
Morph
5c4c90385f
ipc_helpers: Ignore GCC compiler warnings only on GCC
...
Clang and ICC for whatever reason also defines __GNUC__. Exclude them from this check.
2022-10-22 15:02:04 -04:00
Morph
9fba74d245
general: Enforce C4800 everywhere except in video_core
2022-10-22 15:02:04 -04:00
Morph
4bad20dc5f
CMakeLists: Remove all redundant warnings
...
These are already explicitly or implicitly set in src/CMakeLists.txt
2022-10-22 15:02:04 -04:00
Narr the Reg
d444a2ffab
service: nfp: Allow amiibos without keys
2022-10-21 23:08:07 -05:00
Narr the Reg
ea7f4aed98
service: nfp: remove unnecessary include
2022-10-21 21:54:31 -05:00
liamwhite
2ca7effbfd
Merge pull request #9106 from lioncash/copy-err
...
hid/npad: Fix copy size in GetSupportedNpadIdTypes
2022-10-21 03:47:02 -04:00
Lioncash
47160b51fb
k_session_request: Add missing override specifier
2022-10-21 01:56:14 -04:00
Lioncash
4432989177
k_session_request: Turn C-style array into std::array
...
Makes for stronger typing and allows tooling bounds checks provided by
the standard library for debugging purposes.
2022-10-21 01:54:34 -04:00
Lioncash
6057b801cf
k_session_request: Simplify constructor initialization
2022-10-21 01:53:10 -04:00
german77
96881efdc3
input_common: cache vibration tests
2022-10-21 00:24:08 -05:00
Lioncash
32ce4a4821
hid/npad: Fix copy size in GetSupportedNpadIdTypes
...
Previously this was passing the size of the vector into memcpy rather
than the size in bytes to copy, which would result in a partial read.
Thankfully, this function isn't used yet, so this gets rid of a bug
before it's able to do anything.
2022-10-21 00:09:22 -04:00
liamwhite
69832aa1f6
Merge pull request #9078 from liamwhite/session-request
...
kernel: Session request cleanup
2022-10-20 18:07:30 -04:00
bunnei
12ed547269
Merge pull request #9096 from Kelebek1/audio_15
...
[audio_core] Update for firmware 15.0.0
2022-10-20 13:17:26 -07:00
Liam
c0ae56548e
kernel: remove most SessionRequestManager handling from KServerSession
2022-10-19 16:31:12 -04:00
Liam
7103b8dde3
kernel: add KSessionRequest
2022-10-19 16:31:12 -04:00
liamwhite
6b065e8d73
Merge pull request #9082 from Morph1984/future
...
savedata_factory: Detect future save data paths
2022-10-19 16:28:42 -04:00
liamwhite
4dce02aa8f
Merge pull request #9083 from liamwhite/take-a-chance-on-me
...
kernel: fix slab heap ABA
2022-10-19 16:27:59 -04:00
liamwhite
6291423f8b
Merge pull request #9071 from bunnei/mp-mm
...
Kernel Multiprocess (Part 1) - Persist memory & core timing
2022-10-19 16:27:43 -04:00
bunnei
8b2cadd4e2
core: hle: kernel: Migrate ProcessState to enum class.
2022-10-19 14:03:50 -04:00
Kelebek1
2da6a39c19
Update audio_core for firmware 15.0.0
2022-10-19 06:16:15 +01:00
Fernando S
8698e12596
Merge pull request #9084 from vonchenplus/dma_copy
...
video_core: implement 1D copies based on VMM 'kind'
2022-10-19 06:56:00 +02:00
bunnei
e3cb70d8df
core: Initialize: Add missing braces.
2022-10-18 19:13:35 -07:00
bunnei
438c1b5c18
core: core_timing: Re-initialize if single/multicore state changes.
2022-10-18 19:13:35 -07:00
bunnei
f357ddf644
core: core_timing: Remove unused IsHostTiming.
2022-10-18 19:13:35 -07:00
bunnei
4c2274b2c1
core: hle: kernel: Use result macros for new/changed code.
2022-10-18 19:13:35 -07:00
bunnei
a35c884097
core: Partially persist emulation state across game boots.
2022-10-18 19:13:35 -07:00
bunnei
3785e8d1c7
core: hle: kernel: Fix InitializePreemption order.
2022-10-18 19:13:35 -07:00
bunnei
55ed04af34
core: hle: kernel: k_process: Improve management of page table & cleanup.
2022-10-18 19:13:35 -07:00
bunnei
7dd7b440cc
core: hle: kernel: k_interrupt_manager: HandleInterrupt should not depend on current process.
2022-10-18 19:13:35 -07:00
bunnei
c164affbcb
core: hle: kernel: Remove junk.
2022-10-18 19:13:35 -07:00
bunnei
15eebff127
core: hle: kernel: k_page_table: Impl. LockForUn/MapDeviceAddressSpace, cleanup.
2022-10-18 19:13:35 -07:00
bunnei
0eeef46015
core: hle: kernel: Integration application memory block slab manager.
2022-10-18 19:13:34 -07:00
bunnei
98a3854393
core: hle: kernel: k_page_table: Update, and integrate with new KMemoryBlockManager/SlabManager.
2022-10-18 19:13:34 -07:00
bunnei
ddd0ca5f83
core: hle: kernel: k_memory_block: Update.
2022-10-18 19:13:34 -07:00
bunnei
3b1a2fd7db
core: hle: kernel: k_memory_block_manager: Update.
2022-10-18 19:13:34 -07:00
bunnei
97e4cd1c8f
core: hle: kernel: k_thread: Implement thread termination DPC.
2022-10-18 19:13:34 -07:00
bunnei
0592bf30c1
core: hle: kernel: Add KDynamicResourceManager.
2022-10-18 19:13:34 -07:00
bunnei
f6fd69d0d4
core: hle: kernel: Add KDynamicSlabHeap.
2022-10-18 19:13:34 -07:00
bunnei
1089e3cb1e
core: hle: kernel: Add KDynamicPageManager.
2022-10-18 19:13:34 -07:00
bunnei
5a37569052
core: hle: kernel: k_process: Change Status -> State.
2022-10-18 19:13:34 -07:00
bunnei
acc0a8f63a
core: hle: kernel: svc_types: Add SystemThreadPriorityHighest and ProcessState.
2022-10-18 19:13:34 -07:00
bunnei
d9871bab0b
core: device_memory: Templatize GetPointer(..).
2022-10-18 19:13:34 -07:00
bunnei
59dfd7ec29
core: hle: result: Add GetInnerValue and Includes methods.
2022-10-18 19:13:34 -07:00
bunnei
444f94e8f7
core: hle: kernel: svc_common: Add WaitInfinite & cleanup.
2022-10-18 19:13:34 -07:00
bunnei
ec4c221e1f
Merge pull request #9087 from Morph1984/once
...
general: Add missing pragma once
2022-10-17 22:50:02 -07:00
Liam
53625f087b
kernel: fix slab heap ABA
2022-10-17 17:53:32 -04:00
FengChen
2d53a37461
video_core: Implement memory manager page kind
2022-10-17 15:33:29 +08:00
Morph
6a22ed905b
general: Add missing pragma once
2022-10-17 03:14:31 -04:00
Morph
e3c23433fa
savedata_factory: Detect future save data paths
...
Enable compatibility for new account/device save paths planned on a future implementation.
2022-10-16 23:49:55 -04:00
Morph
6becbfbaa3
general: Fix spelling of "unknown"
2022-10-16 00:46:22 -04:00
liamwhite
f57b352e93
Merge pull request #9061 from liamwhite/writable-event
...
kernel: remove KWritableEvent
2022-10-14 17:30:38 -04:00
liamwhite
979676ef89
Merge pull request #9055 from liamwhite/hbl
...
Preliminary support for nx-hbloader
2022-10-14 17:30:11 -04:00
liamwhite
873b8c58c7
Merge pull request #9032 from liamwhite/stub-friends
...
IFriendService: stub CheckFriendListAvailability
2022-10-13 20:12:08 -04:00
Liam
e11c862ae6
result: enforce reference check specialization
2022-10-13 12:10:39 -04:00
Liam
09777eea76
kernel: remove KWritableEvent
2022-10-12 20:29:29 -04:00
bunnei
e9f423326f
Merge pull request #9034 from liamwhite/result-macros
...
kernel: add expanded result macros
2022-10-12 17:11:07 -07:00
bunnei
676abcf2f3
Merge pull request #9040 from liamwhite/woe-thirty-two
...
core_timing: use high-precision sleeps on non-Windows targets
2022-10-12 15:35:06 -07:00
bunnei
e4db64c22b
Merge pull request #9047 from german77/steam-aspect
...
yuzu: Add 16:10 aspect ratio
2022-10-12 12:54:23 -07:00
Liam
545875eaa1
k_server_session: preliminary support for userspace server sessions
2022-10-11 18:40:40 -04:00
Liam
a048c5ca0f
Add implementation of svcCreateSession
2022-10-11 18:15:45 -04:00
Liam
fb88548cb1
general: preliminary support for hbl
2022-10-11 18:15:30 -04:00
Narr the Reg
70825554ec
yuzu: Add 16:10 aspect ratio
2022-10-10 13:32:33 -05:00
liamwhite
baacbcb930
Merge pull request #9043 from german77/vector_data
...
input_common: have an unique vector in callback status
2022-10-09 17:46:45 -04:00
german77
36d02d1fc3
input_common: have an unique vector in callback status
2022-10-09 12:49:18 -05:00
Liam
d10787b40b
core_timing: use high-precision sleeps on non-Windows targets
2022-10-08 18:27:40 -04:00
Liam
20e5a02da1
kernel: add expanded result macros
2022-10-08 12:41:27 -04:00
Liam
7d3c9d928d
fsp_srv: stub GetCacheStorageSize
2022-10-08 12:24:00 -04:00
Liam
b999db4a0f
IFriendService: stub CheckFriendListAvailability
2022-10-07 22:19:41 -04:00
Liam
82a159f2c4
nfp_types: silence -Wtype-limits
2022-10-07 06:52:28 -04:00
bunnei
3733e23f07
Merge pull request #6142 from lat9nq/prog_meta_ref_bind_address
...
program_metadata: Avoid reference binding to misaligned address
2022-10-06 20:42:15 -07:00
Fernando Sahmkow
1595e77913
General: address feedback
2022-10-06 21:00:54 +02:00
Liam
d8009fb2d1
general: rework usages of UNREACHABLE macro
2022-10-06 21:00:54 +02:00
Morph
5790abef59
nvdisp: End system frame after requesting to swap buffers
...
Fixes frametime reporting
2022-10-06 21:00:54 +02:00
Morph
f8733d9da6
address_space: Address feedback
2022-10-06 21:00:54 +02:00
Morph
5ee9e5e84b
general: Format licenses as per SPDX guidelines
2022-10-06 21:00:54 +02:00
Fernando Sahmkow
340398daf5
NvHostChannels: improve hack for supporting multiple channels.
2022-10-06 21:00:54 +02:00
Fernando Sahmkow
5cbe6e1739
Address Feedback from bylaws.
2022-10-06 21:00:53 +02:00
Fernando Sahmkow
40a5c7d398
Nvflinger: correct duplication.
2022-10-06 21:00:53 +02:00
VonChenPlus
9623b1dc5a
Core: Fix get nvmap object random crash
2022-10-06 21:00:53 +02:00
Fernando Sahmkow
710c83e10a
NvDec: Fix regressions.
2022-10-06 21:00:53 +02:00
Liam White
6df0663a57
General: Fix compilation for GCC
2022-10-06 21:00:53 +02:00
Fernando Sahmkow
4124fa18e3
NVDRV: Further improvements.
2022-10-06 21:00:53 +02:00
Fernando Sahmkow
6a3eca65ea
MemoryManager: Fix errors popping out.
2022-10-06 21:00:53 +02:00
Fernando Sahmkow
42ef10060a
VideoCore: Refactor fencing system.
2022-10-06 21:00:52 +02:00
Fernando Sahmkow
67bb131e37
MemoryManager: initial multi paging system implementation.
2022-10-06 21:00:52 +02:00
Fernando Sahmkow
43d8a8fb77
NVDRV: Further refactors and eliminate old code.
2022-10-06 21:00:52 +02:00
Fernando Sahmkow
383f95a063
NVDRV: Refactor Host1x
2022-10-06 21:00:52 +02:00
Fernando Sahmkow
a6425c97e4
VideoCore: Refactor syncing.
2022-10-06 21:00:52 +02:00
Fernando Sahmkow
bc66debfdc
Texture cache: Fix the remaining issues with memory mnagement and unmapping.
2022-10-06 21:00:52 +02:00
Fernando Sahmkow
a933bd94d6
VideoCore: Extra Fixes.
2022-10-06 21:00:52 +02:00
Fernando Sahmkow
19d8ea6bd6
NVDRV: Remake ASGPU
2022-10-06 21:00:52 +02:00
Fernando Sahmkow
1d95a124a7
NVDRV: Update copyright notices.
2022-10-06 21:00:52 +02:00
Fernando Sahmkow
448ec77acb
NvHostCtrl: Fix merge of nvflinger.
2022-10-06 21:00:52 +02:00
Fernando Sahmkow
199642590c
NVHOST_CTRl: Implement missing method and fix some stuffs.
2022-10-06 21:00:51 +02:00
Fernando Sahmkow
8847b6645c
VideoCore: implement channels on gpu caches.
2022-10-06 21:00:51 +02:00
Fernando Sahmkow
5ca7d7118f
NVASGPU: Fix Remap.
2022-10-06 21:00:51 +02:00
Fernando Sahmkow
f43a322d65
NVDRV: Fix clearing when destroying.
2022-10-06 21:00:51 +02:00
Fernando Sahmkow
461c659d48
NVMAP: Fix the Free return parameters.
2022-10-06 21:00:51 +02:00
Fernando Sahmkow
5ed054796f
NVDRV: Fix Open/Close and make sure each device is correctly created.
2022-10-06 21:00:51 +02:00
Fernando Sahmkow
21138043da
NVDRV: Implement new NvMap
2022-10-06 21:00:51 +02:00
Fernando Sahmkow
3991518f74
NVDRV: Refactor and add new NvMap.
2022-10-06 21:00:51 +02:00
Fernando Sahmkow
2821dbf166
NVDRV: Cleanup.
2022-10-06 21:00:51 +02:00
Fernando Sahmkow
69e08ad83b
NVDRV: Implement QueryEvent.
2022-10-06 21:00:51 +02:00
Fernando Sahmkow
4165ead1f1
NvHost: Remake Ctrl Implementation.
2022-10-06 21:00:51 +02:00
Fernando Sahmkow
987ef2824c
NvHost: Try a different approach to blocking.
2022-10-06 21:00:51 +02:00
Fernando Sahmkow
ea941e1d76
NvHost: Fix some regressions and correct signaling on timeout.
2022-10-06 21:00:51 +02:00
bunnei
29d949a485
Merge pull request #9013 from liamwhite/spinning-a-yarn
...
common: remove "yuzu:" prefix from thread names
2022-10-05 18:53:42 -07:00
Narr the Reg
280a232e27
service: nfp: Fix errors to pass unit testing
2022-10-03 18:06:55 -05:00
Liam
47fc168030
common: remove "yuzu:" prefix from thread names
2022-10-03 18:43:56 -04:00
bunnei
e23adcd481
Merge pull request #8955 from german77/amiibo-rewrite
...
core: nfp: Rewrite implementation to remove direct access from the frontend
2022-10-02 14:28:43 -07:00
german77
d19a30670f
service: mii: Copy only valid name bytes
2022-10-02 12:34:24 -05:00
Narr the Reg
1c5a057252
service: nfp: Implement mount target and open application area errors, minor fixes
2022-10-02 12:34:14 -05:00
german77
d08c8cf877
nfp: Multiple fixes against HW
2022-10-02 12:32:26 -05:00
german77
d389a05005
service: nfp: address comments
2022-10-02 12:32:26 -05:00
german77
28792b26a5
service: nfp: Rewrite and implement applet calls
2022-10-02 12:32:26 -05:00
german77
3be3a16c01
core: hid: Add nfc support to emulated controller
2022-10-02 12:32:26 -05:00
bunnei
ed0b7e1666
Merge pull request #8992 from Morph1984/vi-vsync-event
...
service: vi: Retrieve vsync event once per display
2022-10-02 03:02:59 -07:00
bunnei
836eb41341
Merge pull request #8876 from FearlessTobi/multiplayer-part3
...
ldn: Implement "local wireless" networked multiplayer
2022-10-01 14:53:36 -07:00
Zwip-Zwap Zapony
2eb08dac0f
Fix "controller.colors_state.right" being "left"
2022-10-01 18:18:08 +02:00
bunnei
4df48d6b35
Merge pull request #8934 from german77/palma_release
...
service: hid: Partially implement palma controller
2022-09-29 12:48:28 -07:00
bunnei
8fa025730a
Merge pull request #8940 from german77/silence
...
yuzu: Silence some clang warnings
2022-09-28 14:37:23 -07:00
Morph
55fef19014
service: vi: Retrieve vsync event once per display
...
The display vsync event can only be retrieved once per display. Returns VI::ResultPermissionDenied if we attempt to retrieve the vsync event for the same display.
Prevents games such as .hack//G.U. Last Recode from consuming all the handles in the handle table by spamming vsync event retrievals and allows it to go in game.
2022-09-25 21:33:36 -04:00
Morph
23c1bf736f
service: vi: Move VI results into its own file
2022-09-25 20:33:25 -04:00
Merry
62b91b0094
core/loader: Return nullptr if file is nullptr
2022-09-25 19:31:35 +01:00
Narr the Reg
adb6348255
service: hid: Partially implement palma controller
2022-09-25 00:13:12 -05:00
Morph
cf67c58c1a
Merge pull request #8945 from Tachi107/typos
...
chore: fix some typos
2022-09-23 20:28:43 -04:00
Andrea Pappacoda
b1585fed5a
chore: fix some typos
...
Fix some typos reported by Lintian
2022-09-23 13:38:23 +02:00
Lioncash
a260c09deb
sockets: Make fd member variable protected
...
Other things shouldn't be able to directly mess around with the
descriptor
2022-09-22 08:20:54 -04:00
Narr the Reg
ca0d1fd4f1
yuzu: Silence some clang warnings
2022-09-21 11:51:31 -05:00
FearlessTobi
1c14030b31
Address some review comments
2022-09-20 19:36:32 +02:00
bunnei
f39b70a21b
Merge pull request #8915 from vonchenplus/opus_multi_stream
...
core: implement HwOpus GetWorkBufferSizeForMultiStreamEx
2022-09-17 16:07:33 -07:00
bunnei
c5d72b926d
Merge pull request #8827 from german77/amiibo_release
...
core: nfp: Implement amiibo encryption
2022-09-17 11:11:21 -07:00
bunnei
58975829b7
Merge pull request #8650 from Kelebek1/vsync
...
[Coretiming/NVNFlinger] Improve multi-core vsync timing, and core timing accuracy
2022-09-17 11:10:54 -07:00
Morph
8298ce7856
Merge pull request #8869 from SachinVin/cmake
...
core/CMakeLists.txt: Remove duplicate files.
2022-09-16 13:11:33 -04:00
FengChen
b85bd1b548
core: implement HwOpus GetWorkBufferSizeForMultiStreamEx
2022-09-17 00:28:56 +08:00
Morph
8eb4dc577c
Merge pull request #8911 from lioncash/cexpr-string
...
audio_device: Make AudioDeviceName constructor constexpr
2022-09-16 10:18:58 -04:00
Lioncash
1747b5ae6c
audio_device: Mark member functions as const where applicable
...
These member functions don't modify any internal state.
2022-09-15 09:06:17 -04:00
Lioncash
0f1024b334
audio_device: Make AudioDeviceName constructor constexpr
...
These are used as read-only arrays, so we can make the data read-only
and available at compile-time.
Now constructing an AudioDevice no longer needs to initialize some
tables
2022-09-15 09:03:40 -04:00
Kelebek1
c6d4071162
Remove pause callbacks from coretiming
2022-09-13 13:20:35 +01:00
bunnei
543aa077ee
Merge pull request #8842 from Kelebek1/AudOut
...
[audio_core] Rework audio output
2022-09-10 11:01:11 -07:00
german77
dd33c0c473
yuzu: Multiple room UI improvements
2022-09-10 19:39:25 +02:00
bunnei
44ce3eaf4c
Merge pull request #8863 from german77/triggers
...
core: hid: Fix GC triggers overwriting ZL and ZR buttons
2022-09-09 21:53:53 -07:00
bunnei
7dc3d49135
Merge pull request #8864 from german77/toggle_analog
...
input_common: Add support for analog toggle
2022-09-09 20:54:01 -07:00
FearlessTobi
48d6226115
ldn: Initial implementation
2022-09-09 14:30:22 +02:00
SachinVin
262f5b96b5
core/CMakeLists.txt: Remove duplicate files.
2022-09-08 22:03:53 +05:30
german77
817b96446e
core: nfp: Remove magic numbers
2022-09-07 09:49:43 -05:00
german77
c990e2d2f5
core: nfp: Workaround for lack of multiple nfp interfaces
2022-09-07 01:04:00 -05:00
Narr the Reg
8c377e882e
core: nfp: Correct date and amiibo name
2022-09-07 01:04:00 -05:00
Narr the Reg
8301e770f9
core: nfp: Implement Convert and RecreateApplicationArea, accuracy fixes
2022-09-07 01:04:00 -05:00
german77
44dff8f633
core: nfp: Implement amiibo encryption
2022-09-07 01:04:00 -05:00
Narr the Reg
d4fb46d8f9
input_common: Add support for analog toggle
2022-09-06 11:21:28 -05:00
Narr the Reg
07d2e08272
core: hid: Fix GC triggers overwritting ZL and ZR buttons
2022-09-05 16:09:21 -05:00
Kelebek1
77a30f7286
Don't stall with nvdec
2022-09-04 05:41:06 +01:00
liamwhite
9a73dfdf56
Merge pull request #8855 from german77/pls
...
core: ns: Implement pl:s service
2022-09-03 18:35:38 -04:00
Narr the Reg
98d62e931a
core: ns: Implement pl:s service
2022-09-03 17:32:12 -04:00
bunnei
3210654f5a
Merge pull request #8822 from FearlessTobi/multiplayer-fixes
...
network: Fixes and improvements to the room feature
2022-09-02 10:24:32 -07:00
Kelebek1
c3e3874d8d
Rework audio output, connecting AudioOut into coretiming to fix desync during heavy loads.
2022-09-02 04:43:04 +01:00
FearlessTobi
f24b74d4c1
Address review comments
2022-09-02 00:50:32 +02:00
Kelebek1
f121da072a
Demote services from warning/info to debug to reduce log spam:
...
GetCurrentFocusState
SetClockSpeed
EnableSixAxisSensorUnalteredPassthrough
IsSixAxisSensorUnalteredPassthroughEnabled
Get, GetOld
SetAndWait, SetAndWaitOld
IocParam
IocFree
2022-09-01 16:54:22 +01:00
FearlessTobi
8a5fed2c9d
core/ldn_types: Minor corrections and additions
2022-08-27 04:49:10 +02:00
FearlessTobi
f3284250ce
core/socket_proxy: Correct broadcast behavior
...
Broadcasts should only be sent when the broadcast IP is used.
They should also only be received when SO_BROADCAST is enabled.
2022-08-27 03:39:02 +02:00
FearlessTobi
31c4475420
yuzu: Display current game version in multiplayer room
...
Makes it easier for users to recognize connection errors caused by different game versions.
2022-08-27 03:31:17 +02:00
FearlessTobi
6d3dba4b98
core/bsd: Correctly unbind methods in destructor
...
Prevents yuzu from crashing when the BSD service is created a second time.
2022-08-27 03:12:12 +02:00
FearlessTobi
d841898d4d
core/acc: Make CheckAvailability use LOG_DEBUG
...
Previously it was spamming the logs in certain multiplayer games like Puyo Puyo Tetris.
2022-08-27 03:08:21 +02:00
FearlessTobi
869724c3a5
yuzu_room: Remove dependency on core
2022-08-27 03:02:21 +02:00
bunnei
52dc2cbe57
Merge pull request #8566 from german77/galaxy
...
core: hid: Add fallback for dualjoycon and pro controllers
2022-08-26 16:23:41 -07:00
bunnei
9ad065b476
Merge pull request #8812 from Kelebek1/auto
...
[Audio] Implement AudRenU:RequestUpdateAuto
2022-08-24 11:45:56 -07:00
Kelebek1
15c4734b5b
Implement AudRenU:RequestUpdateAuto, and use C descriptors when B reports as empty.
2022-08-24 18:14:21 +01:00
bunnei
fdc9c4ea0c
Merge pull request #8804 from vonchenplus/speed_up_idirectory_services
...
core:filesystem: speed up IDirectory service
2022-08-23 13:56:05 -07:00
vonchenplus
eab51849f7
core:filesystem: speed up IDirectory service
2022-08-23 09:05:59 +08:00
german77
3d8cb61bfd
hid: core: Add missing function table names
2022-08-21 23:31:53 -05:00
liamwhite
d16ea1c63c
Merge pull request #8799 from liamwhite/where-did-the-padding-go
...
core/file_sys: fix alignment of BuildId
2022-08-21 14:06:06 -04:00
liamwhite
a903de9ec8
Merge pull request #8660 from Tachi107/findmodules-pkg-config
...
build: simplify find modules
2022-08-21 13:42:42 -04:00
liamwhite
eaf4777e58
Merge pull request #8784 from Docteh/nosnek
...
code: dodge PAGE_SIZE #define
2022-08-21 12:59:01 -04:00
Liam
0676dbfea1
core/file_sys: fix alignment of BuildId
2022-08-21 12:28:36 -04:00
bunnei
495b3a7e72
Merge pull request #8790 from liamwhite/too-many-ways-to-name-a-byte-string
...
core/file_sys: fix BuildId padding in patch loading
2022-08-20 22:26:02 -07:00
vonchenplus
37a5b8aded
core: implement clkrst service
2022-08-20 14:08:59 +08:00
Kyle Kienapfel
ea00332a67
code: dodge PAGE_SIZE #define
...
Some header files, specifically for OSX and Musl libc define PAGE_SIZE to be a number
This is great except in yuzu we're using PAGE_SIZE as a variable
Specific example
`static constexpr u64 PAGE_SIZE = u64(1) << PAGE_BITS;`
PAGE_SIZE PAGE_BITS PAGE_MASK are all similar variables.
Simply deleted the underscores, and then added YUZU_ prefix
Might be worth noting that there are multiple uses in different classes/namespaces
This list may not be exhaustive
Core::Memory 12 bits (4096)
QueryCacheBase 12 bits
ShaderCache 14 bits (16384)
TextureCache 20 bits (1048576, or 1MB)
Fixes #8779
2022-08-19 16:08:40 -07:00
Liam
0812bb34ea
core/file_sys: fix BuildId padding
2022-08-19 17:16:33 -04:00
FearlessTobi
df835dc289
core/socket_proxy: Final nits
2022-08-15 23:50:19 +02:00
german77
e398b2af5c
core: network: Address review comments
2022-08-15 20:25:42 +02:00
FearlessTobi
0351eadbdb
internal_network: Fix mingw compilation
...
Apparently, "interface" is a reserved keyword on this compiler.
2022-08-15 20:25:42 +02:00
FearlessTobi
851ec302b1
core, yuzu: Address first part of review comments
2022-08-15 20:25:42 +02:00
FearlessTobi
5776601ca7
core/socket_proxy: Fix compilation
2022-08-15 20:25:42 +02:00
FearlessTobi
ce2eefb57c
Make copyright headers SPDX-compliant
2022-08-15 20:25:42 +02:00
FearlessTobi
ce5b9d370d
core, network: Add ability to proxy socket packets
2022-08-15 20:25:42 +02:00
bunnei
e8160eb639
Merge pull request #8755 from Morph1984/delimit-ips
...
ips_layer: Delimit parsed hex value string
2022-08-12 14:12:10 -07:00
liamwhite
530b5032dd
Merge pull request #8745 from merryhime/null-fastmem-arena
...
arm_dynarmic: Fix nullptr fastmem arenas
2022-08-12 14:57:32 -04:00
Morph
8064454628
ips_layer: Delimit parsed hex value string
...
Delimits the hex value string on spaces, slashes, carriage returns or newlines, allowing for comments to be added in-line.
2022-08-12 10:19:44 -04:00
liamwhite
2dc71dda07
Merge pull request #8731 from FearlessTobi/better-ldn
...
ldn: Add better stubs and more data types
2022-08-12 08:40:30 -04:00
german77
e1f4130f30
core: ldn: Address review comments part 2
2022-08-11 23:12:32 -05:00
bunnei
ada0bbe928
Merge pull request #8722 from german77/ds4_goes_brrr
...
hid: core: Delay the stop vibration command when testing
2022-08-09 16:22:33 -07:00
bunnei
185d3c9df5
Merge pull request #8724 from german77/no_alpha
...
hid: core: Properly emulate controller color and battery level
2022-08-09 16:21:23 -07:00
bunnei
448ed1ed01
Merge pull request #8729 from merryhime/cp15-barriers
...
arm_dynarmic_cp15: Implement CP15DMB/CP15DSB/CP15ISB
2022-08-09 16:12:53 -07:00
Merry
c5b77f78f8
arm_dynarmic: Fix nullptr fastmem arenas
...
Unable to enable fastmem of exclusive access without a valid fastmem arena.
2022-08-09 20:48:19 +01:00
Narr the Reg
67f4daf029
hid: core: Properly emulate controller color and battery level
2022-08-08 13:12:02 -05:00
Narr the Reg
f91a28773b
core: ldn: Address review comments
2022-08-08 12:49:48 -05:00
Liam
a7027fa7c9
core/arm: fix build error
2022-08-07 21:39:54 -04:00
bunnei
f5e9f8c9fe
Merge pull request #8637 from liamwhite/bad-interrupts
...
kernel: unlayer CPU interrupt handling
2022-08-07 17:48:55 -07:00
Morph
d97c307f4d
Merge pull request #8240 from liamwhite/count-cycles
...
core/arm: re-enable cycle counting
2022-08-07 20:30:57 -04:00
FearlessTobi
9f4d6dd979
ldn: Add better stubs and more data types
...
Co-Authored-By: Narr the Reg <5944268+german77@users.noreply.github.com>
Co-Authored-By: Morph <39850852+Morph1984@users.noreply.github.com>
2022-08-07 23:54:51 +02:00
Merry
abf143229a
arm_dynarmic_cp15: Implement CP15DMB/CP15DSB/CP15ISB
2022-08-07 22:16:49 +01:00
Narr the Reg
7cf52e6eb8
hid: core: Delay the stop vibration command when testing
2022-08-05 17:20:05 -05:00
Morph
b5847efa10
core_timing: Sleep in discrete intervals, yield during spin
2022-08-02 01:01:54 -04:00
Kelebek1
4a764c5df7
Add missing looping event schedule signal
2022-08-02 01:01:54 -04:00
Kelebek1
992af57f8d
Make coretiming waiting more accurate
2022-08-02 01:01:54 -04:00
Kelebek1
ea06b32a00
Rework multi-core vsync
2022-08-01 23:51:53 -04:00
Liam
9080ea9ab1
core/loader: remove ELF loader
2022-08-01 17:19:23 -04:00
Andrea Pappacoda
89750a0ebf
build(externals): rename Findopus to FindOpus
...
This better matches upstream's FindOpus.cmake file, and it will make
using upstream's FindOpus.cmake file easier.
2022-08-01 12:31:31 +02:00
Nikita Strygin
39c3b841d3
Properly write out the command buffer when serving close request
2022-07-31 23:17:45 +03:00
Maide
68dcd946b7
Revert Coretiming PRs 8531 and 7454 ( #8591 )
2022-07-27 19:47:06 -04:00
liamwhite
b7216c249a
Merge pull request #8636 from german77/irs_cluster_release
...
service: irs: Implement clustering processor
2022-07-27 15:54:28 -04:00
liamwhite
d24328ae65
Merge pull request #8633 from Morph1984/optional-keys
...
applet/swkbd: Implement optional symbol keys
2022-07-27 15:53:32 -04:00
Andrea Pappacoda
6a2efdda2f
chore: make yuzu REUSE compliant
...
[REUSE] is a specification that aims at making file copyright
information consistent, so that it can be both human and machine
readable. It basically requires that all files have a header containing
copyright and licensing information. When this isn't possible, like
when dealing with binary assets, generated files or embedded third-party
dependencies, it is permitted to insert copyright information in the
`.reuse/dep5` file.
Oh, and it also requires that all the licenses used in the project are
present in the `LICENSES` folder, that's why the diff is so huge.
This can be done automatically with `reuse download --all`.
The `reuse` tool also contains a handy subcommand that analyzes the
project and tells whether or not the project is (still) compliant,
`reuse lint`.
Following REUSE has a few advantages over the current approach:
- Copyright information is easy to access for users / downstream
- Files like `dist/license.md` do not need to exist anymore, as
`.reuse/dep5` is used instead
- `reuse lint` makes it easy to ensure that copyright information of
files like binary assets / images is always accurate and up to date
To add copyright information of files that didn't have it I looked up
who committed what and when, for each file. As yuzu contributors do not
have to sign a CLA or similar I couldn't assume that copyright ownership
was of the "yuzu Emulator Project", so I used the name and/or email of
the commit author instead.
[REUSE]: https://reuse.software
Follow-up to b2eb103829
2022-07-27 12:53:49 +02:00
FearlessTobi
d5e6d1b576
network, yuzu: Make copyright headers SPDX-compliant
2022-07-25 21:59:31 +02:00
FearlessTobi
10e2c8ef6a
network: Move global state into a seperate class
...
Co-Authored-By: Narr the Reg <5944268+german77@users.noreply.github.com>
2022-07-25 21:59:31 +02:00
german77
3a91e22e80
common: multiplayer: Use GameInfo type
2022-07-25 21:59:31 +02:00
FearlessTobi
3b203e536a
Address second part of review comments
2022-07-25 21:59:30 +02:00
FearlessTobi
846c50dd42
Address first part of review comments
2022-07-25 21:59:30 +02:00
FearlessTobi
5ad67e876b
core: Fix -Wunused-variable
2022-07-25 21:59:30 +02:00
FearlessTobi
5db6f87f7b
common, core: fix -Wmissing-field-initializers
2022-07-25 21:59:30 +02:00
FearlessTobi
60008b680e
yuzu: Add ui files for multiplayer rooms
2022-07-25 21:59:28 +02:00
Narr the Reg
fc923fdc18
Address comments
2022-07-25 11:17:48 -05:00
Liam
3edb108f4b
kernel: unlayer CPU interrupt handling
2022-07-25 12:14:15 -04:00
Morph
b8cff68056
Merge pull request #8549 from liamwhite/kscheduler-sc
...
kernel: use KScheduler from Mesosphere
2022-07-25 12:00:31 -04:00
german77
ea68c35ad0
fix compiler errors
2022-07-24 16:39:32 -05:00
german77
5e43e84229
service: irs: Implement clustering processor
2022-07-24 15:01:43 -05:00
Morph
9abacc2f86
applet/swkbd: Implement optional symbol keys
...
These are only used in the numeric keyboard, and correspond to the keys to the left and right of the "0" key on the numeric keyboard.
2022-07-24 07:21:02 -04:00
Narr the Reg
a08b8f224b
yuzu: Add webcam support and rebase to latest master
2022-07-23 19:40:25 -05:00
german77
cd16f9801a
service: irs: Move to IRS namespace and minor fixes
2022-07-23 19:40:25 -05:00
german77
c075ebaeab
service: irs: Split processors and implement ImageTransferProcessor
2022-07-23 19:40:25 -05:00
german77
2cb57c0f7f
core: hid: Add cammera support
2022-07-23 19:40:25 -05:00
Kelebek1
be1f5f1d9f
Project Andio
2022-07-22 01:11:32 +01:00
bunnei
e8c9c766ae
Merge pull request #8598 from Link4565/recv-dontwait
...
Enable the use of MSG_DONTWAIT flag on RecvImpl
2022-07-21 15:43:55 -07:00
Gus Caplan
7ad8553346
implement resume message
2022-07-17 22:35:07 -07:00
merry
bdf6e32aed
Merge pull request #8569 from merryhime/watchpoints
...
dynarmic: Abort watchpoints ASAP
2022-07-17 22:41:28 +01:00
bunnei
185d1c6135
Merge pull request #8508 from yuzu-emu/mc-speed-limit
...
hle: service: nvflinger: Factor speed limit into frame time calculation.
2022-07-17 13:59:52 -07:00
bunnei
4400c36037
Merge pull request #8544 from german77/14dot0
...
service: Update some services to 14.0.0+
2022-07-17 12:30:52 -07:00
bunnei
b3f303dd4a
hle: service: nvflinger: Fix implicit conversion.
2022-07-16 23:11:42 -07:00
bunnei
e42a6ad7d9
yuzu: settings: Remove framerate cap and merge unlocked framerate setting.
...
- These were all somewhat redundant.
2022-07-16 23:11:39 -07:00
bunnei
fbb919c02f
hle: service: nvflinger: Factor speed limit into frame time calculation.
...
- This allows the %-based "Limit Speed Percent" setting to work with MC emulation.
- This is already supported for SC emulation.
2022-07-16 23:10:45 -07:00
bunnei
3607ebe050
Merge pull request #8594 from liamwhite/skip-wp
...
core/arm: skip watchpoint checks when reading instructions
2022-07-16 13:28:20 -07:00
bunnei
a13ed9fa7a
Merge pull request #8511 from german77/hbmenu
...
service: ptm: Add TS, nifm: Stub GetInternetConnectionStatus
2022-07-16 11:30:56 -07:00
Link4565
da2d093e64
Enable the use of MSG_DONTWAIT flag on RecvImpl
2022-07-16 18:30:28 +01:00
Liam
9858c3ce34
core/arm: skip watchpoint checks when reading instructions
2022-07-15 19:47:28 -04:00
Morph
646ea94aac
Merge pull request #8588 from merryhime/IBinder-vdestruct
...
nvflinger: Polymorphic destructor requried for abstract class IBinder
2022-07-15 06:02:31 -04:00
Merry
4267739d06
KCodeMemory: Mark virtual methods as override
2022-07-15 10:39:58 +01:00
Merry
3d89711aa5
nvflinger: Polymorphic destructor requried for abstract class IBinder
2022-07-15 10:28:54 +01:00
Merry
f719a0a078
dynarmic: Abort watchpoints ASAP
2022-07-15 10:03:30 +01:00
Liam
dbb1312876
kernel: Ensure all uses of disable_count are balanced
2022-07-14 22:47:18 -04:00
Liam
e2be660909
kernel: be more careful about initialization path for HLE threads
2022-07-14 22:47:18 -04:00
Liam
21e2063d7d
kernel: fix single-core preemption points
2022-07-14 22:47:18 -04:00
Liam
61b26b386d
kernel: fix issues with single core mode
2022-07-14 22:47:18 -04:00
Liam
e47bced65d
kernel: use KScheduler from mesosphere
2022-07-14 22:47:18 -04:00
liamwhite
559370c271
Merge pull request #8510 from german77/vibration
...
input_common: sdl: lower vibration frequency and use it's own unique thread
2022-07-14 20:41:29 -04:00
german77
d04b9f0f83
service: fatal: Add function table
2022-07-14 16:33:09 -05:00
german77
ab9c495d00
service: btdrv,bcat,btm: Update service tables to 14.0.0
2022-07-14 16:33:09 -05:00
german77
15e95ddbe0
service am: Update service tables to 14.0.0
2022-07-14 16:33:08 -05:00
german77
07090f96d4
service: ac: Replace intances of ProfileData with UserData
2022-07-14 16:33:07 -05:00
bunnei
c18bf04dbf
Merge pull request #8559 from liamwhite/waiter-list
...
kernel: fix usage of waiter_list in Finalize
2022-07-11 12:10:01 -07:00
german77
412221d1a1
core: hid: Add fallback for dualjoycon and pro controllers
2022-07-10 20:27:40 -05:00
Kelebek1
f66a68fa1b
PR
2022-07-10 08:29:37 +01:00
Kelebek1
03de5e053d
Rework CoreTiming
2022-07-10 06:59:40 +01:00
liamwhite
32b64ab7f1
Merge pull request #8531 from FernandoS27/core-timing-fix-reg
...
Core timing: use only one thread.
2022-07-10 00:47:05 -04:00
Liam
12948cf615
kernel: fix usage of waiter_list in Finalize
2022-07-09 18:54:54 -04:00
Mai
485473f118
Merge pull request #8501 from liamwhite/backtrace-again
...
core/arm: better support for backtrace generation
2022-07-07 23:49:54 -04:00
liamwhite
79d631b630
Merge pull request #8502 from liamwhite/end-wait
...
kernel: clean up waiting implementation
2022-07-07 17:31:49 -04:00
Fernando S
6850e6142a
Merge pull request #8492 from german77/no_more_errors
...
service: hid: Correct some mistakes and add more validations
2022-07-07 08:29:34 +02:00
liamwhite
786963fac7
Merge pull request #8532 from liamwhite/fiber-supplements
...
common/fiber: make fibers easier to use
2022-07-05 18:20:39 -04:00
Morph
7efb17f51a
Merge pull request #8521 from lat9nq/gdbstub-in-bounds
...
gdbstub_arch: Directly access SP register
2022-07-04 21:27:12 -04:00
Fernando Sahmkow
95cb99b186
Core timing: use only one thread.
2022-07-02 23:02:16 +02:00
Liam
e551960935
common/fiber: make fibers easier to use
2022-07-02 12:33:49 -04:00
Fernando S
e41dd008c8
Merge pull request #8523 from liamwhite/sc-oopsie
...
cpu_manager: properly check idle on return from preemption
2022-07-01 22:40:02 +02:00
Morph
f64cc85d4b
Merge pull request #8490 from liamwhite/read-code-stop
...
dynarmic: Stop ReadCode callbacks to unmapped addresses
2022-06-30 20:57:39 -07:00
Liam
61ef65ab25
cpu_manager: properly check idle on return from preemption
2022-06-30 16:54:05 -04:00
lat9nq
f1ca3b7ff3
gdbstub_arch: Directly access SP register
...
Currently to access the SP register, RegRead and RegWrite rely on a
out-of-bounds array access to reach the next element in a struct. As
of writing only git versions of GCC catch this error.
Specify the SP register when we want to access it in these functions.
2022-06-30 12:47:40 -04:00
Fernando S
ee5d112e19
Merge pull request #7454 from FernandoS27/new-core-timing
...
Core: Remake Core Timing
2022-06-30 12:38:50 +02:00
Fernando Sahmkow
3adeb694b0
Adress Feedback.
2022-06-30 10:18:56 +02:00
german77
e687bfbe7d
service: nifm: Stub GetInternetConnectionStatus
2022-06-28 19:22:46 -05:00
german77
2bad788ead
service: ptm: Rewrite PSM and add TS
2022-06-28 19:22:46 -05:00
german77
93cbaeb605
input_common: sdl: lower vibration frequency and use it's own unique thread
2022-06-28 19:22:16 -05:00
Narr the Reg
63ae2ffac1
service: hid: Correct some mistakes and add more validations
2022-06-28 19:14:55 -05:00
Morph
d3da378c46
Merge pull request #8512 from german77/nnResult
...
Replace multiple names with a better name
2022-06-28 16:59:33 -07:00
Fernando Sahmkow
2d838d8ec9
Address feedback.
2022-06-28 01:19:30 +02:00
Fernando Sahmkow
0043292951
Core: Protect each event from race conditions within it.
2022-06-28 01:10:55 +02:00
Fernando Sahmkow
396cb575c9
Core: add missing include.
2022-06-28 01:10:55 +02:00
Fernando Sahmkow
1541f198eb
Core/Common: Corrections to core timing and add critical priority.
2022-06-28 01:10:55 +02:00
Fernando Sahmkow
ca686b6d07
Core: Reimplement Core Timing.
2022-06-28 01:10:50 +02:00
bunnei
74ebab21ce
Merge pull request #8504 from comex/mesosphere-current-process
...
Support `InfoType_MesosphereCurrentProcess`
2022-06-27 13:05:07 -07:00
german77
093680269b
core: kernel: Replace instances of KPageLinkedList with KPageGroup
2022-06-26 20:21:45 -05:00
german77
c7890ebccc
core: Replace all instances of ResultCode with Result
2022-06-26 20:21:37 -05:00
bunnei
8e9a9b18c6
Merge pull request #8475 from liamwhite/x18
...
kernel: make current thread pointer thread local
2022-06-26 11:38:48 -07:00
comex
0c3a934b6e
Re-add missing `case` and braces, and trim whitespace
2022-06-25 18:01:56 -07:00
comex
593f978ad2
Update src/core/hle/kernel/svc.cpp
...
Co-authored-by: liamwhite <liamwhite@users.noreply.github.com>
2022-06-25 18:00:29 -07:00
comex
9decdbabab
Support InfoType_MesosphereCurrentProcess
2022-06-25 16:23:23 -07:00
Liam
f70a3ada00
kernel: clean up waiting implementation
2022-06-25 13:36:14 -04:00
Liam
416a71804b
core/arm: better support for backtrace generation
2022-06-25 12:54:24 -04:00
Liam
2e78c2fdb9
gdbstub: fix register pokes
2022-06-25 12:07:20 -04:00
Liam
83f1ecb73b
kernel: make current thread pointer thread local
2022-06-23 00:28:00 -04:00
bunnei
4548e74d3f
Merge pull request #8491 from Morph1984/extra-assert
...
KPageTable: Remove extraneous assert
2022-06-22 14:47:07 -07:00
bunnei
3f3f5aa93b
Merge pull request #8483 from liamwhite/fire-emblem-three-semaphores
...
kernel: wait for threads to stop on pause
2022-06-22 14:46:33 -07:00
Morph
72b78f9c32
KPageTable: Remove extraneous assert
...
Since start is always 0 and VAddr is unsigned, we can safely remove this assert.
2022-06-21 21:28:54 -04:00
Liam
97edc7c0df
core/arm: increase minimum_run_cycles
2022-06-21 20:37:16 -04:00
merry
8151f68522
core/arm: re-enable cycle counting
2022-06-21 20:36:24 -04:00
Liam
0d04631c1f
dynarmic: Stop ReadCode callbacks to unmapped addresses
2022-06-21 20:01:43 -04:00
bunnei
f4201ec44e
Merge pull request #8432 from liamwhite/watchpoint
...
core/debugger: memory breakpoint support
2022-06-21 16:04:57 -07:00
bunnei
d1d50f28c8
Merge pull request #8468 from liamwhite/dispatch-tracking
...
kernel: fix some uses of disable_count
2022-06-21 15:30:27 -07:00
Narr the Reg
341d5b9463
service: am: Stub PerformSystemButtonPressingIfInFocus
...
Used by Ring Fit Adventure
2022-06-20 12:35:58 -05:00
Liam
808ad9eb9f
kernel: wait for threads to stop on pause
2022-06-18 16:54:33 -04:00
Liam
91beb87df0
core: fix initialization in single core, sync GPU mode
2022-06-16 23:43:35 -04:00
Nikita Strygin
5f5739ea2c
Implement ExitProcess svc
...
Currently this just stops all the emulation
This works under assumption that only application will try to use
ExitProcess, with services not touching it
If application exits - it quite makes sense to end the emulation
2022-06-16 21:35:34 +03:00
Liam
8d2abc710c
core/debugger: memory breakpoint support
2022-06-16 13:18:07 -04:00
Liam
6d5cc6b2a2
kernel: fix some uses of disable_count
2022-06-15 20:53:49 -04:00
Fernando S
1d8e860c47
Merge pull request #8457 from liamwhite/kprocess-suspend
...
kernel: implement KProcess suspension
2022-06-16 02:41:12 +02:00
bunnei
d2cc6a69a2
Merge pull request #8317 from german77/notifa
...
service: notifa: Implement most part of this service
2022-06-15 09:53:50 -07:00
Mai
8894ac44d2
Merge pull request #8464 from liamwhite/break-debug
...
kernel: notify debugger on break SVC
2022-06-15 11:55:54 -04:00
Mai
bb0a6faa0a
Merge pull request #8383 from Morph1984/shadow-of-the-past
...
yuzu: Make variable shadowing a compile-time error
2022-06-14 21:08:58 -04:00
Liam
0755b274fa
kernel: notify debugger on break SVC
2022-06-14 21:06:23 -04:00
Liam
a6c1036ddc
core: centralize profile scope for Dynarmic
2022-06-14 18:19:04 -04:00
Liam
59a6d88625
kernel: implement KProcess suspension
2022-06-14 10:04:11 -04:00
Liam
f91e2f2742
kernel: fix passthrough of local captures in lambda
2022-06-13 20:09:32 -04:00
Liam
79bf4bc3ff
general: fix compilation on MinGW GCC 12
2022-06-13 20:09:32 -04:00
Liam
f3fd1038bb
general: fix compilation on GCC 12
2022-06-13 20:09:30 -04:00
Liam
72abaf896f
kernel: ensure class token lambda exit is unreachable
2022-06-13 20:09:00 -04:00
Liam
32ba68cf0e
kernel: fix inconsistency in AutoObjectTraits macro definitions
2022-06-13 20:09:00 -04:00
Liam
c1771c98f3
common: Change semantics of UNREACHABLE to unconditionally crash
2022-06-13 20:09:00 -04:00
bunnei
9cd39d1880
Merge pull request #8388 from liamwhite/simpler-pause
...
CpuManager: simplify pausing
2022-06-13 15:48:03 -07:00
Morph
e647661b76
CMakeLists: Make variable shadowing a compile-time error
...
Now that the entire project is free of variable shadowing, we can enforce this as a compile time error to prevent any further introduction of this logic bug.
2022-06-13 18:19:23 -04:00
Morph
9f2fca7cde
Merge pull request #8446 from liamwhite/cmd-gdb
...
core/debugger: support operation in yuzu-cmd
2022-06-13 14:38:37 -04:00
Morph
a9fd06479a
Merge pull request #8454 from liamwhite/inaddr-any
...
core/debugger: allow remote connections
2022-06-13 14:38:20 -04:00
bunnei
0cba34825d
Merge pull request #8443 from liamwhite/code-mem
...
kernel: fix KCodeMemory initialization
2022-06-13 11:32:27 -07:00
Liam
2328945c5a
core/debugger: allow remote connections
2022-06-12 11:50:50 -04:00
Lioncash
d3d5f85f98
gdbstub_arch: Add missing virtual destructor
...
The class is used polymorphically, so it's undefined behavior to delete
instances of GDBStubA64 and GDBStubA32 from the base class pointer.
2022-06-11 18:23:22 -04:00
Narr the Reg
1226a99d1f
service: hid: Fix gesture regression
2022-06-10 13:14:31 -05:00
Liam
c14f683322
core/debugger: fix a number of shutdown deadlocks
2022-06-10 09:17:12 -04:00
Liam
524737d29b
kernel: fix KCodeMemory initialization
2022-06-09 12:33:28 -04:00
Liam
5772327b39
CpuManager: simplify pausing
2022-06-08 21:47:29 -04:00
bunnei
3941e5db4d
Merge pull request #8428 from bunnei/nvflinger-fix-timing
...
Follow-up fixes for NVFlinger rewrite (Part 3)
2022-06-08 11:20:05 -07:00
Liam
fca1ce699a
core/debugger: fix asio write usage
2022-06-06 23:50:56 -04:00
Liam
92f60fbce1
core/debugger: fix crash due to incorrect lambda capture
2022-06-06 23:39:48 -04:00
bunnei
d436871e36
Merge pull request #8426 from liamwhite/elf
...
common: consolidate ELF structure definitions
2022-06-05 16:52:06 -07:00
bunnei
8ecb80f54d
hle: service: nvflinger: buffer_queue_consumer: Always free released buffers.
2022-06-05 16:06:06 -07:00
Mai M
b931457542
Merge pull request #8419 from liamwhite/library-list
...
gdbstub: add missing library list query
2022-06-05 18:23:29 -04:00
Liam
8f979d453d
common: consolidate ELF structure definitions
2022-06-05 09:42:05 -04:00
bunnei
b9a145a459
Merge pull request #8395 from german77/ir_stub
...
service: hid: Improve stub of IRS
2022-06-04 01:26:08 -07:00
Liam
67d1c62135
gdbstub: add missing library list command
2022-06-03 20:42:13 -04:00
Mai M
19114dbd3a
Merge pull request #8410 from liamwhite/thread-names
...
gdbstub: Support reading guest thread names
2022-06-02 16:34:41 -04:00
Liam
b3dce90004
core/debugger: Support reading guest thread names
2022-06-01 21:25:32 -04:00
Mai M
c4d0f9d4df
Merge pull request #8409 from liamwhite/tdesc-fix
...
gdbstub: fix target descriptions
2022-06-01 21:16:33 -04:00
Morph
a08c0ca9c3
Merge pull request #8402 from liamwhite/better-step
...
core/debugger: Improved stepping mechanism and misc fixes
2022-06-01 20:46:10 -04:00
Liam
89993f89cf
gdbstub: fix target descriptions
2022-06-01 20:31:24 -04:00
liamwhite
c4ee8ced98
Merge pull request #8404 from Morph1984/virtual
...
core/debugger: Define defaulted virtual destructors
2022-06-01 12:30:47 -04:00
Morph
e1d7a3b33a
core/debugger: Define defaulted virtual destructors
...
Resolves an MSVC warning where a virtual destructor is not defined in the base class with virtual functions.
2022-06-01 02:28:34 -04:00
Liam
da50e98e3a
core/debugger: Improved stepping mechanism and misc fixes
2022-06-01 02:15:15 -04:00
Morph
0767bdd486
gdbstub: Explicitly cast return type to u8
...
Otherwise, the addition promotes the returned value to an int instead of keeping it as a u8.
2022-06-01 01:40:18 -04:00
Liam
2ee161a0bf
core/debugger: Implement new GDB stub debugger
2022-06-01 00:01:25 -04:00
Narr the Reg
92efa9ddbb
service: hid: Improve stub of IRS
2022-05-31 10:26:13 -05:00
bunnei
7f1bf5c7a7
Merge pull request #8368 from german77/seventimes
...
Service: hid: Several improvements and implementations
2022-05-30 10:44:36 -07:00
bunnei
9f7b9ffc9f
Merge pull request #8332 from Morph1984/reduce_exec_size
...
general: Use smaller array types where applicable
2022-05-29 02:33:24 -07:00
bunnei
e135944c4d
Merge pull request #8374 from german77/asnycvibrations
...
input_common: Make vibration request async
2022-05-28 00:55:53 -07:00
german77
7d3544bf8d
service: hid: Implement ResetIsSixAxisSensorDeviceNewlyAssigned
...
Needed by Nintendo Switch Sports
2022-05-27 10:22:37 -05:00
german77
b644fc33fb
service: hid: Implement LoadSixAxisSensorCalibrationParameter and GetSixAxisSensorIcInformation
...
Needed by Nintendo Switch Sports
2022-05-27 10:22:36 -05:00
german77
0687a3b8c6
service: hid: Implement EnableSixAxisSensorUnalteredPassthrough and IsSixAxisSensorUnalteredPassthroughEnabled
...
Needed by Nintendo Switch Sports
2022-05-27 10:21:10 -05:00
german77
3909772840
service: hid: Add error handling to sixaxis functions
2022-05-27 10:21:10 -05:00
german77
2f5cb49476
service: hid: Refractor sixaxis functions
2022-05-27 10:21:10 -05:00
german77
7d1d9c8a6b
service: hid: Implement MergeSingleJoyAsDualJoy according to RE
2022-05-27 10:21:09 -05:00
german77
2b5c5a3817
service: hid: Add error handling to setNpadAssignment and variants
2022-05-27 10:21:09 -05:00
german77
0741919697
service: hid: Quick RE fixes and comments
2022-05-27 10:21:08 -05:00
Narr the Reg
3cd7b067e0
input_common: Make vibration request async
2022-05-23 12:25:02 -05:00
german77
b6d3a7d8cf
input_common: touch: Rewrite touch driver to support multiple touch points
2022-05-23 11:01:14 -05:00
Lioncash
9272114d86
general: Avoid ambiguous format_to compilation errors
...
Ensures that we're using the fmt version of format_to.
These are also the only three outliers. All of the other formatters we
have are properly qualified.
2022-05-14 16:48:34 -04:00
Morph
be2fb77675
time_zone_manager: Use s8 for month length tables
...
Using this smaller type saves 512 bytes in the compiled executable.
2022-05-13 00:51:11 -04:00
german77
5740fc0f91
service: notifa: Implement most part of this service
...
Implements partially RegisterAlarmSetting, UpdateAlarmSetting, LoadApplicationParameter, DeleteAlarmSetting.
Needed for Fitness `Boxing 2: Rhythm & Exercise` and `Ring Fit Adventure`.
2022-05-09 10:28:04 -05:00
Narr the Reg
f9315745f8
service: hid: Fix motion refresh rate
2022-05-06 11:13:49 -05:00
german77
b229605f32
service: hid: Disable correctly motion input
2022-05-06 11:13:48 -05:00
Morph
dfb800c76b
hle/result: Update std::expected replacement message
...
std::expected is included in C++23
2022-05-03 17:44:30 -04:00
Morph
67accc405f
hle/result: Add ResultRange overload in ResultVal
...
Also marks the implicit conversion operator as constexpr instead of consteval as the constructor is not constant evaluated.
2022-05-03 17:44:30 -04:00
bunnei
08fc849458
Merge pull request #8272 from german77/stick_range
...
yuzu: config: Improve analog stick mapping
2022-05-03 14:36:39 -07:00
Morph
5631c95c10
hle/result: Implement ResultRange
...
A ResultRange defines an inclusive range of error descriptions within an error module.
This can be used to check whether the description of a given ResultCode falls within the range.
The conversion function returns a ResultCode with its description set to description_start.
2022-05-02 18:17:39 -04:00
Morph
e8d4250bb7
Merge pull request #8274 from german77/firmware
...
service: hid: Stub IsFirmwareUpdateNeededForNotification
2022-04-29 04:08:34 -04:00
Andrea Pappacoda
b2eb103829
chore: add missing SPDX tags
...
Follow-up to 2b87305d31
2022-04-28 18:24:11 +02:00
bunnei
2b77a9fd0c
Merge pull request #8229 from german77/reinterpret2
...
service: hid: Access shared memory directly
2022-04-27 12:31:27 -07:00
german77
bcaf1a7bb2
service: hid: Stub IsFirmwareUpdateNeededForNotification
...
Used in Fitness Boxing 2: Rhythm & Exercise (0100073011382000)
2022-04-27 00:06:30 -05:00
Narr the Reg
ec8fa22768
yuzu: Config allow to delete single axis directions when buttons are mapped to a stick
2022-04-26 19:03:54 -05:00
Mai M
d2c22fcc96
Merge pull request #8261 from liamwhite/jit-cleanup
...
service: jit: document and clean up
2022-04-24 22:03:39 -04:00
Liam
1d0ae7c257
service: jit: document and clean up
2022-04-24 20:25:42 -04:00
Mai M
5e44c82cb7
Merge pull request #8260 from Morph1984/c4146
...
kernel: svc: Replace -1ULL with 0xFFFFFFFFFFFFFFFF
2022-04-24 18:25:00 -04:00
Morph
88052d8c09
kernel: svc: Replace -1ULL with 0xFFFFFFFFFFFFFFFF
...
Resolves the C4146 compiler warning on MSVC.
2022-04-24 17:40:47 -04:00
Merry
71b0b6274e
Remove unused PrepareReschedule function
2022-04-24 12:10:16 +01:00
Narr the Reg
db349d78c3
service: hid: Ensure all structs are initialized
2022-04-23 17:11:43 -05:00
Narr the Reg
879f936920
service: hid: Access shared memory directly
2022-04-23 15:41:42 -05:00
Morph
2b87305d31
general: Convert source file copyright comments over to SPDX
...
This formats all copyright comments according to SPDX formatting guidelines.
Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
2022-04-23 05:55:32 -04:00
bunnei
401095f021
Merge pull request #7976 from BytesGalore/master
...
loader: log the type of mismatching file-extension
2022-04-22 23:55:07 -07:00
bunnei
c0f328e7d4
Merge pull request #8222 from german77/sixaxis_test
...
service: hid: Improve accuracy of sixaxis functions
2022-04-21 21:25:47 -07:00
Liam
80afee83ba
core/arm: separate backtrace collection
2022-04-20 21:39:42 -04:00
Narr the Reg
d64fe5a63a
service: hid: Improve accuracy of sixaxis functions
2022-04-18 15:02:47 -05:00
Fernando S
dbb137d0a0
Merge pull request #6558 from german77/ringcon2
...
hidbus: Implement hidbus and ringcon
2022-04-16 15:51:14 +02:00
bunnei
cc53f4b48d
Merge pull request #8188 from merryhime/jit-race-page-table-changed
...
dynarmic: Fix race when switching page tables
2022-04-16 00:24:53 -07:00
german77
25c46f82c5
yuzu: Add custom ringcon configuration
2022-04-16 00:49:26 -05:00
german77
0a05a333e2
hidbus: Implement hidbus and ringcon
2022-04-16 00:49:21 -05:00
Fernando S
4e0c4e9929
Merge pull request #8172 from bunnei/kernel-mutex
...
hle: kernel: Use std::mutex instead of spin locks for most kernel locking.
2022-04-16 00:05:04 +02:00
Fernando S
1491acfc53
Merge pull request #8202 from merryhime/fix-single-core
...
dynarmic: Fix single core mode
2022-04-13 23:21:11 +02:00
merry
0b947e0341
dynarmic: Fix single core mode
...
Regression introduced in ac87509300 . Closes #8201 .
2022-04-13 20:40:12 +01:00
Liam
751903c633
service: jit: Implement the JIT service
2022-04-13 08:41:27 -04:00
bunnei
cd12d87e5b
Merge pull request #8165 from bunnei/ensure-session-port-cleanup
...
Kernel: Track open references to KServerPort and KServerSession.
2022-04-12 14:01:40 -07:00
bunnei
4d4a17ef6f
Merge pull request #8178 from tech-ticks/skyline-icache-fix
...
hle: kernel: Invalidate entire icache in UnmapProcessMemory and UnmapCodeMemory (fixes #8174 )
2022-04-12 11:23:20 -07:00
bunnei
03f8a16869
core: hle: kernel: k_thread: Rework dummy thread waiting.
2022-04-11 21:15:38 -07:00
bunnei
74c36ad85f
core: hle: service: Allocate a service thread.
2022-04-11 21:13:40 -07:00
bunnei
13b1ee7679
hle: kernel: k_spin_lock: Remove unused ThreadPause.
2022-04-11 21:13:40 -07:00
bunnei
e1b3368c18
hle: kernel: Use std::mutex instead of spin locks for most kernel locking.
2022-04-11 21:13:40 -07:00
bunnei
203b812a83
Merge pull request #8157 from lat9nq/kernel-races
...
kernel: Fix some data races
2022-04-11 21:13:01 -07:00
Jan Beich
a17a828115
service: sfdnsres: add missing includes for some BSDs after 5becdcea0b
...
src/core/hle/service/sockets/sfdnsres.cpp: In function 'Service::Sockets::NetDbError Service::Sockets::AddrInfoErrorToNetDbError(s32)':
src/core/hle/service/sockets/sfdnsres.cpp:66:10: error: 'EAI_NODATA' was not declared in this scope; did you mean 'EAI_NONAME'?
66 | case EAI_NODATA:
| ^~~~~~~~~~
| EAI_NONAME
src/core/hle/service/sockets/sfdnsres.cpp: In function 'std::vector<unsigned char> Service::Sockets::SerializeAddrInfo(const addrinfo*, s32, std::string_view)':
src/core/hle/service/sockets/sfdnsres.cpp:127:53: error: 'sockaddr_in' does not name a type; did you mean 'SockAddrIn'?
127 | const auto addr = *reinterpret_cast<sockaddr_in*>(current->ai_addr);
| ^~~~~~~~~~~
| SockAddrIn
src/core/hle/service/sockets/sfdnsres.cpp:127:64: error: expected '>' before '*' token
127 | const auto addr = *reinterpret_cast<sockaddr_in*>(current->ai_addr);
| ^
src/core/hle/service/sockets/sfdnsres.cpp:127:64: error: expected '(' before '*' token
127 | const auto addr = *reinterpret_cast<sockaddr_in*>(current->ai_addr);
| ^
| (
src/core/hle/service/sockets/sfdnsres.cpp:127:65: error: expected primary-expression before '>' token
127 | const auto addr = *reinterpret_cast<sockaddr_in*>(current->ai_addr);
| ^
src/core/hle/service/sockets/sfdnsres.cpp:127:84: error: expected ')' before ';' token
127 | const auto addr = *reinterpret_cast<sockaddr_in*>(current->ai_addr);
| ^
| )
src/core/hle/service/sockets/sfdnsres.cpp:148:53: error: 'sockaddr_in6' does not name a type; did you mean 'SockAddrIn6'?
148 | const auto addr = *reinterpret_cast<sockaddr_in6*>(current->ai_addr);
| ^~~~~~~~~~~~
| SockAddrIn6
src/core/hle/service/sockets/sfdnsres.cpp:148:65: error: expected '>' before '*' token
148 | const auto addr = *reinterpret_cast<sockaddr_in6*>(current->ai_addr);
| ^
src/core/hle/service/sockets/sfdnsres.cpp:148:65: error: expected '(' before '*' token
148 | const auto addr = *reinterpret_cast<sockaddr_in6*>(current->ai_addr);
| ^
| (
src/core/hle/service/sockets/sfdnsres.cpp:148:66: error: expected primary-expression before '>' token
148 | const auto addr = *reinterpret_cast<sockaddr_in6*>(current->ai_addr);
| ^
src/core/hle/service/sockets/sfdnsres.cpp:148:85: error: expected ')' before ';' token
148 | const auto addr = *reinterpret_cast<sockaddr_in6*>(current->ai_addr);
| ^
| )
2022-04-11 22:26:37 +00:00
Fernando S
e4e9181566
Merge pull request #8180 from liamwhite/symbols
...
core: extract symbol reading
2022-04-11 18:40:34 +02:00
Fernando S
5c7b2870ce
Merge pull request #8171 from tech-ticks/skyline-improvements
...
Improvements for game modding with Skyline, DNS resolution
2022-04-10 23:40:54 +02:00
merry
396a1dc9b0
dynarmic: Fix race when switching page tables
2022-04-10 15:46:29 +01:00
tech-ticks
53f7a78e9e
hle: kernel: Invalidate entire icache in UnmapProcessMemory and UnmapCodeMemory ( fixes #8174 )
2022-04-09 13:29:19 +02:00
Liam
28fb3e8240
core: extract symbol reading
2022-04-09 02:16:34 -04:00
bunnei
2588188273
Merge pull request #8138 from german77/data-no-race
...
core: hid: Reduce the amount of data races
2022-04-08 14:14:53 -07:00
bunnei
11febb02d6
hle: kernel: Unify and integrate reference tracking for KServerPort/KServerSession.
...
- These are not managed elsewhere, and need to be tracked and closed on emulation shutdown.
2022-04-08 14:13:22 -07:00
bunnei
5a3c38e133
hle: kernel: k_server_port: Release ref-counted host emulation members on Destroy.
2022-04-08 14:11:40 -07:00
bunnei
45da07576f
hle: kernel: k_auto_object: Move unregister with kernel to after Destroy.
...
- Destructor is no longer invoked, so our object counting was off.
2022-04-08 14:11:40 -07:00
bunnei
2ffc21449d
hle: service: sm: Remove manual tracking of KServerPorts.
2022-04-08 14:11:39 -07:00
bunnei
2878df391c
hle: kernel: hle_ipc: HasSessionRequestHandler: Check if domain handler is expired rather than locking.
2022-04-08 14:11:39 -07:00
bunnei
27e7b14429
Merge pull request #8169 from merryhime/scoped_lock
...
Replace lock_guard with scoped_lock
2022-04-08 14:01:42 -07:00
tech-ticks
5becdcea0b
service: sfdnsres: Implement DNS address resolution
2022-04-08 21:28:03 +02:00
Narr the Reg
b12a44a5ea
core: hid: Fix double lock on softlock and forced updates
2022-04-07 17:08:01 -05:00
merry
7fcb711b4e
Merge pull request #8167 from Tachi107/patch-1
...
fix: remove #pragma once in .cpp file
2022-04-07 22:47:43 +01:00
tech-ticks
cdc7fc731d
service: bsd: Add keepalive socket option
2022-04-07 23:30:23 +02:00
tech-ticks
de955ddc9d
patch_manager: Apply layered exefs patches from 'atmosphere' SD directory
2022-04-07 23:02:44 +02:00
Narr the Reg
c5b3ff2238
core: hid: Replace lock_guard with scoped_lock
2022-04-07 13:52:51 -05:00
Merry
9144a342ca
core/hle: Standardize scoped_lock initializers
2022-04-07 19:44:07 +01:00
Merry
2ee92efb8e
core: Replace lock_guard with scoped_lock
2022-04-07 19:44:07 +01:00
Merry
de61c0897c
core/hle: Replace lock_guard with scoped_lock
2022-04-07 19:44:07 +01:00
german77
48ac3b1b60
core: hid: Reduce the amount of dataraces
2022-04-07 13:18:03 -05:00
Fernando S
0bb26a7794
Merge pull request #8148 from merryhime/interrupts
...
dynarmic: Better interrupts
2022-04-07 16:21:41 +02:00
Andrea Pappacoda
4d8afbf2eb
fix: remove #pragma once in .cpp file
2022-04-07 12:03:47 +02:00
bunnei
2e67caa7ec
Merge pull request #8164 from liamwhite/jit-stub
...
service: jit: stub JIT service
2022-04-06 18:34:45 -07:00
Liam
d414904aef
service: jit: stub JIT service
2022-04-06 20:07:01 -04:00
bunnei
078e0f7cba
Merge pull request #8122 from bunnei/improve-thread-usage
...
Improve usage of service host threads
2022-04-06 12:25:25 -07:00
german77
d6493d42fd
service: hid: Partially revert #8123
2022-04-05 22:35:38 -05:00
bunnei
b3e6670709
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
4e3136128e
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
b64f4230b3
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 -04:00
merry
8bcfa4046f
dynarmic: Print stack trace on unrecognised instruction or other exception
2022-04-05 20:40:20 +01:00
bunnei
18017f7adf
Merge pull request #8089 from merryhime/paranoia
...
configuration: Add Paranoid CPU accuracy level
2022-04-04 11:07:38 -07:00
lat9nq
bda62c0837
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 -04:00
lat9nq
831f022536
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 -04:00
lat9nq
0f347eaf52
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 -04:00
lat9nq
53d3082dd4
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 -04:00
lat9nq
039ce14442
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 -04:00
merry
ac87509300
arm_dynarmic: Use HaltReason for svc calls and reschedules
2022-04-03 18:20:11 +01:00
merry
f54345590b
dynarmic: Better interrupts
2022-04-03 16:39:48 +01:00
bunnei
f35176e94b
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
3a540a5f8a
Merge pull request #8123 from german77/bombslinger
...
service: hid: Remove inaccurate behavior on initialization
2022-04-02 20:12:45 -07:00
german77
c4bf041235
service: npad: Default initialize shared memory
2022-04-02 19:43:49 -06:00
Andrea Pappacoda
d9044f00e1
fix: typos
2022-04-02 16:34:07 +02:00
bunnei
a00e1de7ce
hle: service: nvflinger: buffer_queue_producer: Cleanup & fixes.
2022-04-01 22:59:35 -07:00
bunnei
7054ba2ed8
hle: service: nvflinger: consumer_base: Cleanup & fixes.
2022-04-01 22:58:40 -07:00
bunnei
2123fc0a50
hle: service: nvflinger: buffer_queue_producer: Cleanup & add GetReleasedBuffers.
2022-04-01 22:58:02 -07:00
bunnei
63094fb176
hle: service: nvflinger: buffer_queue_core: Cleanup & fixes.
2022-04-01 22:56:32 -07:00
bunnei
ad78e63274
hle: service: nvflinger: Use correct logger namespace.
2022-04-01 22:55:44 -07:00
Morph
d2b4f8f974
hle: service: nvdrv: Create a service thread where appropriate.
2022-04-02 01:24:30 -04:00
bunnei
b3f4b41cc1
hle: service: vi: Create a service thread where appropriate.
2022-04-02 01:24:30 -04:00
bunnei
f432c730cb
hle: service: bsd: Create a service thread where appropriate.
2022-04-02 01:24:30 -04:00
bunnei
4a99bcfb95
hle: service: filesystem: Create a service thread where appropriate.
2022-04-02 01:24:30 -04:00
bunnei
c91b912a07
hle: service: audio: Create a service thread where appropriate.
2022-04-02 01:24:30 -04:00
bunnei
75e39568a0
hle: service: Add option for service interfaces to create or use the default thread.
2022-04-02 01:24:30 -04:00
bunnei
60f2fe3b48
hle: kernel: Create a default thread for services that do not need their own host thread.
2022-04-02 01:24:30 -04:00
Morph
4a960b6945
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 -04:00
Fernando S
c5beddca49
Merge pull request #8116 from ameerj/nvhost_ctrl_bad_param
...
nvhost_ctrl: Only mark EventState::Busy as BadParameter
2022-04-01 01:29:46 +02:00
german77
a2cc3b6098
service: hid: Remove inaccurate behavior on initialization
2022-03-31 12:35:57 -06:00
bunnei
245ba64d08
Merge pull request #8120 from german77/signal
...
service: hid: Signal event on AcquireNpadStyleSetUpdateEventHandle
2022-03-30 22:45:40 -07:00
bunnei
2fb74be647
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
0b8c1af0ed
service: hid: Signal event on AcquireNpadStyleSetUpdateEventHandle
2022-03-30 17:09:28 -06:00
ameerj
2a58f15111
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 -04:00
Morph
e144d064af
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 -04:00
merry
5a37246da6
arm_dynarmic_64: Invalidate on all cores
2022-03-27 15:37:19 +01:00
Fernando S
64222c5f34
Merge pull request #8088 from bunnei/fixup-nvflinger
...
Follow-up fixes for NVFlinger rewrite
2022-03-27 13:09:59 +02:00
bunnei
b149526098
Revert "Memory GPU <-> CPU: reduce infighting in the texture cache by adding CPU Cached memory."
2022-03-26 12:38:30 -07:00
bunnei
533ff8b1a9
hle: kernel: k_page_table: Fix implementations of LockForCodeMemory & UnlockForCodeMemory.
2022-03-26 01:49:34 -07:00
bunnei
003d5761e1
hle: kernel: k_page_table: Implement LockMemoryAndOpen & UnlockMemory.
2022-03-26 01:46:41 -07:00
merry
e752529c4c
configuration: Add Paranoid CPU accuracy level
...
Disables most optimizations for the paranoid.
2022-03-26 08:46:25 +00:00
bunnei
3beb4d4273
hle: kernel: svc: MapProcessMemory: Fix usage of KPageLinkedList to use physical address space.
2022-03-26 01:35:37 -07:00
bunnei
f84511eb4f
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
7e6a6bb505
hle: kernel: k_code_memory: Fix usage of KPageLinkedList to use physical address space.
2022-03-26 01:33:16 -07:00
bunnei
506961d8cc
hle: kernel: k_page_table: Implement MakeAndOpenPageGroup & MakePageGroup.
2022-03-26 01:25:52 -07:00
bunnei
416944c501
hle: kernel: k_page_table: Add IsHeapPhysicalAddress method.
2022-03-26 01:23:43 -07:00
bunnei
f5415480de
hle: kernel: k_page_linked_list: Add Empty method.
2022-03-26 01:02:42 -07:00
bunnei
58a4c17e98
hle: kernel: svc: UnmapProcessCodeMemory: Fix inverted alignment check.
2022-03-26 01:01:55 -07:00
bunnei
94f381d789
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
25e4089d54
hle: service: nvflinger: buffer_queue: Remove AutoLock and fix free buffer tracking.
2022-03-25 23:01:03 -07:00
bunnei
8da842dd90
hle: service: nvflinger: buffer_queue_consumer: Use scoped_lock instead of unique_lock.
2022-03-25 22:59:06 -07:00
bunnei
a2ad35b9ec
hle: service: nvflinger: consumer_base: Use scoped_lock instead of unique_lock.
2022-03-25 22:58:52 -07:00
bunnei
a841fd8034
hle: service: nvflinger: Remove unused BufferQueue.
2022-03-25 22:58:23 -07:00
Fernando Sahmkow
6e2cfc4310
Memory: Don't protect reads on Normal accuracy.
2022-03-25 04:24:25 +01:00
bunnei
f6bcf6c7e2
hle: nvflinger: ConsumerBase: Mark ctor as explicit.
2022-03-24 18:13:34 -07:00
bunnei
fa9f75819a
hle: vi: NativeWindow: Fix trivially copyable issues.
2022-03-24 18:13:34 -07:00
bunnei
4fce11872d
hle: nvdrv: nvdata: buffer_queue_producer: Minor cleanup.
2022-03-24 18:13:34 -07:00
bunnei
f496aa102d
hle: nvdrv: nvdata: Cleanup NvFence static assert.
2022-03-24 18:13:34 -07:00
bunnei
1299876ebe
hle: nvflinger: Remove unused unordered_map include.
2022-03-24 18:13:34 -07:00
bunnei
21d554f464
hle: nvflinger: buffer_queue_consumer: AcquireBuffer: Fix typo.
2022-03-24 18:13:34 -07:00
bunnei
0b6b398bd4
hle: nvflinger: Merge Rect with Common::Rectangle.
2022-03-24 18:13:33 -07:00
bunnei
ea2045efdf
hle: nvflinger: buffer_queue_core: Declare default dtor.
2022-03-24 18:13:33 -07:00
bunnei
2d84848c24
hle: nvflinger: buffer_queue_producer: DequeueBuffer: Remove unnecessary lock.
2022-03-24 18:13:33 -07:00
bunnei
6828db705e
hle: nvflinger: consumer_base: StillTracking: Should be const.
2022-03-24 18:13:33 -07:00
bunnei
e7304f6bd2
hle: nvflinger: graphic_buffer_producer: Remove unnecessary pragma pack.
2022-03-24 18:13:33 -07:00
bunnei
a08c906878
hle: nvflinger: parcel: Reserve token size.
2022-03-24 18:13:33 -07:00
bunnei
e941573bb7
hle: nvflinger: buffer_queue_core: StillTracking: Take const reference.
2022-03-24 18:13:33 -07:00
bunnei
411a53eaf3
hle: nvflinger: buffer_queue_core: Cleanup locking.
2022-03-24 18:13:33 -07:00
bunnei
d89257ddea
hle: nvflinger: Use std::chrono for present_ns.
2022-03-24 18:13:33 -07:00
bunnei
1f6dcd3784
hle: nvflinger: Migrate android namespace -> Service::android.
2022-03-24 18:13:33 -07:00
bunnei
a7f407ab22
hle: nvflinger: BufferQueueProducer: Handle SetPreallocatedBuffer with empty buffer.
...
- Used by Naruto Ultimate Ninja Storm.
2022-03-24 18:13:33 -07:00
bunnei
f1a91e0397
hle: vi: Integrate new NVFlinger and HosBinderDriverServer service.
2022-03-24 18:13:33 -07:00
bunnei
13c1932008
hle: nvflinger: Add implementation for HosBinderDriverServer service.
2022-03-24 18:13:33 -07:00
bunnei
072445a74f
hle: nvflinger: Add implementation for BufferQueueProducer class.
2022-03-24 18:13:33 -07:00
bunnei
12304ee7b6
hle: nvflinger: Add implementation for BufferQueueCore class.
2022-03-24 18:13:33 -07:00
bunnei
3693b78a28
hle: nvflinger: Add implementation for BufferQueueConsumer class.
2022-03-24 18:13:32 -07:00
bunnei
398f63e321
hle: nvflinger: Add implementation for QueueBufferInput and QueueBufferOutput structs.
2022-03-24 18:13:32 -07:00
bunnei
0de0899357
hle: nvflinger: Add implementation for BufferItemConsumer class.
2022-03-24 18:13:32 -07:00
bunnei
1955deb602
hle: nvflinger: Add implementation for ConsumerBase class.
2022-03-24 18:13:32 -07:00
bunnei
e5f998f631
hle: nvflinger: Add implementation for BufferSlot class.
2022-03-24 18:13:32 -07:00
bunnei
a5f9fbabfd
hle: nvflinger: Add implementation for BufferItem class.
2022-03-24 18:13:32 -07:00
bunnei
c1eed4083a
hle: nvflinger: Move implementation for Parcel to its own header.
2022-03-24 18:13:32 -07:00
bunnei
466b74b507
hle: nvflinger: Add android buffer queue definitions to its own header.
2022-03-24 18:13:32 -07:00
bunnei
2112b078a2
hle: nvflinger: Add IBinder interface.
2022-03-24 18:13:32 -07:00
bunnei
753377ebe8
hle: nvflinger: Add IConsumerListener interface.
2022-03-24 18:13:32 -07:00
bunnei
3fdb53d4d5
hle: nvflinger: Add ProducerListener interface.
2022-03-24 18:13:32 -07:00
bunnei
36937d8f31
hle: nvflinger: Add android window enumerations to its own header.
2022-03-24 18:13:32 -07:00
bunnei
6ec03eded9
hle: nvflinger: Add android Status flags to its own header.
2022-03-24 18:13:32 -07:00
bunnei
476f456d2f
hle: nvflinger: Move BufferTransformFlags to its own header.
2022-03-24 18:13:32 -07:00
bunnei
a8ff414423
hle: nvdrv: Rename Fence to NvFence to avoid naming conflicts.
2022-03-24 18:13:32 -07:00
bunnei
3396730b85
hle: nvflinger: Move PixelFormat to its own header.
2022-03-24 18:13:32 -07:00
bunnei
7c04c18560
hle: nvflinger: Add implementation for GraphicBuffer class.
2022-03-24 18:13:32 -07:00
bunnei
d5d04d5684
hle: nvflinger: Add implementation for Fence class.
2022-03-24 18:13:32 -07:00
bunnei
fbd0e594ba
hle: nvflinger: Add implementation for Rect class.
2022-03-24 18:13:32 -07:00
bunnei
853746deb2
Merge pull request #8031 from Morph1984/cleanup-mii-please
...
applets: Cleanup MiiEdit applet implementation
2022-03-22 21:56:42 -07:00
bunnei
89a97915a8
Revert "dynarmic: Reduce size of code caches"
2022-03-22 18:32:54 -07:00
Morph
f7d582a655
applets/swkbd: Split software keyboard initialization
...
Since the CalcArg struct has been updated with a new size and fields, we have to split the initialization of the keyboard into multiple functions.
This also adds support for parsing the new CalcArg struct used by updated versions of Monster Hunter Rise.
2022-03-21 23:58:50 -04:00
Morph
07954ef117
applets/swkbd: Add new inline software keyboard types
...
These were added in newer firmware versions.
2022-03-21 23:58:50 -04:00
Morph
3b6c02f774
applets/mii: Remove unused include
2022-03-21 23:57:31 -04:00
Morph
94be8a907d
applets/mii: Remove frontend parameters
...
These are unused for now as we do not support a frontend implementation.
2022-03-21 23:57:31 -04:00
Morph
67bdfcb7ff
applets/mii: Cleanup MiiEdit applet implementation
...
This also enables proper support for MiiEdit applets which are used in games with firmware versions prior to 10.2.0 by handling the 2 different versions of applet inputs and outputs.
2022-03-21 23:57:31 -04:00
Morph
d91788fe38
applets/mii: Cleanup MiiEdit applet types
2022-03-21 23:57:31 -04:00
Morph
061eceaf0d
applets/mii: Move MiiEdit applet types into its own file
2022-03-21 23:57:31 -04:00
Morph
6e2ff19bc7
service: Move mii enums and structs into its own file
...
Moves these into types.h, since other files also make use of these types.
2022-03-21 23:57:31 -04:00
Morph
a8663c9f5c
applets: Rename Mii to MiiEdit
2022-03-21 23:57:31 -04:00
bunnei
c9ffc287bf
Merge pull request #8048 from ameerj/include-purge
...
general: Reduce unused includes across the project
2022-03-21 18:03:54 -07:00
ameerj
f9709bb9e9
general: Fix clang/gcc build errors
2022-03-20 02:25:09 -04:00
bunnei
15dca3345c
Merge pull request #8040 from Morph1984/handle-table
...
KHandleTable: Optimize table entry layout
2022-03-19 23:17:37 -07:00
ameerj
e70b4f3fc5
common: Reduce unused includes
2022-03-19 15:01:31 -04:00
ameerj
22e01068e1
core: Reduce unused includes
2022-03-19 02:23:32 -04:00
bunnei
4fb93cbb3f
Merge pull request #8028 from v1993/patch-9
...
bsd: Allow inexact match for address length in AcceptImpl
2022-03-18 18:06:13 -07:00
ameerj
1967757627
general: Reduce core.h includes
2022-03-18 02:13:02 -04:00
Morph
c2a970b67d
KHandleTable: Optimize table entry layout
...
Since the handle type is not being used, we can reduce the amount of space each entry takes up by 4 bytes.
2022-03-18 00:28:25 -04:00
bunnei
fdac72a864
Merge pull request #7964 from german77/miiii
...
applet: mii: Simple implementation of mii applet
2022-03-16 21:37:53 -07:00
Valeri
bbf69903e9
bsd: Allow inexact match for address length in AcceptImpl
...
Minecraft passes in zero for length, but this should account for all possible cases
2022-03-15 14:06:34 +03:00
bunnei
1494a66aa3
core: hle: kernel: init_slab_setup: Move CalculateSlabHeapGapSize to global namespace.
2022-03-14 18:14:54 -07:00
bunnei
8b109f8a69
core: hle: kernel: Allocate dummy threads on host thread storage.
...
- Fixes a crash where on subsequent boots, long-lived host threads would have their dummy threads freed.
2022-03-14 18:14:54 -07:00
bunnei
18baef2ec9
core: hle: kernel: Downgrade dangling objects warning to debug.
...
- It is not impossible to leak kernel objects, so this is not really any issue anymore (albeit, still interesting).
2022-03-14 18:14:54 -07:00
bunnei
58b39c8ad8
core: hle: kernel: Make object list container global and ensure it is reset on each emulation session.
2022-03-14 18:14:54 -07:00
bunnei
29924a999e
core: hle: kernel: Remove server session tracking.
...
- These are now allocated/managed by emulated memory, so we do not need to track and free them on shutdown.
2022-03-14 18:14:54 -07:00
bunnei
b7535cd853
core: hle: kernel: k_process: Remove handle table finalize, reset page table.
2022-03-14 18:14:54 -07:00
bunnei
2b881f4ccc
core: hle: kernel: k_process: Implement thread local storage accurately.
2022-03-14 18:14:54 -07:00
bunnei
c8dba7c578
core: hle: kernel: k_page_table: Add implementations of MapPages, UnmapPages, and FindFreeArea for TLS.
2022-03-14 18:14:54 -07:00
bunnei
cb294300ea
core: hle: kernel: k_slab_heap: Refresh to use guest allocations.
2022-03-14 18:14:54 -07:00
bunnei
4b022badf0
core: hle: kernel: Update init_slab_heap, use device memory, and add KThreadLocalPage and KPageBuffer.
...
- Refreshes our slab initialization code to latest known behavior.
- Moves all guest kernel slabs into emulated device memory.
- Adds KThreadLocalPage and KPageBuffer, which we will use for accurate TLS management.
2022-03-14 18:14:54 -07:00
bunnei
8e8d8724a2
core: hle: kernel: k_page_buffer: Add KThreadLocalPage primitive.
2022-03-14 18:14:53 -07:00
bunnei
f92568936a
core: hle: kernel: k_page_buffer: Add KPageBuffer primitive.
2022-03-14 18:14:53 -07:00
bunnei
84ced13966
core: hle: kernel: k_thread: Ensure host Fiber is freed.
2022-03-14 18:14:53 -07:00
bunnei
4aa9e8543d
core: hle: kernel: k_server_session: Ensure SessionRequestManager is freed.
2022-03-14 18:14:53 -07:00
bunnei
dfbf03438f
core: hle: service: kernel_helpers: Use system resource limit.
2022-03-14 18:14:53 -07:00
bunnei
c0a2ae3186
core: hle: service: sm: Fix KPort reference count.
2022-03-14 18:14:53 -07:00
bunnei
c5516b1800
core: hle: kernel: k_thread: Update to reflect tree changes.
2022-03-14 18:14:53 -07:00
bunnei
8421193857
core: hle: kernel: Use weak_ptr where possible for SessionRequestHandler and SessionRequestManager.
2022-03-14 18:14:53 -07:00
bunnei
cbf7c2eb40
core: hle: kernel: k_memory_layout: Update kernel slab memory sizes.
2022-03-14 18:14:53 -07:00
bunnei
33c5eca64c
core: hle: kernel: svc_types: Add ThreadLocalRegionSize.
2022-03-14 18:14:53 -07:00
bunnei
bb2c956cf9
core: hle: kernel: k_condition_variable: Update to reflect tree changes.
2022-03-14 18:14:53 -07:00
bunnei
075ae485b1
core: hle: kernel: k_address_arbiter: Update to reflect tree changes.
2022-03-14 18:14:53 -07:00
Merry
eb30b2382a
dynarmic: Reduce size of code caches
2022-03-13 22:17:14 +00:00
bunnei
86eaedbf19
hle: service: ldr: Use deterministic addresses when mapping NROs.
...
- Instead of randomization, choose in-order addresses for where to map NROs into memory.
- This results in predictable behavior when debugging and consistent behavior when reproducing issues.
2022-03-08 17:38:20 -08:00
bunnei
d1aae938a9
Merge pull request #7986 from lat9nq/vk-callback
...
core, video_core: Fix two crashes when failing to create the emulated GPU instance
2022-03-08 12:36:57 -08:00
bunnei
9dd48f8f89
hle: kernel: KPageTable: Improve implementations of MapCodeMemory and UnmapCodeMemory.
...
- This makes these functions more accurate to the real HOS implementations.
- Fixes memory access issues in Super Smash Bros. Ultimate that occur when un/mapping NROs.
2022-03-07 17:18:20 -08:00
lat9nq
e3f8340bec
emu_window: Create a way to Cancel the exit of a Scoped
...
If a GraphicsContext is destroyed before its Scoped is destroyed, this
causes a crash as the Scoped tries to call a method in the destroyed
context on exit.
Add a way to Cancel the call when we know that calling the
GraphicsContext will not work.
2022-03-07 18:21:56 -05:00
lat9nq
7df809b8b1
core: Don't shutdown a null GPU
...
When CreateGPU fails, yuzu would try and shutdown the GPU instance
regardless of whether any instance was actually created.
Check for nullptr before calling its methods to prevent a crash.
2022-03-07 15:25:20 -05:00
BytesGalore
8f530cbb09
loader: log the type of mismatching file-extension
2022-03-03 06:45:13 +01:00
bunnei
ae301a650e
Merge pull request #7956 from bunnei/improve-mem-manager
...
Kernel Memory Updates (Part 4): Revamp KMemoryManager & other fixes
2022-03-02 17:55:51 -08:00
german77
9188dfafc4
applet: mii: Simple implementation of mii applet
2022-02-28 18:53:41 -06:00
bunnei
82ca8230ad
hle: kernel: Re-create memory layout at initialization.
...
- As this can only be derived once.
2022-02-27 18:00:09 -08:00
bunnei
41c9c93736
hle: kernel: Remove unused pool locals.
2022-02-27 18:00:09 -08:00
bunnei
939707cf75
hle: kernel: k_memory_manager: Rework for latest kernel behavior.
...
- Updates the KMemoryManager implementation against latest documentation.
- Reworks KMemoryLayout to be accessed throughout the kernel.
- Fixes an issue with pool sizes being incorrectly reported.
2022-02-27 18:00:09 -08:00
merry
3fe2c2d40d
dynarmic: Inline exclusive memory accesses
...
Inlines implementation of exclusive instructions into JITted code,
improving performance of applications relying heavily on these
instructions.
We also fastmem these instructions for additional speed, with
support for appropriate recompilation on fastmem failure.
An unsafe optimization to disable the intercore global_monitor is also
provided, should one wish to rely solely on cmpxchg semantics for
safety.
See also: merryhime/dynarmic#664
2022-02-27 19:40:05 +00:00
bunnei
d780096c3c
hle: kernel: k_page_heap: GetPhysicalAddr can be const.
2022-02-27 10:34:02 -08:00
bunnei
00d395c330
hle: kernel: k_page_heap: Remove superfluous consexpr.
2022-02-27 10:34:02 -08:00
bunnei
3f129b2700
hle: kernel: k_page_heap: Various updates and improvements.
...
- KPageHeap tracks physical addresses, not virtual addresses.
- Various updates and improvements to match latest documentation for this type.
2022-02-27 10:34:02 -08:00
bunnei
8ef7b10f92
hle: kernel: Add initial_process.h header.
2022-02-27 10:34:02 -08:00
bunnei
75b111b6de
hle: kernel: board: nx: Add k_memory_layout.h header.
2022-02-27 10:34:02 -08:00
bunnei
99acfba11f
hle: kernel: k_system_control: Add GetRealMemorySize and update GetKernelPhysicalBaseAddress.
2022-02-27 10:34:02 -08:00
bunnei
f562f3780e
hle: kernel: k_memory_layout: Add GetPhysicalLinearRegion.
2022-02-27 10:34:02 -08:00
bunnei
a48d756692
hle: kernel: k_memory_region_types: Update for new regions.
2022-02-27 10:34:02 -08:00
bunnei
2bbcc3d1c4
Merge pull request #7932 from bunnei/extended-mem-layout
...
Add extended memory layout (6GB) support and improve KResourceLimit management
2022-02-26 01:41:08 -08:00
Narr the Reg
273b9b5772
service: am: Update enum names to match documentation
2022-02-21 18:00:50 -06:00
bunnei
d3198bb960
hle: kernel: KSystemControl: Use 6GB memory layout when "use_extended_memory_layout" setting is enabled.
...
- This uses a larger 6GB DRAM memory layout, which is useful for some mods that require more memory.
2022-02-21 13:07:19 -08:00
bunnei
b928936457
core: device_memory: Use memory size reported by KSystemControl.
...
- That way, we can consolidate the memory layout to one place.
2022-02-21 13:07:19 -08:00
bunnei
f2cc07cc2c
core: hle: kernel: Remove resource limit hack for PhysicalMemory.
...
- With prior changes, we now report the correct amount of physical memory available to the emulated process.
2022-02-21 12:41:31 -08:00
bunnei
09adf10025
core: hle: kernel: KProcess: Pass in KResourceLimit on process creation.
...
- This allows us to have a resource limit per process, rather than use the global system resource limit.
2022-02-21 12:41:31 -08:00
bunnei
64ae76bff6
core: hle: kernel: KEvent: Pass in owner KProcess on event creation.
...
- This is necessary to ensure resource limits are freed from the right process.
2022-02-21 12:41:06 -08:00
bunnei
fe48c772e9
core: hle: kernel: KResourceLimit: Add a helper function for creating a KResourceLimit for a process.
2022-02-21 12:40:09 -08:00
bunnei
0e50d2914a
Merge pull request #7919 from bunnei/phys-mem-updates
...
core: hle: kernel: KPageTable: Improve Un/MapPhysicalMemory.
2022-02-21 13:39:05 -07:00
bunnei
0b8e6347ee
Merge pull request #7920 from bunnei/fix-unmap-pages
...
core: hle: kernel: KPageTable: Fix UnmapPages.
2022-02-21 13:38:52 -07:00
bunnei
e1af26d5b3
fixup! core: hle: kernel: KPageTable: Improve Un/MapPhysicalMemory.
2022-02-19 00:14:27 -08:00
bunnei
5e81f38950
Merge pull request #7867 from german77/amiibo
...
nfp: Improve amiibo support
2022-02-19 00:57:47 -07:00
bunnei
eb65836f69
core: hle: kernel: KPageTable: Fix UnmapPages.
...
- Fixes a logic bug in KPageTable::UnmapPages.
2022-02-18 23:48:16 -08:00
bunnei
6075031e99
core: hle: kernel: KPageTable: Improve Un/MapPhysicalMemory.
...
- Improves the implementations of MapPhysicalMemory and UnmapPhysicalMemory to more closely reflect latest HOS.
2022-02-18 23:42:27 -08:00
Mai M
53f6a61ff8
Merge pull request #7866 from xerpi/svc-OutputDebugString32-CreateCodeMemory32-ControlCodeMemory32
...
kernel: svc: Add OutputDebugString32, CreateCodeMemory32, ControlCodeMemory32
2022-02-16 22:49:56 -05:00
bunnei
3f85da2231
Merge pull request #7878 from german77/mnpp
...
service/mnpp: Stub mnpp_app
2022-02-16 18:42:49 -07:00
Morph
754fde3c90
Merge pull request #7899 from Kelebek1/test
...
file_sys: Dump patched exefs rather than base
2022-02-16 16:37:09 -05:00
Kelebek1
9ae0aaed6a
Dump patched exefs rather than base
2022-02-15 04:52:28 +00:00
Sergi Granell
dbfe017c9f
kernel: svc: Add OutputDebugString32, CreateCodeMemory32, ControlCodeMemory32
...
Very straightforward, they are just wrappers to the 64-bit version of
the SVC.
2022-02-15 00:45:19 +01:00
bunnei
7cecfa8369
Merge pull request #7871 from german77/svc2
...
svc: Set unique names for function tables
2022-02-14 16:32:54 -07:00
german77
c2942fa5c3
nfp: Allow files without password data
2022-02-13 13:52:34 -06:00
lat9nq
558fef2464
program_metadata: Unpack FileAccessHeader and FileAccessControl
...
Avoids a reference binding to a misaligned addresses. Unpacking one
requires unpacking the other, otherwise there'll be a misaligned address
on the leftover one.
2022-02-13 02:20:56 -05:00
lat9nq
94dec8e568
hid: Stub IsUsbFullKeyControllerEnabled
...
Used by Splatoon 2, when opening the inventory from a LAN battle lobby.
Reference: https://switchbrew.org/wiki/HID_services
2022-02-12 15:42:50 -05:00
bunnei
fa8505dfbb
Merge pull request #7852 from Morph1984/new-uuid
...
common: Revise and fix the UUID implementation
2022-02-10 21:52:13 -07:00
Narr the Reg
4eef3a0cde
service/mnpp: Stub mnpp_app
...
Used in Super Nintendo Entertainment System™ - Nintendo Switch Online
2022-02-10 21:55:28 -06:00
Narr the Reg
11680706a7
nfp: Separate nfc tag from amiibo data
2022-02-10 10:58:37 -06:00
Narr the Reg
d5873beb51
svc: Set unique names for function tables
2022-02-08 21:03:31 -06:00
bunnei
c40b56b554
hle: kernel: KCodeMemory: Remove unused QueryMemory.
2022-02-08 18:49:41 -08:00
bunnei
9ab27ece86
hle: kernel: KCodeMemory: Correct m_page_group number of pages.
...
Credits to @xerpi for finding this issue and pointing it out on #7519 .
2022-02-08 18:47:11 -08:00
german77
f2b6837fb7
nfp: Address compiler issues
2022-02-08 18:52:44 -06:00
Narr the Reg
bb831fae3a
nfp: Validate amiibo files
2022-02-08 14:09:30 -06:00
german77
68ed8e2388
nfp: Improve implementation
2022-02-08 10:08:04 -06:00
german77
78aa2441d8
nfp: Move IUser class to header and add missing enum and structs
2022-02-07 09:18:22 -06:00
german77
2dba88f9fd
nfp: Sort functions by command number
2022-02-07 09:18:22 -06:00
Morph
58df24fdde
Merge pull request #7847 from tech-ticks/master
...
service: pm: Implement AtmosphereGetProcessInfo
2022-02-05 19:22:45 -05:00
Morph
e47b5e6a26
general: Rename NewUUID to UUID, and remove the previous UUID impl
...
This completes the removal of the old UUID implementation.
2022-02-05 13:56:21 -05:00
Morph
26f74468c4
profile: Migrate to the new UUID implementation
2022-02-05 13:56:21 -05:00
Morph
4c1b4cc486
hle: ipc_helpers: Ignore -Wclass-memaccess
...
This warning is triggered by GCC when copying into non-trivially default constructible types, as it uses the more restrictive std::is_trivial (which includes std::is_trivially_default_constructible) to determine whether memcpy is safe instead of std::is_trivially_copyable.
2022-02-05 13:56:20 -05:00
Morph
da3c2dc90c
service: Migrate to the new UUID implementation
2022-02-05 13:18:46 -05:00
Morph
51c445f7e8
input/hid: Migrate to the new UUID implementation
2022-02-05 13:18:41 -05:00
bunnei
5e4fcf041e
Merge pull request #7839 from german77/battery
...
yuzu: ui: Improve battery symbols
2022-02-04 18:23:35 -07:00
tech-ticks
be026c6b6d
service: pm: Implement AtmosphereGetProcessInfo
2022-02-04 01:41:36 +01:00
bunnei
d1c4e9be9b
Merge pull request #7835 from bunnei/page-table-lock
...
hle: kernel: KPageTable: Migrate locks to KScopedLightLock.
2022-02-02 17:58:55 -07:00
Narr the Reg
2198237e42
yuzu: ui: Improve battery symbols
2022-02-02 13:18:06 -06:00
Lioncash
8a509e5a2c
general: Replace NonCopyable struct with equivalents
2022-02-02 13:17:12 -05:00
Lioncash
2c2e08df02
general: Move deleted copy/move constructor/assignment operators to public interface
...
This allows for better compiler errors, where the compiler will state a
copy or move couldn't occur due to the relevant function being deleted.
Previously a compiler would warn about the relevant function not being
accessible (which, while true, isn't as informative as it could be).
2022-02-02 12:17:08 -05:00
bunnei
1552c524ad
hle: kernel: KPageTable: Migrate locks to KScopedLightLock.
...
- More accurately reflects real kernel behavior by using guest locks.
2022-02-01 19:34:24 -08:00
Narr the Reg
33594225c7
svc: Add 32 bit SynchronizePreemptionState
...
Used by Espgaluda II
2022-01-31 19:02:41 -06:00
Morph
d45b236672
Merge pull request #7787 from bunnei/scheduler-deadlock-fix
...
hle: kernel: KScheduler: Fix deadlock with core waiting for a thread lock that has migrated.
2022-01-28 18:30:29 -05:00
bunnei
584eb04402
Merge pull request #7770 from german77/motion-threshold
...
input_common: Add option to configure gyro threshold
2022-01-27 15:44:04 -08:00
bunnei
1b8ed3a76d
hle: kernel: KScheduler: Fix deadlock with core waiting for a thread lock that has migrated.
...
- Previously, it was possible for a thread migration to occur from core A to core B.
- Next, core B waits on a guest lock that must be released by a thread queued for core A.
- Meanwhile, core A is still waiting on the core B's current thread lock - resulting in a deadlock.
- Fix this by try-locking the thread lock.
- Fixes softlocks in FF8 and Pokemon Legends Arceus.
2022-01-27 12:17:14 -08:00
bunnei
f73ced739a
Merge pull request #7762 from bunnei/un-map-improve
...
Kernel Memory Updates (Part 4): Improve Un/MapPages, and more.
2022-01-26 17:54:20 -08:00
Morph
c2fd2c56e9
Merge pull request #7771 from lioncash/assert
...
kernel/k_affinity_mask: Remove duplicated assert
2022-01-25 16:15:18 -05:00
Lioncash
1e57fbe71d
kernel/k_affinity_mask: Remove duplicated assert
...
This is already checked inside GetCoreBit()
2022-01-24 10:35:22 -05:00
german77
1fca7203d3
input_common: Add option to configure gyro threshold
2022-01-23 21:54:33 -06:00
bunnei
a2731424a6
hle: kernel: KThread: Improve Increment/Decrement RunningThreadCount.
...
- Previously implementation was incorrect, and would occasionally underflow.
2022-01-22 21:09:45 -08:00
bunnei
912b6b9ef4
core: hle: kernel: KPageTable: Various improvements to MapPages and UnmapPages.
2022-01-22 20:51:34 -08:00
bunnei
c46f07a62a
core: hle: kernel: KPageTable: MapProcessCode: Various cleanup.
2022-01-22 20:51:34 -08:00
bunnei
4f848b6f68
core: hle: kernel: KPageTable: ReserveTransferMemory: Various cleanup.
2022-01-22 20:51:34 -08:00
bunnei
bf904afa0f
core: hle: kernel: KPageTable: ResetTransferMemory: Various cleanup.
2022-01-22 20:51:34 -08:00
bunnei
1b3dd42de4
core: hle: kernel: KPageTable: SetMemoryAttribute: Various cleanup.
2022-01-22 20:51:34 -08:00
bunnei
05918a20c3
core: hle: kernel: KPageTable: Assert valid address on GetPhysicalAddr.
2022-01-22 01:33:26 -08:00
bunnei
a8476d9db0
core: hle: kernel: KPageTable: Operate: Assert lock ownership.
2022-01-22 01:33:26 -08:00
bunnei
8f3c7cb89b
core: hle: kernel: KPageTable: SetHeapSize: Cleanup & take physical memory lock.
2022-01-22 01:33:26 -08:00
bunnei
24efadee60
core: hle: kernel: Refactor Un/MapPhysicalMemory to remove unnecessary methods.
2022-01-22 01:33:26 -08:00
bunnei
ebb9ec197e
core: hle: kernel: Rename Un/Map to Un/MapMeory.
2022-01-22 01:33:26 -08:00
bunnei
7240568f00
Merge pull request #7737 from bunnei/fix-dummy-thread-leak
...
Various fixes to HLE service thread management
2022-01-21 22:34:47 -08:00
bunnei
606e643378
Merge pull request #7752 from Morph1984/SetCpuOverclockEnabled
...
service: apm: Stub ISession SetCpuOverclockEnabled
2022-01-21 17:13:52 -08:00
bunnei
b3f8d2491d
hle: kernel: KThread: Ensure host (dummy) threads block on locking.
...
- But do not enter the priority queue, as otherwise they will be scheduled.
- Allows dummy threads to use guest synchronization primitives.
2022-01-21 17:12:06 -08:00
Lioncash
46d9dc557c
service/wlan: Update function tables
2022-01-21 16:35:51 -05:00
Lioncash
3599c5f7c8
service/usb: Update function tables
2022-01-21 16:31:57 -05:00
Lioncash
50af00640b
service/set: Update function tables
2022-01-21 16:26:12 -05:00
Lioncash
114ce2ae13
service/ns: Update function tables
2022-01-21 16:21:35 -05:00
Lioncash
41f1cceefe
service/nim: Update unknown function table entries
2022-01-21 16:17:40 -05:00
Lioncash
cc5f02e0a5
service/friend: Update unknown function table entries
2022-01-21 16:08:46 -05:00
Lioncash
ee4adcada2
service/filsystem: Update fsp-srv function table
2022-01-21 16:07:01 -05:00
Lioncash
2495e8d6e1
service/btm: Update function tables
2022-01-21 15:59:41 -05:00
Lioncash
74a98a01de
service/audio: Update audctl unknown function names
2022-01-21 15:50:38 -05:00
Lioncash
aa0d0e91a0
service/am: Update omm function tables
2022-01-21 15:40:08 -05:00
Lioncash
1a50cb9468
service/acc: Update unknown function names
...
Switchbrew has the function names now.
2022-01-21 15:33:22 -05:00
Morph
00dc684fb0
service: apm: Stub ISession SetCpuOverclockEnabled
...
Since we don't currently support CPU overclocking within the emulated system, this can be stubbed for now, like APM IsCpuOverclockEnabled.
- Used by Gravity Rider Zero
2022-01-20 21:07:26 -05:00
bunnei
8f2630de0a
hle: kernel: Remove redundant tracking of dummy threads.
...
- These are already tracked by kernel's registered_objects member.
2022-01-20 17:08:00 -08:00
bunnei
f2e870d6b6
hle: kernel: KThread: DummyThread can be waited, ensure wait_queue is not nullptr.
2022-01-20 17:08:00 -08:00
bunnei
668af26696
hle: kernel: KThread: Decrease DummyThread priority to ensure it is never scheduled.
2022-01-20 17:08:00 -08:00
bunnei
db3c11506b
hle: kernel: service_thread: Ensure dummy thread is closed & destroyed on thread exit.
2022-01-20 17:08:00 -08:00
bunnei
e885b0ab0d
hle: kernel: KServerSession: Remove hack for CompleteSyncRequest.
...
- This does not appear to be necessary anymore.
2022-01-20 17:08:00 -08:00
bunnei
af11abed3f
hle: kernel: KServerSession: Simplify CompleteSyncRequest EndWait.
...
- Considering is_thread_waiting is never set, so we can remove IsThreadWaiting.
- KThread::EndWait will take the scheduler lock, so we can remove the redundant lock.
2022-01-20 17:08:00 -08:00
bunnei
247a7e2205
hle: kernel: KThread: Ensure dummy threads never call EndWait.
...
- These are only used by host threads for locking and will never have a wait_queue.
2022-01-20 17:08:00 -08:00
bunnei
f1e06f984d
hle: kernel: KScheduler: Ensure dummy threads are never scheduled.
...
- These are only used by host threads for locking.
2022-01-20 17:08:00 -08:00
bunnei
cc4cbff1ca
hle: kernel: KThread: Rename thread_type_for_debugging -> thread_type.
...
- This will be used to ensure that we do not schedule dummy threads.
2022-01-20 17:08:00 -08:00
bunnei
015c2dbd68
Merge pull request #7710 from german77/just-shake-it
...
core/hid: Increment shake force
2022-01-20 16:53:22 -08:00
Morph
ac59980bd0
Merge pull request #7726 from german77/clamp
...
service/hid: Initialize applet_resource on SetNpadAnalogStickUseCenterClamp
2022-01-19 14:31:15 -08:00
german77
d678dfda6e
service/hid: Initialize applet_resource on SetNpadAnalogStickUseCenterClamp
2022-01-19 14:20:31 -06:00
bunnei
70b2b91f71
Merge pull request #7701 from bunnei/clear-mem-pages
...
Kernel Memory Updates (Part 3): Clear KMemoryManager pages & other fixes
2022-01-18 21:20:42 -08:00
bunnei
74407b1348
Merge pull request #7712 from bunnei/fix-thread-exit
...
Accurately implement thread exit
2022-01-17 18:08:24 -08:00
bunnei
4e3c9cdde6
Merge pull request #7732 from v1993/patch-7
...
kernel: remove no-op code
2022-01-17 15:37:16 -08:00
Mai M
2567283d86
Merge pull request #7728 from v1993/patch-4
...
hid: fix std::transform call
2022-01-17 13:43:11 -05:00
Valeri
01852ee857
hle: remove no-op code
...
Found by static analysis with PVS-Studio. Nobody seems to really know what was it doing there.
2022-01-17 13:51:12 +03:00
Valeri
8b3ea1258c
hid: fix std::transform call
...
Found by static analysis with PVS-Studio.
2022-01-17 10:47:38 +03:00
Valeri
347574b398
Correct assignment source for rotations
...
Found by static analysis with PVS-Studio
2022-01-17 10:40:41 +03:00
bunnei
d3702fe297
Merge pull request #7711 from bunnei/fix-service-thread-race-v2
...
hle: kernel: Fix service_threads access to be thread safe V2.
2022-01-14 22:22:39 -08:00
bunnei
4148fde355
hle: kernel: k_memory_manager: Clear pages on allocation & free.
...
- Heap pages should be zero'd.
- Also explicitly passed along heap allocation option.
2022-01-14 21:16:33 -08:00
bunnei
d87fc832f4
Merge pull request #7707 from german77/slow-update
...
service/hid: Decrease motion update rate
2022-01-14 17:13:30 -08:00
bunnei
b52516263d
core: hle: kernel: KThread: Integrate with KWorkerTask and implement DoWorkerTaskImpl.
...
- This is used to terminate a thread asynchronously after it has been exited.
- This fixes a crash that can occur in Pokemon Sword/Shield because a thread is incorrectly closed on svcExitThread, then, the thread is destroyed on svcCloseHandle while it is still scheduled.
- Instead, we now wait for the thread to no longer be scheduled on all cores before destroying it from KWorkerTaskManager, which is accurate to HOS behavior.
2022-01-14 16:44:14 -08:00
bunnei
18969b5d8e
core: hle: kernel: KProcess: Integrate with KWorkerTask and add unimplemented DoWorkerTaskImpl.
2022-01-14 16:44:14 -08:00
bunnei
914431487b
core: hle: kernel: KThread: Replace Suspend with UpdateState & various updates.
...
- This makes our implementations of these more closely match HOS.
2022-01-14 16:44:14 -08:00
bunnei
b6bf119a43
core: hle: kernel: Instantiate a kernel instance of KWorkerTaskManager.
2022-01-14 16:44:14 -08:00
bunnei
b722faaf7a
core: hle: kernel: Add KWorkerTask and KWorkerTaskManager.
...
- These primitives are used to dispatch asynchronous kernel tasks from KThread and KProcess.
2022-01-14 16:43:59 -08:00
bunnei
fbab3dc017
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
Narr the Reg
f217849d21
core/hid: Increment shake force
...
With the current settings 2p mode in pokemon let's go wasn't showing up. By making the shake more violent we can make it appear without any effort using the keyboard
2022-01-14 11:11:20 -06:00
Mai M
8fb335ff3f
Merge pull request #7699 from bunnei/fix-service-thread-race
...
hle: kernel: Fix service_threads access to be thread safe.
2022-01-14 00:46:16 -05:00
Mai M
0872f9ff89
Merge pull request #7698 from bunnei/mem-code-memory-updates
...
Kernel Memory Updates (Part 2): SetProcessMemoryPermission, update permissions, and other minor changes.
2022-01-14 00:41:17 -05:00
bunnei
ef9186172f
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
c8933c02cc
Merge pull request #7700 from german77/no-gyro
...
core/hid: Reduce gyro threshold even more
2022-01-13 21:24:41 -08:00
Narr the Reg
01d886a3ba
service/hid: Decrease motion update rate
...
Motion stops working in Mario Tennis in swing mode if the update rate is too fast even when HW it updates at the same speed. 10ms it's the minimum period that the game needs to start working again.
2022-01-12 22:55:33 -06:00
Narr the Reg
56ac40bfc4
core/hid: Reduce gyro threshold even more
2022-01-11 23:15:39 -06:00
bunnei
d45b65b4d9
hle: kernel: k_page_table: Update SetProcessMemoryPermission.
2022-01-11 16:28:11 -08:00
bunnei
7526489b8b
hle: service: ldr: UnmapCodeMemory BSS only when set.
2022-01-11 16:28:11 -08:00
bunnei
84a61db25b
hle: kernel: k_page_table: ReadAndWrite -> UserReadWrite.
2022-01-11 16:28:11 -08:00
bunnei
0942533d2f
hle: kernel: k_page_table: Rename *ProcessCodeMemory -> *CodeMemory.
2022-01-11 16:28:11 -08:00
bunnei
e2df1ad6a1
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
5d1080d2a8
Merge pull request #7633 from german77/hotkeys
...
yuzu: Add controller hotkeys
2022-01-11 10:49:23 -08:00
bunnei
7f49c22fc4
Merge pull request #7682 from german77/udp_fix
...
input_common: Fix UDP controller mappings
2022-01-08 13:41:39 -08:00
bunnei
b227426ae5
core: hle: kernel: svc: Updates to SetMemoryAttribute and SetMemoryPermission.
2022-01-08 12:18:14 -08:00
bunnei
090f1c400e
core: hle: kernel: k_page_table: Update CheckMemoryState.
2022-01-08 03:20:57 -08:00
german77
a52791af6b
yuzu: Use pad parameter to choose the correct controller
2022-01-07 16:56:36 -06:00
german77
353317f31e
yuzu: Add controller hotkeys
2022-01-06 21:26:05 -06:00
german77
06d840652f
core/hid: Add home and screenshot button support
2022-01-06 21:11:27 -06:00
german77
f333340a9c
core/hid: Set minimum gyro threshold
2022-01-06 20:05:59 -06:00
bunnei
ccfce4da6f
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
ameerj
664fcdc64b
gpu: Add shut down method to synchronize threads before destruction
2022-01-03 20:47:26 -05:00
ameerj
8badb6f4a7
Revert "Merge pull request #7668 from ameerj/fence-stop-token"
...
This reverts commit 5a612e9217 , reversing
changes made to 2e61bc3d51 .
2022-01-03 20:28:54 -05:00
bunnei
5a612e9217
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
2e61bc3d51
Merge pull request #7664 from german77/fallback
...
core/hid: Add fallback to fullkey controllers
2022-01-03 15:04:37 -08:00
ameerj
0585c60227
gpu: Use std::stop_token in WaitFence for VSync thread
...
Fixes a hang that may occur when stopping emulation and the VSync thread is blocked on the syncpoint condition variable.
2022-01-03 12:31:33 -05:00
Fernando S
dd9be795bf
Merge pull request #7648 from bunnei/thread-pinning
...
core: hle: kernel: Implement thread pinning.
2022-01-03 02:01:26 +01:00
german77
0e9f010ed6
core/hid: Add fallback to fullkey controllers
2022-01-01 22:01:13 -06:00
bunnei
1b4fa1cba3
Merge pull request #7647 from german77/toad
...
core/hid: Fix controller type validation
2021-12-30 16:54:35 -08:00
bunnei
b12695ddc4
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
german77
5dab578691
core/hid: Fix controller type validation
2021-12-29 22:51:53 -06:00
Feng Chen
064470286d
Remove invalid assertion statement
2021-12-28 18:51:11 +08:00
Feng Chen
669cb21687
Implement few type in bufferqueue query method
2021-12-28 18:51:03 +08:00
bunnei
714dcea191
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
5217285536
Merge pull request #7621 from bunnei/set-mem-perm
...
core: hle: kernel: Implement SetMemoryPermission.
2021-12-27 23:33:11 -08:00
bunnei
555481005d
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
bc45d0fc1a
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
a1f637a6d0
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
d7d066e266
Merge pull request #7481 from german77/gyro-bias
...
service/hid: Improve console motion accuracy
2021-12-21 00:13:54 -08:00
bunnei
3f3eb16bc9
Merge pull request #7597 from bunnei/remove-global-lock
...
core: hle: Remove global HLE lock.
2021-12-20 14:24:50 -08:00
ameerj
1fff9ea35e
kernel: Manually destroy the current process during shut down
...
Avoids a memory leak.
2021-12-19 01:38:25 -05:00
Morph
5d73d0b0ae
Merge pull request #7593 from german77/brrr_test
...
core/hid: Cancel any vibration after the test
2021-12-18 15:53:15 -05:00
bunnei
acd1fff964
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
5192e8e092
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
Narr the Reg
3554c18269
core/hid: Cancel any vibration after the test
2021-12-16 13:35:15 -06:00
Narr the Reg
3e0a577553
core/hid: Fix faulty analog triggers
2021-12-14 19:49:44 -06:00
Lioncash
726de453bb
common/input: Avoid numerous large copies of CallbackStatus
...
CallbackStatus instances aren't the cheapest things to copy around
(relative to everything else), given that they're currently 520 bytes in
size and are currently copied numerous times when callbacks are invoked.
Instead, we can pass the status by const reference to avoid all the
copying.
2021-12-13 21:22:02 -05:00
Valeri
295b676fe6
Remove erroneous #pragma once
2021-12-13 16:49:01 +03:00
bunnei
5273e0665e
Merge pull request #7462 from bunnei/kernel-improve-scheduling
...
Kernel: Improve threading & scheduling V3
2021-12-12 22:43:25 -08:00
Narr the Reg
66a86f54af
service/hid: Improve console motion accuracy
2021-12-12 23:26:04 -06:00
bunnei
99f7732667
Merge pull request #7519 from itsmeft24/master
...
kernel: svc: Implement ProcessMemory and CodeMemory SVCs
2021-12-09 00:29:09 -08:00
bunnei
abecd3905d
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
d3b0025bd1
Merge pull request #7521 from german77/dual_single_joycons
...
service/hid: Implement SetNpadJoyAssignmentMode
2021-12-07 21:03:42 -08:00
bunnei
962a2a65a0
Merge pull request #7488 from vonchenplus/support_multiple_videos_playing
...
Support multiple videos playing
2021-12-07 18:38:14 -08:00
itsmeft24
9a28199c5a
Update k_code_memory.h
2021-12-07 16:58:23 -05:00
itsmeft24
4b0b2d7d1d
make KCodeMemory::GetSourceAddress const
...
Co-authored-by: Mai M. <mathew1800@gmail.com>
2021-12-07 07:58:33 -05:00
bunnei
5788e077cd
hle: kernel k_scheduler: EnableScheduling: Remove redundant GetCurrentThreadPointer calls.
2021-12-06 16:39:18 -08:00
bunnei
1b1ed86ec7
hle: kernel k_process: Remove unnecessary .at usage with thread pinning methods.
2021-12-06 16:39:18 -08:00
bunnei
38a6477770
hle: kernel: Remove unnecessary virtual specifier on NotifyAvailable.
2021-12-06 16:39:18 -08:00
bunnei
829c4b6144
hle: kernel: Remove unnecessary virtual specifier on EndWait.
2021-12-06 16:39:18 -08:00
bunnei
1457a75a40
hle: kernel: k_light_condition_variable: Revert unnecessary license comment changes.
2021-12-06 16:39:18 -08:00
bunnei
cd4582dc8b
hle: kernel: k_condition_variable: Revert unnecessary style changes.
2021-12-06 16:39:18 -08:00
bunnei
4b2aa52da9
hle: kernel: Remove unnecessary virtual specifier on CancelWait.
2021-12-06 16:39:18 -08:00
bunnei
273223d5f1
hle: kernel: service_thread: Force stop threads on destruction.
2021-12-06 16:39:18 -08:00
bunnei
0231cbd79f
hle: kernel: k_light_lock: Implement CancelWait.
...
- Fixes a crash in Megadimension Neptunia VII.
2021-12-06 16:39:18 -08:00
bunnei
d17b7268f6
hle: kernel: service_thread: Use std::jthread.
...
- Fixes a potential deadlock on service thread shutdown.
2021-12-06 16:39:18 -08:00
bunnei
b5970145a5
hle: kernel: k_thread: Skip reschedule on DisableDispatch with SC.
2021-12-06 16:39:18 -08:00
bunnei
6d2bf18df9
hle: kernel: k_thread: Rename sleeping_queue -> wait_queue.
2021-12-06 16:39:18 -08:00
bunnei
43d706c7d2
hle: kernel: svc: Fix deadlock that can occur with single core.
2021-12-06 16:39:18 -08:00
bunnei
826b07162a
hle: kernel: k_thread: Treat dummy threads as a special type.
2021-12-06 16:39:18 -08:00
FernandoS27
8a38790bd3
hle: kernel: fix timing on thread preemption
2021-12-06 16:39:18 -08:00
FernandoS27
2a7b4489a0
hle: kernel: fix scheduling ops from HLE host thread.
2021-12-06 16:39:17 -08:00
bunnei
58da4d5a6e
hle: kernel: Add a flag for indicating that the kernel is currently shutting down.
2021-12-06 16:39:17 -08:00
bunnei
975a4f786b
hle: kernel: KSynchronizationObject: Fix variable shadowing.
2021-12-06 16:39:17 -08:00
bunnei
eb34276885
hle: kernel: Cleanup to match coding style.
2021-12-06 16:39:17 -08:00
bunnei
8fc7d6e631
hle: kernel: KProcess: Improvements for thread pinning.
2021-12-06 16:39:17 -08:00
bunnei
e9231a0b8c
hle: kernel: KThreadQueue: Remove deprecated code.
2021-12-06 16:39:17 -08:00
bunnei
ecd17bbbe4
hle: kernel: KConditionVariable: Various updates & simplifications.
2021-12-06 16:39:17 -08:00
bunnei
050a4270d6
hle: kernel: KThread: Migrate to updated KThreadQueue (part 2).
2021-12-06 16:39:17 -08:00
bunnei
778f03c57a
hle: kernel: KThread: Migrate to updated KThreadQueue (part 1).
2021-12-06 16:39:17 -08:00
bunnei
756fdcbdb1
hle: kernel: KConditionVariable: Migrate to updated KThreadQueue.
2021-12-06 16:39:17 -08:00
bunnei
f81a6a07c0
hle: kernel: KServerSession: Migrate to updated KThreadQueue.
2021-12-06 16:39:17 -08:00
bunnei
346f6e54b5
hle: kernel: KLightConditionVariable: Migrate to updated KThreadQueue.
2021-12-06 16:39:17 -08:00
bunnei
5ff19c33fc
hle: kernel: KLightLock: Migrate to updated KThreadQueue.
2021-12-06 16:39:17 -08:00
bunnei
2ff578f0ee
hle: kernel: KAddressArbiter: Migrate to updated KThreadQueue.
2021-12-06 16:39:17 -08:00
bunnei
0ad0543cde
hle: kernel: KThread: Remove tracking of sync object from threads.
2021-12-06 16:39:17 -08:00
bunnei
e9cdb3cccb
hle: kernel: Update KThreadQueue and migrate KSynchronizationObject.
2021-12-06 16:39:17 -08:00
bunnei
01b0e5b168
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
a3dd417cbf
core: hle: kernel: k_thread: Mark KScopedDisableDispatch as nodiscard.
2021-12-06 16:39:17 -08:00
bunnei
6fd0256f77
core: cpu_manager: Use invalid core_id on init and simplify shutdown.
2021-12-06 16:39:17 -08:00
bunnei
5892c23e30
core: hle: kernel: k_auto_object: Add GetName method.
...
- Useful purely for debugging.
2021-12-06 16:39:16 -08:00
bunnei
51a7f04b81
core: hle: kernel: DisableDispatch on suspend threads.
2021-12-06 16:39:16 -08:00
bunnei
d31fc39e05
core: hle: kernel: k_scheduler: Improve DisableScheduling and EnableScheduling.
2021-12-06 16:39:16 -08:00
bunnei
1d5872511c
core: cpu_manager: Use KScopedDisableDispatch.
2021-12-06 16:39:16 -08:00
bunnei
3a83c9c027
core: hle: kernel: Use CurrentPhysicalCoreIndex as appropriate.
2021-12-06 16:39:16 -08:00
bunnei
1e03387d98
core: hle: kernel: k_scheduler: Remove unnecessary MakeCurrentProcess.
2021-12-06 16:39:16 -08:00
bunnei
454970983d
core: hle: kernel: k_scheduler: Improve ScheduleImpl.
2021-12-06 16:39:16 -08:00
bunnei
90310b9c03
core: hle: kernel: k_scheduler: Improve Unload.
2021-12-06 16:39:16 -08:00
bunnei
3ca8aca719
core: hle: kernel: k_process: DisableDispatch on main thread.
2021-12-06 16:39:16 -08:00
bunnei
67e8861da4
core: hle: kernel: k_handle_table: Use KScopedDisableDispatch as necessary.
2021-12-06 16:39:16 -08:00
bunnei
4bd80abd17
core: hle: kernel: k_thread: Add KScopedDisableDispatch.
2021-12-06 16:39:16 -08:00
bunnei
fa26f905c8
core: hle: kernel: Ensure idle threads are closed before destroying scheduler.
2021-12-06 16:39:16 -08:00
bunnei
cae0bef7ec
core: hle: kernel: Reflect non-emulated threads as core 3.
2021-12-06 16:39:16 -08:00
bunnei
3809ab520b
Merge pull request #7524 from german77/hid_stub
...
service/hid: Stub SetNpadCaptureButtonAssignment and ClearNpadCaptureButtonAssignment
2021-12-06 13:06:18 -08:00
german77
57ceda21b7
service/notif: Add notif:a and stub ListAlarmSettings,Initialize
...
Used by ring fit adventure 1.2.0
2021-12-06 10:36:37 -06:00
itsmeft24
01d66693ce
fix formatting
2021-12-06 11:02:33 -05:00
itsmeft24
329e58ad79
move private members below public members
2021-12-06 10:37:13 -05:00
itsmeft24
1dcb18cf3e
fix formatting
2021-12-06 10:37:09 -05:00
itsmeft24
c1a1ffa949
fix formatting
...
Co-authored-by: Mai M. <mathew1800@gmail.com>
2021-12-06 07:58:28 -05:00
german77
df845d5d6e
service/hid: Stub SetNpadCaptureButtonAssignment and ClearNpadCaptureButtonAssignment
...
Used by ring fit adventure 1.2.0
2021-12-05 22:44:31 -06:00
jam1garner
9ea4d9cb8c
loader: Support loading subsdk{8,9}
2021-12-05 23:07:50 -05:00
itsmeft24
3df8201e46
fix formatting
2021-12-05 19:00:29 -05:00
itsmeft24
291a398405
Remove unnecessary includes
2021-12-05 18:49:40 -05:00
german77
2352826bf7
service/hid: Implement SetNpadJoyAssignmentMode
2021-12-05 16:18:23 -06:00
itsmeft24
c27936368a
Add copyright notice
2021-12-05 16:49:52 -05:00
ameerj
8969273d2d
general: Add missing copyright notices
2021-12-05 16:18:53 -05:00
itsmeft24
e380100026
Add KCodeMemory to CMakeLists.txt
2021-12-05 15:56:44 -05:00
itsmeft24
033c9dff92
kernel: svc: Implement Map/UnmapProcessMemory and Create/ControlCodeMemory
...
Used by Skyline modding framework
2021-12-05 15:04:08 -05:00
german77
2ba6890141
core/hid: Add missing controller type
2021-12-05 13:57:59 -06:00
german77
5fae083bc3
core/hid: Ensure only valid npad are connected
2021-12-04 23:20:18 -06:00
Feng Chen
4a3c1192b8
Address feedback
2021-12-05 00:06:14 +08:00
bunnei
89d029ff31
Merge pull request #7489 from Morph1984/steady-clock
...
general: Replace high_resolution_clock with steady_clock
2021-12-03 16:08:20 -08:00
Morph
f650d11a53
service: am: ISelfController: Stub SaveCurrentScreenshot
...
- Used by Disney Magical World 2: Enchanted Edition
2021-12-02 20:12:24 -05:00
Morph
2b9afa4d56
general: Replace high_resolution_clock with steady_clock
...
On some OSes, high_resolution_clock is an alias to system_clock and is not monotonic in nature. Replace this with steady_clock.
2021-12-02 14:20:43 -05:00
Feng Chen
10cc89bfdf
Support multiple videos playing
2021-12-02 12:48:42 +08:00
Morph
2bd51ec9e5
service: friend: Implement GetCompletionEvent
...
- Used by Super Bomberman R Online
2021-11-30 12:19:21 -05:00
Morph
ef31afb71f
input_interpreter: Make use of NpadButton instead of a u64
...
Allows us to be more explicit with the representation of button states and use the provided bit manipulation operators
2021-11-29 19:21:51 -05:00
Morph
f34773ee36
npad: Return NpadButton in GetAndResetPressState
...
We were previously truncating this to a u32 as there were no known buttons that used the full 64 bits of this type. Fix this now that we know they are used.
2021-11-29 19:21:51 -05:00
Morph
978c1c2853
core: hid: hid_types: Add "All" to NpadButton
...
This represents a bitmask for all pressed buttons
2021-11-29 19:21:51 -05:00
Morph
715d4bdbc6
core: hid: hid_core: Add (Enable/DIsable)AllControllerConfiguration
2021-11-29 17:59:58 -05:00
Morph
726d16f266
general: Fix handheld typo
2021-11-29 17:22:59 -05:00
Morph
bc2f114e75
core: hid: Mark constructors as explicit
2021-11-29 17:20:15 -05:00
Morph
24b6822c56
core: hid: Cleanup and amend documentation
2021-11-29 17:20:14 -05:00
bunnei
05cd56b716
Merge pull request #7438 from german77/homebrew2
...
Core: Stub services and functions needed for checkpoint
2021-11-28 00:54:48 -08:00
Narr the Reg
9139019352
core/ns: Implement GetReadOnlyApplicationControlDataInterface
...
Used in checkpoint homebrew
2021-11-27 20:30:16 -06:00
Narr the Reg
979bdaeddd
core/pdm: Stub QueryPlayStatisticsByApplicationIdAndUserAccountId
...
Used in checkpoint homebrew
2021-11-27 20:30:16 -06:00
german77
b7357d95a7
settings: Add debug setting to enable all controllers
2021-11-27 20:24:37 -06:00
Narr the Reg
297b5accab
core/hid: Stub GetUniquePadsFromNpad
...
Used in checkpoint homebrew
2021-11-27 09:03:10 -06:00
german77
8df8dd6c5c
config: Remove vibration configuration
2021-11-26 19:31:04 -06:00
Narr the Reg
7b56b2cab6
input_common: Fully implement UDP controllers
2021-11-26 15:46:36 -06:00
Narr the Reg
d20817d2f1
service/hid: Finish converting LIFO objects and address some nits
2021-11-24 20:30:29 -06:00
german77
af121ded18
bootmanager: Use cross-platform keyboard input
2021-11-24 20:30:28 -06:00
german77
30de38ee7f
kraken: Address comments from review
...
Fix compiler bug
2021-11-24 20:30:28 -06:00
german77
25521cd948
core/hid: Improve accuary of mouse implementation
2021-11-24 20:30:28 -06:00
german77
dfb63175d1
core/hid: Fully implement native mouse
2021-11-24 20:30:28 -06:00
german77
6032358402
input_common: Allow keyboard to be backwards compatible
2021-11-24 20:30:28 -06:00
german77
ebfe40dec8
core/hid: Improve accuracy of the keyboard implementation
2021-11-24 20:30:28 -06:00
german77
41dbb2d3cb
core/hid: Fix keyboard alignment
2021-11-24 20:30:28 -06:00
german77
99485a06a7
core/hid: Remove usage of native types, fix a couple of errors with motion
2021-11-24 20:30:28 -06:00
german77
d12525737a
service/hid: Remove includes of core.h and settings.h
2021-11-24 20:30:27 -06:00
german77
8d9d6516fd
service/hid: Add support for new controllers
2021-11-24 20:30:27 -06:00
german77
0cf8201c5d
settings: Fix controller preview not displaying the correct controller
2021-11-24 20:30:27 -06:00
german77
8517d89be0
core/hid: Rename NpadType to NpadStyleIndex
2021-11-24 20:30:27 -06:00
german77
ddcdaac727
config: Cleanup and documentation
2021-11-24 20:30:27 -06:00
german77
a4cdafed54
core/hid: Prevent Emulated controller from flapping with multiple inputs devices
2021-11-24 20:30:27 -06:00
german77
93997b234f
core/hid: Fully emulate motion from button
2021-11-24 20:30:27 -06:00
german77
4736326a05
second commit lion review
2021-11-24 20:30:26 -06:00
german77
a8852024b6
settings: Fix Debug controller type options
2021-11-24 20:30:26 -06:00
german77
9f91335a71
kraken: Address comments from review
...
start lion review
2021-11-24 20:30:26 -06:00
german77
f63c6fce6d
input_common: Revert deleted TAS functions
2021-11-24 20:30:26 -06:00
german77
df91c97a36
core/hid: Explain better what a temporary value does
2021-11-24 20:30:26 -06:00
german77
92a9205566
core/hid: Update structs to 13.1.0
2021-11-24 20:30:26 -06:00
german77
d0389d2971
core/hid: Add TAS input
2021-11-24 20:30:26 -06:00
german77
124404e756
input_common: Add multiple vibration curves
2021-11-24 20:30:26 -06:00
german77
012691087a
core/hid: Rework battery mappings
2021-11-24 20:30:26 -06:00
german77
ae6ba2c8bd
input_common: Add manual update options to input devices
2021-11-24 20:30:26 -06:00
german77
c545dca53b
service/hid: Fix memory allocated incorrectly
2021-11-24 20:30:25 -06:00
german77
d1bac9024d
settings: Fix mouse and keyboard mappings
2021-11-24 20:30:25 -06:00
german77
d813cbd592
Morph review first wave
2021-11-24 20:30:25 -06:00
german77
ecb9ca0dc2
service/hid: Match shared memory closer to HW
2021-11-24 20:30:25 -06:00
german77
498dd14bc7
yuzu: Fix loading input profiles
2021-11-24 20:30:25 -06:00
german77
b3f59b4407
kraken: Address comments from review
...
review fixes
2021-11-24 20:30:25 -06:00
german77
1f0a7a8bca
service/hid: Use ring buffer for gestures
2021-11-24 20:30:25 -06:00
german77
8ea02d19a1
service/hid: Fix gesture input
2021-11-24 20:30:25 -06:00
german77
6774c7988b
configuration: Migrate controller settings to emulated controller
2021-11-24 20:30:25 -06:00
german77
6c7814bc9c
core/hid: Fix rumble too strong at 1%
2021-11-24 20:30:24 -06:00
german77
00f654cd22
core/hid: Only signal when needed
2021-11-24 20:30:24 -06:00
german77
88cb39be9f
hid: Fix controller connection/disconnection
2021-11-24 20:30:24 -06:00
german77
c39001eaa6
core/hid: Documment some files
2021-11-24 20:30:24 -06:00
german77
0292fe0198
kraken: Fix errors from rebase and format files
2021-11-24 20:30:24 -06:00
german77
66cf94709a
core/hid: Add output devices
2021-11-24 20:30:24 -06:00
german77
a197599d08
core: Update input interpreter
2021-11-24 20:30:24 -06:00
german77
d879443146
core/frontend: Update applets
2021-11-24 20:30:24 -06:00
german77
9f38fa7ffe
core: Remove frontend/input
2021-11-24 20:30:24 -06:00
german77
0655b8da59
service/hid: Rewrite npad to use ring lifo and the emulated controller
2021-11-24 20:30:24 -06:00
german77
8b1126f80e
service/hid: Update console sixaxis to the emulated console
2021-11-24 20:30:24 -06:00
german77
6b6628651f
service/hid: Update mouse and keyboard to use ring lifo and the emulated device
2021-11-24 20:30:24 -06:00
german77
9c28d458bd
service/hid: Update touch and gestures to use ring lifo and the emulated console
2021-11-24 20:30:24 -06:00
german77
b749bd7498
service/hid: Update debug pad, xpad, stubbed and controller base to use ring lifo and the emulated controller
2021-11-24 20:30:23 -06:00
german77
70a0aba81d
service/hid: Use remove duplicated code, update names
2021-11-24 20:30:23 -06:00
german77
461b19a681
service/hid: Create ring LIFO
2021-11-24 20:30:23 -06:00
german77
84bda35f14
settings: Cleanup settings
2021-11-24 20:30:23 -06:00
german77
d2f31e805b
core/emu_window: Remove touch input
2021-11-24 20:30:23 -06:00
german77
4f3c5f0101
core: Register HID
2021-11-24 20:30:23 -06:00
german77
5298dba88e
core/hid: Add emulated controllers
2021-11-24 20:30:23 -06:00
german77
61e34f0759
core/hid: Move motion_input, create input converter and hid_types
2021-11-24 20:30:22 -06:00
german77
341d3e2f11
core/hid: Move input_interpreter to hid
2021-11-24 20:30:22 -06:00
bunnei
1d8b5271b4
Merge pull request #7394 from Morph1984/svc-SetMemoryPermission
...
kernel: svc: Implement SetProcessMemoryPermission
2021-11-22 14:06:09 -08:00
jam1garner
4b9926e608
arm: dynarmic: Cleanup icache op handling
2021-11-21 22:44:13 -05:00
jam1garner
068124d506
arm: dynarmic: Implement icache op handling for 'ic iallu' instruction
2021-11-21 21:18:56 -05:00
jam1garner
3f51dd23da
arm: dynarmic: Implement icache op handling for 'ic ivau' instruction
2021-11-21 21:10:14 -05:00
bunnei
15212de85a
Merge pull request #7389 from ameerj/screenshot-1x
...
Fix screenshot dimensions when at 1x scale
2021-11-21 02:31:32 -08:00
bunnei
bdacff6b39
Merge pull request #7359 from heinermann/kthread_crash
...
Fix crash on exit due to static scoped dummy threads
2021-11-20 23:59:58 -08:00
Morph
463793ccb5
kernel: svc: Move all IsValid functions to an anonymous namespace
2021-11-20 22:49:13 -05:00
Morph
64079bc2f2
kernel: svc: Implement SetProcessMemoryPermission
...
- Used by Skyline modding framework
2021-11-20 22:18:56 -05:00
Morph
d9bfc2d546
kernel: KPageTable: Rename SetCodeMemoryPermission to SetProcessMemoryPermission
2021-11-20 22:18:56 -05:00
Morph
a1da80a1cd
service: pm: Implement AtmosphereGetProcessId
...
- Used by Skyline modding framework
2021-11-20 20:56:29 -05:00
Morph
5ed5db7883
service: pm: Add all relevant result codes
2021-11-20 20:56:28 -05:00
Morph
20ac4fd61b
service: pm: Rename title id to program id
2021-11-20 19:39:26 -05:00
ameerj
69759e55ee
Fix screenshot dimensions when at 1x scale
...
This was regressed by ART.
Prior to ART, the screenshots were saved at the title's framebuffer resolution. A misunderstanding of the existing logic led to screenshot dimensions becoming dependent on the host render window size.
This changes the behavior to match how it was prior to ART at 1x, with screenshots now always being the title's framebuffer dimensions scaled by the resolution scaling factor.
2021-11-20 17:50:24 -05:00
Adam Heinermann
fc017ead67
Fix crash on exit due to static scoped dummy threads
2021-11-17 15:29:25 -08:00
ameerj
4919d2d00f
bootmanager: Fix screenshot resolution factor usage
...
Fixes screenshots at non integer scaling
2021-11-16 22:11:30 +01:00
Fernando Sahmkow
fcae5dab7b
Settings: eliminate rescaling_factor.
2021-11-16 22:11:27 +01:00
OatmealDome
3a4b8bac08
program_metadata: Add default ThreadInfo kernel capability
2021-11-10 22:01:05 -05:00
Morph
6e09e0f8ed
applets/swkbd: Fix text check message encoding
...
The text check message can be encoded in UTF-8.
2021-11-08 14:57:53 -05:00
Morph
ab736f254f
applets/swkbd: Skip text checking if the text has been confirmed
...
Confirm means that the text has already been checked by the application to be correct, but is asking the user for confirmation.
The confirmation text itself seems to be corrupted though, this needs to be investigated.
Fixes the software keyboard in Famicom Detective Club: The Missing Heir
2021-11-08 13:05:50 -05:00
Narr the Reg
22ab930f36
service/pctl: Stub EndFreeCommunication
...
- Used by Just Dance 2022
2021-11-05 12:16:19 -04:00
Morph
86d6531083
Merge pull request #7279 from Morph1984/system-get-program-id
...
general: Get the current process program id directly from the system
2021-11-04 20:34:20 -04:00
Morph
d60da025cf
Merge pull request #7289 from ameerj/perf-stat-shutdown
...
core: Reorder perf_stats destruction order on Shutdown
2021-11-04 20:34:09 -04:00
ameerj
a09800057a
core: Reorder perf_stats destruction order on Shutdown
...
Avoids the gpu_core using perf_stats after it's been freed.
2021-11-04 20:19:58 -04:00
Fernando S
fceef14159
Merge pull request #7287 from Morph1984/stub-aoc
...
service: aoc: Stub more 13.x functions used by Animal Crossing
2021-11-05 00:26:10 +01:00
Morph
41a0c088ba
general: Get the current process program id directly from the system
...
This allows us to avoid including KProcess' header file in files that only need to get the current process' program id.
2021-11-04 16:59:39 -04:00
Morph
10508e7af2
general: Rename GetTitleID to GetProgramID
2021-11-04 16:57:16 -04:00
bunnei
0a2f5932e2
Merge pull request #7282 from ameerj/core-includes
...
core: Reduce unused header includes
2021-11-04 13:56:10 -07:00
Morph
f6eb11caca
service: aoc: Stub NotifyUnmountAddOnContent
...
Used by Animal Crossing: New Horizons v2.0.0 DLC
2021-11-04 16:50:08 -04:00
Morph
8096484995
service: aoc: Stub NotifyMountAddOnContent and NotifyMountAddOnContent
...
Used by Animal Crossing: New Horizons v2.0.0 DLC
2021-11-04 16:48:47 -04:00
german77
c3e27a75b1
service/acc: Rename Unknown160 to InitializeApplicationInfoV2
2021-11-04 10:10:58 -06:00
Morph
22584e2ade
service: acc: Stub acc:u0 '160'
...
- Used by Animal Crossing: New Horizons v2.0.0
Since the name is currently unknown, '160' is used as a placeholder.
2021-11-04 02:57:13 -04:00
ameerj
a3d1429aa5
core: Fix transitive include build errors
2021-11-03 21:42:58 -04:00
ameerj
d27abf5546
core: Remove unused includes
2021-11-03 21:42:57 -04:00
Morph
c3c09ca222
svc: Correct WaitSynchronization num_handles param type
...
num_handles is a s32
2021-11-02 22:31:04 -04:00
Morph
fddd57db61
general: Remove MakeResult helpers
...
This is made obsolete by the presence of implicit constructors.
2021-11-02 17:23:19 -04:00
Morph
13a85dcad5
hle/result: Amend ResultVal documentation
...
This amends the documentation slightly to reflect the updated interface.
2021-11-02 15:20:36 -04:00
Morph
44dc3bd9a9
hle/result: Reimplement ResultVal using Common::Expected
...
Common::Expected effectively provides the same functions as ResultVal, so we can implement it with this.
This can be replaced with std::expected with minimal effort should it be standardized in the C++ Standard Template Library.
2021-11-02 15:20:35 -04:00
bunnei
58377818a1
Merge pull request #7227 from vonchenplus/fix_memory_leak_v2
...
Fix memory leak v2
2021-11-01 20:11:30 -07:00
bunnei
25b17a3ae0
Merge pull request #7244 from Morph1984/application-lang-pt-br
...
file_sys/ns: Add Brazilian Portuguese to the list of ApplicationLanguage
2021-10-29 22:32:38 -07:00
bunnei
b9a3be8125
Merge pull request #7240 from Morph1984/resultval-remove-cv
...
hle/result: Remove cv-qualifiers from Arg in MakeResult
2021-10-29 21:35:32 -07:00
Morph
a901de67c6
file_sys: control_metadata: Add BrazilianPortuguese
2021-10-28 20:05:26 -04:00
Morph
6616cd1b59
ns: language: Add BrazilianPortuguese to ApplicationLanguage
...
It seems that Nintendo finally filled that last empty spot in ApplicationLanguage for a total of 16 supported languages.
2021-10-28 20:05:05 -04:00
Morph
55362bccd9
hle/result: Declare copy/move constructor/assignment as noexcept
...
While we're at it, we can also declare these copy/move constructor/assignment as noexcept.
2021-10-28 04:00:21 -04:00
Morph
696c2cec31
hle/result: Add move assignment operator in ResultVal
...
ResultVal was missing a move assignment operator, add it.
2021-10-28 03:52:21 -04:00
Morph
498f7ed966
hle/result: Remove cv-qualifiers from Arg in MakeResult
...
This removes the const qualification for types when MakeResult(arg) is used in a const member function, allowing for automatic deduction and removing the need to manually specify the non-const type as the template argument.
2021-10-28 03:07:18 -04:00
Feng Chen
60df1f9030
Fix dangling kernel objects when exiting
2021-10-27 09:06:30 +08:00
Feng Chen
301d0ac5e0
Revert PR7009
2021-10-27 09:06:30 +08:00
Feng Chen
c13d1e0b0f
Fix memory leak
2021-10-27 09:06:22 +08:00
Morph
875a6f4432
Merge pull request #7193 from FernandoS27/idle
...
SVC: Implement svcInfo:IdleTickCount
2021-10-25 09:17:49 -04:00
Ameer J
2086226f1c
Merge pull request #7218 from bylaws/aswdqdsam
...
Fixup channel submit IOCTL syncpoint parameters
2021-10-24 19:35:00 -04:00
Andrew Strelsky
5179872db6
Fixed ARM_Dynamic_64 Step
2021-10-24 11:16:32 -04:00
Billy Laws
d53ca1dfdf
Fixup channel submit IOCTL syncpoint parameters
...
The current arguments worked by happenstance as games only ever submit
one syncpoint and request one fence back, if a game were to do something
other than this then the arguments would've been parsed entirely wrong.
2021-10-24 00:01:35 +01:00
bunnei
1637f6a578
Merge pull request #7198 from ameerj/settings-chrono
...
settings: Remove std::chrono usage
2021-10-19 09:55:50 -07:00
bunnei
1b75cdaf19
Merge pull request #7173 from Morph1984/invalidate-unmap
...
KPageTable: Perform ranged invalidation when unmapping code memory
2021-10-17 03:25:26 -07:00
ameerj
6cfd975469
settings: Remove std::chrono usage
...
Alleviates the dependency on chrono for all files that include settings.h
2021-10-17 00:37:49 -04:00
Fernando Sahmkow
69b1cad803
SVC: Implement svcInfo:IdleTickCount
...
Used by the Witcher 3
2021-10-16 20:33:44 +02:00
bunnei
fed3ca02b1
Merge pull request #7187 from FernandoS27/boy-i-say-boy
...
NVHost_Ctrl: Force wait if the gpu falls behind too long.
2021-10-15 16:14:32 -07:00
Feng Chen
e0d5680fc2
service/vi: Stub IHOSBinderDriver::TransactParcel GetBufferHistory ( #7184 )
2021-10-15 18:50:45 -04:00
Fernando Sahmkow
3aaf788385
NvHost/Core: Address Feedback.
2021-10-16 00:23:27 +02:00
FernandoS27
50495de641
Suspend temporally
2021-10-16 00:23:23 +02:00
FernandoS27
d265a37688
NVHost_Ctrl: Force wait if the gpu falls behind too long.
2021-10-16 00:22:01 +02:00
Morph
458ab5a916
core: Move ResultStatus outside of System
...
Allows it to be a forward declaration in other header files.
2021-10-15 17:34:49 -04:00
Morph
3de2a8ba2c
core: Remove static system instance
2021-10-15 17:34:48 -04:00
Morph
c7f9f19c64
KPageTable: Perform ranged invalidation when unmapping code memory
...
Co-Authored-By: Fernando S. <1731197+FernandoS27@users.noreply.github.com>
2021-10-13 14:27:11 -04:00
Morph
df32c5e496
Merge pull request #7110 from vonchenplus/fix_extract_offline_romefs_error
...
applets/web: Fallback to loader to get the manual romfs if none is found
2021-10-11 02:09:42 -04:00
Feng Chen
bd64cc420f
applets/web: Fallback to loader to get the manual romfs if none is found
2021-10-11 13:12:51 +08:00
Morph
6bc7f27655
kernel: hle_ipc: Foward declare KAutoObject
2021-10-07 13:32:36 -04:00
Morph
52fa30ab7d
service: Reduce header include overhead
2021-10-07 13:32:21 -04:00
Fernando S
d40819cfb1
Merge pull request #7118 from ameerj/vc-gpu-impl
...
gpu: Migrate implementation to the cpp file
2021-10-06 20:02:31 +02:00
bunnei
7d40321e67
Merge pull request #7115 from ameerj/log-compile
...
common/logging: Reduce dependent header include overhead
2021-10-05 10:05:46 -07:00
bunnei
8234e911f2
Merge pull request #7103 from Morph1984/service-ctx-event
...
service: Replace all service event creation with ServiceContext::CreateEvent
2021-10-04 17:20:46 -07:00
bunnei
04fdf31f0f
Merge pull request #7107 from astrelsky/iob_fix
...
prevent access violation from iob in Memory::IsValidVirtualAddress
2021-10-04 11:08:35 -07:00
Ameer J
170284cf1c
Merge pull request #7091 from vonchenplus/fix_memroy_leak
...
core: Fix memory leak
2021-10-04 00:09:08 -04:00
bunnei
5e9f62b844
Merge pull request #7113 from Morph1984/no-log-ip-addr
...
network: Do not log IP address
2021-10-02 23:19:34 -07:00
ameerj
7a94851e9b
nvflinger: Use jthread and stop_token for VSync thread
...
Avoids a destruction data race that may occur on the vsync thread
2021-10-03 00:35:57 -04:00
ameerj
ae3422e3b7
nvhost_ctrl: Refactor usage of gpu.LockSync()
...
This seems to only be used to protect a later gpu function call. So we can move the lock into that call instead.
2021-10-03 00:35:57 -04:00
ameerj
20a88d9d62
gpu: Migrate implementation to the cpp file
2021-10-03 00:35:57 -04:00
Morph
13f4f14223
service: am: Make use of Exit to exit the currently running application
...
This also moves the call to the end to ensure services are properly destructed on exit.
2021-10-01 23:39:55 -04:00
Morph
37e30e80ed
core: Add Exit and ExitCallback
...
This allows ISelfController::Exit to stop the currently running application. This is typically used by homebrew to exit back to the homebrew menu after calling consoleExit with libnx.
2021-10-01 23:39:54 -04:00
Morph
0f5f1ec430
service: Replace service event creation with ServiceContext::CreateEvent
...
The service context helps to manage all created events and allows us to close them upon destruction.
2021-10-01 23:38:59 -04:00
Morph
d929edf269
network: Do not log IP address
...
Logging this may be a privacy concern for some users.
2021-10-01 23:38:44 -04:00
bunnei
56926a137f
Merge pull request #7102 from Morph1984/remove-boxcat
...
Remove Boxcat BCAT backend
2021-10-01 18:41:41 -07:00
ameerj
98b3b5e0e3
common/logging: Reduce scope of fmt include
2021-10-01 20:48:49 -04:00
ameerj
f222d1e4ce
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
2021-10-01 20:48:49 -04:00
Andrew Strelsky
5a02e7aabf
prevent access violation from iob in Memory::IsValidVirtualAddress
2021-09-29 19:26:44 -04:00
Morph
203d8f7f60
style: Remove extra space preceding the :: operator
2021-09-29 01:26:01 -04:00
Morph
4be0824b5f
service: bcat: Remove BoxCat BCAT implementation
...
The current implementation of BoxCat as it stands is non-functional due to the reliance on a server providing BCAT files.
This implementation will eventually be replaced with one that allows the use of local BCAT files dumped from a Nintendo Switch.
2021-09-29 01:21:35 -04:00
Morph
ca8400ec1d
externals: Remove libzip
2021-09-28 23:18:39 -04:00
Morph
aa68bcdcae
file_sys: Remove vfs_libzip
2021-09-28 23:18:39 -04:00
Morph
aee79cc758
Merge pull request #7018 from lat9nq/splat-stubs
...
audin_u: stub Start, RegisterBufferEvent, AppendAudioInBufferAuto
2021-09-28 22:06:11 -04:00
Feng Chen
38fc397b0f
Fix KShareMemory object leak
2021-09-29 09:51:20 +08:00
german77
2a13524331
service/es: Update to 13.0.0
2021-09-26 20:17:07 -05:00
german77
40a0ba8eea
service/npns: Update to 13.0.0
2021-09-26 20:13:09 -05:00
german77
108969dc60
service/vi: Update to 13.0.0
2021-09-26 20:12:02 -05:00
german77
e2a4e12057
service/am: Update to 13.0.0
2021-09-26 20:00:12 -05:00
german77
b6af532687
service/audio: Update to 13.0.0
2021-09-26 19:49:09 -05:00
german77
f444f41880
service/hid: Update to 13.0.0
2021-09-26 19:45:47 -05:00
german77
6b95545f8a
service/btdrv: Update to 13.0.0
2021-09-26 19:32:45 -05:00
german77
dccf0b7f82
service/usb: Update to 13.0.0
2021-09-26 19:26:52 -05:00
Morph
b93255d853
Merge pull request #7078 from ameerj/vc-jthread-fixes
...
video_core: Fix jthread related hangs when stopping emulation
2021-09-26 16:40:13 -04:00
Feng Chen
974547f98f
Fix KScopedAutoObject object leak when SendSyncRequest
2021-09-25 22:16:21 +08:00
Morph
f9b3d812b2
service: bsd: Stub Read
...
- Used by Diablo II: Resurrected
2021-09-25 08:04:33 -04:00
Morph
498cb34b8e
service: bsd: Implement Read
...
- Used by Diablo II: Resurrected
2021-09-24 16:46:52 -04:00
ameerj
d7977be416
general: Update style to clang-format-12
2021-09-24 15:52:05 -04:00
ameerj
a07f80d672
video_core: Fix jthread related hangs when stopping emulation
...
jthread on some compilers is more picky when it comes to the order in which objects are destroyed.
2021-09-23 20:34:02 -04:00
Lioncash
ebeb5086b1
core/profile_select: Avoid uninitialized read in SelectProfile()
...
The default constructor of UUID doesn't initialize its data members, so
we need to directly initialize it to be invalid.
2021-09-22 18:10:39 -04:00
Lioncash
e37bea609c
common/uuid: Add validity checking functions to interface
...
Given we have a function to invalidate, we should also have ones to
query the validity. Also makes the code more straightforward to read.
2021-09-22 17:59:00 -04:00
bunnei
08e300eb38
Merge pull request #7019 from ameerj/videocore-jthread
...
videocore: Use std::jthread for worker threads
2021-09-18 20:37:40 -07:00
bunnei
4fde9d058b
Merge pull request #7020 from Moonlacer/remove_audio_stretching
...
Remove audio stretching
2021-09-18 11:18:24 -07:00
bunnei
a6f7c06446
Merge pull request #7015 from german77/NotGoodForTerra
...
ngct: Stub Match
2021-09-17 10:58:55 -07:00
Moonlacer
1c445d1050
remove-audio-stretching-setting
2021-09-15 19:52:43 -05:00
ameerj
2cb4bb689b
gpu: Use std::jthread for async gpu thread
2021-09-15 20:49:07 -04:00
lat9nq
7fc8560939
audin_u: Return a buffer event in RegisterBufferEvent
...
Co-authored-by: Morph <39850852+Morph1984@users.noreply.github.com>
2021-09-15 16:38:12 -04:00
lat9nq
34c6afd6c1
audin_u: stub Start, RegisterBufferEvent, AppendAudioInBufferAuto
...
This also moves IAudioIn's definition to the header.
Required for Splatoon 2 LAN play.
2021-09-15 15:52:09 -04:00
Narr the Reg
77886a6134
ngct: Stub Match
...
Needed for Cruis'n Blast
2021-09-15 00:17:31 -05:00
Morph
65c2d00bd9
vfs: Partially implement GetFileTimeStampRaw
...
Gets rid of homebrew warnings using this func
2021-09-14 08:48:01 -04:00
bunnei
d3cab3095d
Merge pull request #7009 from ameerj/main_process_cleanup
...
core: Destroy main_process during shutdown
2021-09-13 23:32:43 -07:00
ameerj
177affe3ce
core: Destroy main_process during shutdown
...
The main_process was never being cleaned up, causing a noticeable memory leak after subsequent launches. This change cleans up the memory during Core Shutdown, mitigating the leak.
2021-09-13 23:44:52 -04:00
Morph
9191db654d
FS: Mark recursive CreateDirectory as inaccurate and temporary
2021-09-12 14:06:01 -04:00
Morph
26734981cf
Merge pull request #6975 from ogniK5377/acc-async-ctx
...
account: EnsureTokenIdCacheAsync
2021-09-12 12:03:10 -04:00
Morph
26b459393d
Merge pull request #6974 from ogniK5377/fs-recursive-createdir
...
FS: Recursively create directories for CreateDirectory
2021-09-12 12:02:39 -04:00
Morph
f2f9009a9b
Merge pull request #6992 from german77/brains
...
hid/am: Stub SetTouchScreenConfiguration and implement GetNotificationStorageChannelEvent
2021-09-12 12:01:43 -04:00
Morph
4520ae9eed
Merge pull request #6987 from Morph1984/common-error
...
common: Move error handling functions out of common_funcs
2021-09-12 12:01:23 -04:00
Morph
e01b714fd5
Merge pull request #6986 from Morph1984/version-update
...
api_version: Update and add AtmosphereTargetFirmware
2021-09-12 12:01:11 -04:00
Morph
3e49eac2de
kernel: Add missing <functional> include
2021-09-11 17:19:15 -04:00
Morph
b529f4b6b7
file_sys/kernel_executable: Add missing <string> include
2021-09-11 17:19:14 -04:00
Morph
c0ff1dce0b
common: Move error handling to error.cpp/h
...
This allows us to avoid implicitly including <string> every time common_funcs.h is included.
2021-09-11 17:19:14 -04:00
Fernando S
f35f5c5072
Merge pull request #6846 from ameerj/nvdec-gpu-decode
...
nvdec: Add GPU video decoding for all capable drivers and platforms
2021-09-11 23:11:32 +02:00
Fernando S
67c075d51d
Merge pull request #6981 from ameerj/nvflinger-hb-format
...
nvflinger: Use external surface format for framebuffer creation
2021-09-11 22:35:25 +02:00
german77
a36409ff16
am: Implement GetNotificationStorageChannelEvent
2021-09-10 12:24:50 -05:00
german77
9847b58137
hid: Stub SetTouchScreenConfiguration
2021-09-10 12:24:28 -05:00
Morph
e92bc1f091
api_version: Update and add AtmosphereTargetFirmware
2021-09-10 01:10:47 -04:00
Chloe
82fca3ab45
Addressed issues
...
Co-authored-by: Mai M. <mathew1800@gmail.com>
2021-09-09 03:00:08 +10:00
Chloe Marcec
398b0ce799
Mark is_complete as atomic
2021-09-09 00:10:52 +10:00
Chloe Marcec
dd526c8bf5
Addressed issues
2021-09-09 00:09:04 +10:00
Ameer J
b9193040cf
Merge pull request #6971 from bunnei/buffer-queue-kevent
...
core: hle: service: buffer_queue: Improve management of KEvent.
2021-09-08 00:34:36 -04:00
ameerj
3e19187560
nvflinger: Use external surface format for framebuffer creation
...
The format member the IGBPBuffer may not always specify the correct desired format. Using the external format member ensures a valid format is provided when creating the framebuffer.
Fixes homebrew using the wrong framebuffer format.
2021-09-06 23:14:31 -04:00
Chloe Marcec
0b8d28b62a
address name shadowing with system
2021-09-06 22:13:51 +10:00
Chloe Marcec
e27cb5526b
account: EnsureTokenIdCacheAsync
...
Closes #2547 , #6946
2021-09-06 21:16:21 +10:00
bunnei
54d33383e8
Merge pull request #6965 from bunnei/cpu_manager_jthread
...
core: cpu_manager: Use jthread.
2021-09-06 03:49:14 -07:00
Chloe Marcec
2cf086d244
FS: Recursively create directories for CreateDirectory
...
Originally we only created the parent directory, this caused issues for creating directories which also contained subdirectories, eg `/Folder1/Folder2`
This allows the ultimate mod manager homebrew to at least boot
2021-09-06 19:35:55 +10:00
bunnei
b690071dd5
core: hle: service: buffer_queue: Improve management of KEvent.
2021-09-04 22:25:46 -07:00
bunnei
a1a415914d
core: hle: service: nvflinger/vi: Improve management of KEvent.
2021-09-03 21:53:00 -07:00
bunnei
14d3f114a5
core: cpu_manager: Use jthread.
2021-09-03 19:05:41 -07:00
bunnei
c7662fd962
Merge pull request #6905 from Morph1984/nifm-misc
...
nifm/network_interface: Cleanup and populate fields in GetCurrentNetworkProfile
2021-08-29 00:04:58 -07:00
german77
b036d9df7d
ngct: Stub NGCT:U service
2021-08-27 14:15:34 -05:00
Morph
43f7dc615e
service: nifm: Populate fields in GetCurrentNetworkProfile
...
Populates the current_address, subnet_mask, and gateway fields from the selected network interface.
2021-08-27 02:10:59 -04:00
Morph
40e406f9d1
service: nifm: Cleanup GetCurrentIpConfigInfo
2021-08-27 02:10:58 -04:00
Morph
b755cdbd57
network_interface: Cleanup code
2021-08-27 02:10:58 -04:00
Morph
2d685e5a51
network_interface: Replace default return value with std::nullopt
2021-08-27 02:10:58 -04:00
bunnei
5e600cba3a
Revert "kernel: Various improvements to scheduler"
2021-08-25 20:59:28 -07:00
ameerj
0debad63cc
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.
2021-08-24 01:32:38 -04:00
Ameer J
b53a87b6b4
Merge pull request #6878 from BreadFish64/optimize-GetHostThreadID
...
kernel: Optimize GetHostThreadID
2021-08-24 00:01:13 -04:00
bunnei
f3931fe2b5
Merge pull request #6869 from yzct12345/shiny-logs-in-the-fireplace
...
logging: Simplify and make thread-safe
2021-08-22 20:40:18 -07:00
Morph
1c1292b13c
applet_error: Fix 64-bit error code conversion
2021-08-19 13:16:48 -04:00
Valeri
6a1ad26160
Fix crash in logging in CreateStrayLayer
...
It was trying to log value of layer_id which is specifically known not to exist, potentially leading to segfault. Log display_id instead.
2021-08-19 19:33:07 +03:00
Valeri
190e12a072
Fix check is thread current in GetThreadContext
...
Misplaced break made it only check for the first core.
2021-08-19 16:46:30 +03:00
bunnei
7a90ad5238
Merge pull request #6832 from bunnei/scheduler-improvements
...
kernel: Various improvements to scheduler
2021-08-18 15:42:46 -07:00
ameerj
82906e26a5
configure_graphics: Add GPU nvdec decoding as an option
...
Some system configurations may see visual regressions or lower performance using GPU decoding compared to CPU decoding. This setting provides the option for users to specify their decoding preference.
Co-Authored-By: yzct12345 <87620833+yzct12345@users.noreply.github.com>
2021-08-16 14:40:53 -04:00
BreadFish64
8c4f818e77
kernel: Optimize GetHostThreadID
2021-08-16 07:30:23 -05:00
Sönke Holz
12499a34e6
network_interface: correct formatting
2021-08-16 12:18:19 +02:00
spholz
9701ec5ddf
network_interface: fix mingw-w64 build
2021-08-16 12:06:35 +02:00
Sönke Holz
363236e2c6
network: retrieve subnet mask and gateway info
2021-08-16 10:32:25 +02:00
bunnei
b2f859f47c
core: hle: kernel: Disable dispatch count tracking on single core.
...
- This would have limited value, and would be a mess to handle properly.
2021-08-14 02:14:19 -07:00
yzct12345
aee8cc20ea
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.
2021-08-13 18:39:45 +00:00
spholz
9826ea72b2
network: don't use reinterpret_cast in GetAvailableNetworkInterfaces
2021-08-13 11:58:34 +02:00
Sönke Holz
8c9ce19145
network: fix mingw-w64 build
...
The header "combaseapi.h" of mingw-w64 defines "interface" as "struct".
2021-08-13 11:23:50 +02:00
Sönke Holz
da59702a7d
network: don't use assert to check if no network interfaces are returned
2021-08-13 11:21:34 +02:00
Sönke Holz
b8b4170dd6
network: use Common::BitCast instead of std::bit_cast
2021-08-13 01:28:14 +02:00
Sönke Holz
8e6aa553c0
network: narrow down scope of "result" in win32 code for
...
GetAvailableNetworkInterfaces
2021-08-13 00:37:03 +02:00
Sönke Holz
a7e514f3db
network: use explicit bool conversions in GetAvailableNetworkInterfaces
2021-08-13 00:31:33 +02:00
Sönke Holz
052fb4ec7e
network: initialize ip_addr in GetHostIPv4Address()
2021-08-13 00:28:44 +02:00
Sönke Holz
4e840ab505
nifm: use operator*() instead of .value() to get value of std::optional
2021-08-13 00:24:33 +02:00
Sönke Holz
4262dc09d7
nifm: treat a missing host IP address as a non-critical error
2021-08-13 00:21:54 +02:00
spholz
4c093074b9
Merge branch 'yuzu-emu:master' into fix-lan-play
2021-08-12 22:27:17 +02:00
Sönke Holz
d5e4ac4b29
network: correct formatting in network.cpp and network_interface.cpp
2021-08-12 22:15:48 +02:00
spholz
bef7cbbe41
configuration: add option to select network interface
...
This commit renames the "Services" tab to "Network" and adds a combobox that allows the user to select the network interface that yuzu should use. This new setting is now used to get the local IP address in Network::GetHostIPv4Address. This prevents yuzu from selecting the wrong network interface and thus using the wrong IP address. The return type of Network::GetHostIPv4Adress has also been changed.
2021-08-12 21:32:53 +02:00
bunnei
ea4923218a
Merge pull request #6823 from yzct12345/memory-cleanup
...
memory: Clean up code
2021-08-09 17:09:56 -07:00
bunnei
8d8a230257
core: hle: kernel: k_thread: Mark KScopedDisableDispatch as nodiscard.
2021-08-07 12:33:31 -07:00
bunnei
79c64bf1ee
core: cpu_manager: Use invalid core_id on init and simplify shutdown.
2021-08-07 12:33:07 -07:00
bunnei
1b1b33993b
core: hle: service: buffer_queue: Improve management of KEvent.
2021-08-07 12:18:48 -07:00
bunnei
1458629fc8
core: hle: kernel: k_auto_object: Add GetName method.
...
- Useful purely for debugging.
2021-08-07 12:18:48 -07:00
bunnei
8cbb66daf8
core: hle: service: nvflinger/vi: Improve management of KEvent.
2021-08-07 12:18:47 -07:00
bunnei
0cd7bf70a3
core: hle: kernel: DisableDispatch on suspend threads.
2021-08-07 12:18:47 -07:00
bunnei
19457823ea
core: hle: kernel: k_scheduler: Improve DisableScheduling and EnableScheduling.
2021-08-07 12:18:47 -07:00
bunnei
62b84a3e96
core: cpu_manager: Use KScopedDisableDispatch.
2021-08-07 12:18:47 -07:00
bunnei
347e4d6ab8
core: hle: kernel: Use CurrentPhysicalCoreIndex as appropriate.
2021-08-07 12:18:47 -07:00
bunnei
aedc599224
core: hle: kernel: k_scheduler: Remove unnecessary MakeCurrentProcess.
2021-08-07 12:18:47 -07:00
bunnei
edba87b96d
core: hle: kernel: k_scheduler: Improve ScheduleImpl.
2021-08-07 12:18:47 -07:00
bunnei
0d22a55e01
core: hle: kernel: k_scheduler: Improve Unload.
2021-08-07 12:18:47 -07:00
bunnei
cba49de65b
core: hle: kernel: k_process: DisableDispatch on main thread.
2021-08-07 12:18:47 -07:00
bunnei
92ef6e44ee
core: hle: kernel: k_handle_table: Use KScopedDisableDispatch as necessary.
2021-08-07 12:18:47 -07:00
bunnei
9951f24bad
core: hle: kernel: k_thread: Add KScopedDisableDispatch.
2021-08-07 12:18:47 -07:00
bunnei
43fcb97ef3
core: hle: kernel: Ensure idle threads are closed before destroying scheduler.
2021-08-07 12:18:47 -07:00
bunnei
951143ba57
core: hle: kernel: Reflect non-emulated threads as core 3.
2021-08-07 12:18:47 -07:00
bunnei
b0cb5c830c
core: cpu_manager: Use jthread.
2021-08-07 12:18:47 -07:00
yzct12345
b61be44dbc
memory: Address lioncash's review
2021-08-07 03:03:21 +00:00
yzct12345
a21f46127b
memory: Dedup Read and Write and fix logging bugs
2021-08-07 01:32:06 +00:00
spholz
b038a6deb4
Merge branch 'yuzu-emu:master' into fix-lan-play
2021-08-07 02:55:19 +02:00
Sönke Holz
47f72f9345
network: GetAndLogLastError: ignore Errno::AGAIN
...
If non-blocking sockets are used, they generate a lot of Errno::AGAIN errors when they didn't receive any data. These errors shouldn't be logged.
2021-08-07 02:54:25 +02:00
bunnei
cb6d198101
Merge pull request #6799 from ameerj/vp9-fixes
...
nvdec: Fix VP9 reference frame refreshes
2021-08-06 17:46:46 -07:00
Sönke Holz
2c0d0e8af4
network: GetCurrentIpConfigInfo: return host IP address
...
Service::NIFM::IGeneralService::GetCurrentIpConfigInfo currently hardcodes 192.168.1.100 as the IP address, which prevents LAN play from working correctly.
2021-08-07 02:17:02 +02:00
ameerj
0c28433539
nvhost_nvdec_common: Remove BufferMap
...
This was mainly used to keep track of mapped buffers for later unmapping. Since unmap is no longer implemented, this no longer seves a valuable purpose.
2021-08-06 20:11:12 -04:00
ameerj
7acf5d8bfd
nvhost_nvdec_common: Stub UnmapBuffer Ioctl
...
Skip unmapping nvdec buffers to avoid breaking the continuity of the VP9 reference frame addresses, and the risk of invalidating data before the async GPU thread is done with it.
2021-08-06 20:06:30 -04:00
Sönke Holz
35b86fce87
network: fix fcntl cmds
...
F_SETFL/F_GETFL are the correct commands to set a socket to be non-blocking
2021-08-06 21:08:31 +02:00
yzct12345
7a421e7e33
memory: Clean up CopyBlock too
2021-08-05 21:09:08 +00:00
yzct12345
fa26e226de
memory: Address lioncash's review
2021-08-05 20:29:43 +00:00
yzct12345
cbe093e865
memory: Clean up code
2021-08-05 20:11:14 +00:00
Morph
0971b90782
applet_swkbd: Include the null terminator in the buffer size calculation
...
Some games may interpret the read string as a null-terminated string instead of just reading the string up to buffer_size.
2021-08-04 22:32:09 -04:00
spholz
e08a9d00e0
network: fix ternary operator in Socket::SendTo
2021-08-02 20:12:12 +02:00
Morph
11a0033a66
service: set: Correct copy amount in GetAvailableLanguageCodes
2021-08-01 11:59:52 -04:00
Morph
057a4a8a06
hle: api_version: Update HOS version to 12.1.0
...
Keeps us up to date with reporting the system version.
2021-07-31 14:39:49 -04:00
bunnei
8177751c0e
Merge pull request #6752 from Morph1984/pt-br
...
service: ns, set: Add PT_BR (Brazilian Portuguese)
2021-07-30 14:42:11 -07:00
Morph
ac09092898
applet_swkbd: Correct string buffer size calculation
...
The buffer size here does not include the initial 8 bytes.
2021-07-30 02:19:04 -04:00
Morph
2359f8283a
service: set: Correct 4.0.0 max_entries to 0x40 (64) instead of 17
2021-07-30 02:15:53 -04:00
Morph
58a79102ae
service: ns, set: Add PT_BR (Brazilian Portuguese)
2021-07-30 02:15:53 -04:00
Ameer J
f2b7818cf0
Merge pull request #6751 from Morph1984/languagecode
...
service: ns: Map ZH_TW and ZH_CN to Traditional/Simplified Chinese
2021-07-29 14:41:03 -04:00
bunnei
56a35a0886
Merge pull request #6742 from Morph1984/uuid
...
common: uuid: Return a lower-case hex string in Format
2021-07-29 09:37:15 -07:00
Morph
6c7b6b7be0
service: ns: Remove unused ns_language header
2021-07-27 08:59:26 -04:00
Morph
ae8a88d10c
service: ns: Map ZH_TW and ZH_CN to Traditional/Simplified Chinese
2021-07-27 08:54:41 -04:00
Morph
881199e524
common: uuid: Return a lower-case hex string in Format
2021-07-26 23:54:59 -04:00
bunnei
08350d1744
Merge pull request #6696 from ameerj/speed-limit-rename
...
general: Rename "Frame Limit" references to "Speed Limit"
2021-07-26 18:51:00 -07:00
bunnei
eee75fe604
Merge pull request #6697 from ameerj/fps-cap
...
config, nvflinger: Add FPS cap setting
2021-07-25 16:23:44 -07:00
bunnei
0a328423e8
Merge pull request #6585 from ameerj/hades
...
Shader Decompiler Rewrite
2021-07-25 11:39:04 -07:00
ameerj
aeff61a0cc
general: Rename "Frame Limit" references to "Speed Limit"
...
This setting is best referred to as a speed limit, as it involves the limits of all timing based aspects of the emulator, not only framerate.
This allows us to differentiate it from the fps unlocker setting.
2021-07-23 22:10:01 -04:00
ameerj
8c0d6af843
config, nvflinger: Add FPS cap setting
...
Allows finer tuning of the FPS limit.
2021-07-23 22:04:36 -04:00
bunnei
3cc092849c
Merge pull request #6551 from bunnei/improve-kernel-obj
...
Improve management of kernel objects
2021-07-23 21:23:56 -04:00
ReinUsesLisp
2e6acac647
cmake: Remove shader cache version
2021-07-22 21:51:40 -04:00
lat9nq
ddd4720fe4
general: Add setting shader_backend
...
GLASM is getting good enough that we can move it out of advanced
graphics settings. This removes the setting `use_assembly_shaders`,
opting for a enum class `shader_backend`. This comes with the benefits
that it is extensible for additional shader backends besides GLSL and
GLASM, and this will work better with a QComboBox.
Qt removes the related assembly shader setting from the Advanced
Graphics section and places it as a new QComboBox in the API Settings
group. This will replace the Vulkan device selector when OpenGL is
selected.
Additionally, mark all of the custom anisotropic filtering settings as
"WILL BREAK THINGS", as that is the case with a select few games.
2021-07-22 21:51:39 -04:00
bunnei
1bdd05134c
hle: service: kernel_helpers: Remove unnecessary pragma once.
2021-07-20 18:54:56 -07:00
bunnei
b9bb5338c0
hle: kernel: svc: Remove part of ExitProcess.
...
- ExitProcess is not actually implemented either way, and this needs more work before we implement.
2021-07-20 18:54:56 -07:00
bunnei
44ad911d6f
hle: service: nvdrv: Remove unused kernel reference.
2021-07-20 18:54:56 -07:00
bunnei
1eb56afe47
hle: service: hid: npad: Remove unused kernel reference.
2021-07-20 18:54:56 -07:00
bunnei
beeed68944
hle: kernel: Track and release server sessions, and protect methods with locks.
2021-07-20 18:54:56 -07:00
bunnei
179243473b
hle: kernel: KProcess: Change process termination assert to a warning.
...
- Since we do not implement multiprocess right now, this should not be a crashing assert.
2021-07-20 18:54:56 -07:00
bunnei
81d111fd1b
hle: kernel: Ensure current running process is closed.
2021-07-20 18:54:56 -07:00
bunnei
88350871df
hle: kernel: Ensure global handle table is finalized before closing.
2021-07-20 18:54:56 -07:00
bunnei
43f2f83c30
kernel: svc: ConnectToNamedPort: Close extra reference to port.
2021-07-20 18:54:56 -07:00
bunnei
4e7c75d592
hle: service: sm: Refactor to better manage ports.
2021-07-20 18:54:55 -07:00
bunnei
66da530a81
hle: kernel: k_process: Close the handle table on shutdown.
2021-07-20 18:54:55 -07:00
bunnei
d144950f11
hle: kernel: k_process: Close main thread reference after it is inserted into handle table.
2021-07-20 18:54:55 -07:00
bunnei
2c96cc5343
hle: kernel: Ensure global handle table is initialized.
2021-07-20 18:54:55 -07:00
bunnei
b7140d7f00
hle: service: Add a helper module for managing kernel objects.
2021-07-20 18:54:55 -07:00
bunnei
a4b3202b65
hle: kernel: Provide methods for tracking dangling kernel objects.
2021-07-20 18:54:55 -07:00
Morph
03639b1262
applet_controller: Add preliminary support for version 8
...
Version 8 adds support for key remapping introduced in FW 11.0, we will not be implementing this for now.
2021-07-20 01:45:19 -04:00
Feng Chen
77f209e391
file_sys: Support load game collection ( #6582 )
...
Adds support for loading games with multiple programs embedded within such as the Dragon Quest 1+2+3 Collection
2021-07-20 01:10:05 -04:00
Fernando S
51480d636e
Merge pull request #6525 from ameerj/nvdec-fixes
...
nvdec: Fix Submit Ioctl data source, vic frame dimension computations
2021-07-15 15:17:50 +02:00
Morph
2cc5cdd3c4
applets/web: Resolve Nintendo CDN URLs
...
This fixes the hint videos in New Super Mario Bros. U Deluxe
2021-07-15 00:31:46 -04:00
ameerj
f4ea325867
nvhost_nvdec_common: Read Submit ioctl data from object addr
...
Fixes Mario Golf intro video decoding.
2021-07-14 23:56:24 -04:00
ameerj
fbb6cfda14
nvhost_nvdec_common: Fix {Slice/Write}Vectors return
...
Plus some minor cleanup for consistency.
2021-07-14 22:30:58 -04:00
Morph
d66442a4e1
service: Append service name prefix to common filenames
2021-07-14 02:09:14 -04:00
Morph
66b9de4b04
applets: Append applet_ prefix to backend applets
2021-07-14 01:07:09 -04:00
Ameer J
be413e177a
Merge pull request #6599 from german77/disable_rumble
...
npad: Disable vibration check if disabled
2021-07-13 16:11:59 -04:00
bunnei
41a1ea7b9c
Merge pull request #6615 from ReinUsesLisp/httplib-debug-warnings
...
boxcat,web_service: Silence -Wmaybe-uninitialized when including httplib.h
2021-07-12 22:11:19 -07:00
ReinUsesLisp
57ecb7ea34
content_archive: Remove unnecessary include to <ranges>
...
Fixes build issues on clang.
2021-07-12 03:37:56 -03:00
ReinUsesLisp
2733c4e186
boxcat: Silence -Wmaybe-uninitialized in httplib.h
2021-07-12 03:30:45 -03:00
german77
fcbad25072
npad: Disable vibration check if disabled
2021-07-10 20:06:07 -05:00
lat9nq
95163455a6
settings, arm_dynarmic, yuzu qt: Move CPU debugging option
...
Decouples the CPU debugging mode from the enumeration to its own
boolean. After this, it moves the CPU Debugging tab over to a sub tab
underneath the Debug tab in the configuration UI.
2021-07-08 16:56:44 -04:00
lat9nq
23660e8fd5
arm_dynarmic_64: Re-add fastmem_address_space_bits to Auto setting
2021-07-08 15:14:45 -04:00
lat9nq
c92f2ecee8
arm_dynarmic{32,64}: Fixes from test build
...
Now sets optimizations regardless of the Settings. Drops unsafe fastmem
optimization.
2021-07-08 14:56:09 -04:00
lat9nq
14e4dbe61e
core,common,yuzu qt: Add CPU accuracy option 'Auto'
...
The current CPU accuracy settings in yuzu are fairly polarized and
require more than common knowledge to know what the optimal settings for
yuzu would be. This adds a curated option called 'Auto' that applies a
few at the moment known-good unsafe optimizations to Dynarmic.
2021-07-08 14:56:09 -04:00
Ameer J
60e29dd3b0
Merge pull request #6539 from lat9nq/default-setting
...
general: Move most settings' defaults and labels into their definition
2021-07-08 14:46:31 -04:00
lat9nq
d9109a708b
general: Code formatting improvements
...
Slight improvements to readability.
Dropped suggestions for string_view (settings.h:101), pass by value
(settings.h:82), reverting double to a float (config.cpp:316), and other
smaller ones, some out of scope.
Addresses review feedback.
Co-authored-by: Ameer J <52414509+ameerj@users.noreply.github.com>
2021-07-08 14:07:10 -04:00
bunnei
e99c725050
Merge pull request #6567 from Kelebek1/Audio2
...
[audren] Report 2 channels active rather than 1
2021-07-07 14:52:08 -07:00
Kelebek1
6089a29f54
Report 2 channels active. Fixes Tales of Vesperia's mono channel audio.
2021-07-06 18:52:49 +01:00
Morph
64f22684d4
CMakeLists: Treat -Wsign-compare as an error on GCC/Clang
...
Treats (un)signed comparison mismatches as errors to be consistent with MSVC
2021-07-06 12:50:09 -04:00
bunnei
88cb6c26f3
Merge pull request #6537 from Morph1984/warnings
...
general: Enforce multiple warnings in MSVC
2021-07-05 17:09:23 -07:00
Morph
b3ca6f09bb
service: mii: Retrieve the correct default miis.
...
We were including the first 2 default miis which are not meant to be shown in games. With this change, we properly retrieve the 6 default miis shown in games, with 3 of each gender.
2021-07-04 05:38:34 -04:00
bunnei
4168a4d571
Merge pull request #6498 from Kelebek1/Audio
...
[audio_core] Decouple audio update and processing, and process at variable rate
2021-07-03 00:24:33 -07:00
Kelebek1
07e637d8c6
Fix XC2/VOEZ crashing, add audio looping and a few misc fixes
2021-07-01 06:01:01 +01:00
lat9nq
3352742284
core, input_common: Miscellaneous fixes
...
bcat: Fix settings access
telemetry_session: Fix settings accesses
So this is what I get for testing with the web service disabled.
touch_from_button: Fix settings access for clang
2021-06-28 20:56:17 -04:00
lat9nq
794c444285
general: Make most settings a BasicSetting
...
Creates a new BasicSettings class in common/settings, and forces setting
a default and label for each setting that uses it in common/settings.
Moves defaults and labels from both frontends into common settings.
Creates a helper function in each frontend to facillitate reading the
settings now with the new default and label properties.
Settings::Setting is also now a subclass of Settings::BasicSetting. Also
adds documentation for both Setting and BasicSetting.
2021-06-28 17:32:17 -04:00
Morph
3dd396effa
core: Enforce C4242
2021-06-28 14:20:25 -04:00
Morph
263495a5d5
patch_manager: Do not apply LayeredFS mods when dumping
...
We should not apply any mods when dumping a game's RomFS.
2021-06-28 10:14:36 -04:00
Morph
b3396ec358
filesystem: Open a read-only directory for SDMC mods
...
This prevents mod files from being locked due to the read-only share flag in Windows.
2021-06-28 10:08:08 -04:00
lat9nq
bc4dc2135e
core: Simplify SDMC mod loading
...
If someone else wants to support other mod formats in the SDMC
directory, that can be added later. For now, just allow RomFS modding
here and force people to do other types of mods the old way.
Addresses review comments.
Co-authored-by: LC <mathew1800@gmail.com>
2021-06-28 10:08:08 -04:00
lat9nq
329398cd41
core: Support LayeredFS mod from SDMC directory
...
Enables loading a mod directly from `[yuzu data
directory]/sdmc/atmosphere/contents/[title_id]`. For use with some
homebrew mod managers.
2021-06-28 10:08:07 -04:00
Kelebek1
b46191d104
Decouple audio processing and run at variable rate
...
Currently, processing of audio samples is called from AudioRenderer's Update method, using a fixed 4 buffers to process the given samples. Games call Update at variable rates, depending on framerate and/or sample count, which causes inconsistency in audio processing. From what I've seen, 60 FPS games update every ~0.004s, but 30 FPS/160 sample games update somewhere between 0.02 and 0.04, 5-10x slower. Not enough samples get fed to the backend, leading to a lot of audio skipping.
This PR seeks to address this by de-coupling the audio consumption and the audio update. Update remains the same without calling for buffer queuing, and the consume now schedules itself to run based on the sample rate and count.
2021-06-27 15:58:07 +01:00
bunnei
3b9006085f
Merge pull request #6526 from bunnei/doom-update
...
services: Misc. minor changes for latest SDK update.
2021-06-26 01:21:55 -07:00
bunnei
2b36c8f843
hle: service: hwopus: OpenHardwareOpusDecoderEx: Remove unused buffer size.
2021-06-26 00:38:08 -07:00
bunnei
01fb060f2a
Merge pull request #6519 from Wunkolo/mem-size-literal
...
common: Replace common_sizes into user-literals
2021-06-24 19:09:12 -07:00
bunnei
42957785f0
hle: hle_helpers: Skip data payload offset checks on TIPC requests.
...
- TIPC does not use this.
2021-06-24 18:39:43 -07:00
bunnei
3a6d12430c
hle: service: hwopus: Implement GetWorkBufferSizeEx and OpenHardwareOpusDecoderEx.
...
- This is used by the latest update of Doom Eternal.
2021-06-24 18:25:37 -07:00
bunnei
84abf1723b
hle: service: aoc: Stub GetAddOnContentListChangedEventWithProcessId.
...
- This is used by the latest update of Doom Eternal.
2021-06-24 18:22:53 -07:00
Wunkolo
722f9c3cb5
common: Replace common_sizes into user-literals
...
Removes common_sizes.h in favor of having `_KiB`, `_MiB`, `_GiB`, etc
user-literals within literals.h.
To keep the global namespace clean, users will have to use:
```
using namespace Common::Literals;
```
to access these literals.
2021-06-24 09:27:40 -07:00
bunnei
03b505f30d
Merge pull request #6522 from Morph1984/pragma
...
general: Add missing #pragma once directives
2021-06-24 08:53:27 -07:00
Morph
5004b030df
general: Add missing #pragma once directives
2021-06-24 07:20:57 -04:00
Chloe
a9a9167009
Add missing includes ( #6521 )
...
* Add missing includes
* Add array
2021-06-24 03:24:17 -04:00
bunnei
1f0bb8bad2
Merge pull request #6517 from lioncash/fmtlib
...
externals: Update fmt to 8.0.0
2021-06-23 15:31:04 -07:00
bunnei
dbf400b10c
Merge pull request #6504 from Kelebek1/samples-played
...
[audout] Implement GetAudioOutPlayedSampleCount
2021-06-23 11:31:12 -07:00
Lioncash
f4d6293427
General: Resolve fmt specifiers to adhere to 8.0.0 API where applicable
...
Also removes some deprecated API usages.
2021-06-23 13:48:21 -04:00
Mai M
65e51665ea
Merge pull request #6510 from ReinUsesLisp/npad-data-race
...
npad: Fix data race when updating devices
2021-06-22 22:17:57 -04:00
bunnei
382d5c114c
Merge pull request #6493 from Morph1984/fs-nodiscard
...
common: fs: Miscellaneous changes
2021-06-22 17:21:59 -07:00
bunnei
2b8f288319
Merge pull request #6472 from Morph1984/spl
...
service: spl: Implement general SPL service
2021-06-22 15:43:10 -07:00
bunnei
2b97b0c46c
Merge pull request #6483 from Morph1984/get-tz-file
...
service: time: Use GetFileRelative to get files within subdirectories
2021-06-22 14:25:41 -07:00
Morph
c74b4be699
vfs_real: Fix Mode to FileAccessMode conversion
...
These enforce requiring the file to exist prior to opening.
2021-06-22 15:07:51 -04:00
Morph
f81ef990ac
common: fs: Remove [[nodiscard]] attribute on Remove* functions
...
There are a lot of scenarios where we don't particularly care whether or not the removal operation and just simply attempt a removal.
As such, removing the [[nodiscard]] attribute is best for these functions.
2021-06-22 13:36:24 -04:00
Mai M
99dcb0d0e1
Merge pull request #6511 from ReinUsesLisp/core-is-powered-data-race
...
core: Make is_powered_on atomic
2021-06-22 04:28:38 -04:00
Rodrigo Locatti
13edf2e071
core: Make is_powered_on atomic
...
Fixes potential data races when shutting down.
2021-06-22 04:33:07 -03:00
Rodrigo Locatti
c32066d766
npad: Fix data race when updating devices
...
Add a lock to avoid data races.
This reduces the number of -fsanitize=thread errors significantly.
2021-06-22 03:16:21 -03:00
bunnei
abbadc27d8
Merge pull request #6481 from Morph1984/missing-peak-set
...
kernel: Fix missing peak set in KResourceLimit::SetLimitValue
2021-06-21 22:16:48 -07:00
Kelebek1
5015541902
Implement audout GetAudioOutPlayedSampleCount
...
Used in Ninja Gaiden games.
2021-06-22 04:39:17 +01:00
bunnei
3fb11c6e77
Merge pull request #6499 from FernandoS27/we-were-on-a-break
...
Update dynarmic and add new unsafe CPU option.
2021-06-21 14:56:08 -07:00
Fernando Sahmkow
1592ec32bc
Update dynarmic and add new unsafe CPU option.
2021-06-20 20:40:02 +02:00
Morph
be34265f5e
service: time: Use GetFileRelative to get files within subdirectories
...
The timezone info file can be within subdirectories (such as Asia/Tokyo), use GetFileRelative instead of GetFile to get files within subdirectories.
2021-06-18 11:25:26 -04:00
Morph
3543d65449
kernel: Fix missing peak set in KResourceLimit::SetLimitValue
2021-06-18 07:27:48 -04:00
ameerj
72a4091aec
nvflinger: Add toggle to disable buffer swap interval limits
...
Enabling this setting will allow some titles to present more frames to
the screen as they become available in the nvflinger buffer queue.
2021-06-17 01:41:56 -04:00
bunnei
ff1e34d198
Merge pull request #6464 from ameerj/disable-astc
...
textures: Add a toggle for GPU Accelerated ASTC decoder
2021-06-16 11:29:10 -07:00
Morph
996d006989
spl: Mark the other functions as unimplemented
2021-06-16 01:46:45 -04:00
Morph
09a98bdc2b
spl: Implement spl::GetConfig
2021-06-16 01:46:45 -04:00
Morph
7588defe84
hle: api_version: Add HLE API version constants
2021-06-16 01:46:45 -04:00
Morph
684d567adc
spl: Add the general SPL interface
2021-06-16 01:46:45 -04:00
Morph
bb0caed2f1
spl: Add SPL types
2021-06-16 01:46:45 -04:00
Morph
8d7eec9b88
spl: Add SPL result codes
2021-06-16 01:07:58 -04:00
Morph
20bb5fe3a1
fsp_srv: Fix filesystem access logging
...
This introduces a new setting Enable FS Access Log which saves the filesystem access log to sdmc:/FsAccessLog.txt
If this setting is not enabled, this will indicate to FS to not call OutputAccessLogToSdCard.
Fixes softlocks during loading in Xenoblade Chronicles 2 when certain DLC is enabled.
2021-06-16 00:06:02 -04:00
ameerj
2ec9c87101
configure_graphics: Add Accelerate ASTC decoding setting
2021-06-15 20:19:00 -04:00
ameerj
7709a7cdc0
lm: Demote guest logs to LOG_DEBUG
...
Guest logs are not very useful, as they are intended for use by the game developers during development. As such, they provide little meaning to be logged by yuzu and tend to overwhelm the log output at times.
2021-06-14 22:23:27 -04:00
Morph
e91bf05ce6
general: Remove extraneous includes
2021-06-13 11:32:43 -04:00
Morph
88f735f55a
Merge pull request #6452 from german77/sixaxis_firmware_stub
...
hid: Stub IsFirmwareUpdateAvailableForSixAxisSensor
2021-06-13 05:28:32 -04:00
german77
7ae1e7c0bb
hid: Stub IsFirmwareUpdateAvailableForSixAxisSensor
2021-06-11 14:44:46 -05:00
Mai M
653edced9b
Merge pull request #6422 from FernandoS27/i-am-the-senate
...
Implement/Port Fastmem from Citra to Yuzu
2021-06-11 14:26:54 -04:00
bunnei
27976eb579
Merge pull request #6443 from Morph1984/k-light-condition-variable
...
kernel: KLightConditionVariable: Update implementation to 12.x
2021-06-11 11:03:55 -07:00
FernandoS27
3147b9e34c
General: Add settings for fastmem and disabling adress space check.
2021-06-11 17:27:17 +02:00
Markus Wick
99f6d60a99
core: Make use of fastmem
2021-06-11 17:27:06 +02:00
bunnei
f0732b09b8
Merge pull request #6445 from degasus/fix_ubsn
...
Fix GCC undefined behavior sanitizer.
2021-06-10 22:17:33 -07:00
Morph
006ca28fc8
kernel: Unconditionally set thread state when appropriate
2021-06-11 00:58:04 -04:00
Morph
3509855179
kernel: KLightConditionVariable: Update implementation to 12.x
...
Updates the implementation of KLightConditionVariable to FW 12.x
2021-06-11 00:58:04 -04:00
Markus Wick
e7c2b054c1
Fix GCC undefined behavior sanitizer.
...
* Wrong alignment in u64 LOG_DEBUG -> memcpy.
* Huge shift exponent in stride calculation for linear buffer, unused result -> skipped.
* Large shift in buffer cache if word = 0, skip checking for set bits.
Non of those were critical, so this should not change any behavior.
At least with the assumption, that the last one used masking behavior, which always yield continuous_bits = 0.
2021-06-10 21:07:27 +02:00
bunnei
cb75c58714
hle: service: sm: Remove redundant session reservation, etc.
...
- We were double-reserving, causing us to run out of sessions in Pokemon Sword & Shield.
2021-06-10 11:34:41 -07:00
bunnei
63bc3eef98
hle: service: Increase arbitrary max sessions limit.
...
- Pokemon Sword/Shield are still hitting this for some reason, causing an svcBreak.
2021-06-10 00:08:09 -07:00
bunnei
6c3c99c915
hle: kernel: KClientPort: Add an assert for session count.
...
- Prevents us from over decrementing num_sessions.
2021-06-09 22:36:42 -07:00
bunnei
73d30a5446
hle: service: sm: Fix GetService setup of session & port.
2021-06-09 22:29:18 -07:00
bunnei
407cf4ffdb
hle: service: Use correct size for ServerSessionCountMax.
2021-06-09 22:04:36 -07:00
bunnei
6c84a78d74
hle: kernel: KServerSession: Fix client disconnected.
...
- Prevents a cloned session's handler from being overwritten by another disconnected session.
- Fixes session handler nullptr asserts with Pokemon Sword & Shield.
2021-06-09 21:37:11 -07:00
bunnei
d06f7d9f6c
kernel: svc: Add missing error check to CancelSynchronization.
...
- Avoids a potential crash if the handle is invalid, and also makes this code accurate to real kernel behavior.
2021-06-09 15:24:46 -07:00
bunnei
c9d0bbb9f9
hle: service: Increase arbitrary max sessions limit.
...
- Pokemon Sword/Shield are still hitting this for some reason, causing an svcBreak.
2021-06-09 11:59:34 -07:00
bunnei
b270cecbab
hle: kernel: KServerSession: Work-around scenario where session is closed too early.
2021-06-08 13:39:20 -07:00
bunnei
4ad8a148ee
hle: kernel: hle_ipc: Ensure SessionRequestHandler is valid.
2021-06-07 21:55:37 -07:00
bunnei
a3de201dcf
hle: kernel: Remove service thread manager and use weak_ptr.
...
- We no longer need to queue up service threads to be destroyed.
- Fixes a race condition where a thread could be destroyed too early, which caused a crash in Pokemon Sword/Shield.
2021-06-07 21:10:51 -07:00
bunnei
558dda5e60
Merge pull request #6414 from bunnei/fix-service-threads
...
hle: kernel: Refactor to allocate a ServiceThread per service handler.
2021-06-06 22:52:07 -07:00
bunnei
eeb8d0def8
hle: kernel: KServerSession: Use ASSERT_MSG where appropriate.
2021-06-06 22:09:25 -07:00
bunnei
ff57fd7281
hle: kernel: k_server_session: Return service thread by strong pointer.
2021-06-06 17:54:06 -07:00
bunnei
c833ca5fa0
hle: kernel: k_server_session: Ensure service thread is valid before dereference.
2021-06-06 17:03:36 -07:00
bunnei
ea1ca74e7a
hle: kernel: hle_ipc: Use default destructor for SessionRequestManager.
2021-06-06 15:41:16 -07:00
bunnei
38d8bcc574
hle: kernel: KAutoObjectWithListContainer: Use boost::instrusive::rbtree.
...
- Fixes some crashes introduced by our common intrusive red/black tree impl.
2021-06-06 15:39:11 -07:00
Lioncash
c811d0f69d
result: Add [[nodiscard]] specifiers where applicable
...
The result code classes are used quite extensively throughout both the
kernel and service HLE code. We can mark these member functions as
[[nodiscard]] to prevent a few logic bugs from slipping through.
2021-06-05 06:09:07 -04:00
bunnei
8bf7b19d1d
hle: kernel: Refactor to allocate a ServiceThread per service handler.
...
- Previously, we would allocate a thread per session, which adds new threads on CloneCurrentObject.
- This results in race conditions with N sessions queuing requests to the same service interface.
- Fixes Pokken Tournament DX crashes/softlocks, which were regressed by #6347 .
2021-06-04 19:26:48 -07:00
bunnei
65505640b9
Merge pull request #6389 from german77/Analog_button_fix
...
input_common: Analog button, use time based position
2021-06-03 21:06:38 -07:00
Morph
8977a5e928
fsp-srv: Replace one last instance of RESULT_SUCCESS
2021-06-02 21:40:14 -04:00
Chloe
8eb5da9a7c
fspsrv: Implement DisableAutoSaveDataCreation ( #6355 )
...
- Used by Mii Edit
2021-06-02 17:46:29 -07:00
Morph
c4d6d9dfd3
general: Replace RESULT_UNKNOWN with ResultUnknown
...
Transition to PascalCase for result names.
2021-06-02 00:39:27 -04:00
Morph
7ebc38a6d1
general: Replace RESULT_SUCCESS with ResultSuccess
...
Transition to PascalCase for result names.
2021-06-02 00:39:27 -04:00
Lioncash
cb111c0038
common_funcs: Move R_ macros to result.h
...
These macros all interact with the result code type, so they should
ideally be within this file as well, so all the common_funcs machinery
doesn't need to be pulled in just to use them.
2021-05-31 16:41:00 -04:00
bunnei
89c77a6b91
Merge pull request #6385 from degasus/save_memory_access
...
core/memory: Check our memory fallbacks for out-of-bound behavior.
2021-05-30 23:21:39 -07:00
bunnei
9c2c961435
Merge pull request #6377 from lioncash/point
...
common: Extract Point struct into common
2021-05-30 01:35:26 -07:00
bunnei
3c1b54384e
Merge pull request #6387 from lioncash/class-token
...
k_class_token: Use variable templates where applicable
2021-05-29 23:55:17 -07:00
german77
b398e0783e
input_common: Analog button, use time based position instead of frequent updates
2021-05-30 00:13:51 -05:00
Mai M
41fa521da1
Merge pull request #6374 from Morph1984/swkbd-textcheck-encoding
...
applets/swkbd: Only read the text check message on Failure/Confirm
2021-05-29 23:34:40 -04:00
Mai M
dfffaab2a3
Merge pull request #6364 from german77/stub-lp2p
...
ldn: Add and stub lp2p:sys lp2p:app INetworkServiceMonitor INetworkService
Mario Kart Live: Home Circuit needs lp2p:sys lp2p:app INetworkServiceMonitor INetworkService to be able to progress.
Note: The game still fails to boot from unimplemented LDN and BSD services.
2021-05-29 23:33:57 -04:00
bunnei
709978a253
Merge pull request #6379 from degasus/update_dynarmic
...
externals: Update dynarmic.
2021-05-29 03:15:13 -07:00
Lioncash
2197782ecd
k_class_token: Use variable templates where applicable
...
Same behavior, less code.
2021-05-29 05:25:34 -04:00
bunnei
137938f971
Merge pull request #6384 from lioncash/virtual
...
kernel: Add missing override specifiers
2021-05-29 02:11:40 -07:00
bunnei
6864ccfee8
Merge pull request #6382 from lioncash/null
...
k_thread: Move dereference after null check in Initialize()
2021-05-29 01:17:28 -07:00
Markus Wick
870505def8
core/memory: Check our memory fallbacks for out-of-bound behavior.
...
This makes it by far harder to crash yuzu.
Also implement the 48bit masking of AARCH64 while touching this code.
2021-05-29 09:28:26 +02:00
bunnei
fb86819b39
Merge pull request #6373 from bunnei/use-slabheap-tls
...
hle: kernel: KSlabHeap: Allow host or guest allocations.
2021-05-29 00:17:24 -07:00
Markus Wick
5aca25637f
core/arm_interface: Improve the performance of memory fallbacks.
...
We just create one memory subsystem. This is a constant all the time.
So there is no need to call the non-inlined parent.Memory() helper on every callback.
2021-05-29 09:02:19 +02:00
Lioncash
a9fcaa9c00
kernel: Add missing override specifiers
...
Over the course of the kernel refactoring a tiny bit of missing
overrides slipped through review, so we can add these.
While we're at it, we can remove redundant virtual keywords where
applicable as well.
2021-05-29 02:58:32 -04:00
Markus Wick
9f92beed0a
Fix two GCC 11 warnings: Unneeded copies.
...
std::move created an unneeded copy.
iterating without reference also created copies.
2021-05-29 08:57:44 +02:00
Markus Wick
6203af4169
externals: Update dynarmic.
...
The new version supports fastmem on a64.
2021-05-29 08:53:01 +02:00
Lioncash
2d390c1911
k_thread: Move dereference after null check in Initialize()
...
Prevents a -Wnonnull warning on GCC.
2021-05-29 00:31:38 -04:00
bunnei
95b988ece3
Merge pull request #6371 from degasus/drop_ExceptionalExit
...
core/arm_interface: Call SVC after end of dynarmic block.
2021-05-28 17:45:05 -07:00
bunnei
639baf88f7
hle: kernel: KSlabHeap: Allow host or guest allocations.
...
- Use host allocations for kernel memory, as this is not properly emulated yet.
- Use guest allocations for TLS, as this needs to be backed by DeviceMemory.
2021-05-28 17:42:41 -07:00
bunnei
1a459cd780
Merge pull request #6356 from ogniK5377/ApplyNpadSystemCommonPolicy
...
hid: ApplyNpadSystemCommonPolicy
2021-05-28 10:05:20 -07:00
Lioncash
dabb48cb06
touchscreen: Make use of common point struct
2021-05-28 08:15:22 -04:00
Lioncash
f49ea1959b
common: Extract point into a common struct
...
This is generic enough that it can be moved into the Common class for
reuse.
2021-05-28 08:12:49 -04:00
Morph
ed52a83511
applets/swkbd: Make use of std::move where applicable
...
Avoids redundant string copies
2021-05-27 23:45:56 -04:00
Morph
4b064097bd
applets/swkbd: Only read the text check message on Failure/Confirm
...
Applications may leave this region of memory uninitialized when the text check result is not either Failure or Confirm.
Attempting to read uninitialized memory may cause an exception within the UTF16 to UTF8 string converter.
Fix this by only reading the text check message on Failure or Confirm.
2021-05-27 23:45:56 -04:00
Markus Wick
c9f9e77be3
core/arm_interface: Call SVC after end of dynarmic block.
...
So we can modify all of dynarmic states within SVC without ExceptionalExit.
Especially as the ExceptionalExit hack is dropped on upstream dynarmic.
2021-05-27 23:23:23 +02:00
Markus Wick
09657c5787
core/arm: Drop ChangeProcessorID.
...
This code was used to switch the CPU ID on thread switches.
However since "hle: kernel: multicore: Replace n-JITs impl. with 4 JITs.", the CPU ID is not a constant.
This has been dead code since this rewrite, and dropped in dynarmic as well. So there is no need to keep it.
2021-05-26 19:48:24 +02:00
german77
bfaf3f1bcd
ldn: Add and stub lp2p:sys lp2p:app INetworkServiceMonitor INetworkService
2021-05-26 10:06:00 -05:00
Morph
b72db64406
Merge pull request #6331 from lioncash/gesture
...
hid/gesture: Simplify point related code
2021-05-26 09:19:00 -04:00
Morph
e8f1d7145e
common: fs: Rework the Common Filesystem interface to make use of std::filesystem ( #6270 )
...
* common: fs: fs_types: Create filesystem types
Contains various filesystem types used by the Common::FS library
* common: fs: fs_util: Add std::string to std::u8string conversion utility
* common: fs: path_util: Add utlity functions for paths
Contains various utility functions for getting or manipulating filesystem paths used by the Common::FS library
* common: fs: file: Rewrite the IOFile implementation
* common: fs: Reimplement Common::FS library using std::filesystem
* common: fs: fs_paths: Add fs_paths to replace common_paths
* common: fs: path_util: Add the rest of the path functions
* common: Remove the previous Common::FS implementation
* general: Remove unused fs includes
* string_util: Remove unused function and include
* nvidia_flags: Migrate to the new Common::FS library
* settings: Migrate to the new Common::FS library
* logging: backend: Migrate to the new Common::FS library
* core: Migrate to the new Common::FS library
* perf_stats: Migrate to the new Common::FS library
* reporter: Migrate to the new Common::FS library
* telemetry_session: Migrate to the new Common::FS library
* key_manager: Migrate to the new Common::FS library
* bis_factory: Migrate to the new Common::FS library
* registered_cache: Migrate to the new Common::FS library
* xts_archive: Migrate to the new Common::FS library
* service: acc: Migrate to the new Common::FS library
* applets/profile: Migrate to the new Common::FS library
* applets/web: Migrate to the new Common::FS library
* service: filesystem: Migrate to the new Common::FS library
* loader: Migrate to the new Common::FS library
* gl_shader_disk_cache: Migrate to the new Common::FS library
* nsight_aftermath_tracker: Migrate to the new Common::FS library
* vulkan_library: Migrate to the new Common::FS library
* configure_debug: Migrate to the new Common::FS library
* game_list_worker: Migrate to the new Common::FS library
* config: Migrate to the new Common::FS library
* configure_filesystem: Migrate to the new Common::FS library
* configure_per_game_addons: Migrate to the new Common::FS library
* configure_profile_manager: Migrate to the new Common::FS library
* configure_ui: Migrate to the new Common::FS library
* input_profiles: Migrate to the new Common::FS library
* yuzu_cmd: config: Migrate to the new Common::FS library
* yuzu_cmd: Migrate to the new Common::FS library
* vfs_real: Migrate to the new Common::FS library
* vfs: Migrate to the new Common::FS library
* vfs_libzip: Migrate to the new Common::FS library
* service: bcat: Migrate to the new Common::FS library
* yuzu: main: Migrate to the new Common::FS library
* vfs_real: Delete the contents of an existing file in CreateFile
Current usages of CreateFile expect to delete the contents of an existing file, retain this behavior for now.
* input_profiles: Don't iterate the input profile dir if it does not exist
Silences an error produced in the log if the directory does not exist.
* game_list_worker: Skip parsing file if the returned VfsFile is nullptr
Prevents crashes in GetLoader when the virtual file is nullptr
* common: fs: Validate paths for path length
* service: filesystem: Open the mod load directory as read only
2021-05-25 19:32:56 -04:00
Morph
5eecd49108
kernel: process_capability: Add MapRegion capability
...
- Used by nx-hbloader
2021-05-25 01:44:46 -04:00
Chloe Marcec
cf489391d7
hid: ApplyNpadSystemCommonPolicy
...
We already do this specifically for homebrew, so we can keep it stubbed out for the time being
2021-05-24 15:07:47 +10:00
bunnei
9d19382daf
hle: kernel: service_thread: Take reference to KServerSession on service request.
2021-05-20 22:39:44 -07:00
bunnei
ea851aaeb8
hle: kernel: k_port: Use AcceptSession to ensure SessionList state is correct.
...
- Fixes a use-after-free, work-around until we fixup session/port management.
2021-05-20 21:41:52 -07:00
bunnei
227f9e5ab2
hle: kernel: Use host memory allocations for KSlabMemory.
...
- There are some issues with the current workaround, we will just use host memory until we have a complete kernel memory implementation.
2021-05-20 21:41:52 -07:00
bunnei
78853f888a
Revert "WORKAROUND: Do not use slab heap while we track down issues with resource management."
...
This reverts commit bb77b5d79f .
2021-05-20 21:41:52 -07:00
bunnei
14f50729e2
hle: kernel: hle_ipc: Simplify incoming/outgoing move/copy/domain objects.
2021-05-20 21:41:52 -07:00
bunnei
6e3c9d2b06
hle: kernel: Implement CloneCurrentObject and improve session management.
2021-05-20 21:41:49 -07:00
bunnei
7b1c7a5e6a
Revert "WORKAROUND: temp. disable session resource limits while we work out issues"
...
This reverts commit 627eaf8c0e .
2021-05-20 21:40:30 -07:00
bunnei
53526d2c14
Merge pull request #6320 from Morph1984/get-pid
...
hle_ipc: Add a getter for PID
2021-05-20 21:40:03 -07:00
bunnei
e1da49973d
Merge pull request #6321 from lat9nq/per-game-cpu
...
configuration: Add CPU tab to game properties and slight per-game settings rework
2021-05-20 20:10:56 -07:00
bunnei
d1168fc5d8
Merge pull request #6317 from ameerj/fps-fix
...
perf_stats: Rework FPS counter to be more accurate
2021-05-18 19:56:29 -07:00
Morph
bf87c33d40
KTransferMemory: Return size instead of size * PageSize in GetSize()
...
size is already the size in bytes. We do not need to multiply it by the page size
2021-05-18 13:14:28 -04:00
Lioncash
44e1952216
hid/gesture: Factor out last gesture retrieval into its own function
...
Deduplicates a commonly repeated expression.
2021-05-18 03:59:44 -04:00
Lioncash
4eb73ab98a
hid/gesture: Ensure all ID arrays are initialized
...
Makes for deterministic initial state.
2021-05-18 03:39:21 -04:00
Lioncash
359b12ece1
hid/gesture: Make Point a template
...
We can now use this in a generic context to reuse it with the finger
position.
2021-05-18 03:39:18 -04:00
Lioncash
83a444ddf7
hid/gesture: Replace x,y members of GestureState with a Point
...
Simplifies assignments.
2021-05-18 03:32:42 -04:00
Lioncash
ea1cb30004
hid/gesture: Add default comparators to Point
...
Simplifies some comparisons.
2021-05-18 03:32:42 -04:00
Lioncash
861039484d
hid/gesture: Rename Points to Point
...
This only represents a single point
2021-05-18 03:32:38 -04:00
lat9nq
d6c9f6acc5
general: Demote custom_rtc to regular setting
2021-05-17 15:54:30 -04:00
bunnei
baa0060cd7
Merge pull request #6319 from Morph1984/no-install-base
...
main: Prevent installing base titles into NAND
2021-05-16 16:33:33 -07:00
bunnei
91cae39587
Merge pull request #6284 from ameerj/shantae-fix
...
nvflinger: Create layers when they are queried but not found
2021-05-16 01:45:14 -07:00
bunnei
1e40ee003f
Merge pull request #6296 from lioncash/shadow-error
...
core: Make variable shadowing a compile-time error
2021-05-16 01:35:46 -07:00
bunnei
eaac594117
Merge pull request #6307 from Morph1984/fix-response-push-size
...
nifm, ssl: Fix incorrect response sizes
2021-05-16 01:32:04 -07:00
Morph
c3bb08ad31
main: Prevent installing base titles into NAND
...
Many users have been installing their base titles into NAND instead of adding them into the games list. This prevents users from installing any base titles and warns the user about the action.
2021-05-16 04:13:57 -04:00
Morph
c4f16c8e14
hle_ipc: unsigned -> u32
...
This is more concise and consistent with the rest of the codebase.
2021-05-16 04:11:00 -04:00
Morph
29ce6e48ed
hle_ipc: Add a getter for PID
2021-05-16 04:10:42 -04:00
Lioncash
eeae5217ba
core: Make variable shadowing a compile-time error
...
Now that we have most of core free of shadowing, we can enable the
warning as an error to catch anything that may be remaining and also
eliminate this class of logic bug entirely.
2021-05-16 03:43:16 -04:00
bunnei
10ef4a9142
Merge pull request #6299 from bunnei/ipc-improvements
...
Various improvements to IPC and session management
2021-05-15 22:30:21 -07:00
Morph
0fdff05afa
nifm, ssl: Fix incorrect response sizes
2021-05-16 00:20:48 -04:00
lat9nq
065b3eb53a
general: Make CPU accuracy and related a Settings::Setting
...
Required to make CPU accuracy and unsafe settings available to use as a
per-game setting.
2021-05-15 20:46:48 -04:00
ameerj
453e90ef6f
perf_stats: Rework FPS counter to be more accurate
...
The FPS counter was based on metrics in the nvdisp swapbuffers call. This metric would be accurate if the gpu thread/renderer were synchronous with the nvdisp service, but that's no longer the case.
This commit moves the frame counting responsibility onto the concrete renderers after their frame draw calls. Resulting in more meaningful metrics.
The displayed FPS is now made up of the average framerate between the previous and most recent update, in order to avoid distracting FPS counter updates when framerate is oscillating between close values.
The status bar update frequency was also changed from 2 seconds to 500ms.
2021-05-15 20:34:20 -04:00
Morph
46f773ad5c
ssl: Stub Import(Client/Server)Pki
...
- Used in JUMP FORCE Deluxe Edition
2021-05-12 21:04:13 -04:00
Morph
27c2d51a53
Merge pull request #6267 from german77/gestureRewrite
...
hid: Improve hardware accuracy of gestures
2021-05-12 09:17:23 -04:00
bunnei
006a51c86b
hle: kernel: hle_ipc: Fix outgoing IPC response size calculation.
2021-05-11 12:27:43 -07:00
bunnei
627eaf8c0e
WORKAROUND: temp. disable session resource limits while we work out issues
2021-05-11 10:51:39 -07:00
bunnei
bb77b5d79f
WORKAROUND: Do not use slab heap while we track down issues with resource management.
2021-05-11 10:27:18 -07:00
bunnei
2a7b1c1424
audren
2021-05-11 10:24:53 -07:00
bunnei
a21dff4980
core: hle: ipc_helpers: Fix cast on raw_data_size calculation.
2021-05-10 20:34:38 -07:00
bunnei
1c07b56283
hle: service: sm: Add TIPC support.
...
- Fixes our error checking of names as well.
2021-05-10 20:34:38 -07:00
bunnei
232102c794
hle: kernel: hle_ipc: Improve IPC code and add initial support for TIPC.
...
- Fixes our move handles implementation to actually move objects.
- Simplifies the traditional IPC path.
2021-05-10 20:34:38 -07:00
bunnei
0f3b6928ab
hle: service: sm: GetService: Reserve session resource when we create a KSession.
2021-05-10 20:34:38 -07:00
bunnei
fe91306d87
hle: service: Add support for dispatching TIPC requests.
2021-05-10 20:34:38 -07:00
bunnei
80d920e464
hle: service: Implement IPC::CommandType::Close.
...
- This was not actually closing sessions before.
2021-05-10 20:34:38 -07:00
bunnei
e9d3612085
hle: service: sm: Use RegisterNamedService to register the service.
2021-05-10 20:34:38 -07:00
bunnei
11413d71ad
hle: service: sm: Improve Initialize implementation.
2021-05-10 20:34:38 -07:00
bunnei
6e284d951b
hle: kernel: svc: Update ConnectToNamedPort to use new CreateNamedServicePort interface.
2021-05-10 20:34:38 -07:00
bunnei
777e7c52ba
hle: kernel: Implement named service ports using service interface factory.
...
- This allows us to create a new interface each time ConnectToNamedPort is called, removing the assumption that these are static.
2021-05-10 20:34:38 -07:00
bunnei
14e52144e2
hle: kernel: KSession: Improve implementation of CloneCurrentObject.
2021-05-10 20:33:53 -07:00
bunnei
1e211a1b15
hle: service: sm: Increase point buffer size.
2021-05-10 15:43:42 -07:00
bunnei
66c7c7e5ab
hle: ipc_helpers: Reserve session resource when we create a KSession.
2021-05-10 15:42:46 -07:00
bunnei
2c9d6156d2
hle: kernel: KClientPort: Cleanup comment format.
2021-05-10 15:41:46 -07:00
bunnei
29a31e30db
hle: ipc: Add declarations for TIPC.
2021-05-10 15:05:10 -07:00
bunnei
4a781928dd
hle: kernel: Further cleanup and add TIPC helpers.
2021-05-10 15:05:10 -07:00
bunnei
ae86003503
hle: ipc_helpers: Update IPC response generation for TIPC.
2021-05-10 15:05:10 -07:00
bunnei
6997b030b1
Merge pull request #6291 from lioncash/kern-shadow
...
kernel: Eliminate variable shadowing
2021-05-09 20:15:00 -07:00
german77
1b8951c31b
kernel: Delete unused files
2021-05-09 11:15:31 -05:00
Lioncash
e019da0487
kernel: Eliminate variable shadowing
...
Now that the large kernel refactor is merged, we can eliminate the
remaining variable shadowing cases.
2021-05-08 12:33:26 -04:00
bunnei
80460d421e
Merge pull request #6266 from bunnei/kautoobject-refactor
...
Kernel Rework: Migrate kernel objects to KAutoObject
2021-05-07 23:30:17 -07:00
bunnei
e75a9872ea
Merge pull request #6287 from lioncash/ldr-copy
...
ldr: Simplify memory copy within LoadNro()
2021-05-07 09:46:31 -07:00
Lioncash
6890201733
ldr: Simplify memory copy within LoadNro()
...
We can use the dedicated memory function for performing copies instead
of reading into a temporary buffer and then immediately writing it back
out to memory.
Eliminates a bit of heap memory churn.
2021-05-06 19:18:14 -04:00
ameerj
16528cb361
nvflinger: Create layers when they are queried but not found
...
Fixes Shantae softlock on boot.
2021-05-06 11:20:52 -04:00
bunnei
afdbfb884c
hle: kernel: KPageTable: CanContain should not be constexpr.
2021-05-05 16:40:55 -07:00
bunnei
14cb6883db
hle: kernel: Move slab resource counts to Kernel.
2021-05-05 16:40:54 -07:00
bunnei
720906d0a5
fixup! hle: kernel: Migrate KSharedMemory to KAutoObject.
2021-05-05 16:40:54 -07:00
bunnei
37338198be
fixup! hle: kernel: Migrate more of KThread to KAutoObject.
2021-05-05 16:40:54 -07:00
bunnei
636dd1917e
fixup! hle: kernel: Ensure all kernel objects with KAutoObject are properly created.
2021-05-05 16:40:54 -07:00
bunnei
0cbeafef3e
fixup! hle: kernel: Ensure all kernel objects with KAutoObject are properly created.
2021-05-05 16:40:54 -07:00
bunnei
4ebb8f0dfe
kernel: svc: Remove unused RetrieveResourceLimitValue function.
2021-05-05 16:40:54 -07:00
bunnei
89966df98c
hle: kernel: Fix un/sign mismatch errors with NUM_CPU_CORES.
2021-05-05 16:40:54 -07:00
bunnei
fd11e0722b
fixup! hle: kernel: Add initial impl. of slab setup.
2021-05-05 16:40:54 -07:00
bunnei
7341a973df
fixup! hle: kernel: Migrate to KHandleTable.
2021-05-05 16:40:54 -07:00
bunnei
464b640058
fixup! hle: kernel: Migrate more of KThread to KAutoObject.
2021-05-05 16:40:54 -07:00
bunnei
3fa3fa47e5
fixup! hle: kernel: Migrate KReadableEvent and KWritableEvent to KAutoObject.
2021-05-05 16:40:54 -07:00
bunnei
a50cc0c3f8
fixup! hle: kernel: Migrate to KHandleTable.
2021-05-05 16:40:54 -07:00
bunnei
9536ae2f2e
fixup! hle: kernel: Add initial impl. of KLinkedList.
2021-05-05 16:40:54 -07:00
bunnei
a4fc003902
fixup! hle: kernel: Migrate to KHandleTable.
2021-05-05 16:40:54 -07:00
bunnei
8ea927fb3b
fixup! hle: kernel: Migrate KPort, KClientPort, and KServerPort to KAutoObject.
2021-05-05 16:40:54 -07:00
bunnei
0dfa7a1417
fixup! hle: kernel: Migrate KSession, KClientSession, and KServerSession to KAutoObject.
2021-05-05 16:40:53 -07:00
bunnei
dc0abc7315
fixup! hle: kernel: Migrate KSession, KClientSession, and KServerSession to KAutoObject.
2021-05-05 16:40:53 -07:00
bunnei
e04364fcf4
fixup! hle: kernel: Migrate KPort, KClientPort, and KServerPort to KAutoObject.
2021-05-05 16:40:53 -07:00
bunnei
a257c4971d
fixup! hle: kernel: Migrate to KHandleTable.
2021-05-05 16:40:53 -07:00
bunnei
2a28e9e465
fixup! hle: kernel: Add initial impl. of KAutoObjectWithListContainer.
2021-05-05 16:40:53 -07:00
bunnei
adcfeee40f
fixup! hle: kernel: Add initial impl. of KAutoObjectWithListContainer.
2021-05-05 16:40:53 -07:00
bunnei
5786975b49
fixup! hle: kernel: Add initial impl. of KAutoObject.
2021-05-05 16:40:53 -07:00
bunnei
335794e7ec
fixup! hle: kernel: Add initial impl. of KAutoObject.
2021-05-05 16:40:53 -07:00
bunnei
05522ebecb
fixup! hle: kernel: Add initial impl. of slab setup.
2021-05-05 16:40:53 -07:00
bunnei
5b894b28d6
common: Rename NON_COPYABLE/NON_MOVABLE with YUZU_ prefix.
2021-05-05 16:40:53 -07:00
bunnei
4149670ee8
fixup! hle: kernel: Rename Process to KProcess.
2021-05-05 16:40:53 -07:00
bunnei
66d9f319ba
fixup! hle: kernel: Migrate to KHandleTable.
2021-05-05 16:40:53 -07:00
bunnei
77850c6c56
fixup! hle: kernel: Improve MapSharedMemory and implement UnmapSharedMemory.
2021-05-05 16:40:53 -07:00
bunnei
4c54ffc1f6
hle: kernel: svc: ConnectToNamedPort: Use KHandleTable::Reserve.
2021-05-05 16:40:53 -07:00
bunnei
47224d3864
hle: kernel: Migrate to KHandleTable.
2021-05-05 16:40:53 -07:00
bunnei
4054c8dd2c
hle: kernel: KClassToken: Ensure class tokens are correct.
2021-05-05 16:40:53 -07:00
bunnei
95fbbf3041
hle: kernel: Improve MapSharedMemory and implement UnmapSharedMemory.
2021-05-05 16:40:52 -07:00
bunnei
ad048de3d6
hle: kernel: Rename Process to KProcess.
2021-05-05 16:40:52 -07:00
bunnei
796dddf78f
hle: kernel: Remove deprecated Object class.
2021-05-05 16:40:52 -07:00
bunnei
90e23002fa
hle: kernel: Do not shutdown twice on emulator close.
2021-05-05 16:40:52 -07:00
bunnei
44c8d9206c
hle: kernel: Cleanup shutdown of persistent kernel objects.
2021-05-05 16:40:52 -07:00
bunnei
d6844cf75f
hle: kernel: Migrate KPort, KClientPort, and KServerPort to KAutoObject.
2021-05-05 16:40:52 -07:00
bunnei
2bc45b4a13
hle: kernel: Migrate KServerPort to KAutoObject.
2021-05-05 16:40:52 -07:00
bunnei
9f1abd8188
hle: kernel: Migrate KClientPort to KAutoObject.
2021-05-05 16:40:52 -07:00
bunnei
944eb14d69
hle: kernel: HandleTable: Remove deprecated APIs.
2021-05-05 16:40:52 -07:00
bunnei
22a67a4627
hle: kernel: Migrate KResourceLimit to KAutoObject.
2021-05-05 16:40:52 -07:00
bunnei
d4b1153e1b
hle: kernel: svc: Migrate WaitSynchronization.
2021-05-05 16:40:51 -07:00
bunnei
3a07aeba02
hle: kernel: svc: Use new handle table API for Process.
2021-05-05 16:40:51 -07:00
bunnei
bf274faa22
hle: kernel: Migrate KTransferMemory to KAutoObject.
2021-05-05 16:40:51 -07:00
bunnei
83b96b7264
hle: kernel: Migrate KSession, KClientSession, and KServerSession to KAutoObject.
2021-05-05 16:40:51 -07:00
bunnei
7d0ee9a1b1
hle: kernel: svc: Migrate GetThreadContext, GetThreadCoreMask.
2021-05-05 16:40:51 -07:00
bunnei
98ea7b9b50
hle: kernel: svc: Migrate GetProcessId, CancelSynchronization, SetThreadActivity.
2021-05-05 16:40:51 -07:00
bunnei
7e716f100d
hle: kernel: KThread: Remove incorrect resource release.
2021-05-05 16:40:51 -07:00
bunnei
b6c0ce8781
hle: kernel: svc_results: Update naming..
2021-05-05 16:40:51 -07:00
bunnei
635fc8bda3
hle: kernel: KThread: Add missing resource hint release.
2021-05-05 16:40:51 -07:00
bunnei
617803fb5d
hle: kernel: Migrate KReadableEvent and KWritableEvent to KAutoObject.
2021-05-05 16:40:51 -07:00
bunnei
6a42358706
hle: ipc_helpers: Add methods for copy/move references.
2021-05-05 16:40:51 -07:00
bunnei
a317bad4ce
hle: kernel: Move slab heaps to their own container.
2021-05-05 16:40:51 -07:00
bunnei
715978756e
hle: kernel: Refactor several threads/events/sharedmemory to use slab heaps.
2021-05-05 16:40:51 -07:00
bunnei
2cb4c9d7b2
hle: kernel: Move slab heap management to KernelCore.
2021-05-05 16:40:51 -07:00
bunnei
9f82c577d0
hle: kernel: Ensure all kernel objects with KAutoObject are properly created.
2021-05-05 16:40:51 -07:00
bunnei
986245ba10
hle: kernel: Use unique_ptr for suspend and dummy threads.
2021-05-05 16:40:50 -07:00
bunnei
949231d69c
hle: kernel: Migrate KEvent to KAutoObject.
2021-05-05 16:40:50 -07:00
bunnei
11f9080d2e
hle: kernel: Migrate KSharedMemory to KAutoObject.
2021-05-05 16:40:50 -07:00
bunnei
7a6bfbde24
hle: kernel: Migrate KProcess to KAutoObject.
2021-05-05 16:40:50 -07:00
bunnei
8b224f05c9
hle: kernel: Refactor IPC interfaces to not use std::shared_ptr.
2021-05-05 16:40:50 -07:00
bunnei
a4a27a1ef2
hle: kernel: Migrate more of KThread to KAutoObject.
2021-05-05 16:40:50 -07:00
bunnei
746f99e919
hle: kernel: svc: Migrate GetThreadPriority, StartThread, and ExitThread.
2021-05-05 16:40:50 -07:00
bunnei
ac779a83fc
hle: kernel: svc: Migrate CreateThread.
2021-05-05 16:40:50 -07:00
bunnei
773580b9f7
hle: kernel: Migrate idle threads.
2021-05-05 16:40:50 -07:00
bunnei
2125abf6d9
hle: kernel: Migrate KThread to KAutoObject.
2021-05-05 16:40:50 -07:00
bunnei
d602286355
hle: kernel: Add initial impl. of slab setup.
2021-05-05 16:40:50 -07:00
bunnei
07939c59a6
hle: kernel: Refactor out various KThread std::shared_ptr usage.
2021-05-05 16:40:50 -07:00
bunnei
0cff50a7b5
core: Defer CoreTiming initialization.
2021-05-05 16:40:50 -07:00
bunnei
4aebdea6cf
core: memory: Add a work-around to allocate and access kernel memory regions by vaddr.
2021-05-05 16:40:50 -07:00
bunnei
d2817d3d9b
hle: kernel: Add initial impl. of KLinkedList.
2021-05-05 16:40:49 -07:00
bunnei
db53115ed2
hle: kernel: Add initial impl. of KSlabAllocated.
2021-05-05 16:40:49 -07:00
bunnei
a7271e7c71
hle: kernel: Add initial impl. of KAutoObjectWithListContainer.
2021-05-05 16:40:49 -07:00
bunnei
7b7a948b80
hle: kernel: Add initial impl. of KAutoObject.
2021-05-05 16:40:49 -07:00
bunnei
9a4f071b44
Merge pull request #6279 from ogniK5377/nvhost-prof
...
nvdrv: /dev/nvhost-prof-gpu for production
2021-05-05 16:16:13 -07:00
bunnei
145567ab66
Update src/core/hle/service/nvdrv/interface.cpp
...
Co-authored-by: Ameer J <52414509+ameerj@users.noreply.github.com>
2021-05-05 16:16:02 -07:00
german77
0ea00daa81
hid: Improve hardware accuracy of gestures
2021-05-05 10:13:09 -05:00
Lioncash
11518e5df6
service: Remove unused class variables
...
Prevents some warnings from occurring.
2021-05-05 01:32:28 -04:00
Lioncash
15daa2cecd
service: Resolve cases of member field shadowing
...
Now all that remains is for kernel code to be 'shadow-free' and then
-Wshadow can be turned into an error.
2021-05-04 04:38:38 -04:00
bunnei
0dc6b408ac
Merge pull request #6278 from lioncash/misc-shadow
...
core: Resolve misc straggler cases of variable shadowing
2021-05-03 16:04:28 -07:00
Lioncash
84b656fbbd
core: Resolve misc cases of variable shadowing
...
Resolves shadowing warnings that aren't in a particularly large
subsection of core. Brings us closer to turning -Wshadow into an error.
All that remains now is for cases in the kernel (left untouched for now
since a big change by bunnei is pending), and a few left over in the
service code (will be tackled next).
2021-05-03 01:19:13 -04:00
Chloe Marcec
da763391dc
nvdrv: /dev/nvhost-prof-gpu for production
...
While we're at it, we can fix the is_initialized error code.
This fixes the crashes on Shante
2021-05-03 14:39:03 +10:00
german77
86f0502456
hid: Fix touch not initializing properly if disabled
2021-05-02 21:27:15 -05:00
bunnei
887972a91b
Merge pull request #6269 from lioncash/file-shadow
...
file_sys: Resolve cases of variable shadowing
2021-05-02 15:12:07 -07:00
bunnei
8463047aa7
Merge pull request #6265 from Morph1984/snap-save-fix
...
service: filesystem: Return proper error codes for CreateFile
2021-05-02 00:45:18 -07:00
Lioncash
ab38371888
file_sys: Resolve cases of variable shadowing
...
Brings us closer to enabling -Wshadow as an error in the core code.
2021-05-02 02:59:57 -04:00
Morph
eb59a33d4e
service: filesystem: Return proper error codes for CreateFile
...
This improves the accuracy of CreateFile by returning the correct error codes on certain conditions (parent directory does not exist, path already exists).
This fixes saving and the loading of existing saves in New Pokemon Snap
2021-05-01 09:33:00 -04:00
german77
e367b3a557
Disable touch if setting is not enabled
2021-04-30 19:28:21 -05:00
bunnei
305bb0cf42
Merge pull request #6257 from Morph1984/fix-use-after-free-webapplet
...
applets/web: Fix a use-after-free when passing in the URL string
2021-04-30 14:48:32 -07:00
bunnei
094926f8b9
Merge pull request #6226 from german77/sevensix
...
hid: Implement SevenSixAxis and ConsoleSixAxisSensor
2021-04-29 22:06:57 -07:00
Morph
d93fa45cf8
applets/web: Fix a use-after-free when passing in the URL string
...
The URL string was being deleted before being used, leading to a use-after-free occurring when it is used afterwards.
Fix this by taking the string by const ref to extend its lifetime, ensuring it doesn't get deleted before use.
2021-04-28 12:34:28 -04:00
Lioncash
41c7ce33b6
loader: Resolve instances of variable shadowing
...
Eliminates variable shadowing cases across all the loaders to bring us
closer to enabling variable shadowing as an error in core.
2021-04-27 12:48:15 -04:00