Commit graph

370 commits

Author SHA1 Message Date
Jakob Bornecrantz 83b77285bd ipc: Use check helpers in other client code as well 2023-11-14 01:20:51 +00:00
Jakob Bornecrantz bfaf615d4f ipc: Replace IPC_CHK_CALL macro with other helper 2023-11-14 01:20:51 +00:00
Jakob Bornecrantz 8d61577081 ipc: Add xrt check return helpers 2023-11-14 01:20:51 +00:00
Jakob Bornecrantz 440b1f2660 ipc: Add ipc_print_result helper 2023-11-14 01:20:51 +00:00
Jakob Bornecrantz 4a8400538c ipc: Use message channel's log_level in client 2023-11-13 12:47:12 +00:00
Jakob Bornecrantz 2d7041c797 ipc: Move ipc_message_channel functions to own files
What actually happened:

  copy src/xrt/ipc/shared/{ipc_utils.h => ipc_message_channel.h} (95%)
  rename src/xrt/ipc/shared/{ipc_utils_unix.c => ipc_message_channel_unix.c} (99%)
  rename src/xrt/ipc/shared/{ipc_utils_windows.cpp => ipc_message_channel_windows.cpp} (99%)
  rewrite src/xrt/ipc/shared/ipc_utils.h (94%)
2023-11-13 12:47:12 +00:00
Jakob Bornecrantz 850e57a002 ipc: Move non-channel functions to utils [NFC] 2023-11-13 12:47:12 +00:00
Jakob Bornecrantz 5dfdab9e80 ipc: Split UNIX and Windows utils implementations more 2023-11-13 12:47:12 +00:00
Jakob Bornecrantz 5e92df460d ipc: Tidy Windows utils file [NFC] 2023-11-13 12:47:12 +00:00
Jakob Bornecrantz f0c2167fb8 ipc: Tidy UNIX utils files [NFC] 2023-11-13 12:47:12 +00:00
Jakob Bornecrantz a339d7adf4 ipc: Remove unused function [NFC] 2023-11-13 12:47:12 +00:00
Jakob Bornecrantz cec787ba0f ipc: Add variable number of views get function 2023-11-09 18:37:47 +00:00
Jakob Bornecrantz 7251417569 ipc: Add functions to lock/unlock the client connection 2023-11-09 17:56:27 +00:00
Jakob Bornecrantz e576424995 ipc: Add ability to do variable length calls 2023-11-09 17:56:27 +00:00
Jakob Bornecrantz 6d990ba480 ipc: Refactor proto generation a little bit 2023-11-09 17:49:35 +00:00
Jakob Bornecrantz 60bbded2e2 ipc: Remove left over static roles 2023-11-07 22:57:44 +00:00
Jakob Bornecrantz 332b32b71f ipc: Refactor and tidy client connection
Also move git hash check as early as possible.
2023-11-03 18:18:31 +00:00
Jakob Bornecrantz bfffb0c5c4 ipc: Constify client connection argument 2023-11-03 18:18:31 +00:00
Jakob Bornecrantz 05d04b3ea0 ipc: Fix compile on musl 2023-11-02 15:06:02 +00:00
Hui Xu 7c6b0d1e98 ipc: Add macro TEMP_FAILURE_RETRY
- to ignore the signal -4 (ENTR)
2023-11-02 14:25:21 +00:00
Jakob Bornecrantz c5f4f0ab7a xrt: Remove old roles
Also remove all fallbacks helpers now.
2023-10-24 09:24:49 +00:00
Korcan Hussein 60ae73f571 ipc: Add support for dynamic device roles 2023-10-24 09:24:49 +00:00
Nico Marniok 2718f0506e xrt: Add dynamic roles to xrt_system_devices
Doesn't fully remove the old way yet.

Co-authored-by: Korcan Hussein <korcan.hussein@collabora.com>
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
2023-10-24 09:24:49 +00:00
Christoph Haag ef47498137 ipc: Fix session deactivation negative array index access
It is possible for s->global_state.active_client_index to be -1 when
update_server_state_locked is called:

ipc_server_activate_session is only called from
ipc_handle_compositor_predict_frame, which is only called from
ipc_compositor_wait_frame.

So it is possible to deactivate a session that was never activated.
2023-10-19 15:37:01 +02:00
Jakob Bornecrantz 82192a43f9 ipc: Generate limited unique ids for native swapchains 2023-09-21 22:34:06 +01:00
Jiali Zhang 81a094f990 ipc: Add support for thread hint function 2023-09-13 20:04:49 +01:00
Jakob Bornecrantz 3de99b63d9 ipc: Add a interface header for ipc_server_main[_android] 2023-09-13 17:33:55 +00:00
Jakob Bornecrantz 5be0767aa9 ipc: Add a interface header for ipc_instance_create 2023-09-13 17:33:55 +00:00
Jakob Bornecrantz 6b815eba51 ipc: Removed unused define [NFC] 2023-09-01 19:50:46 +01:00
Hui Xu d5b9ae137e ipc/android: Dup the fd from JVM and maintain it in native
- dup the fd in native part to avoid fd_san error
2023-08-22 18:54:26 +00:00
Jakob Bornecrantz 7dae8d1ddd ipc: Add a stable ID for clients
Co-authored-by: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
2023-07-18 17:33:52 +02:00
Jakob Bornecrantz 1920a9f0d7 ipc: Send less information when describing the client 2023-07-18 17:33:52 +02:00
Jakob Bornecrantz 2edf07749b ipc: Rename client connected function and document code 2023-07-18 17:33:52 +02:00
huanchen db230b3dcb ipc: Unmap shared memory before destroy 2023-07-18 13:43:01 +01:00
Korcan Hussein b6b5610c05 xrt|ipc|st/oxr: Adds support for XR_EXT_hand_interaction profile. 2023-07-12 14:14:08 +01:00
Korcan Hussein 8865baafee xrt: Plumbs enabled ext state for XR_EXT_eye_gaze_interaction 2023-06-29 00:31:58 +01:00
Ryan Pavlik 2c2aa92889 ipc: Factor out client connection setup and teardown for reuse. 2023-06-17 22:23:33 +01:00
Ryan Pavlik 684a3f22e4 ipc/client: Warning fix 2023-06-17 11:46:14 +01:00
Christoph Haag 6a01170b23 ipc: Transfer xdev serial over ipc 2023-06-14 01:02:07 +00:00
Robbie Bridgewater 28dc5747e2 ipc: Add more diagnostic info for first instance service failure 2023-06-14 01:01:49 +00:00
Drew Chien (Te-Ju) 96c88f488e xrt: Add eye gaze defines and role 2023-06-13 01:31:11 +01:00
sdegrande 2f3f9e0cb9 build,a/{os,util},xrt,ipc: Fix compilation with Mingw64 on MSYS2
Main changes:
- use the pthread lib provided by Mingw64
- include windows.h where needed
- define XRT_ENV_MINGW
2023-06-05 12:03:47 -05:00
Korcan Hussein 17d8e010c8 xrt: App enabled extension state
Adds support for passing through which extensions an OpenXR client
has enabled to server for drivers/compositors to be able to query.
2023-05-25 23:20:38 +01:00
Ryan Pavlik 8603e5d63e i/client: Fix return type incompatibility on Windows 2023-05-16 22:04:53 +00:00
samuel degrande ea7ec1bda8 xrt: Fail to build with Clang 16 2023-05-16 14:25:36 +00:00
Jakob Bornecrantz ca20f359b5 ipc: Allow UWP/AppContainer and others to connect
Including: UWP/AppContainer, Authenticated user and Administrator. Currently
guarded with IPC_RELAXED_CONNECTION_SECURITY env variable.
2023-05-06 16:21:30 +01:00
Jakob Bornecrantz cfb63abac1 ipc: Do not leak arguments before fully having waited 2023-05-03 16:16:13 +01:00
Jarvis Huang 0d31791092 comp/android: Refine surface creation flow
Reuse MonadoView when "Display over other apps" is enabled. Move surface
creation logic to compositor for consistency. With this approach, compositor
implementer controls the way surface is created.
2023-04-18 16:24:35 -05:00
Jarvis Huang d60db29295 aux/android: Refactor SystemUiController 2023-04-18 16:22:42 -05:00
Ryan Pavlik 9840730169 ipc/android: Run spotlessApply to format Java and Kotlin code 2023-04-17 10:58:38 -05:00