Commit graph

249 commits

Author SHA1 Message Date
PavelBARABANOV
813a35abca
[vi] Restore high Z-index for shared buffer layer to fix keyboard overlay display (#3787)
Some checks are pending
tx-src / sources (push) Waiting to run
Check Strings / check-strings (push) Waiting to run
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3787
Reviewed-by: Maufeat <sahyno1996@gmail.com>
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
Co-authored-by: PavelBARABANOV <pavelbarabanov94@gmail.com>
Co-committed-by: PavelBARABANOV <pavelbarabanov94@gmail.com>
2026-03-26 22:23:21 +01:00
crueter
2b979024cb
[frontend] Slow and Turbo modes (#3525)
Closes #3344

Adds slow and turbo modes with configurable speeds that can then be
toggled by the user. Behavior is:
- Standard/slow limit, toggle turbo = turbo
- Turbo limit, toggle turbo = standard
- Standard/turbo limit, toggle slow = slow
- Slow limit, toggle slow = standard

Enabling the turbo/slow mode enables the frame limiter unconditionally.

This has some conflicts with VSync. For example when I set my refresh
rate to 60hz and enable vsync, turbo mode does nothing. Not sure how to
go about fixing this, @MaranBr probably knows better the proper
solution.

Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3525
Reviewed-by: DraVee <dravee@eden-emu.dev>
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
2026-02-12 01:31:55 +01:00
lizzie
a8093c2a3c
[*] change all std::unordered_map and std::unordered_set into ankerl::unordered_dense::map/set variants (#3442)
mainly doing this to reduce memory footprint; we all know how nice ankerl::unordered_dense is

in theory 4x faster - in practice these maps arent that "hot" anyways so not likely to have much perf gained

i just want to reduce mem fragmentation to ease my porting process, plus it helps other platforms as well (ahem weak Mediatek devices) :)

Signed-off-by: lizzie <lizzie@eden-emu.dev>

Co-authored-by: Caio Oliveira <caiooliveirafarias0@gmail.com>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3442
Reviewed-by: DraVee <dravee@eden-emu.dev>
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
2026-02-10 03:34:07 +01:00
Maufeat
1eed7efd09
[core, display, overlay] Add LayerIsOverlay to separate overlay on composer, stub RequestListSummaryOverlayNotification, sync emu settings when setting language (#3123)
This should fix the issue with, for example, ToTK running at 60 FPS when overlay applet is running.
This also should always run the overlay as actual overlay and not in the back.
Stubs RequestListSummaryOverlayNotifications in friends
Syncs Language of the Emulator, when setting language, this is used in Starter Applet

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3123
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
Reviewed-by: Caio Oliveira <caiooliveirafarias0@gmail.com>
Co-authored-by: Maufeat <sahyno1996@gmail.com>
Co-committed-by: Maufeat <sahyno1996@gmail.com>
2025-12-17 06:26:02 +01:00
Maufeat
f58097e814
[hle,display,overlay,starter,hid] add overlay functions, starter applet (initially), HID handheld for system applets and fw21 stubs (#3080)
Adds fully functional overlay display.
- Enable Overlay Applet via "View" -> "Enable Overlay Display Applet"
- Open the overlay by pressing the home button for over 1s
- Can adjust volume
- Can toggle airplane mode (if on WiFi, maybe if overlay is enabled pretend to be on WiFi?)
- Future TODO(?): Adjust Brightness implementation for host system
- Inputs are properly registered. e.g. if overlay open, application does not register inputs.

You can control volume and airplane mode outside of the emulator window

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3080
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
Reviewed-by: crueter <crueter@eden-emu.dev>
Co-authored-by: Maufeat <sahyno1996@gmail.com>
Co-committed-by: Maufeat <sahyno1996@gmail.com>
2025-11-27 19:46:41 +01:00
lizzie
191e4c75a1
[meta] fix license headers (#2547)
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2547
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
2025-09-21 21:58:59 +02:00
lizzie
9d2681ecc9
[cmake] enable clang-cl and WoA builds (#348)
Compilation and CMake fixes for both Windows on ARM and clang-cl, meaning Windows can now be built on both MSVC and clang on both amd64 and aarch64.

Compiling on clang is *dramatically* faster so this should be useful for CI.

Co-authored-by: crueter <crueter@eden-emu.dev>
Co-authored-by: crueter <crueter@crueter.xyz>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/348
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
Reviewed-by: crueter <crueter@eden-emu.dev>
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
2025-09-09 20:47:49 +02:00
Zephyron
cf1bcb02c5 service/vi: Improve OpenDisplay validation
Updates the OpenDisplay function in IApplicationDisplayService to properly
validate display names. Instead of only accepting "Default", now validates
against all known valid display names: "Default", "External", "Edid",
"Internal", and "Null".

- Changes log level from WARNING to DEBUG since this is no longer stubbed
- Adds proper validation for all valid display names
- Returns ResultOperationFailed for invalid display names
- Improves logging by including the requested display name
2025-04-19 17:19:38 -03:00
Liam
10966412ac vi: workaround conductor includes 2024-02-23 10:34:49 -05:00
Liam
0e032e03e6 vi: ignore shared buffer destruction failure on termination 2024-02-20 00:02:56 -05:00
Liam
3b78f33757 vi: remove superfluous locking in shared buffer manager 2024-02-19 23:59:35 -05:00
Liam
6fabb06764 nvnflinger/vi: don't recreate buffer queue on open/close 2024-02-19 23:59:35 -05:00
Liam
d082a80d79 nvnflinger: check for layers before compose 2024-02-18 11:25:52 -05:00
german77
07143cd038 service: vi: Implement ListDisplayMode 2024-02-17 18:08:41 -05:00
Liam
f5d736af4b vi: manage resources independently of nvnflinger and refactor 2024-02-17 18:08:38 -05:00
Liam
e34074861c vi: move shared buffer management from nvnflinger 2024-02-17 18:01:41 -05:00
Liam
b1f1beae41 nvnflinger: convert to process 2024-02-17 18:01:41 -05:00
Liam
0f18bf4a06 vi: rewrite IApplicationDisplayService 2024-02-14 12:03:32 -05:00
Liam
04b3fdca99 vi: rewrite ISystemDisplayService 2024-02-14 12:03:32 -05:00
Liam
f675c54cbe vi: rewrite IManagerDisplayService 2024-02-14 12:03:32 -05:00
Liam
33daf4463b vi: rewrite IHOSBinderDriver 2024-02-14 12:03:32 -05:00
Liam
5ad57cb878 vi: rewrite IApplicationRootService, IManagerRootService, ISystemRootService 2024-02-14 12:03:32 -05:00
Liam
8de4523094 vi: split into implementation files 2024-02-14 12:03:32 -05:00
Liam
a989a7ad9c vi: extract types 2024-02-14 12:03:31 -05:00
Liam
1c32e4157c nvnflinger/gpu: implement blending 2024-02-09 09:20:53 -05:00
Liam
5ec76db392 nvnflinger/gpu: implement layer stack composition 2024-01-31 11:27:21 -05:00
Liam
7df27bbef6 core: support offline web applet 2024-01-29 20:17:33 -05:00
Liam
49f10b2e54 am: migrate global state to per-applet state structure 2024-01-29 20:17:33 -05:00
Narr the Reg
aad9258100 service: properly convert buffers to strings 2024-01-23 10:24:05 -06:00
Liam
c6dc206cd6 vi: check layer state before opening or closing 2024-01-17 22:03:40 -05:00
Liam
5f9a3c23db nvnflinger: ensure display abandonment considers all layers and future layers 2024-01-17 18:45:39 -05:00
Liam
1d7fb4cffb vi: connect vsync event handle lifetime to application display service interface 2024-01-07 21:47:41 -05:00
Liam
beab2c3fc7 vi: fix name of nvnflinger 2024-01-07 21:31:03 -05:00
Liam
ccef7d7326 vi: fix confusion between closing and destroying layers 2023-12-12 12:14:23 -05:00
Liam
2e8b7e4a40 nvnflinger: use graphic buffer lifetime for map handle 2023-10-29 22:12:16 -04:00
Narr the Reg
9567f9aaed service: nvnflinger: Implement shared buffer
Co-authored-by: Liam <byteslice@airmail.cc>
2023-10-01 11:38:30 -06: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
580f7f2ff1 general: fix incorrect conversions 2023-08-08 11:09:37 -04:00
Liam
5f2c56cd15 core: remove ResultVal type 2023-08-08 11:09:37 -04:00
Liam
c59b0c9715 nvnflinger: fix Parcel serialization 2023-05-11 17:09:19 -04: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
Narr the Reg
932cf55052 core: Update service function tables to 16.0.0+ 2023-02-24 18:17:36 -06:00
Liam
1c3a93e7c4 service: refactor server architecture
Converts services to have their own processes
2023-02-21 12:19:25 -05: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
4531881bfd nvflinger: Split Parcel class into InputParcel and OutputParcel
The usages of the Parcel class were already unique to either Read or Write operations.
Avoids needing a vector of the input payload for the InputParcel use-case, instead it can remain as a span.
2022-12-25 17:19:10 -05:00
Liam
4351ab1ff1 vi: implement CloseDisplay 2022-10-27 08:27:38 -04:00