on mobile h/w, strong highlights generated by the lighting stages can turn into +inf and eventually to NaN if more math is performed on them. Some h/w will kill a while tile or even primitive when that happens, resulting in strong visual artifacts. We fix this by clamping to MEDIUMP_FLT_MAX.