Skip to content

feat/oxr implement XR_EXT_performance_settings

hadrian Wang requested to merge hadrian_wang/monado:perf-set into main

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

image 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
Edited by hadrian Wang

Merge request reports