The open source OpenXR runtime
at mr/scanout-values 669 lines 14 kB view raw
1{ 2 "$schema": "./proto.schema.json", 3 4 "instance_get_shm_fd": { 5 "out_handles": {"type": "xrt_shmem_handle_t"} 6 }, 7 8 "instance_describe_client": { 9 "in": [ 10 {"name": "desc", "type": "struct ipc_client_description"} 11 ] 12 }, 13 14 "system_get_properties": { 15 "out": [ 16 {"name": "properties", "type": "struct xrt_system_properties"} 17 ] 18 }, 19 20 "system_get_client_info": { 21 "in": [ 22 {"name": "id", "type": "uint32_t"} 23 ], 24 "out": [ 25 {"name": "ias", "type": "struct ipc_app_state"} 26 ] 27 }, 28 29 "system_get_clients": { 30 "out": [ 31 {"name": "clients", "type": "struct ipc_client_list"} 32 ] 33 }, 34 35 "system_set_primary_client": { 36 "in": [ 37 {"name": "id", "type": "uint32_t"} 38 ] 39 }, 40 41 "system_set_focused_client": { 42 "in": [ 43 {"name": "id", "type": "uint32_t"} 44 ] 45 }, 46 47 "system_toggle_io_client": { 48 "in": [ 49 {"name": "id", "type": "uint32_t"} 50 ] 51 }, 52 53 "system_toggle_io_device": { 54 "in": [ 55 {"name": "id", "type": "uint32_t"} 56 ] 57 }, 58 59 "system_devices_get_roles": { 60 "out": [ 61 {"name": "system_roles", "type": "struct xrt_system_roles"} 62 ] 63 }, 64 65 "system_devices_begin_feature": { 66 "in": [ 67 {"name": "type", "type": "enum xrt_device_feature_type"} 68 ] 69 }, 70 71 "system_devices_end_feature": { 72 "in": [ 73 {"name": "type", "type": "enum xrt_device_feature_type"} 74 ] 75 }, 76 77 "system_compositor_get_info": { 78 "out": [ 79 {"name": "info", "type": "struct xrt_system_compositor_info"} 80 ] 81 }, 82 83 "session_create": { 84 "in": [ 85 {"name": "xsi", "type": "struct xrt_session_info"}, 86 {"name": "create_native_compositor", "type": "bool"} 87 ] 88 }, 89 90 "session_poll_events": { 91 "out": [ 92 {"name": "event", "type": "union xrt_session_event"} 93 ] 94 }, 95 96 "session_begin": {}, 97 98 "session_end": {}, 99 100 "session_destroy": {}, 101 102 "space_create_semantic_ids": { 103 "out": [ 104 {"name": "root_id", "type": "uint32_t"}, 105 {"name": "view_id", "type": "uint32_t"}, 106 {"name": "local_id", "type": "uint32_t"}, 107 {"name": "local_floor_id", "type": "uint32_t"}, 108 {"name": "stage_id", "type": "uint32_t"}, 109 {"name": "unbounded_id", "type": "uint32_t"} 110 ] 111 }, 112 113 "space_create_offset": { 114 "in": [ 115 {"name": "parent_id", "type": "uint32_t"}, 116 {"name": "offset", "type": "struct xrt_pose"} 117 ], 118 "out": [ 119 {"name": "space_id", "type": "uint32_t"} 120 ] 121 }, 122 123 "space_create_pose": { 124 "in": [ 125 {"name": "xdev_id", "type": "uint32_t"}, 126 {"name": "name", "type": "enum xrt_input_name"} 127 ], 128 "out": [ 129 {"name": "space_id", "type": "uint32_t"} 130 ] 131 }, 132 133 "space_locate_space": { 134 "in": [ 135 {"name": "base_space_id", "type": "uint32_t"}, 136 {"name": "base_offset", "type": "struct xrt_pose"}, 137 {"name": "at_timestamp", "type": "int64_t"}, 138 {"name": "space_id", "type": "uint32_t"}, 139 {"name": "offset", "type": "struct xrt_pose"} 140 ], 141 "out": [ 142 {"name": "relation", "type": "struct xrt_space_relation"} 143 ] 144 }, 145 146 "space_locate_spaces": { 147 "varlen": true, 148 "in": [ 149 {"name": "base_space_id", "type": "uint32_t"}, 150 {"name": "base_offset", "type": "struct xrt_pose"}, 151 {"name": "space_count", "type": "uint32_t"}, 152 {"name": "at_timestamp", "type": "int64_t"} 153 ] 154 }, 155 156 "space_locate_device": { 157 "in": [ 158 {"name": "base_space_id", "type": "uint32_t"}, 159 {"name": "base_offset", "type": "struct xrt_pose"}, 160 {"name": "at_timestamp", "type": "int64_t"}, 161 {"name": "xdev_id", "type": "uint32_t"} 162 ], 163 "out": [ 164 {"name": "relation", "type": "struct xrt_space_relation"} 165 ] 166 }, 167 168 "space_destroy": { 169 "in": [ 170 {"name": "space_id", "type": "uint32_t"} 171 ] 172 }, 173 174 "space_mark_ref_space_in_use": { 175 "in": [ 176 {"name": "type", "type": "enum xrt_reference_space_type"} 177 ] 178 }, 179 180 "space_unmark_ref_space_in_use": { 181 "in": [ 182 {"name": "type", "type": "enum xrt_reference_space_type"} 183 ] 184 }, 185 186 "space_recenter_local_spaces": { 187 }, 188 189 "space_get_tracking_origin_offset": { 190 "in": [ 191 {"name": "origin_id", "type": "uint32_t"} 192 ], 193 "out": [ 194 {"name": "offset", "type": "struct xrt_pose"} 195 ] 196 }, 197 198 "space_set_tracking_origin_offset": { 199 "in": [ 200 {"name": "origin_id", "type": "uint32_t"}, 201 {"name": "offset", "type": "struct xrt_pose"} 202 ] 203 }, 204 205 "space_get_reference_space_offset": { 206 "in": [ 207 {"name": "type", "type": "enum xrt_reference_space_type"} 208 ], 209 "out": [ 210 {"name": "offset", "type": "struct xrt_pose"} 211 ] 212 }, 213 214 "space_set_reference_space_offset": { 215 "in": [ 216 {"name": "type", "type": "enum xrt_reference_space_type"}, 217 {"name": "offset", "type": "struct xrt_pose"} 218 ] 219 }, 220 221 "compositor_get_info": { 222 "out": [ 223 {"name": "info", "type": "struct xrt_compositor_info"} 224 ] 225 }, 226 227 "compositor_predict_frame": { 228 "out": [ 229 {"name": "frame_id", "type": "int64_t"}, 230 {"name": "wake_up_time", "type": "int64_t"}, 231 {"name": "predicted_display_time", "type": "int64_t"}, 232 {"name": "predicted_display_period", "type": "int64_t"} 233 ] 234 }, 235 236 "compositor_wait_woke": { 237 "in": [ 238 {"name": "frame_id", "type": "int64_t"} 239 ] 240 }, 241 242 "compositor_begin_frame": { 243 "in": [ 244 {"name": "frame_id", "type": "int64_t"} 245 ] 246 }, 247 248 "compositor_discard_frame": { 249 "in": [ 250 {"name": "frame_id", "type": "int64_t"} 251 ] 252 }, 253 254 "compositor_layer_sync": { 255 "in": [ 256 {"name": "slot_id", "type": "uint32_t"} 257 ], 258 "in_handles": {"type": "xrt_graphics_sync_handle_t"}, 259 "out": [ 260 {"name": "free_slot_id", "type": "uint32_t"} 261 ] 262 }, 263 264 "compositor_layer_sync_with_semaphore": { 265 "in": [ 266 {"name": "slot_id", "type": "uint32_t"}, 267 {"name": "semaphore_id", "type": "uint32_t"}, 268 {"name": "semaphore_value", "type": "uint64_t"} 269 ], 270 "out": [ 271 {"name": "free_slot_id", "type": "uint32_t"} 272 ] 273 }, 274 275 "compositor_set_performance_level": { 276 "in": [ 277 {"name": "domain", "type": "enum xrt_perf_domain"}, 278 {"name": "level", "type": "enum xrt_perf_set_level"} 279 ] 280 }, 281 282 "compositor_set_thread_hint": { 283 "in": [ 284 {"name": "hint", "type": "enum xrt_thread_hint"}, 285 {"name": "thread_id", "type": "uint32_t"} 286 ] 287 }, 288 289 "compositor_get_display_refresh_rate": { 290 "out": [ 291 {"name": "out_display_refresh_rate_hz", "type": "float"} 292 ] 293 }, 294 295 "compositor_request_display_refresh_rate": { 296 "in": [ 297 {"name": "display_refresh_rate_hz", "type": "float"} 298 ] 299 }, 300 301 "compositor_get_reference_bounds_rect": { 302 "in": [ 303 {"name": "reference_space_type", "type": "enum xrt_reference_space_type"} 304 ], 305 "out": [ 306 {"name": "bounds", "type": "struct xrt_vec2"} 307 ] 308 }, 309 310 "swapchain_get_properties": { 311 "in": [ 312 {"name": "info", "type": "struct xrt_swapchain_create_info"} 313 ], 314 "out": [ 315 {"name": "xsccp", "type": "struct xrt_swapchain_create_properties"} 316 ] 317 }, 318 319 "swapchain_create": { 320 "in": [ 321 {"name": "info", "type": "struct xrt_swapchain_create_info"} 322 ], 323 "out": [ 324 {"name": "id", "type": "uint32_t"}, 325 {"name": "image_count", "type": "uint32_t"}, 326 {"name": "size", "type": "uint64_t"}, 327 {"name": "use_dedicated_allocation", "type": "bool"} 328 ], 329 "out_handles": {"type": "xrt_graphics_buffer_handle_t"} 330 }, 331 332 "compositor_create_passthrough": { 333 "in": [ 334 {"name": "info", "type": "struct xrt_passthrough_create_info"} 335 ] 336 }, 337 338 "compositor_create_passthrough_layer": { 339 "in": [ 340 {"name": "info", "type": "struct xrt_passthrough_layer_create_info"} 341 ] 342 }, 343 344 "compositor_destroy_passthrough": {}, 345 346 "swapchain_import": { 347 "in": [ 348 {"name": "info", "type": "struct xrt_swapchain_create_info"}, 349 {"name": "args", "type": "struct ipc_arg_swapchain_from_native"} 350 ], 351 "out": [ 352 {"name": "id", "type": "uint32_t"} 353 ], 354 "in_handles": {"type": "xrt_graphics_buffer_handle_t"} 355 }, 356 357 "swapchain_wait_image": { 358 "in": [ 359 {"name": "id", "type": "uint32_t"}, 360 {"name": "timeout_ns", "type": "int64_t"}, 361 {"name": "index", "type": "uint32_t"} 362 ] 363 }, 364 365 "swapchain_acquire_image": { 366 "in": [ 367 {"name": "id", "type": "uint32_t"} 368 ], 369 "out": [ 370 {"name": "index", "type": "uint32_t"} 371 ] 372 }, 373 374 "swapchain_release_image": { 375 "in": [ 376 {"name": "id", "type": "uint32_t"}, 377 {"name": "index", "type": "uint32_t"} 378 ] 379 }, 380 381 "swapchain_destroy": { 382 "in": [ 383 {"name": "id", "type": "uint32_t"} 384 ] 385 }, 386 387 "compositor_semaphore_create": { 388 "out": [ 389 {"name": "id", "type": "uint32_t"} 390 ], 391 "out_handles": {"type": "xrt_graphics_sync_handle_t"} 392 }, 393 394 "compositor_semaphore_destroy": { 395 "in": [ 396 {"name": "id", "type": "uint32_t"} 397 ] 398 }, 399 400 "device_update_input": { 401 "in": [ 402 {"name": "id", "type": "uint32_t"} 403 ] 404 }, 405 406 "device_get_tracked_pose": { 407 "in": [ 408 {"name": "id", "type": "uint32_t"}, 409 {"name": "name", "type": "enum xrt_input_name"}, 410 {"name": "at_timestamp", "type": "int64_t"} 411 ], 412 "out": [ 413 {"name": "relation", "type": "struct xrt_space_relation"} 414 ] 415 }, 416 417 "device_get_hand_tracking": { 418 "in": [ 419 {"name": "id", "type": "uint32_t"}, 420 {"name": "name", "type": "enum xrt_input_name"}, 421 {"name": "at_timestamp", "type": "int64_t"} 422 ], 423 "out": [ 424 {"name": "value", "type": "struct xrt_hand_joint_set"}, 425 {"name": "timestamp", "type": "int64_t"} 426 ] 427 }, 428 429 "device_get_view_poses": { 430 "varlen": true, 431 "in": [ 432 {"name": "id", "type": "uint32_t"}, 433 {"name": "fallback_eye_relation", "type": "struct xrt_vec3"}, 434 {"name": "at_timestamp_ns", "type": "int64_t"}, 435 {"name": "view_count", "type": "uint32_t"} 436 ], 437 "out": [ 438 {"name": "head_relation", "type": "struct xrt_space_relation"}, 439 {"name": "view_count", "type": "uint32_t"} 440 ] 441 }, 442 443 "device_get_view_poses_2": { 444 "in": [ 445 {"name": "id", "type": "uint32_t"}, 446 {"name": "fallback_eye_relation", "type": "struct xrt_vec3"}, 447 {"name": "at_timestamp_ns", "type": "int64_t"}, 448 {"name": "view_count", "type": "uint32_t"} 449 ], 450 "out": [ 451 {"name": "info", "type": "struct ipc_info_get_view_poses_2"} 452 ] 453 }, 454 455 "device_compute_distortion": { 456 "in": [ 457 {"name": "id", "type": "uint32_t"}, 458 {"name": "view", "type": "uint32_t"}, 459 {"name": "u", "type": "float"}, 460 {"name": "v", "type": "float"} 461 ], 462 "out": [ 463 {"name": "triplet", "type": "struct xrt_uv_triplet"} 464 ] 465 }, 466 467 "device_begin_plane_detection_ext": { 468 "in": [ 469 {"name": "id", "type": "uint32_t"}, 470 {"name": "plane_detection_id", "type": "uint64_t"} 471 ], 472 "out": [ 473 {"name": "out_plane_detection_id", "type": "uint64_t"} 474 ] 475 }, 476 477 "device_destroy_plane_detection_ext": { 478 "in": [ 479 {"name": "id", "type": "uint32_t"}, 480 {"name": "plane_detection_id", "type": "uint64_t"} 481 ] 482 }, 483 484 "device_get_plane_detection_state_ext": { 485 "in": [ 486 {"name": "id", "type": "uint32_t"}, 487 {"name": "plane_detection_id", "type": "uint64_t"} 488 ], 489 "out": [ 490 {"name": "state", "type": "enum xrt_plane_detector_state_ext"} 491 ] 492 }, 493 494 "device_get_plane_detections_ext": { 495 "varlen": true, 496 "in": [ 497 {"name": "id", "type": "uint32_t"}, 498 {"name": "plane_detection_id", "type": "uint64_t"} 499 ], 500 "out": [ 501 {"name": "location_size", "type": "uint32_t"}, 502 {"name": "polygon_size", "type": "uint32_t"}, 503 {"name": "vertex_size", "type": "uint32_t"} 504 ] 505 }, 506 507 "device_get_presence": { 508 "in": [ 509 {"name": "id", "type": "uint32_t"} 510 ], 511 "out": [ 512 {"name": "presence", "type": "bool"} 513 ] 514 }, 515 516 "device_set_output": { 517 "in": [ 518 {"name": "id", "type": "uint32_t"}, 519 {"name": "name", "type": "enum xrt_output_name"}, 520 {"name": "value", "type": "struct xrt_output_value"} 521 ] 522 }, 523 524 "device_set_haptic_output": { 525 "varlen": true, 526 "in": [ 527 {"name": "id", "type": "uint32_t"}, 528 {"name": "name", "type": "enum xrt_output_name"}, 529 {"name": "samples", "type": "struct ipc_pcm_haptic_buffer"} 530 ], 531 "out":[ 532 {"name": "samples_consumed", "type": "uint32_t"} 533 ] 534 }, 535 536 "device_get_output_limits": { 537 "in": [ 538 {"name": "id", "type": "uint32_t"} 539 ], 540 "out":[ 541 {"name": "limits", "type": "struct xrt_output_limits"} 542 ] 543 }, 544 545 "device_get_visibility_mask": { 546 "varlen": true, 547 "in": [ 548 {"name": "id", "type": "uint32_t"}, 549 {"name": "type", "type": "enum xrt_visibility_mask_type"}, 550 {"name": "view_index", "type": "uint32_t"} 551 ], 552 "out": [ 553 {"name": "mask_size", "type": "uint32_t"} 554 ] 555 }, 556 557 "device_is_form_factor_available": { 558 "in": [ 559 {"name": "id", "type": "uint32_t"}, 560 {"name": "form_factor", "type": "enum xrt_form_factor"} 561 ], 562 "out": [ 563 {"name": "available", "type": "bool"} 564 ] 565 }, 566 567 "device_get_face_tracking": { 568 "in": [ 569 {"name": "id", "type": "uint32_t"}, 570 {"name": "facial_expression_type", "type": "enum xrt_input_name"}, 571 {"name": "at_timestamp_ns", "type": "int64_t"} 572 ], 573 "out": [ 574 {"name": "value", "type": "struct xrt_facial_expression_set"} 575 ] 576 }, 577 578 "device_get_body_skeleton": { 579 "in": [ 580 {"name": "id", "type": "uint32_t"}, 581 {"name": "body_tracking_type", "type": "enum xrt_input_name"} 582 ], 583 "out": [ 584 {"name": "value", "type": "struct xrt_body_skeleton"} 585 ] 586 }, 587 588 "device_get_body_joints": { 589 "in": [ 590 {"name": "id", "type": "uint32_t"}, 591 {"name": "body_tracking_type", "type": "enum xrt_input_name"}, 592 {"name": "desired_timestamp_ns", "type": "int64_t"} 593 ], 594 "out": [ 595 {"name": "value", "type": "struct xrt_body_joint_set"} 596 ] 597 }, 598 599 "device_reset_body_tracking_calibration_meta": { 600 "in": [ 601 {"name": "id", "type": "uint32_t"} 602 ] 603 }, 604 605 "device_set_body_tracking_calibration_override_meta": { 606 "in": [ 607 {"name": "id", "type": "uint32_t"}, 608 {"name": "new_body_height", "type": "float"} 609 ] 610 }, 611 612 "device_get_battery_status": { 613 "in": [ 614 {"name": "id", "type": "uint32_t"} 615 ], 616 "out": [ 617 {"name": "present", "type": "bool"}, 618 {"name": "charging", "type": "bool"}, 619 {"name": "charge", "type": "float"} 620 ] 621 }, 622 623 "device_get_brightness": { 624 "in": [ 625 {"name": "id", "type": "uint32_t"} 626 ], 627 "out": [ 628 {"name": "brightness", "type": "float"} 629 ] 630 }, 631 632 "device_set_brightness": { 633 "in": [ 634 {"name": "id", "type": "uint32_t"}, 635 {"name": "brightness", "type": "float"}, 636 {"name": "relative", "type": "bool"} 637 ] 638 }, 639 640 "future_get_state": { 641 "in": [ 642 {"name": "future_id", "type": "uint32_t"} 643 ], 644 "out": [ 645 {"name": "out_state", "type": "enum xrt_future_state"} 646 ] 647 }, 648 649 "future_cancel": { 650 "in": [ 651 {"name": "future_id", "type": "uint32_t"} 652 ] 653 }, 654 655 "future_destroy": { 656 "in": [ 657 {"name": "future_id", "type": "uint32_t"} 658 ] 659 }, 660 661 "future_get_result": { 662 "in": [ 663 {"name": "future_id", "type": "uint32_t"} 664 ], 665 "out": [ 666 {"name": "out_ft_result", "type": "struct xrt_future_result"} 667 ] 668 } 669}