[UE-11846] Mobile HDR on Gear VR Progress?

Hi JackP

Here is a dead simple 4.12p3 project with HDR on and it does not load on my S7 (Exynos) when exported for Gear VR (works for a non- Gear VR build). I just see a black screen. Same for S6 btw (S6 is only Exynos)

deadsimpleroject

Thanks, we’re seeing the same thing on S7 Exynos, Adreno Note 4 and S6. We’ll work on it.

We just fixed an issue causing the black screen when MobileHDR was enabled with GearVR. The fix will be in final 4.12. It didn’t make the cutoff for 4.12 preview 4, though it should be in preview 5.

If you want to try the change yourself, the commit is here:

https://github.com/EpicGames/UnrealEngine/commit/5db3f907852dbc931906698447638dbccacbec93

Excellent! You have made me incredibly happy - I’ll hold off for preview 5 - thank you!

Hi, what Android software version does your S6 have?

The Android 6.0 for the S6 added floating point rendertargets, so it’s quite different to the 5.x device. That said, we tested one of each with the GearVR here and it was working fine.

Hey JackP,

Mobile HDR now indeed does work in 4.12 (release), however, after enabling it, it only renders in the right eye of my S6 in the GearVR. Is this a technical limitation or a bug?

Thanks!

Hey,

The android version is 6.0.1. :confused:

I tried with bloom turned off, on, with both ATC and ETC2. The only fix to my right-eye rendering was to disable mobile HDR altogether. Is there something else I could try for diagnosis?

Alright, I found the problem! When enabling Mobile HDR and Temporal AA, it will render only one half (and even that one incomplete). FXAA and no AA renders fine.

Awesome. Actually MSAA is probably the best antialiasing method for GearVR in terms of performance. I’ll take a look at whether that’s working correctly with MobileHDR.

Right, that one doesn’t have a dropdown in the menus though. I assume it’s when you have “None” selected it defaults to that and is then only turn-offable through the ini settings? In that case it does work, yea.

Yep there’s a console variable gearvr.EnableMSAA which defaults to 1 which should enable mobile MSAA when running in GearVR mode. There should be a log saying something like “Enabling r.MobileOnChipMSAA, previous value 0”.

Does the console variable need to be enabled on the device, or can this be added as a checkbox to the Post Process / Render settings in a future release? :slight_smile:

It’s on by default for gearvr builds - and no reason to disable it as it looks terrible otherwise :smiley:

I’d love to know how to enable it for Daydream / normal android builds though as “gearvr.” variables don’t seem to work then … ?

Right, we want this setting on by default for GearVR as the cost is very low and it’s a big visual improvement.

Setting the GearVR variable just sets the main Android console variable when in GearVR mode. But you should be able to set r.MobileOnChipMSAA=1 and should work for Daydream too, although I haven’t tested that yet.

I’d like mobile MSAA enabled by default on all Android devices actually, but some older devices crash when it’s enabled. It’s on my list to get this working reliably and enabled by default.

Cheers

Is Mobile HDR supposed to work now in 4.15 on S7? I’m experiencing crash if enabling mobile HDR + ES3.1

03-21 18:14:51.967 30808 30892 D UE4     : [2017.03.21-17.14.51:976][-7737012]Assertion failed: Assertion failed: (GMaxRHIFeatureLevel >= ERHIFeatureLevel::SM5) || !PendingState.bFramebufferSetupInvalid [File:D:\Build\++UE4+Release-4.15+Compile\Sync\Engine\Source\Runtime\OpenGLDrv\Private\OpenGLRenderTarget.cpp] [Line: 1019]
03-21 18:14:51.977 30808 30892 I art     : System.exit called, status: 0

Hi xN31,

Is your question about GearVR with MobileHDR on the S7?
Or just a regular Android app running MobileHDR=true on an S7?

If it’s related to GearVR, I’m afraid I am not sure of the current status when using MobileHDR=true as we still recommend it be disabled, but I hadn’t seen this crash before.

It would be helpful if you could post this as a new AnswerHub thread.

Thanks