C Specification
The xrStartColocationDiscoveryMETA function is defined as:
// Provided by XR_META_colocation_discovery
XrResult xrStartColocationDiscoveryMETA(
XrSession session,
const XrColocationDiscoveryStartInfoMETA* info,
XrAsyncRequestIdFB* discoveryRequestId);
Parameters
Description
The application can call xrStartColocationDiscoveryMETA to start discovering physically colocated devices.
If the system does not support colocation advertisement and discovery, the
runtime must return XR_ERROR_FEATURE_UNSUPPORTED from
xrStartColocationDiscoveryMETA.
In this case, the runtime must return XR_FALSE for
XrSystemColocationDiscoveryPropertiesMETA::supportsColocationDiscovery
when the function xrGetSystemProperties is called, so that the
application knows to not use this functionality.
This is an asynchronous operation. Completion results are conveyed in the event XrEventDataStartColocationDiscoveryCompleteMETA.
If the asynchronous operation is scheduled successfully, the runtime must
return XR_SUCCESS.
If and only if the runtime returns XR_SUCCESS, the runtime must queue
a single XrEventDataStartColocationDiscoveryCompleteMETA event
identified with a discoveryRequestId matching the discoveryRequestId
value output by this function, referred to as the "corresponding completion
event."
(This implies that if the runtime returns anything other than
XR_SUCCESS, the runtime must not queue any
XrEventDataStartColocationDiscoveryCompleteMETA events with
discoveryRequestId field matching the discoveryRequestId populated
by this function.)
If the asynchronous operation is successful, in the corresponding completion
event, the runtime must set the
XrEventDataStartColocationDiscoveryCompleteMETA::result field to
XR_SUCCESS.
The runtime may subsequently queue zero or more
XrEventDataColocationDiscoveryResultMETA events asynchronously as the
runtime discovers nearby advertisements.
Once the application or runtime stops the colocation discovery, the runtime
must queue a single XrEventDataColocationDiscoveryCompleteMETA event.
All XrEventDataColocationDiscoveryResultMETA and
XrEventDataColocationDiscoveryCompleteMETA events will identified with
discoveryRequestId matching the value populated in
discoveryRequestId by xrStartColocationDiscoveryMETA.
If the asynchronous operation is scheduled but not successful, in the
corresponding completion event, the runtime must set the
XrEventDataStartColocationDiscoveryCompleteMETA::result field to
an appropriate error code instead of XR_SUCCESS.
If the application already has an active colocation discovery, in the
corresponding completion event, the runtime must set the
XrEventDataStartColocationDiscoveryCompleteMETA::result field to
XR_COLOCATION_DISCOVERY_ALREADY_DISCOVERING_META.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.