Project

General

Profile

Bug #31

various issues with OIT branch on Mali GPU

Added by Leszek Koltunski about 5 years ago. Updated almost 5 years ago.

Status:
Closed
Priority:
Urgent
Start date:
05/30/2018
Due date:
% Done:

100%

Estimated time:

Description

The 'order-independent-transparency' branch appears to run correctly on Qualcomm's Adreno GPUs, but crashes in mysterious ways when run on a phone equipped with ARM's Mali GPU:

E/OpenGLRenderer: Error:glFinish::execution failed
E/OpenGLRenderer: GL error: Out of memory!


Related issues

Blocks Feature #15: Order Independent TransparencyClosed06/17/2016

Actions

History

#1

Updated by Leszek Koltunski about 5 years ago

  • % Done changed from 0 to 20

Debugging with a Mali Graphics Debugger 4.9.2.

It doesn't seem possible that the issue is really lack of memory. As explained in stackoverflow though (https://stackoverflow.com/questions/50492866/openglrenderer-gl-error-out-of-memory) , certain OpenGL drivers can return GL_OUT_OF_MEMORY as a sort of blanket error case though.

Currently it seems like the issue has something to do with the way SSBO index is computed in OIT fragment shaders.

#2

Updated by Leszek Koltunski about 5 years ago

  • Blocks Feature #15: Order Independent Transparency added
#3

Updated by Leszek Koltunski about 5 years ago

  • Status changed from New to In Progress
#4

Updated by Leszek Koltunski about 5 years ago

  • % Done changed from 20 to 60

The crash fixed with commit library|344ac0e4.

Still, on Mali GPUs things keep suspiciously flashing, (best visible in 'Triblur') so issue still kept open.

#5

Updated by Leszek Koltunski about 5 years ago

  • % Done changed from 60 to 70

Commit 2aef1f4d solves next issue which was visible only on Mali.
Still other issues exists - for example the 'Triblur' keeps flashing.

#6

Updated by Leszek Koltunski about 5 years ago

  • Subject changed from OIT branch crashes on Mali GPU to various issues with OIT branch on Mali GPU
#8

Updated by Leszek Koltunski almost 5 years ago

  • % Done changed from 70 to 90

Commit 9d845904 fixes this on master. Still we need to port the fix to the 'order-independent-transparency' branch.

Full history in OpenGL.org forums: https://www.opengl.org/discussion_boards/showthread.php/200754-Flashes-on-ARM-Mali

#9

Updated by Distorted Admin almost 5 years ago

The commit mentioned in the previous comment did not fix the flashes on Mali T880 completely, but now I am pretty sure that commit 2301cb2f finally does.

Additionally, it is confirmed by ARM engineer ( https://community.arm.com/graphics/f/discussions/10285/opengl-es-3-1-on-mali-t880-flashes ) that this is an issue in their r12 driver. The issue is fixed in r22 (present in Samsung Android 8.0.0-based OS update for Samsung Galaxy S7).

#10

Updated by Leszek Koltunski almost 5 years ago

  • Status changed from In Progress to Resolved
  • % Done changed from 90 to 100

Finally resolve the issue. ( commit 6544040f makes non-postprocessed OIT work).

Still some stuff remains (confirm that the Mali driver bug is indeed gone on r22; issues with PowerVR compiler which fails to compile the OIT pass2 and pass4 shaders) but those will be tracked separately.

#11

Updated by Leszek Koltunski almost 5 years ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF