Skip to content
This repository was archived by the owner on Jul 22, 2024. It is now read-only.

Fix RegisterExternalContext() life cycle issues on WaveVR#3691

Merged
bluemarvin merged 1 commit intomainfrom
vive_external_life_cycle
Jul 16, 2020
Merged

Fix RegisterExternalContext() life cycle issues on WaveVR#3691
bluemarvin merged 1 commit intomainfrom
vive_external_life_cycle

Conversation

@MortimerGoro
Copy link
Copy Markdown
Contributor

@MortimerGoro MortimerGoro commented Jul 16, 2020

Fixes #3688

It turns out that WVR_RenderInit() is a blocking call that waits for the activity to be active/resumed to complete the internal work. The function is slow to react so Gecko is initialized earlier and fails all the attempts to detect VR runtimes, because the external shmem is null. We need to process InitializeJava earlier instead of waiting for the slow WVR_RenderInit to complete.

100% reproducible STR:

  • Take off the HMD until the screen turns off
  • Launch FxR from Android Studio
  • Put the HMD AFTER the application has started

Fixes #3688

It turns out that WVR_RenderInit() is a blocking call that waits for the activity to be active/resumed to complete the internal work. The function is slow to react so Gecko is initializes earlier and fails all the attempts to detect VR runtimes, because the external shmem is null. We need to process InitializeJava earlier instead of waiting for the slow WVR_RenderInit to complete
@MortimerGoro MortimerGoro added the Uplift PR that needs to be uplifted. label Jul 16, 2020
@MortimerGoro MortimerGoro added this to the #11 polish milestone Jul 16, 2020
@MortimerGoro MortimerGoro requested a review from bluemarvin July 16, 2020 18:57
@MortimerGoro MortimerGoro self-assigned this Jul 16, 2020
@bluemarvin bluemarvin merged commit d672a66 into main Jul 16, 2020
@bluemarvin bluemarvin deleted the vive_external_life_cycle branch July 16, 2020 19:28
bluemarvin pushed a commit that referenced this pull request Jul 16, 2020
Fixes #3688

It turns out that WVR_RenderInit() is a blocking call that waits for the activity to be active/resumed to complete the internal work. The function is slow to react so Gecko is initializes earlier and fails all the attempts to detect VR runtimes, because the external shmem is null. We need to process InitializeJava earlier instead of waiting for the slow WVR_RenderInit to complete
@bluemarvin bluemarvin removed the Uplift PR that needs to be uplifted. label Jul 16, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[HTC] [Intermittent] The headset is not recognized as a VR device after an update or sleep

2 participants