Commit Graph

244 Commits

Author SHA1 Message Date
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
Morph 6a22ed905b general: Add missing pragma once 2022-10-17 03:14:31 -04:00
Liam 09777eea76 kernel: remove KWritableEvent 2022-10-12 20:29:29 -04:00
VonChenPlus 9623b1dc5a Core: Fix get nvmap object random crash 2022-10-06 21:00:53 +02:00
Liam White 6df0663a57 General: Fix compilation for GCC 2022-10-06 21:00:53 +02: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