mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 04:48:08 +02:00
fix one-bit error in float->int Z calculation
This commit is contained in:
parent
2dee6187e4
commit
e307931314
2 changed files with 11 additions and 10 deletions
|
|
@ -1,8 +1,8 @@
|
|||
/* $Id: s_linetemp.h,v 1.13 2002/03/19 15:22:50 brianp Exp $ */
|
||||
/* $Id: s_linetemp.h,v 1.14 2002/11/09 21:26:41 brianp Exp $ */
|
||||
|
||||
/*
|
||||
* Mesa 3-D graphics library
|
||||
* Version: 4.1
|
||||
* Version: 5.0
|
||||
*
|
||||
* Copyright (C) 1999-2002 Brian Paul All Rights Reserved.
|
||||
*
|
||||
|
|
@ -176,8 +176,9 @@
|
|||
|
||||
/*
|
||||
printf("%s():\n", __FUNCTION__);
|
||||
printf(" (%f, %f) -> (%f, %f)\n",
|
||||
vert0->win[0], vert0->win[1], vert1->win[0], vert1->win[1]);
|
||||
printf(" (%f, %f, %f) -> (%f, %f, %f)\n",
|
||||
vert0->win[0], vert0->win[1], vert0->win[2],
|
||||
vert1->win[0], vert1->win[1], vert1->win[2]);
|
||||
printf(" (%d, %d, %d) -> (%d, %d, %d)\n",
|
||||
vert0->color[0], vert0->color[1], vert0->color[2],
|
||||
vert1->color[0], vert1->color[1], vert1->color[2]);
|
||||
|
|
@ -229,8 +230,8 @@
|
|||
zPtr = (DEPTH_TYPE *) _mesa_zbuffer_address(ctx, x0, y0);
|
||||
# endif
|
||||
if (depthBits <= 16) {
|
||||
z0 = FloatToFixed(vert0->win[2]);
|
||||
z1 = FloatToFixed(vert1->win[2]);
|
||||
z0 = FloatToFixed(vert0->win[2]) + FIXED_HALF;
|
||||
z1 = FloatToFixed(vert1->win[2]) + FIXED_HALF;
|
||||
}
|
||||
else {
|
||||
z0 = (int) vert0->win[2];
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
/* $Id: s_pointtemp.h,v 1.20 2002/10/18 17:02:01 kschultz Exp $ */
|
||||
/* $Id: s_pointtemp.h,v 1.21 2002/11/09 21:26:41 brianp Exp $ */
|
||||
|
||||
/*
|
||||
* Mesa 3-D graphics library
|
||||
* Version: 4.1
|
||||
* Version: 5.0
|
||||
*
|
||||
* Copyright (C) 1999-2002 Brian Paul All Rights Reserved.
|
||||
*
|
||||
|
|
@ -153,7 +153,7 @@ NAME ( GLcontext *ctx, const SWvertex *vert )
|
|||
{{
|
||||
GLint x, y;
|
||||
const GLfloat radius = 0.5F * size;
|
||||
const GLint z = (GLint) (vert->win[2]);
|
||||
const GLint z = (GLint) (vert->win[2] + 0.5F);
|
||||
GLuint count;
|
||||
#if FLAGS & SMOOTH
|
||||
const GLfloat rmin = radius - 0.7071F; /* 0.7071 = sqrt(2)/2 */
|
||||
|
|
@ -359,7 +359,7 @@ NAME ( GLcontext *ctx, const SWvertex *vert )
|
|||
|
||||
span->array->x[count] = (GLint) vert->win[0];
|
||||
span->array->y[count] = (GLint) vert->win[1];
|
||||
span->array->z[count] = (GLint) vert->win[2];
|
||||
span->array->z[count] = (GLint) (vert->win[2] + 0.5F);
|
||||
span->end = count + 1;
|
||||
}}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue