mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-07 22:18:13 +02:00
fix GLchan==GLfloat bug in solve_plane_chan (bug 694546)
This commit is contained in:
parent
13c4c046a5
commit
a20ed72003
1 changed files with 10 additions and 6 deletions
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: s_aaline.c,v 1.18 2003/02/27 23:37:53 brianp Exp $ */
|
||||
/* $Id: s_aaline.c,v 1.19 2003/02/28 15:08:49 brianp Exp $ */
|
||||
|
||||
/*
|
||||
* Mesa 3-D graphics library
|
||||
|
|
@ -180,12 +180,16 @@ solve_plane_recip(GLfloat x, GLfloat y, const GLfloat plane[4])
|
|||
static INLINE GLchan
|
||||
solve_plane_chan(GLfloat x, GLfloat y, const GLfloat plane[4])
|
||||
{
|
||||
GLfloat z = (plane[3] + plane[0] * x + plane[1] * y) / -plane[2] + 0.5F;
|
||||
if (z < 0.0F)
|
||||
const GLfloat z = (plane[3] + plane[0] * x + plane[1] * y) / -plane[2];
|
||||
#if CHAN_TYPE == GL_FLOAT
|
||||
return CLAMP(z, 0.0F, CHAN_MAXF);
|
||||
#else
|
||||
if (z < 0)
|
||||
return 0;
|
||||
else if (z > CHAN_MAXF)
|
||||
return (GLchan) CHAN_MAXF;
|
||||
return (GLchan) z;
|
||||
else if (z > CHAN_MAX)
|
||||
return CHAN_MAX;
|
||||
return (GLchan) IROUND_POS(z);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue