Fix Android build on new NDKs;

Some Android header defines DEPTH, which clashes with a symbol in the
OpenXR driver.  This change just stops using Android headers in there
and declares more granular private functions.  It also removes a few
unused private os functions.
This commit is contained in:
bjorn 2022-11-15 20:35:39 -08:00
parent b9ef1772da
commit 6d1bbe9c5c
2 changed files with 8 additions and 17 deletions

View File

@ -401,20 +401,12 @@ bool os_is_key_down(os_key key) {
// Private, must be declared manually to use
struct ANativeActivity* os_get_activity() {
return state.app->activity;
void* os_get_java_vm() {
return state.app->activity->vm;
}
int os_get_activity_state() {
return state.app->activityState;
}
ANativeWindow* os_get_native_window() {
return state.app->window;
}
JNIEnv* os_get_jni() {
return state.jni;
void* os_get_jni_context() {
return state.app->activity->clazz;
}
const char** os_vk_get_instance_extensions(uint32_t* count) {

View File

@ -19,8 +19,8 @@
#include <windows.h>
#elif defined(__ANDROID__)
#define XR_USE_PLATFORM_ANDROID
struct ANativeActivity* os_get_activity(void);
#include <android_native_app_glue.h>
void* os_get_java_vm(void);
void* os_get_jni_context(void);
#include <jni.h>
#endif
@ -304,11 +304,10 @@ static bool openxr_init(HeadsetConfig* config) {
return false;
}
ANativeActivity* activity = os_get_activity();
XrLoaderInitInfoAndroidKHR loaderInfo = {
.type = XR_TYPE_LOADER_INIT_INFO_ANDROID_KHR,
.applicationVM = activity->vm,
.applicationContext = activity->clazz
.applicationVM = os_get_java_vm(),
.applicationContext = os_get_jni_context()
};
if (XR_FAILED(xrInitializeLoaderKHR((XrLoaderInitInfoBaseHeaderKHR*) &loaderInfo))) {