|
@@ -51,18 +51,17 @@ OpenXRAndroidExtension::OpenXRAndroidExtension() {
|
|
|
HashMap<String, bool *> OpenXRAndroidExtension::get_requested_extensions() {
|
|
|
HashMap<String, bool *> request_extensions;
|
|
|
|
|
|
- request_extensions[XR_KHR_LOADER_INIT_ANDROID_EXTENSION_NAME] = &loader_init_extension_available;
|
|
|
request_extensions[XR_KHR_ANDROID_CREATE_INSTANCE_EXTENSION_NAME] = &create_instance_extension_available;
|
|
|
|
|
|
return request_extensions;
|
|
|
}
|
|
|
|
|
|
void OpenXRAndroidExtension::on_before_instance_created() {
|
|
|
- if (!loader_init_extension_available) {
|
|
|
- print_line("OpenXR: XR_KHR_loader_init_android is not reported as available - trying to initialize anyway...");
|
|
|
+ if (XR_FAILED(EXT_TRY_INIT_XR_FUNC(xrInitializeLoaderKHR))) {
|
|
|
+ // XR_KHR_loader_init not supported on this platform
|
|
|
+ return;
|
|
|
}
|
|
|
-
|
|
|
- EXT_INIT_XR_FUNC(xrInitializeLoaderKHR);
|
|
|
+ loader_init_extension_available = true;
|
|
|
|
|
|
JNIEnv *env = get_jni_env();
|
|
|
JavaVM *vm;
|
|
@@ -85,6 +84,9 @@ static XrInstanceCreateInfoAndroidKHR instance_create_info;
|
|
|
|
|
|
void *OpenXRAndroidExtension::set_instance_create_info_and_get_next_pointer(void *p_next_pointer) {
|
|
|
if (!create_instance_extension_available) {
|
|
|
+ if (!loader_init_extension_available) {
|
|
|
+ WARN_PRINT("No Android extensions available, couldn't pass JVM and Activity to OpenXR");
|
|
|
+ }
|
|
|
return nullptr;
|
|
|
}
|
|
|
|