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

Mali Offline compiler GLSL clamp performance on Mali-Gxx

Hi,

Been doing some analysis on some GLSL shader programs with the Mali Offline Compiler, great program btw.

It is however reporting that a clamp (vec3,float,float) is somehow slower for the Mali-Gxx than doing a seperate min/max according the offline compiler.

vec3 clamp_minmax (vec3 val, float minimum, float maximum){
return clamp(val, minimum, maximum);
}

vs

vec3 clamp_minmax (vec3 val, float minimum, float maximum){
vec3 rval = min(val, maximum);
return max (rval, minimum);
}

Note that the minimum is a constant 0.0f.

Is this expected and correct for a Mali-Gxx ?

Parents
  • Agree that that instruction packing can cause a difference in cycle count in general. However in this particular case for _b adding the multiply reduces the cycle count (from 2 ->1.25) whereas for _a it increases from (2 ->2.75) according to the tool.  So that does make doubt the output of the tool for these GPU's as it does not seem logical that adding a multiply reduces the overall cycle count.

    As I am currently mostly using the tool for some estimations I would like to understand if the tool output really reflects the actual performance on these GPU's or if am just looking at some glitch in the tooling.

Reply
  • Agree that that instruction packing can cause a difference in cycle count in general. However in this particular case for _b adding the multiply reduces the cycle count (from 2 ->1.25) whereas for _a it increases from (2 ->2.75) according to the tool.  So that does make doubt the output of the tool for these GPU's as it does not seem logical that adding a multiply reduces the overall cycle count.

    As I am currently mostly using the tool for some estimations I would like to understand if the tool output really reflects the actual performance on these GPU's or if am just looking at some glitch in the tooling.

Children