lizzie
218c6705d9
[hle] constexpr handler dispatch maps, introduce version gating ( #4480 )
...
This PR primarily focuses on upbringing constexpr maps for handlers.
Each time an HLE object of a service is construed, it registers it's own handlers, over and over.
Regardless of whetever it needs them at the moment or not.
Additionally we don't require to keep track of different function pointers amongst each object.
This can be done by overriding the given function instead, as opposed to having a separate
hash map for every given object.
In other words: Remove handlers (and handlers_tipc) map for every instance
then read from a static defined per-class.
- [x] Migrate all HLE functions to new `frozen::map` constexpr time finder
- [ ] Measure if this approach actually makes better codegen
Optional:
- [x] Properly gate all functions (that have versions commented next to them)
- [x] Maybe store `HandlerFnP<>` and `const char*` separately, version gating can go in a different map as well
Information such as name can be used on debug builds, but doesn't particularly help on release as one can consult an external reference (or have an annotated IPC map)
Signed-off-by: lizzie <lizzie@eden-emu.dev >
- [x] I have read and followed the [Contribution Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/CONTRIBUTING.md#code-contributions ).
- [x] I have read and followed the [AI Policy](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/AI.md )
- [x] I have read and followed the [Coding Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/Coding.md ) to the best of my ability.
-------------------
Co-authored-by: Maufeat <sahyno1996@gmail.com >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4480
Reviewed-by: Maufeat <sahyno1996@gmail.com >
Reviewed-by: MaranBr <maranbr@eden-emu.dev >
2026-10-13 04:38:36 +02:00
lizzie
a41a98028a
[hle/service] stub missing homebrew services, fix NPad/caps crashes ( #4264 )
...
Signed-off-by: lizzie <lizzie@eden-emu.dev >
- [x] I have read and followed the [Contribution Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/CONTRIBUTING.md#code-contributions ).
- [x] I have read and followed the [AI Policy](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/AI.md )
- [x] I have read and followed the [Coding Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/Coding.md ) to the best of my ability.
-------------------
this PR adds various missing services (acc:e, acc:e:u1)
to expand homebrew compatibility
notably this also fixes NPad related crashes due to nullref
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4264
Reviewed-by: Maufeat <sahyno1996@gmail.com >
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com >
2026-08-18 18:11:33 +02:00
yuzubot
c280f95b1a
"Merge Tagged PR 13018"
2024-03-03 13:02:50 +00:00
Narr the Reg
0201a87e4f
service: hid: Migrate hidbus to new interface
2024-02-07 18:07:32 -06:00
Narr the Reg
575f4308e0
service: hid: Fully implement touch resource
2024-01-28 18:27:25 -06:00
Narr the Reg
df295231b8
service: set: Implement more settings functions for Qlaunch
2024-01-25 17:14:18 -06:00
liamwhite
48d9e11d9d
Merge pull request #12660 from german77/better-vibration
...
service: hid: Fully implement abstract vibration
2024-01-20 13:34:54 -05:00
Narr the Reg
4acc872fce
service: set: Implement stubbed functions
2024-01-15 23:17:03 -06:00
Narr the Reg
e2313faec9
service: hid: Fully implement abstract vibration
2024-01-15 23:15:40 -06:00
Liam
bf50a0e0c2
kernel: fix debugger and process list lifetime
2024-01-12 18:31:33 -05:00
Viktor Szépe
cff668e1c4
Fix typos in src/core ( #12625 )
...
* Fix typos in src/core
* Fix typo correction
* Fix indentation of MemoryStateNames
* Fix indent
2024-01-08 13:31:48 -06:00
Narr the Reg
146975c880
hid_core: Move hid to it's own subproject
2024-01-05 11:41:15 -06:00
Narr the Reg
1f0a03d1e0
service: hid: Implement NpadResource and NpadData
2024-01-03 20:21:14 -06:00
Narr the Reg
7fa71afe9e
service: hid: Introduce proper AppletResource emulation
2023-12-06 20:24:04 -06:00
Narr the Reg
cd8dcc1250
service: hid: Introduce firmware settings and update activate controller calls
2023-11-16 18:51:14 -06:00
Narr the Reg
174c52d27b
service: hid: Split hid.cpp into individual interfaces
2023-11-15 09:59:54 -06:00
german77
a4ebe1ea92
service: hid: Silence EnableUnintendedHomeButtonInputProtection
2023-11-03 23:22:28 -06:00
german77
4e453935a3
core: Close all KEvents
2023-10-29 13:52:12 -06:00
liamwhite
d3fb5e07d6
Merge pull request #11519 from german77/system-policy
...
service: hid: Implement ApplyNpadSystemCommonPolicy
2023-09-16 11:40:42 -04:00
german77
ef869803f8
service: hid: Implement ApplyNpadSystemCommonPolicy
2023-09-16 08:38:10 -06:00
german77
d6aef45e6d
hid: service: Implement Last active Npad
2023-09-16 00:31:19 -06:00
Narr the Reg
f8a46b0f74
service: hid: Implement functions needed by QLaunch
2023-08-11 10:13:21 -06:00
german77
5e95870b1f
service: hid: Use span instead of vector reference
2023-05-14 18:07:04 -06:00
german77
9ffeb00747
service: hid: Implement SetNpadJoyAssignmentModeSingleWithDestination
...
Used by Let's Get Fit
2023-03-29 22:03:49 -06:00
Liam
5be8a74b0c
general: fix spelling mistakes
2023-03-12 11:33:01 -04:00
Liam
d7e9461b71
service: move hle_ipc from kernel
2023-03-01 10:39:49 -05:00
liamwhite
7b8304614c
Merge pull request #9832 from liamwhite/hle-mp
...
service: HLE multiprocess
2023-03-01 10:38:20 -05:00
liamwhite
6825d636b1
Merge pull request #9859 from liamwhite/tmem-use
...
service: avoid direct pointer access of transfer memory objects
2023-02-27 19:46:10 -05:00
Narr the Reg
932cf55052
core: Update service function tables to 16.0.0+
2023-02-24 18:17:36 -06:00
Liam
434d182020
hid: avoid direct pointer access of transfer memory objects
2023-02-24 12:48:07 -05:00
Liam
1c3a93e7c4
service: refactor server architecture
...
Converts services to have their own processes
2023-02-21 12:19:25 -05:00
liamwhite
207fdfe57d
Merge pull request #9796 from liamwhite/current
...
general: rename CurrentProcess to ApplicationProcess
2023-02-15 17:42:45 -05:00
Liam
c415339beb
service: remove deleted services
2023-02-14 12:38:21 -05:00
Liam
c68577384a
general: rename CurrentProcess to ApplicationProcess
2023-02-13 19:03:12 -05:00
Narr the Reg
420560f4d3
core: hid: Use gyro thresholds modes set by the game
2023-02-09 19:07:50 -06:00
Narr the Reg
3d2f7c4170
service: hid: Return error if arguments of SetSupportedNpadIdType is invalid
2023-02-07 21:11:39 -06:00
ameerj
7cc5da4a9f
Revert "Merge pull request #9718 from yuzu-emu/revert-9508-hle-ipc-buffer-span"
...
This reverts commit 153fa289d2 , reversing
changes made to 20676b3b5a .
2023-02-03 00:08:45 -05:00
liamwhite
f74a95b6fb
Revert "hle_ipc: Use std::span to avoid heap allocations/copies when calling ReadBuffer"
2023-02-02 15:53:28 -05:00
ameerj
713394d526
hle_ipc: Rename ReadBufferSpan to ReadBuffer
2022-12-28 18:46:54 -05:00
ameerj
de252703bd
hidbus: Use ReadBufferSpan
2022-12-28 18:46:53 -05:00
ameerj
db9a523aae
service: Use ReadBufferSpan where it is trivial to do so
2022-12-25 17:04:02 -05:00
german77
1cf625b6c6
service: hid: Only overclock npad controllers
2022-11-19 08:44:42 -06:00
Morph
6becbfbaa3
general: Fix spelling of "unknown"
2022-10-16 00:46:22 -04: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
Narr the Reg
adb6348255
service: hid: Partially implement palma controller
2022-09-25 00:13:12 -05:00
german77
dd33c0c473
yuzu: Multiple room UI improvements
2022-09-10 19:39:25 +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
german77
3d8cb61bfd
hid: core: Add missing function table names
2022-08-21 23:31:53 -05:00
german77
cd16f9801a
service: irs: Move to IRS namespace and minor fixes
2022-07-23 19:40:25 -05:00
Kelebek1
f66a68fa1b
PR
2022-07-10 08:29:37 +01:00