ipc: Split protocol json into separate files

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2635>
This commit is contained in:
Jakob Bornecrantz authored and Marge Bot committed 2025-11-25 15:36:48 +00:00
1 parent 0a639c0498
commit 5bde33f856
19 files changed
+733 -680

No files matched your search

+17 -6
View File
@@ -1,6 +1,19 @@
# Copyright 2020-2021, Collabora, Ltd.
# Copyright 2025, NVIDIA CORPORATION.
# SPDX-License-Identifier: BSL-1.0
###
# Merge split protocol JSON files into single proto.json
file(GLOB PROTO_JSON_FILES "${CMAKE_CURRENT_SOURCE_DIR}/shared/proto/*.json")
merge_json_files(
OUTPUT
"${CMAKE_CURRENT_BINARY_DIR}/proto.json"
SOURCES
${PROTO_JSON_FILES}
IGNORE_SCHEMA
)
###
# Generator
@@ -16,13 +29,12 @@ foreach(
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${fn}"
COMMAND
${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/shared/proto.py
${CMAKE_CURRENT_SOURCE_DIR}/shared/proto.json
"${CMAKE_CURRENT_BINARY_DIR}/${fn}"
${CMAKE_CURRENT_BINARY_DIR}/proto.json "${CMAKE_CURRENT_BINARY_DIR}/${fn}"
VERBATIM
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/shared/proto.py
${CMAKE_CURRENT_SOURCE_DIR}/shared/ipcproto/common.py
${CMAKE_CURRENT_SOURCE_DIR}/shared/proto.json
${CMAKE_CURRENT_BINARY_DIR}/proto.json
${CMAKE_CURRENT_SOURCE_DIR}/shared/ipc_protocol_generated.h.template
COMMENT "Generating ${fn} from protocol JSON description"
)
@@ -33,13 +45,12 @@ add_custom_command(
OUTPUT "${CMAKE_BINARY_DIR}/ipc-structs.txt"
COMMAND
${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/shared/proto.py
${CMAKE_CURRENT_SOURCE_DIR}/shared/proto.json
"${CMAKE_BINARY_DIR}/ipc-structs.txt"
${CMAKE_CURRENT_BINARY_DIR}/proto.json "${CMAKE_BINARY_DIR}/ipc-structs.txt"
VERBATIM
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/shared/proto.py
${CMAKE_CURRENT_SOURCE_DIR}/shared/ipcproto/common.py
${CMAKE_CURRENT_SOURCE_DIR}/shared/proto.json
${CMAKE_CURRENT_BINARY_DIR}/proto.json
COMMENT "Generating ipc-structs.txt from protocol JSON description"
)
-671
View File
@@ -1,671 +0,0 @@
{
"$schema": "./proto.schema.json",
"instance_get_shm_fd": {
"out_handles": {"type": "xrt_shmem_handle_t"}
},
"instance_describe_client": {
"in": [
{"name": "desc", "type": "struct ipc_client_description"}
]
},
"instance_is_system_available": {
"out": [
{"name": "available", "type": "bool"}
]
},
"system_get_properties": {
"out": [
{"name": "properties", "type": "struct xrt_system_properties"}
]
},
"system_get_client_info": {
"in": [
{"name": "id", "type": "uint32_t"}
],
"out": [
{"name": "ias", "type": "struct ipc_app_state"}
]
},
"system_get_clients": {
"out": [
{"name": "clients", "type": "struct ipc_client_list"}
]
},
"system_set_primary_client": {
"in": [
{"name": "id", "type": "uint32_t"}
]
},
"system_set_focused_client": {
"in": [
{"name": "id", "type": "uint32_t"}
]
},
"system_toggle_io_client": {
"in": [
{"name": "id", "type": "uint32_t"}
]
},
"system_devices_get_roles": {
"out": [
{"name": "system_roles", "type": "struct xrt_system_roles"}
]
},
"system_devices_begin_feature": {
"in": [
{"name": "type", "type": "enum xrt_device_feature_type"}
]
},
"system_devices_end_feature": {
"in": [
{"name": "type", "type": "enum xrt_device_feature_type"}
]
},
"system_compositor_get_info": {
"out": [
{"name": "info", "type": "struct xrt_system_compositor_info"}
]
},
"session_create": {
"in": [
{"name": "xsi", "type": "struct xrt_session_info"},
{"name": "create_native_compositor", "type": "bool"}
]
},
"session_poll_events": {
"out": [
{"name": "event", "type": "union xrt_session_event"}
]
},
"session_begin": {},
"session_end": {},
"session_destroy": {},
"space_create_semantic_ids": {
"out": [
{"name": "root_id", "type": "uint32_t"},
{"name": "view_id", "type": "uint32_t"},
{"name": "local_id", "type": "uint32_t"},
{"name": "local_floor_id", "type": "uint32_t"},
{"name": "stage_id", "type": "uint32_t"},
{"name": "unbounded_id", "type": "uint32_t"}
]
},
"space_create_offset": {
"in": [
{"name": "parent_id", "type": "uint32_t"},
{"name": "offset", "type": "struct xrt_pose"}
],
"out": [
{"name": "space_id", "type": "uint32_t"}
]
},
"space_create_pose": {
"in": [
{"name": "xdev_id", "type": "uint32_t"},
{"name": "name", "type": "enum xrt_input_name"}
],
"out": [
{"name": "space_id", "type": "uint32_t"}
]
},
"space_locate_space": {
"in": [
{"name": "base_space_id", "type": "uint32_t"},
{"name": "base_offset", "type": "struct xrt_pose"},
{"name": "at_timestamp", "type": "int64_t"},
{"name": "space_id", "type": "uint32_t"},
{"name": "offset", "type": "struct xrt_pose"}
],
"out": [
{"name": "relation", "type": "struct xrt_space_relation"}
]
},
"space_locate_spaces": {
"varlen": true,
"in": [
{"name": "base_space_id", "type": "uint32_t"},
{"name": "base_offset", "type": "struct xrt_pose"},
{"name": "space_count", "type": "uint32_t"},
{"name": "at_timestamp", "type": "int64_t"}
]
},
"space_locate_device": {
"in": [
{"name": "base_space_id", "type": "uint32_t"},
{"name": "base_offset", "type": "struct xrt_pose"},
{"name": "at_timestamp", "type": "int64_t"},
{"name": "xdev_id", "type": "uint32_t"}
],
"out": [
{"name": "relation", "type": "struct xrt_space_relation"}
]
},
"space_destroy": {
"in": [
{"name": "space_id", "type": "uint32_t"}
]
},
"space_mark_ref_space_in_use": {
"in": [
{"name": "type", "type": "enum xrt_reference_space_type"}
]
},
"space_unmark_ref_space_in_use": {
"in": [
{"name": "type", "type": "enum xrt_reference_space_type"}
]
},
"space_recenter_local_spaces": {
},
"space_get_tracking_origin_offset": {
"in": [
{"name": "origin_id", "type": "uint32_t"}
],
"out": [
{"name": "offset", "type": "struct xrt_pose"}
]
},
"space_set_tracking_origin_offset": {
"in": [
{"name": "origin_id", "type": "uint32_t"},
{"name": "offset", "type": "struct xrt_pose"}
]
},
"space_get_reference_space_offset": {
"in": [
{"name": "type", "type": "enum xrt_reference_space_type"}
],
"out": [
{"name": "offset", "type": "struct xrt_pose"}
]
},
"space_set_reference_space_offset": {
"in": [
{"name": "type", "type": "enum xrt_reference_space_type"},
{"name": "offset", "type": "struct xrt_pose"}
]
},
"compositor_get_info": {
"out": [
{"name": "info", "type": "struct xrt_compositor_info"}
]
},
"compositor_predict_frame": {
"out": [
{"name": "frame_id", "type": "int64_t"},
{"name": "wake_up_time", "type": "int64_t"},
{"name": "predicted_display_time", "type": "int64_t"},
{"name": "predicted_display_period", "type": "int64_t"}
]
},
"compositor_wait_woke": {
"in": [
{"name": "frame_id", "type": "int64_t"}
]
},
"compositor_begin_frame": {
"in": [
{"name": "frame_id", "type": "int64_t"}
]
},
"compositor_discard_frame": {
"in": [
{"name": "frame_id", "type": "int64_t"}
]
},
"compositor_layer_sync": {
"in": [
{"name": "slot_id", "type": "uint32_t"}
],
"in_handles": {"type": "xrt_graphics_sync_handle_t"},
"out": [
{"name": "free_slot_id", "type": "uint32_t"}
]
},
"compositor_layer_sync_with_semaphore": {
"in": [
{"name": "slot_id", "type": "uint32_t"},
{"name": "semaphore_id", "type": "uint32_t"},
{"name": "semaphore_value", "type": "uint64_t"}
],
"out": [
{"name": "free_slot_id", "type": "uint32_t"}
]
},
"compositor_set_performance_level": {
"in": [
{"name": "domain", "type": "enum xrt_perf_domain"},
{"name": "level", "type": "enum xrt_perf_set_level"}
]
},
"compositor_set_thread_hint": {
"in": [
{"name": "hint", "type": "enum xrt_thread_hint"},
{"name": "thread_id", "type": "uint32_t"}
]
},
"compositor_get_display_refresh_rate": {
"out": [
{"name": "out_display_refresh_rate_hz", "type": "float"}
]
},
"compositor_request_display_refresh_rate": {
"in": [
{"name": "display_refresh_rate_hz", "type": "float"}
]
},
"compositor_get_reference_bounds_rect": {
"in": [
{"name": "reference_space_type", "type": "enum xrt_reference_space_type"}
],
"out": [
{"name": "bounds", "type": "struct xrt_vec2"}
]
},
"swapchain_get_properties": {
"in": [
{"name": "info", "type": "struct xrt_swapchain_create_info"}
],
"out": [
{"name": "xsccp", "type": "struct xrt_swapchain_create_properties"}
]
},
"swapchain_create": {
"in": [
{"name": "info", "type": "struct xrt_swapchain_create_info"}
],
"out": [
{"name": "id", "type": "uint32_t"},
{"name": "image_count", "type": "uint32_t"},
{"name": "size", "type": "uint64_t"},
{"name": "use_dedicated_allocation", "type": "bool"}
],
"out_handles": {"type": "xrt_graphics_buffer_handle_t"}
},
"compositor_create_passthrough": {
"in": [
{"name": "info", "type": "struct xrt_passthrough_create_info"}
]
},
"compositor_create_passthrough_layer": {
"in": [
{"name": "info", "type": "struct xrt_passthrough_layer_create_info"}
]
},
"compositor_destroy_passthrough": {},
"swapchain_import": {
"in": [
{"name": "info", "type": "struct xrt_swapchain_create_info"},
{"name": "args", "type": "struct ipc_arg_swapchain_from_native"}
],
"out": [
{"name": "id", "type": "uint32_t"}
],
"in_handles": {"type": "xrt_graphics_buffer_handle_t"}
},
"swapchain_wait_image": {
"in": [
{"name": "id", "type": "uint32_t"},
{"name": "timeout_ns", "type": "int64_t"},
{"name": "index", "type": "uint32_t"}
]
},
"swapchain_acquire_image": {
"in": [
{"name": "id", "type": "uint32_t"}
],
"out": [
{"name": "index", "type": "uint32_t"}
]
},
"swapchain_release_image": {
"in": [
{"name": "id", "type": "uint32_t"},
{"name": "index", "type": "uint32_t"}
]
},
"swapchain_destroy": {
"in": [
{"name": "id", "type": "uint32_t"}
]
},
"compositor_semaphore_create": {
"out": [
{"name": "id", "type": "uint32_t"}
],
"out_handles": {"type": "xrt_graphics_sync_handle_t"}
},
"compositor_semaphore_destroy": {
"in": [
{"name": "id", "type": "uint32_t"}
]
},
"device_update_input": {
"in": [
{"name": "id", "type": "uint32_t"}
]
},
"device_get_tracked_pose": {
"in": [
{"name": "id", "type": "uint32_t"},
{"name": "name", "type": "enum xrt_input_name"},
{"name": "at_timestamp", "type": "int64_t"}
],
"out": [
{"name": "relation", "type": "struct xrt_space_relation"}
]
},
"device_get_hand_tracking": {
"in": [
{"name": "id", "type": "uint32_t"},
{"name": "name", "type": "enum xrt_input_name"},
{"name": "at_timestamp", "type": "int64_t"}
],
"out": [
{"name": "value", "type": "struct xrt_hand_joint_set"},
{"name": "timestamp", "type": "int64_t"}
]
},
"device_get_view_poses": {
"varlen": true,
"in": [
{"name": "id", "type": "uint32_t"},
{"name": "fallback_eye_relation", "type": "struct xrt_vec3"},
{"name": "at_timestamp_ns", "type": "int64_t"},
{"name": "view_type", "type": "enum xrt_view_type"},
{"name": "view_count", "type": "uint32_t"}
],
"out": [
{"name": "head_relation", "type": "struct xrt_space_relation"},
{"name": "view_count", "type": "uint32_t"}
]
},
"device_get_view_poses_2": {
"in": [
{"name": "id", "type": "uint32_t"},
{"name": "fallback_eye_relation", "type": "struct xrt_vec3"},
{"name": "at_timestamp_ns", "type": "int64_t"},
{"name": "view_type", "type": "enum xrt_view_type"},
{"name": "view_count", "type": "uint32_t"}
],
"out": [
{"name": "info", "type": "struct ipc_info_get_view_poses_2"}
]
},
"device_compute_distortion": {
"in": [
{"name": "id", "type": "uint32_t"},
{"name": "view", "type": "uint32_t"},
{"name": "u", "type": "float"},
{"name": "v", "type": "float"}
],
"out": [
{"name": "triplet", "type": "struct xrt_uv_triplet"}
]
},
"device_begin_plane_detection_ext": {
"in": [
{"name": "id", "type": "uint32_t"},
{"name": "plane_detection_id", "type": "uint64_t"}
],
"out": [
{"name": "out_plane_detection_id", "type": "uint64_t"}
]
},
"device_destroy_plane_detection_ext": {
"in": [
{"name": "id", "type": "uint32_t"},
{"name": "plane_detection_id", "type": "uint64_t"}
]
},
"device_get_plane_detection_state_ext": {
"in": [
{"name": "id", "type": "uint32_t"},
{"name": "plane_detection_id", "type": "uint64_t"}
],
"out": [
{"name": "state", "type": "enum xrt_plane_detector_state_ext"}
]
},
"device_get_plane_detections_ext": {
"varlen": true,
"in": [
{"name": "id", "type": "uint32_t"},
{"name": "plane_detection_id", "type": "uint64_t"}
],
"out": [
{"name": "location_size", "type": "uint32_t"},
{"name": "polygon_size", "type": "uint32_t"},
{"name": "vertex_size", "type": "uint32_t"}
]
},
"device_get_presence": {
"in": [
{"name": "id", "type": "uint32_t"}
],
"out": [
{"name": "presence", "type": "bool"}
]
},
"device_set_output": {
"in": [
{"name": "id", "type": "uint32_t"},
{"name": "name", "type": "enum xrt_output_name"},
{"name": "value", "type": "struct xrt_output_value"}
]
},
"device_set_haptic_output": {
"varlen": true,
"in": [
{"name": "id", "type": "uint32_t"},
{"name": "name", "type": "enum xrt_output_name"},
{"name": "samples", "type": "struct ipc_pcm_haptic_buffer"}
],
"out":[
{"name": "samples_consumed", "type": "uint32_t"}
]
},
"device_get_output_limits": {
"in": [
{"name": "id", "type": "uint32_t"}
],
"out":[
{"name": "limits", "type": "struct xrt_output_limits"}
]
},
"device_get_visibility_mask": {
"varlen": true,
"in": [
{"name": "id", "type": "uint32_t"},
{"name": "type", "type": "enum xrt_visibility_mask_type"},
{"name": "view_index", "type": "uint32_t"}
],
"out": [
{"name": "mask_size", "type": "uint32_t"}
]
},
"device_is_form_factor_available": {
"in": [
{"name": "id", "type": "uint32_t"},
{"name": "form_factor", "type": "enum xrt_form_factor"}
],
"out": [
{"name": "available", "type": "bool"}
]
},
"device_get_face_tracking": {
"in": [
{"name": "id", "type": "uint32_t"},
{"name": "facial_expression_type", "type": "enum xrt_input_name"},
{"name": "at_timestamp_ns", "type": "int64_t"}
],
"out": [
{"name": "value", "type": "struct xrt_facial_expression_set"}
]
},
"device_get_body_skeleton": {
"in": [
{"name": "id", "type": "uint32_t"},
{"name": "body_tracking_type", "type": "enum xrt_input_name"}
],
"out": [
{"name": "value", "type": "struct xrt_body_skeleton"}
]
},
"device_get_body_joints": {
"in": [
{"name": "id", "type": "uint32_t"},
{"name": "body_tracking_type", "type": "enum xrt_input_name"},
{"name": "desired_timestamp_ns", "type": "int64_t"}
],
"out": [
{"name": "value", "type": "struct xrt_body_joint_set"}
]
},
"device_reset_body_tracking_calibration_meta": {
"in": [
{"name": "id", "type": "uint32_t"}
]
},
"device_set_body_tracking_calibration_override_meta": {
"in": [
{"name": "id", "type": "uint32_t"},
{"name": "new_body_height", "type": "float"}
]
},
"device_get_battery_status": {
"in": [
{"name": "id", "type": "uint32_t"}
],
"out": [
{"name": "present", "type": "bool"},
{"name": "charging", "type": "bool"},
{"name": "charge", "type": "float"}
]
},
"device_get_brightness": {
"in": [
{"name": "id", "type": "uint32_t"}
],
"out": [
{"name": "brightness", "type": "float"}
]
},
"device_set_brightness": {
"in": [
{"name": "id", "type": "uint32_t"},
{"name": "brightness", "type": "float"},
{"name": "relative", "type": "bool"}
]
},
"future_get_state": {
"in": [
{"name": "future_id", "type": "uint32_t"}
],
"out": [
{"name": "out_state", "type": "enum xrt_future_state"}
]
},
"future_cancel": {
"in": [
{"name": "future_id", "type": "uint32_t"}
]
},
"future_destroy": {
"in": [
{"name": "future_id", "type": "uint32_t"}
]
},
"future_get_result": {
"in": [
{"name": "future_id", "type": "uint32_t"}
],
"out": [
{"name": "out_ft_result", "type": "struct xrt_future_result"}
]
}
}
-3
View File
@@ -1,3 +0,0 @@
Copyright 2018-2023, Collabora, Ltd.
SPDX-License-Identifier: BSL-1.0
+19
View File
@@ -0,0 +1,19 @@
{
"$schema": "../proto.schema.json",
"instance_get_shm_fd": {
"out_handles": {"type": "xrt_shmem_handle_t"}
},
"instance_describe_client": {
"in": [
{"name": "desc", "type": "struct ipc_client_description"}
]
},
"instance_is_system_available": {
"out": [
{"name": "available", "type": "bool"}
]
}
}
@@ -0,0 +1,3 @@
Copyright 2018-2025, Collabora, Ltd.
SPDX-License-Identifier: BSL-1.0
+119
View File
@@ -0,0 +1,119 @@
{
"$schema": "../proto.schema.json",
"compositor_get_info": {
"out": [
{"name": "info", "type": "struct xrt_compositor_info"}
]
},
"compositor_predict_frame": {
"out": [
{"name": "frame_id", "type": "int64_t"},
{"name": "wake_up_time", "type": "int64_t"},
{"name": "predicted_display_time", "type": "int64_t"},
{"name": "predicted_display_period", "type": "int64_t"}
]
},
"compositor_wait_woke": {
"in": [
{"name": "frame_id", "type": "int64_t"}
]
},
"compositor_begin_frame": {
"in": [
{"name": "frame_id", "type": "int64_t"}
]
},
"compositor_discard_frame": {
"in": [
{"name": "frame_id", "type": "int64_t"}
]
},
"compositor_layer_sync": {
"in": [
{"name": "slot_id", "type": "uint32_t"}
],
"in_handles": {"type": "xrt_graphics_sync_handle_t"},
"out": [
{"name": "free_slot_id", "type": "uint32_t"}
]
},
"compositor_layer_sync_with_semaphore": {
"in": [
{"name": "slot_id", "type": "uint32_t"},
{"name": "semaphore_id", "type": "uint32_t"},
{"name": "semaphore_value", "type": "uint64_t"}
],
"out": [
{"name": "free_slot_id", "type": "uint32_t"}
]
},
"compositor_set_performance_level": {
"in": [
{"name": "domain", "type": "enum xrt_perf_domain"},
{"name": "level", "type": "enum xrt_perf_set_level"}
]
},
"compositor_set_thread_hint": {
"in": [
{"name": "hint", "type": "enum xrt_thread_hint"},
{"name": "thread_id", "type": "uint32_t"}
]
},
"compositor_get_display_refresh_rate": {
"out": [
{"name": "out_display_refresh_rate_hz", "type": "float"}
]
},
"compositor_request_display_refresh_rate": {
"in": [
{"name": "display_refresh_rate_hz", "type": "float"}
]
},
"compositor_get_reference_bounds_rect": {
"in": [
{"name": "reference_space_type", "type": "enum xrt_reference_space_type"}
],
"out": [
{"name": "bounds", "type": "struct xrt_vec2"}
]
},
"compositor_create_passthrough": {
"in": [
{"name": "info", "type": "struct xrt_passthrough_create_info"}
]
},
"compositor_create_passthrough_layer": {
"in": [
{"name": "info", "type": "struct xrt_passthrough_layer_create_info"}
]
},
"compositor_destroy_passthrough": {},
"compositor_semaphore_create": {
"out": [
{"name": "id", "type": "uint32_t"}
],
"out_handles": {"type": "xrt_graphics_sync_handle_t"}
},
"compositor_semaphore_destroy": {
"in": [
{"name": "id", "type": "uint32_t"}
]
}
}
@@ -0,0 +1,3 @@
Copyright 2018-2025, Collabora, Ltd.
SPDX-License-Identifier: BSL-1.0
+245
View File
@@ -0,0 +1,245 @@
{
"$schema": "../proto.schema.json",
"device_update_input": {
"in": [
{"name": "id", "type": "uint32_t"}
]
},
"device_get_tracked_pose": {
"in": [
{"name": "id", "type": "uint32_t"},
{"name": "name", "type": "enum xrt_input_name"},
{"name": "at_timestamp", "type": "int64_t"}
],
"out": [
{"name": "relation", "type": "struct xrt_space_relation"}
]
},
"device_get_hand_tracking": {
"in": [
{"name": "id", "type": "uint32_t"},
{"name": "name", "type": "enum xrt_input_name"},
{"name": "at_timestamp", "type": "int64_t"}
],
"out": [
{"name": "value", "type": "struct xrt_hand_joint_set"},
{"name": "timestamp", "type": "int64_t"}
]
},
"device_get_view_poses": {
"varlen": true,
"in": [
{"name": "id", "type": "uint32_t"},
{"name": "fallback_eye_relation", "type": "struct xrt_vec3"},
{"name": "at_timestamp_ns", "type": "int64_t"},
{"name": "view_type", "type": "enum xrt_view_type"},
{"name": "view_count", "type": "uint32_t"}
],
"out": [
{"name": "head_relation", "type": "struct xrt_space_relation"},
{"name": "view_count", "type": "uint32_t"}
]
},
"device_get_view_poses_2": {
"in": [
{"name": "id", "type": "uint32_t"},
{"name": "fallback_eye_relation", "type": "struct xrt_vec3"},
{"name": "at_timestamp_ns", "type": "int64_t"},
{"name": "view_type", "type": "enum xrt_view_type"},
{"name": "view_count", "type": "uint32_t"}
],
"out": [
{"name": "info", "type": "struct ipc_info_get_view_poses_2"}
]
},
"device_compute_distortion": {
"in": [
{"name": "id", "type": "uint32_t"},
{"name": "view", "type": "uint32_t"},
{"name": "u", "type": "float"},
{"name": "v", "type": "float"}
],
"out": [
{"name": "triplet", "type": "struct xrt_uv_triplet"}
]
},
"device_begin_plane_detection_ext": {
"in": [
{"name": "id", "type": "uint32_t"},
{"name": "plane_detection_id", "type": "uint64_t"}
],
"out": [
{"name": "out_plane_detection_id", "type": "uint64_t"}
]
},
"device_destroy_plane_detection_ext": {
"in": [
{"name": "id", "type": "uint32_t"},
{"name": "plane_detection_id", "type": "uint64_t"}
]
},
"device_get_plane_detection_state_ext": {
"in": [
{"name": "id", "type": "uint32_t"},
{"name": "plane_detection_id", "type": "uint64_t"}
],
"out": [
{"name": "state", "type": "enum xrt_plane_detector_state_ext"}
]
},
"device_get_plane_detections_ext": {
"varlen": true,
"in": [
{"name": "id", "type": "uint32_t"},
{"name": "plane_detection_id", "type": "uint64_t"}
],
"out": [
{"name": "location_size", "type": "uint32_t"},
{"name": "polygon_size", "type": "uint32_t"},
{"name": "vertex_size", "type": "uint32_t"}
]
},
"device_get_presence": {
"in": [
{"name": "id", "type": "uint32_t"}
],
"out": [
{"name": "presence", "type": "bool"}
]
},
"device_set_output": {
"in": [
{"name": "id", "type": "uint32_t"},
{"name": "name", "type": "enum xrt_output_name"},
{"name": "value", "type": "struct xrt_output_value"}
]
},
"device_set_haptic_output": {
"varlen": true,
"in": [
{"name": "id", "type": "uint32_t"},
{"name": "name", "type": "enum xrt_output_name"},
{"name": "samples", "type": "struct ipc_pcm_haptic_buffer"}
],
"out":[
{"name": "samples_consumed", "type": "uint32_t"}
]
},
"device_get_output_limits": {
"in": [
{"name": "id", "type": "uint32_t"}
],
"out":[
{"name": "limits", "type": "struct xrt_output_limits"}
]
},
"device_get_visibility_mask": {
"varlen": true,
"in": [
{"name": "id", "type": "uint32_t"},
{"name": "type", "type": "enum xrt_visibility_mask_type"},
{"name": "view_index", "type": "uint32_t"}
],
"out": [
{"name": "mask_size", "type": "uint32_t"}
]
},
"device_is_form_factor_available": {
"in": [
{"name": "id", "type": "uint32_t"},
{"name": "form_factor", "type": "enum xrt_form_factor"}
],
"out": [
{"name": "available", "type": "bool"}
]
},
"device_get_face_tracking": {
"in": [
{"name": "id", "type": "uint32_t"},
{"name": "facial_expression_type", "type": "enum xrt_input_name"},
{"name": "at_timestamp_ns", "type": "int64_t"}
],
"out": [
{"name": "value", "type": "struct xrt_facial_expression_set"}
]
},
"device_get_body_skeleton": {
"in": [
{"name": "id", "type": "uint32_t"},
{"name": "body_tracking_type", "type": "enum xrt_input_name"}
],
"out": [
{"name": "value", "type": "struct xrt_body_skeleton"}
]
},
"device_get_body_joints": {
"in": [
{"name": "id", "type": "uint32_t"},
{"name": "body_tracking_type", "type": "enum xrt_input_name"},
{"name": "desired_timestamp_ns", "type": "int64_t"}
],
"out": [
{"name": "value", "type": "struct xrt_body_joint_set"}
]
},
"device_reset_body_tracking_calibration_meta": {
"in": [
{"name": "id", "type": "uint32_t"}
]
},
"device_set_body_tracking_calibration_override_meta": {
"in": [
{"name": "id", "type": "uint32_t"},
{"name": "new_body_height", "type": "float"}
]
},
"device_get_battery_status": {
"in": [
{"name": "id", "type": "uint32_t"}
],
"out": [
{"name": "present", "type": "bool"},
{"name": "charging", "type": "bool"},
{"name": "charge", "type": "float"}
]
},
"device_get_brightness": {
"in": [
{"name": "id", "type": "uint32_t"}
],
"out": [
{"name": "brightness", "type": "float"}
]
},
"device_set_brightness": {
"in": [
{"name": "id", "type": "uint32_t"},
{"name": "brightness", "type": "float"},
{"name": "relative", "type": "bool"}
]
}
}
@@ -0,0 +1,3 @@
Copyright 2018-2025, Collabora, Ltd.
SPDX-License-Identifier: BSL-1.0
+33
View File
@@ -0,0 +1,33 @@
{
"$schema": "../proto.schema.json",
"future_get_state": {
"in": [
{"name": "future_id", "type": "uint32_t"}
],
"out": [
{"name": "out_state", "type": "enum xrt_future_state"}
]
},
"future_cancel": {
"in": [
{"name": "future_id", "type": "uint32_t"}
]
},
"future_destroy": {
"in": [
{"name": "future_id", "type": "uint32_t"}
]
},
"future_get_result": {
"in": [
{"name": "future_id", "type": "uint32_t"}
],
"out": [
{"name": "out_ft_result", "type": "struct xrt_future_result"}
]
}
}
@@ -0,0 +1,3 @@
Copyright 2018-2025, Collabora, Ltd.
SPDX-License-Identifier: BSL-1.0
+22
View File
@@ -0,0 +1,22 @@
{
"$schema": "../proto.schema.json",
"session_create": {
"in": [
{"name": "xsi", "type": "struct xrt_session_info"},
{"name": "create_native_compositor", "type": "bool"}
]
},
"session_poll_events": {
"out": [
{"name": "event", "type": "union xrt_session_event"}
]
},
"session_begin": {},
"session_end": {},
"session_destroy": {}
}
@@ -0,0 +1,3 @@
Copyright 2018-2025, Collabora, Ltd.
SPDX-License-Identifier: BSL-1.0
+122
View File
@@ -0,0 +1,122 @@
{
"$schema": "../proto.schema.json",
"space_create_semantic_ids": {
"out": [
{"name": "root_id", "type": "uint32_t"},
{"name": "view_id", "type": "uint32_t"},
{"name": "local_id", "type": "uint32_t"},
{"name": "local_floor_id", "type": "uint32_t"},
{"name": "stage_id", "type": "uint32_t"},
{"name": "unbounded_id", "type": "uint32_t"}
]
},
"space_create_offset": {
"in": [
{"name": "parent_id", "type": "uint32_t"},
{"name": "offset", "type": "struct xrt_pose"}
],
"out": [
{"name": "space_id", "type": "uint32_t"}
]
},
"space_create_pose": {
"in": [
{"name": "xdev_id", "type": "uint32_t"},
{"name": "name", "type": "enum xrt_input_name"}
],
"out": [
{"name": "space_id", "type": "uint32_t"}
]
},
"space_locate_space": {
"in": [
{"name": "base_space_id", "type": "uint32_t"},
{"name": "base_offset", "type": "struct xrt_pose"},
{"name": "at_timestamp", "type": "int64_t"},
{"name": "space_id", "type": "uint32_t"},
{"name": "offset", "type": "struct xrt_pose"}
],
"out": [
{"name": "relation", "type": "struct xrt_space_relation"}
]
},
"space_locate_spaces": {
"varlen": true,
"in": [
{"name": "base_space_id", "type": "uint32_t"},
{"name": "base_offset", "type": "struct xrt_pose"},
{"name": "space_count", "type": "uint32_t"},
{"name": "at_timestamp", "type": "int64_t"}
]
},
"space_locate_device": {
"in": [
{"name": "base_space_id", "type": "uint32_t"},
{"name": "base_offset", "type": "struct xrt_pose"},
{"name": "at_timestamp", "type": "int64_t"},
{"name": "xdev_id", "type": "uint32_t"}
],
"out": [
{"name": "relation", "type": "struct xrt_space_relation"}
]
},
"space_destroy": {
"in": [
{"name": "space_id", "type": "uint32_t"}
]
},
"space_mark_ref_space_in_use": {
"in": [
{"name": "type", "type": "enum xrt_reference_space_type"}
]
},
"space_unmark_ref_space_in_use": {
"in": [
{"name": "type", "type": "enum xrt_reference_space_type"}
]
},
"space_recenter_local_spaces": {
},
"space_get_tracking_origin_offset": {
"in": [
{"name": "origin_id", "type": "uint32_t"}
],
"out": [
{"name": "offset", "type": "struct xrt_pose"}
]
},
"space_set_tracking_origin_offset": {
"in": [
{"name": "origin_id", "type": "uint32_t"},
{"name": "offset", "type": "struct xrt_pose"}
]
},
"space_get_reference_space_offset": {
"in": [
{"name": "type", "type": "enum xrt_reference_space_type"}
],
"out": [
{"name": "offset", "type": "struct xrt_pose"}
]
},
"space_set_reference_space_offset": {
"in": [
{"name": "type", "type": "enum xrt_reference_space_type"},
{"name": "offset", "type": "struct xrt_pose"}
]
}
}
@@ -0,0 +1,3 @@
Copyright 2018-2025, Collabora, Ltd.
SPDX-License-Identifier: BSL-1.0
@@ -0,0 +1,66 @@
{
"$schema": "../proto.schema.json",
"swapchain_get_properties": {
"in": [
{"name": "info", "type": "struct xrt_swapchain_create_info"}
],
"out": [
{"name": "xsccp", "type": "struct xrt_swapchain_create_properties"}
]
},
"swapchain_create": {
"in": [
{"name": "info", "type": "struct xrt_swapchain_create_info"}
],
"out": [
{"name": "id", "type": "uint32_t"},
{"name": "image_count", "type": "uint32_t"},
{"name": "size", "type": "uint64_t"},
{"name": "use_dedicated_allocation", "type": "bool"}
],
"out_handles": {"type": "xrt_graphics_buffer_handle_t"}
},
"swapchain_import": {
"in": [
{"name": "info", "type": "struct xrt_swapchain_create_info"},
{"name": "args", "type": "struct ipc_arg_swapchain_from_native"}
],
"out": [
{"name": "id", "type": "uint32_t"}
],
"in_handles": {"type": "xrt_graphics_buffer_handle_t"}
},
"swapchain_wait_image": {
"in": [
{"name": "id", "type": "uint32_t"},
{"name": "timeout_ns", "type": "int64_t"},
{"name": "index", "type": "uint32_t"}
]
},
"swapchain_acquire_image": {
"in": [
{"name": "id", "type": "uint32_t"}
],
"out": [
{"name": "index", "type": "uint32_t"}
]
},
"swapchain_release_image": {
"in": [
{"name": "id", "type": "uint32_t"},
{"name": "index", "type": "uint32_t"}
]
},
"swapchain_destroy": {
"in": [
{"name": "id", "type": "uint32_t"}
]
}
}
@@ -0,0 +1,3 @@
Copyright 2018-2025, Collabora, Ltd.
SPDX-License-Identifier: BSL-1.0
+66
View File
@@ -0,0 +1,66 @@
{
"$schema": "../proto.schema.json",
"system_get_properties": {
"out": [
{"name": "properties", "type": "struct xrt_system_properties"}
]
},
"system_get_client_info": {
"in": [
{"name": "id", "type": "uint32_t"}
],
"out": [
{"name": "ias", "type": "struct ipc_app_state"}
]
},
"system_get_clients": {
"out": [
{"name": "clients", "type": "struct ipc_client_list"}
]
},
"system_set_primary_client": {
"in": [
{"name": "id", "type": "uint32_t"}
]
},
"system_set_focused_client": {
"in": [
{"name": "id", "type": "uint32_t"}
]
},
"system_toggle_io_client": {
"in": [
{"name": "id", "type": "uint32_t"}
]
},
"system_devices_get_roles": {
"out": [
{"name": "system_roles", "type": "struct xrt_system_roles"}
]
},
"system_devices_begin_feature": {
"in": [
{"name": "type", "type": "enum xrt_device_feature_type"}
]
},
"system_devices_end_feature": {
"in": [
{"name": "type", "type": "enum xrt_device_feature_type"}
]
},
"system_compositor_get_info": {
"out": [
{"name": "info", "type": "struct xrt_system_compositor_info"}
]
}
}
@@ -0,0 +1,3 @@
Copyright 2018-2025, Collabora, Ltd.
SPDX-License-Identifier: BSL-1.0