Commit graph

242 commits

Author SHA1 Message Date
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
Morph
23c1bf736f service: vi: Move VI results into its own file 2022-09-25 20:33:25 -04:00
german77
c7890ebccc core: Replace all instances of ResultCode with Result 2022-06-26 20:21:37 -05:00