feat/oxr implement XR_EXT_performance_settings
XR_EXT_performance_settings
I implement the OpenXR extension, XR_EXT_performance_settings. There are 2 flows of the extension, the first is to set the performance level(GPU, CPU), and the second is to get performance change events. Both parts are handled in the compositor.
Set Performance
API
Necessary IPC implementation is also added.
New type
- enum xrt_performance_set_domain
- enum xrt_performance_set_subDomain
- enum xrt_performance_set_level All the above xrt enums have the same value as its OpenXR prototype.
Get events
API
Runtime will poll compositor event inoxr_session_poll()
, if it's an XRT_COMPOSITOR_EVENT_PERFORMANCE_CHANGE
, will call oxr_event_push_XrEventDataPerfSettingsEXTX()
to push an OpenXR event.
New Type
- XRT_COMPOSITOR_EVENT_PERFORMANCE_CHANGE in enum xrt_compositor_event_type
- struct xrt_compositor_event_performance_change performance in union xrt_compositor_event
- enum xrt_performance_set_notification_level