Gvr-unity-sdk: Support "Single Pass" (multi-view) stereo rendering

Created on 6 Jan 2018  路  9Comments  路  Source: googlevr/gvr-unity-sdk

Single Pass (multi-view) support is currently in "Preview" and should not been used in production apps due to devices with bad drivers that fail to render content correctly.

Unity has recently added a warning about this. Here's a screenshot from Unity 2017.3.0p1:

multi-pass-warning

Developers should use "Multi Pass" rendering for now.

This issue tracks the feature request to make "Single Pass" a usable option in Unity.

  • Ideally Single Pass would be made to work on all supported devices.
  • In practice, we know that some devices will have non-supporting drivers, so this feature request will also be satisfied when those devices are effectively blacklisted and are able to fallback to "Multi Pass" rendering.
feature request

Most helpful comment

Does anyone have a list of which graphics chipsets are problematic?

All 9 comments

Is there any news that can be shared about the status of this issue? In the current state of affairs, it's really not clear from the Unity GUI that SPR should be avoided for production releases (the text that you've pictured above is misleading in that it seems to be saying this fallback behavior is already ready to go, but in truth it isn't and bad things happen to your users). Really looking forward to turning SPR back on in our production builds as soon as possible!

Thanks!

Does anyone have a list of which graphics chipsets are problematic?

Two further questions:

  1. Is there a corresponding issue tracking this on the Unity side? What's the link (so we can vote, etc)?
  2. Who is the onus for fixing this upon? (and what sort of priority / ETA do they have on it?)

Thanks

Maybe @fredsa could elaborate sometime when time permits?

@Claytonious I've been looking into this and my understanding of the current level of support for multiview聽(single pass rending) is this:

  • Unity's Single-Pass Stereo Rendering for Android documentation covers some important implementation details, including shader script requirements.

  • Google VR Services, installed on Daydream ready devices, maintains a blacklist of device chipsets / operating system / driver versions which do not work correctly. On blacklisted devices, single pass rendering will not be enabled and rendering will fall back to multi pass.

  • If you enable "single pass rendering" at edit time, Unity will check at runtime whether multiview is supported, and only enable single pass rendering if it is.

So, if you're currently seeing rendering issues when single pass rendering has been enabled, it would be useful to know:

  1. Make and model of the phone
  2. Android version of the phone
  3. Version of Google VR Services that is installed
  4. Unity version that was used to build the app
  5. What the specific rendering issues are (black screen, or something else)
  6. What if any errors/warnings do you see in adb logcat output
  7. Is your app a hybrid app that supports both 2D and VR modes, or a Daydream only app

With Unity's SRP Lightweight pipeline only supporting single pass ( See: https://github.com/Unity-Technologies/ScriptableRenderPipeline/issues/1017 ) it seems to me like the fall back behaviour described here may still be problematic?

It may be a while before SRP Lightweight pipeline is useable on all Daydream devices, given that there are driver-level issues with some devices and Android versions that can only be resolved by the handset manufacturer shipping an update that resolves the issues. Daydream Standalone devices, like the Lenovo Mirage Solo, should support it going forward, tho.

What's the current status of this?

For my, single pass doesn't work on
Lenovo Mirage
Samsung Galaxy Note 8

Turned off post processing too. The screen is just black though I can hear music

Was this page helpful?
0 / 5 - 0 ratings