gallium: add another value check to util_fast_pow()

Fixes glitches seen in morph3d demo.
This commit is contained in:
Brian Paul 2008-09-13 15:20:31 -06:00
parent 44e53b37a0
commit 75c19eb5a1

View file

@ -272,8 +272,10 @@ util_fast_log2(float val)
static INLINE float
util_fast_pow(float x, float y)
{
/* XXX this test may need adjustment */
if (y >= 3.0 && -0.02f <= x && x <= 0.02f)
/* XXX these tests may need adjustment */
if (y >= 3.0f && (-0.02f <= x && x <= 0.02f))
return 0.0f;
if (y >= 50.0f && (-0.9f <= x && x <= 0.9f))
return 0.0f;
return util_fast_exp2(util_fast_log2(x) * y);
}