Transparent material problem with MobileHDR checkbox enabled(on Android PowerVR G6200)

The UE4 version is 4.9.2(The prebuilt binary version downloaded directly in Epic Games Launcher).
I made a simple blank level, drop one box primitive into level, and assign a translucent material to the box,then pack android apk with MobileHDR option on. On my android(GPU is PowerVR G6200), the box didn’t show or maybe it’s totally tranparent, on my another android(GPU is adreno220) it showed correctly. After I disabled MobileHDR, all showed correctly.

Hello rogerhe,

Thank you for reporting this issue. I am currently investigating if translucent materials are supported on the device with the PowerVR G62000.

If you would provide me with the model of that device I will then determine if that GPU falls within the specification for translucent support.

Thank you,

Logan

The device model is Xiaomi Redmi Note 2.

We tested your above mentioned workflow on a SamsungGALAXYNote. We were able to launch to the device and see the transparent material acting as it should.

If you would post a screenshot of your material I will confirm whether there are any discrepancies between our workflows.

Logan

I think the problem isn’t related to the workflow. Two of my PowerVR G6200 android device can not show transparent material( the two device made by two different manufacturer).
I searched Samsung GALAXY Note, it seems that it’s GPU isn’t PowerVR G6200.

If that is the case I believe that the devices you are using do not support transparent materials.

Strange, there is no problem in 4.8

That is strange. We tested this in 4.9 and we were able to see the transparent material on the device we have. If you would open a clean “Blank” project in 4.9 and create a basic translucent material. Then see if you are able to view that material on your device.

If you can see the material then that means this is possibly a project specific issue. If not it could be isolated to 4.9.

Logan

I guess I found the problem. After reading some source code I found that UE4.9 changed the code in ForwardBasePassRendering.h:

bool bEncodedHDR = IsMobileHDR32bpp() && !IsMobileHDRMosaic().

This bEncodedHDR value is true on my device, and the blend RHI call is skiped. I can set r.MobileHDR32bppMode = 1 to make it render correctly, but I don’t understand the theory behind these,or maybe this method will cause other strange issue,:(.

Could someone at EPIC speak to this issue. We have the same issue on all PowerVR GPU devices we tested. And, now that we have made the app available to more people we are getting the same reports of transparency issues from anyone with a PowerVR GPU in their device. This could be a major issue since several manufacturers are going to the PowerVR chips in their newer devices.

Hey guys,

Could I get the Device name and Model of the Android device you guys are using. Currently what I am doing is cross referencing your Device with our list, which is available online, to see what is supported with that GPU. In the future you can check to see what device you are using, and then do some pre-development research to see what workflow works best for you. That way, before you start development and then allow for others to use what you have, you can see what is all supported across different devices. Ergo, you can release a statement that warns users with certain devices that what you have may not be supported. Also, you can plan and determine what you want to see within your game, and what workarounds you can use to create the same effects while still launching to devices that may not support HDR and other such features.

I will also link you both to the front page of developing on mobile devices.

Logan

Hi Logan,

Thanks for getting back to this so quickly. Let me start with the devices we have confirmed the behavior on.

Asus ZenPad S 8.0 - GPU PowerVR G6430
Kindle Fire HD6 Current Gen - GPU PowerVR G6200

From what I can find the PowerVR series 6 chipset does support HDR rendering in all configurations. the G6430 is used in Apple’s A7 chipset. The GX6450 in the A8 and A8X chipsets, which is the same as the G6430 with higher clock speeds. the G6200 is similar to the G6430 with a quad core configuration but slower clock speeds for Android devices. It is used in the current NEXUS line of tablets. Now the PowerVR series 6 chipset, from what I can find and given Apple’s graphics capabilities, is comparable to similar Adreno 330/340 chipsets, so it should be showing the same general capabilities in engine. We have not yet run into the same rendering issues on Apple devices using the exact same chipsets as those on Android devices.

One more point here that may help to narrow down what is going on, from 4.9.1 and 4.9.2 any Android PVR builds have significant issues with transparency and shaders on all android devices we have tested, including those working fine with an ETC 1 or 2 build. So from our perspective this does appear to be some sort of bug in the rendering, as we have no issues with the exact same projects and configurations when built for iOS. The iOS builds, of course, being PVR builds. Also, using the same assets and building similar PVR builds from another 3D engine, Havok’s Vision Engine, the PVR builds work fine on all the devices.

We have indeed found information, both here, and elsewhere, that will likely help us find a workaround for the devices where we have encountered issues. However, given that PowerVR chips are not going anywhere anytime soon, I hope finding a workaround is not the ultimate solution. None the less, I will post any workarounds we find so that, until an ultimate solution is found, others can support as many devices as possible.

Quick clarification here the G6200 chipset is used in the current line of Fire tablets. The G6430 chipset is used in the current NEXUS line of tablets.

And sorry for the mash together of device names, the editor put them on the same line when I published.

I am currently testing this issue on our end and will respond when I have more information. Thank you very much for your patience.

Logan

After testing on a nexus 5, a samsung galaxy s4 and note 4 we did not see an issue with the transparency being rendered. The note 4 as well as the s4 are powerVR. At this point we cannot reproduce your issue and therefore cannot report this as a bug.

My only thoughts is something within that material or within your project is causing this material to not render when packaging out to devices with these GPU’s.

Logan

Thanks for staying on top of this Logan. I will check into it some more and see if I can narrow down the issue then. I will post here when I do.