This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Port from Mali-400 to Mali T604

Note: This was originally posted on 17th December 2012 at http://forums.arm.com

Hello,

We are porting a game from a Mali 400 platform to a Mali T604 platform and we have some problems.

To be brief when we display 3D objects we only have a blackscreen (our 2D objects are visible). According to the vendor of the platform (which is also making the drivers) this is because we do not fill the alpha value of the color buffer (but this is obviously not the case on Mali 400). The driver team is investigating on their side because it could be something wrong in the driver (they also do the driver for the Mali 400) but I would like to get some thought from someone else on what can be so different on a MaliT604 and so what we have maybe missed...
Here are some things we have already tried without success:
- We use glError() function almost everywhere in our code and we do not have any error.
- Our shaders (vertex, fragment and linked prog) are ok and compil without error (online or offline with the arm tool).
- We have filled the alpha buffer at the start of the frame to 1.0 just to be sure.
- We have done some tests with the glColorMask() function.
- We have returned 1.0 for the alpha value in all fragment shaders.

Maybe the alpha thing is not really the problem and maybe we have something wrong elsewhere, but what... We need some ideas to help us!!!

Maybe the T604 do not accept something that the 400 accept more smoothly...

Thank you for your help!
Parents
  • Note: This was originally posted on 17th December 2012 at http://forums.arm.com

    Hi,

    there are a few differences between the Mali-400 family and the Mali-T604, but I'm struggling to think what could cause your result.

    I wasn't quite clear on the results of your tests so far. Can I check the basics - can you get colour on the screen using something like this?

    glClearColor(1.0, 0.0, 0.0, 1.0);
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);

    That should be the most basic check which will eliminate issues with actual geometry and should show an opaque red screen.

    If that's working, I'm also interested whether you're setting any precision qualifiers in your vertex shaders. I *think* the Mali-400 would have promoted mediump to 24-bit in its vertex processor, but since I believe the T604 supports full 32-bit quantities, mediump may only be 16-bit on that platform. In that case specifying highp on the T604 may yield a different result - although I'd have expected minor geometry glitches from the drop in accuracy rather than straight out missing geometry.

    There is both simple SDK-type content and complex gaming content running on other T604 platforms so I suspect it must be a gotcha rather than anything serious!

    HTH, Pete
Reply
  • Note: This was originally posted on 17th December 2012 at http://forums.arm.com

    Hi,

    there are a few differences between the Mali-400 family and the Mali-T604, but I'm struggling to think what could cause your result.

    I wasn't quite clear on the results of your tests so far. Can I check the basics - can you get colour on the screen using something like this?

    glClearColor(1.0, 0.0, 0.0, 1.0);
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);

    That should be the most basic check which will eliminate issues with actual geometry and should show an opaque red screen.

    If that's working, I'm also interested whether you're setting any precision qualifiers in your vertex shaders. I *think* the Mali-400 would have promoted mediump to 24-bit in its vertex processor, but since I believe the T604 supports full 32-bit quantities, mediump may only be 16-bit on that platform. In that case specifying highp on the T604 may yield a different result - although I'd have expected minor geometry glitches from the drop in accuracy rather than straight out missing geometry.

    There is both simple SDK-type content and complex gaming content running on other T604 platforms so I suspect it must be a gotcha rather than anything serious!

    HTH, Pete
Children
No data