Commit Graph

328 Commits

Author SHA1 Message Date
PavelBARABANOV e255c20db4 Revert "[hle] constexpr handler dispatch maps, introduce version gating (#4480)" (#4532)
This reverts commit 218c6705d9.

- [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.

-------------------

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4532
Reviewed-by: lizzie <lizzie@eden-emu.dev>
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
Reviewed-by: Maufeat <sahyno1996@gmail.com>
2026-10-15 08:45:15 +02:00
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
yuzubot c280f95b1a "Merge Tagged PR 13018" 2024-03-03 13:02:50 +00:00
Liam b1f1beae41 nvnflinger: convert to process 2024-02-17 18:01:41 -05:00
Liam 47d07fb3a1 am: move out omm interfaces to new module 2024-02-12 09:18:29 -05:00
Liam 0276ae2f95 am: rewrite appletAE, appletOE 2024-02-11 21:59:33 -05:00
Liam 49f10b2e54 am: migrate global state to per-applet state structure 2024-01-29 20:17:33 -05:00
Liam 62369ce46c service: split am into components 2024-01-29 18:43:45 -05:00
german77 0e5b948301 service: am: Focus state changed goes last 2024-01-28 22:02:01 -06:00
Liam 2397093e4f fsp-srv: use program registry for SetCurrentProcess 2024-01-11 11:28:52 -05:00
Narr the Reg 146975c880 hid_core: Move hid to it's own subproject 2024-01-05 11:41:15 -06:00
Liam 7836881b24 am/jit: reference memory instance from context 2023-12-24 19:36:42 -05:00
Liam 6bd1dfa8cc service: fetch objects from the client handle table 2023-12-24 19:20:43 -05:00
FrozenAra 09d7bec6e1 Implemented qlaunch version of the controller applet 2023-11-19 18:38:58 +01:00
liamwhite b2af122553 Merge pull request #11929 from dima-xd/swkbd-applet
service: am: Add support for LLE Software Keyboard Applet
2023-10-31 16:55:49 -04:00
Dzmitry Dubrova 74bb20f0bf service: am: Add support for LLE Software Keyboard Applet 2023-10-31 21:14:37 +03:00
liamwhite 6aecd890b6 Merge pull request #11892 from german77/pkm_screenshot
service: am: Implement ISelfController::SaveCurrentScreenshot
2023-10-31 09:47:19 -04:00
german77 4e453935a3 core: Close all KEvents 2023-10-29 13:52:12 -06:00
Narr the Reg 44e75debd3 service: am: Implement ISelfController::SaveCurrentScreenshot 2023-10-26 22:29:52 -06:00
Narr the Reg c9fe01204f service: acc: Implement functions needed for profile select (#11653) 2023-10-17 05:12:55 +02:00
Narr the Reg ab5db1da9f service: caps: Implement album manager and reorganize service 2023-10-07 20:57:20 -06:00
Narr the Reg a4a54b3dfc service: Stub multiple functions to increase stability of album applet 2023-10-07 20:57:10 -06:00
Narr the Reg ed1e1c4ff6 yuzu: Allow to launch album applet from firmware 2023-10-02 11:29:12 -06:00
liamwhite bbb8399737 Merge pull request #11632 from german77/hle_cabinet
service: am: Add support for LLE Cabinet Applet
2023-10-01 19:24:46 -04:00
Narr the Reg 5914a599ad service: am: Implement shared buffer
Co-authored-by: Liam <byteslice@airmail.cc>
2023-10-01 11:38:30 -06:00
Narr the Reg 7aae68820f service: am: Set push in arguments according to the launched applet 2023-10-01 11:38:30 -06:00
Kelebek1 cd93b07a50 Don't send a double focus change message 2023-09-28 23:47:10 +01:00
german77 3ff84838ab service: am: Stub to exit applet cleanly 2023-09-23 20:14:37 -06:00
german77 7fd77a5f77 service: am: Implement stuff needed for Mii Edit 2023-09-23 20:14:33 -06:00
liamwhite a821c64716 Merge pull request #11483 from FearlessTobi/save-size-max
am: Stub GetSaveDataSizeMax
2023-09-16 11:39:56 -04:00
FearlessTobi 67e57a29d5 am: Stub GetSaveDataSizeMax
Needed for Minecraft Legends.
2023-09-12 00:21:03 +02:00
FearlessTobi ff92a0c8f4 am: Implement UserChannel parameters
Used by the Super Mairo 3D All-Stars collection.
2023-09-10 15:39:25 -04:00
FearlessTobi abf45c2d0b am: Remove bcat from PopLaunchParameter
This never belonged here and has no use anymore since the Boxcat backend was removed.

.
2023-09-09 20:44:05 -04:00
liamwhite 33234fe87d Merge pull request #11384 from liamwhite/am-shutdown
am: shorten shutdown timeout when lock is not held
2023-09-02 14:42:35 -04:00
Liam 7a26dc51eb am: shorten shutdown timeout when lock is not held 2023-08-26 17:12:05 -04:00
lat9nq 81d209ee34 general: Use console mode helper across project 2023-08-22 21:58:23 -04:00
lat9nq 447ec24378 general: Convert use_docked_mode to an enumeration
Allows some special interactions with it in the Qt frontend.
2023-08-22 16:07:52 -04:00
Liam 5f2c56cd15 core: remove ResultVal type 2023-08-08 11:09:37 -04:00
Narr the Reg e0ba30fb8e service: am: Fix wrong interface 2023-08-02 13:00:30 -06:00
Kelebek1 df8097de60 Debug SetIdleTimeDetectionExtension 2023-07-18 10:16:14 +01:00
Liam 1fc6519671 am: stub CreateCacheStorage 2023-05-11 17:26:02 -04:00
german77 1ec8e38f3f core: am: Demote TryPopFromFriendInvitationStorageChannel Log level 2023-04-21 22:35:45 -06:00
liamwhite 3b139a811e Merge pull request #9505 from liamwhite/request-exit
applets: implement RequestExit
2023-03-29 09:11:34 -04:00
Liam 46f5e0a276 applets: implement RequestExit 2023-03-25 12:44:26 -04:00
Liam 6eaef51cf2 memory: rename global memory references to application memory 2023-03-23 20:28:47 -04:00
Liam b8da5b73b2 kernel: convert KProcess to new style 2023-03-12 22:09:27 -04:00
Liam ea36f70e02 hle: rename legacy errors to Results 2023-03-06 20:58:42 -05:00
Liam c191cf75bb nvnflinger: fix name 2023-03-01 10:39:49 -05: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