Post Processing Bug on Android

Hello,

Since version 4.14 it is not possible to use tonemapping on Android anymore.
After enabling r.tonemapperfilm=1 in config file everything appears red on device. See screenshot - tested with fresh project. Tested on Nexus 5.
Everything works well on 4.13.
Because of this it is not possible to use colorgrading etc.

I have OS version 6.0.1 and it did not happen with UE 4.13 before.

Hi,

We saw this bug only on Nexus5 with Android 5.1, and it seem to be a driver bug as it does not happen on other devices or even on same device with other OS/driver version. What Android version you have?

Hi Footman, I just tested this on a nexus5 with android version 6.0.1 and couldn’t reproduce the issue.

For my test I followed these steps:

  • Opened a blank mobile project set to scalable
  • enabled mobile HDR in project settings
  • made a device profile which set the r.tonemapperfilm=1
  • added a post process volume that changed some tonemapping settings to make it obvious if it worked.
  • then launched to the device.

I did my test in a blank project in 4.14. Are you able to reproduce this in a blank project following a similar test as mine?

Hello,

It is fresh project with tonemapper enabled in config like here
https://docs.unrealengine.com/latest/images/Platforms/Mobile/PostProcessEffects/TM_INI_Location.png

Another person tested it on the same device with same OS and saw same bug.

I am also using codeworks version like in this doc https://docs.unrealengine.com/latest/INT/Platforms/Android/GettingStarted/1/

I will run the test again with by changing the default engine.ini, but before that could you also provide what android sdk you are working out of as well as the NDK API level.

Those are the only things that could be different. Unless you aren’t testing out of a blank project. That would really help validate my test if you can prove this issue occurs for you even in a blank project with just an adjusted .ini file and maybe a postprocess that adjust tonemapping settings.

,

Hi,

I updated NDK to latest version - same result.
I uploaded project with packaged APK https://drive.google.com/file/d/0ByF59qyE238RYzhYSUhzQ1o2MlE/view?usp=sharing

I am using European Nexus 5. Build: M4B30X. Model: LG-D821

Hi,

You can make some changes to the tonemapper shader to avoid this bug. In TonemapCommon.usf find half3 FilmToneMap( half3 LinearColor ) function and replace #if 1 with #if 0 in there, that will switch off code path that is causing this.

. Will this fix make in future version of unreal?

Hi Footman,

There won’t be a fix applied for Unreal in future versions as this seems to be a unique issue for the driver in your device. Putting a fix in will introduce non-optimal code for all devices. Many of them don’t have this issue.

For now a better option is for you to use the suggested workaround for your specific case.

Thank you,

Ed