Skip to content

Add API layer discovery

Two content provider used in this prototype, and both two use same path but different authority to search items for API layers.

  • Loader ---> broker
    • authority:org.khronos.openxr.runtime_broker
    • path:/openxr/major_ver/abi/[abi]/api_layer/[implicit:explicit]
  • Broker ---> runtime
    • authority:org.khronos.openxr.XXX_api_layer_broker
    • path:/openxr/major_ver/abi/[abi]/api_layer/[implicit:explicit]

Chosen active runtime will export authority in content provider to broker using key-value pair so that apps can load API layers from correct runtime when multiple runtimes exist on devices like below:

<meta-data
    android:name="org.khronos.openxr.OpenXRRuntime.ApiLayerAuthority"
    android:value="org.khronos.openxr.XXX_api_layer_broker"/>

Corresponding patch of loader part can be found here: https://github.com/KhronosGroup/OpenXR-SDK-Source/pull/413.

Here is a diagram to show call stack: loader-broker-runtime

Edited by Liu Knox

Merge request reports