|
33 | 33 | #include "vr/gvr/capi/include/gvr_audio.h" |
34 | 34 | #include "VROProjector.h" |
35 | 35 | #include "VROSceneRendererGVR.h" |
36 | | -#include "VROSceneRendererOVR.h" |
| 36 | +// VROSceneRendererOVR.h (VrApi) removed in 2.57.3 — see nativeCreateRendererOVR below. |
37 | 37 | #include "VROSceneRendererOpenXR.h" |
38 | 38 | #include "VROSceneRendererSceneView.h" |
39 | 39 | #include "VROPlatformUtil.h" |
@@ -102,21 +102,13 @@ VRO_METHOD(jlong, nativeCreateRendererOVR)(VRO_ARGS |
102 | 102 | jboolean enableHDR, |
103 | 103 | jboolean enablePBR, |
104 | 104 | jboolean enableBloom) { |
105 | | - VROPlatformSetType(VROPlatformType::AndroidOVR); |
106 | | - |
107 | | - std::shared_ptr<gvr::AudioApi> gvrAudio = std::make_shared<gvr::AudioApi>(); |
108 | | - gvrAudio->Init(env, android_context, class_loader, GVR_AUDIO_RENDERING_BINAURAL_HIGH_QUALITY); |
109 | | - VROPlatformSetEnv(env, android_context, asset_mgr, platform_util); |
110 | | - |
111 | | - VRORendererConfiguration config; |
112 | | - config.enableShadows = enableShadows; |
113 | | - config.enableHDR = enableHDR; |
114 | | - config.enablePBR = enablePBR; |
115 | | - config.enableBloom = enableBloom; |
116 | | - |
117 | | - std::shared_ptr<VROSceneRenderer> renderer |
118 | | - = std::make_shared<VROSceneRendererOVR>(config, gvrAudio, view, activity, env); |
119 | | - return Renderer::jptr(renderer); |
| 105 | + // Deprecated in 2.57.3. The VrApi (Oculus Mobile SDK / GearVR / Oculus Go) |
| 106 | + // renderer was removed together with libvrapi.so, which was not 16 KB |
| 107 | + // page-size compliant and crashed Android 15+ 16 KB devices (viro#491). |
| 108 | + // All supported Meta headsets use the OpenXR path (nativeCreateRendererOpenXR). |
| 109 | + // Returns 0 so the Java layer degrades gracefully instead of loading VrApi. |
| 110 | + pinfo("ViroViewOVR / OVR_MOBILE is deprecated (removed in 2.57.3) — use the QUEST (OpenXR) platform instead"); |
| 111 | + return 0; |
120 | 112 | } |
121 | 113 |
|
122 | 114 | VRO_METHOD(jlong, nativeCreateRendererOpenXR)(VRO_ARGS |
@@ -453,12 +445,14 @@ VRO_METHOD(void, nativeSetDebugHUDEnabled)(VRO_ARGS |
453 | 445 | renderer->getRenderer()->setDebugHUDEnabled(enabled); |
454 | 446 | } |
455 | 447 |
|
456 | | -// This function is OVR only! |
| 448 | +// VR-only (OpenXR / Quest). The legacy OVR (VrApi) path was removed in 2.57.3. |
457 | 449 | VRO_METHOD(void, nativeRecenterTracking)(VRO_ARGS |
458 | 450 | jlong native_renderer) { |
459 | 451 | std::shared_ptr<VROSceneRenderer> renderer = Renderer::native(native_renderer); |
460 | | - std::shared_ptr<VROSceneRendererOVR> ovrRenderer = std::dynamic_pointer_cast<VROSceneRendererOVR>(renderer); |
461 | | - ovrRenderer->recenterTracking(); |
| 452 | + std::shared_ptr<VROSceneRendererOpenXR> xrRenderer = std::dynamic_pointer_cast<VROSceneRendererOpenXR>(renderer); |
| 453 | + if (xrRenderer) { |
| 454 | + xrRenderer->recenterTracking(); |
| 455 | + } |
462 | 456 | } |
463 | 457 |
|
464 | 458 | VRO_METHOD(VRO_FLOAT_ARRAY, nativeProjectPoint)(VRO_ARGS |
|
0 commit comments