Skip to content

Commit

Permalink
fix(core): disable support for CriticalJNINatives. Close LWJGL#490
Browse files Browse the repository at this point in the history
Will be restored in LWJGL 3.3 with the possibility to enable it at
runtime, if the JVM can avoid excessive blocking (e.g. using
ShenandoahGC).
  • Loading branch information
Spasi authored and fayer3 committed Jul 14, 2023
1 parent 4daae9e commit 46b3375
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 35 deletions.
Expand Up @@ -23,13 +23,10 @@ typedef HmdColor_t (APIENTRY *VRCompositor_GetCurrentFadeColorPROC) (jboolean);

EXTERN_C_ENTER

JNIEXPORT void JNICALL JavaCritical_org_lwjgl_openvr_VRCompositor_nVRCompositor_1GetCurrentFadeColor(jboolean bBackground, jlong __functionAddress, jlong __result) {
VRCompositor_GetCurrentFadeColorPROC VRCompositor_GetCurrentFadeColor = (VRCompositor_GetCurrentFadeColorPROC)(intptr_t)__functionAddress;
*((HmdColor_t*)(intptr_t)__result) = VRCompositor_GetCurrentFadeColor(bBackground);
}
JNIEXPORT void JNICALL Java_org_lwjgl_openvr_VRCompositor_nVRCompositor_1GetCurrentFadeColor(JNIEnv *__env, jclass clazz, jboolean bBackground, jlong __functionAddress, jlong __result) {
VRCompositor_GetCurrentFadeColorPROC VRCompositor_GetCurrentFadeColor = (VRCompositor_GetCurrentFadeColorPROC)(intptr_t)__functionAddress;
UNUSED_PARAMS(__env, clazz)
JavaCritical_org_lwjgl_openvr_VRCompositor_nVRCompositor_1GetCurrentFadeColor(bBackground, __functionAddress, __result);
*((HmdColor_t*)(intptr_t)__result) = VRCompositor_GetCurrentFadeColor(bBackground);
}

EXTERN_C_EXIT
42 changes: 12 additions & 30 deletions modules/lwjgl/openvr/src/generated/c/org_lwjgl_openvr_VRSystem.c
Expand Up @@ -53,59 +53,41 @@ typedef HiddenAreaMesh_t (APIENTRY *VRSystem_GetHiddenAreaMeshPROC) (jint, jint)

EXTERN_C_ENTER

JNIEXPORT void JNICALL JavaCritical_org_lwjgl_openvr_VRSystem_nVRSystem_1GetProjectionMatrix(jint eEye, jfloat fNearZ, jfloat fFarZ, jlong __functionAddress, jlong __result) {
VRSystem_GetProjectionMatrixPROC VRSystem_GetProjectionMatrix = (VRSystem_GetProjectionMatrixPROC)(intptr_t)__functionAddress;
*((HmdMatrix44_t*)(intptr_t)__result) = VRSystem_GetProjectionMatrix(eEye, fNearZ, fFarZ);
}
JNIEXPORT void JNICALL Java_org_lwjgl_openvr_VRSystem_nVRSystem_1GetProjectionMatrix(JNIEnv *__env, jclass clazz, jint eEye, jfloat fNearZ, jfloat fFarZ, jlong __functionAddress, jlong __result) {
VRSystem_GetProjectionMatrixPROC VRSystem_GetProjectionMatrix = (VRSystem_GetProjectionMatrixPROC)(intptr_t)__functionAddress;
UNUSED_PARAMS(__env, clazz)
JavaCritical_org_lwjgl_openvr_VRSystem_nVRSystem_1GetProjectionMatrix(eEye, fNearZ, fFarZ, __functionAddress, __result);
*((HmdMatrix44_t*)(intptr_t)__result) = VRSystem_GetProjectionMatrix(eEye, fNearZ, fFarZ);
}

JNIEXPORT void JNICALL JavaCritical_org_lwjgl_openvr_VRSystem_nVRSystem_1GetEyeToHeadTransform(jint eEye, jlong __functionAddress, jlong __result) {
VRSystem_GetEyeToHeadTransformPROC VRSystem_GetEyeToHeadTransform = (VRSystem_GetEyeToHeadTransformPROC)(intptr_t)__functionAddress;
*((HmdMatrix34_t*)(intptr_t)__result) = VRSystem_GetEyeToHeadTransform(eEye);
}
JNIEXPORT void JNICALL Java_org_lwjgl_openvr_VRSystem_nVRSystem_1GetEyeToHeadTransform(JNIEnv *__env, jclass clazz, jint eEye, jlong __functionAddress, jlong __result) {
VRSystem_GetEyeToHeadTransformPROC VRSystem_GetEyeToHeadTransform = (VRSystem_GetEyeToHeadTransformPROC)(intptr_t)__functionAddress;
UNUSED_PARAMS(__env, clazz)
JavaCritical_org_lwjgl_openvr_VRSystem_nVRSystem_1GetEyeToHeadTransform(eEye, __functionAddress, __result);
*((HmdMatrix34_t*)(intptr_t)__result) = VRSystem_GetEyeToHeadTransform(eEye);
}

JNIEXPORT void JNICALL JavaCritical_org_lwjgl_openvr_VRSystem_nVRSystem_1GetSeatedZeroPoseToStandingAbsoluteTrackingPose(jlong __functionAddress, jlong __result) {
VRSystem_GetSeatedZeroPoseToStandingAbsoluteTrackingPosePROC VRSystem_GetSeatedZeroPoseToStandingAbsoluteTrackingPose = (VRSystem_GetSeatedZeroPoseToStandingAbsoluteTrackingPosePROC)(intptr_t)__functionAddress;
*((HmdMatrix34_t*)(intptr_t)__result) = VRSystem_GetSeatedZeroPoseToStandingAbsoluteTrackingPose();
}
JNIEXPORT void JNICALL Java_org_lwjgl_openvr_VRSystem_nVRSystem_1GetSeatedZeroPoseToStandingAbsoluteTrackingPose(JNIEnv *__env, jclass clazz, jlong __functionAddress, jlong __result) {
VRSystem_GetSeatedZeroPoseToStandingAbsoluteTrackingPosePROC VRSystem_GetSeatedZeroPoseToStandingAbsoluteTrackingPose = (VRSystem_GetSeatedZeroPoseToStandingAbsoluteTrackingPosePROC)(intptr_t)__functionAddress;
UNUSED_PARAMS(__env, clazz)
JavaCritical_org_lwjgl_openvr_VRSystem_nVRSystem_1GetSeatedZeroPoseToStandingAbsoluteTrackingPose(__functionAddress, __result);
*((HmdMatrix34_t*)(intptr_t)__result) = VRSystem_GetSeatedZeroPoseToStandingAbsoluteTrackingPose();
}

JNIEXPORT void JNICALL JavaCritical_org_lwjgl_openvr_VRSystem_nVRSystem_1GetRawZeroPoseToStandingAbsoluteTrackingPose(jlong __functionAddress, jlong __result) {
VRSystem_GetRawZeroPoseToStandingAbsoluteTrackingPosePROC VRSystem_GetRawZeroPoseToStandingAbsoluteTrackingPose = (VRSystem_GetRawZeroPoseToStandingAbsoluteTrackingPosePROC)(intptr_t)__functionAddress;
*((HmdMatrix34_t*)(intptr_t)__result) = VRSystem_GetRawZeroPoseToStandingAbsoluteTrackingPose();
}
JNIEXPORT void JNICALL Java_org_lwjgl_openvr_VRSystem_nVRSystem_1GetRawZeroPoseToStandingAbsoluteTrackingPose(JNIEnv *__env, jclass clazz, jlong __functionAddress, jlong __result) {
VRSystem_GetRawZeroPoseToStandingAbsoluteTrackingPosePROC VRSystem_GetRawZeroPoseToStandingAbsoluteTrackingPose = (VRSystem_GetRawZeroPoseToStandingAbsoluteTrackingPosePROC)(intptr_t)__functionAddress;
UNUSED_PARAMS(__env, clazz)
JavaCritical_org_lwjgl_openvr_VRSystem_nVRSystem_1GetRawZeroPoseToStandingAbsoluteTrackingPose(__functionAddress, __result);
*((HmdMatrix34_t*)(intptr_t)__result) = VRSystem_GetRawZeroPoseToStandingAbsoluteTrackingPose();
}

JNIEXPORT void JNICALL JavaCritical_org_lwjgl_openvr_VRSystem_nVRSystem_1GetMatrix34TrackedDeviceProperty(jint unDeviceIndex, jint prop, jlong pErrorAddress, jlong __functionAddress, jlong __result) {
JNIEXPORT void JNICALL Java_org_lwjgl_openvr_VRSystem_nVRSystem_1GetMatrix34TrackedDeviceProperty(JNIEnv *__env, jclass clazz, jint unDeviceIndex, jint prop, jlong pErrorAddress, jlong __functionAddress, jlong __result) {
VRSystem_GetMatrix34TrackedDevicePropertyPROC VRSystem_GetMatrix34TrackedDeviceProperty = (VRSystem_GetMatrix34TrackedDevicePropertyPROC)(intptr_t)__functionAddress;
intptr_t pError = (intptr_t)pErrorAddress;
*((HmdMatrix34_t*)(intptr_t)__result) = VRSystem_GetMatrix34TrackedDeviceProperty(unDeviceIndex, prop, pError);
}
JNIEXPORT void JNICALL Java_org_lwjgl_openvr_VRSystem_nVRSystem_1GetMatrix34TrackedDeviceProperty(JNIEnv *__env, jclass clazz, jint unDeviceIndex, jint prop, jlong pErrorAddress, jlong __functionAddress, jlong __result) {
UNUSED_PARAMS(__env, clazz)
JavaCritical_org_lwjgl_openvr_VRSystem_nVRSystem_1GetMatrix34TrackedDeviceProperty(unDeviceIndex, prop, pErrorAddress, __functionAddress, __result);
*((HmdMatrix34_t*)(intptr_t)__result) = VRSystem_GetMatrix34TrackedDeviceProperty(unDeviceIndex, prop, pError);
}

JNIEXPORT void JNICALL JavaCritical_org_lwjgl_openvr_VRSystem_nVRSystem_1GetHiddenAreaMesh(jint eEye, jint type, jlong __functionAddress, jlong __result) {
VRSystem_GetHiddenAreaMeshPROC VRSystem_GetHiddenAreaMesh = (VRSystem_GetHiddenAreaMeshPROC)(intptr_t)__functionAddress;
*((HiddenAreaMesh_t*)(intptr_t)__result) = VRSystem_GetHiddenAreaMesh(eEye, type);
}
JNIEXPORT void JNICALL Java_org_lwjgl_openvr_VRSystem_nVRSystem_1GetHiddenAreaMesh(JNIEnv *__env, jclass clazz, jint eEye, jint type, jlong __functionAddress, jlong __result) {
VRSystem_GetHiddenAreaMeshPROC VRSystem_GetHiddenAreaMesh = (VRSystem_GetHiddenAreaMeshPROC)(intptr_t)__functionAddress;
UNUSED_PARAMS(__env, clazz)
JavaCritical_org_lwjgl_openvr_VRSystem_nVRSystem_1GetHiddenAreaMesh(eEye, type, __functionAddress, __result);
*((HiddenAreaMesh_t*)(intptr_t)__result) = VRSystem_GetHiddenAreaMesh(eEye, type);
}

EXTERN_C_EXIT

0 comments on commit 46b3375

Please sign in to comment.