Hello Mali devs,We are working on an application that performs depth buffer based post processing effects, mainly for fog. We are using 24bit depth for the main scene. However when sampling this depth, the results are very banded (see attachment) due to the non linear nature of the depth buffer and Mali400's mediump 0-1 precision (2^-10 I believe). With most depth values lying in the 0.96-1.0 range, the precision is obviously insufficient. Are there any workarounds that would allow use to leverage the non fractional range of mediump floats? I suspect there isn't however wanted to make sure as the platform does provide depth24 and depth texture extensions. The option of vertex based fogging is an alternative, however, we hope to stay away from that due to the added global cost of the technique.Many thanks,Stephane
Hello stepjac,With most applications that we see, the vertex shader is usually very under utilised. Moving the fogging over to the vertex shader should give you a much better depth range than what you are currently seeing, with little performance impact (assuming you are currently not vertex bound).If you have a development platform, you can see how utilised each core is with our performance analysis tool, DS-5.I hope this helps answer your question. Please let us know the outcome, and feel free to ask us any further questions.Kind Regards,McGeagh
Thanks McGeagh,That's what I figured. Though our app is very vertex heavy, it's probably still heavier on the pixel side. Obviously, per vertex fog does mean modifying/updating every shader in the product (and there are a lot) rather than the single post processing step, but definitely doable if we want to maintain the effect. This is a non issue on the T-604 correct? We don't have a device handy, however, I believe it does do higher precision in fragment shader than the 400-MP.Best,Stephane