mirror of https://github.com/bjornbytes/lovr.git
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:
parent
b9ef1772da
commit
6d1bbe9c5c
|
@ -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) {
|
||||
|
|
|
@ -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))) {
|
||||
|
|
Loading…
Reference in New Issue