Browse Source

Calculate DEPTH_SCALE correctly for polygon offset.

tags/rotating_gears
Keith Whitwell 21 years ago
parent
commit
c664f0c515

+ 3
- 0
src/mesa/drivers/dri/unichrome/via_context.c View File

@@ -356,6 +356,7 @@ viaCreateContext(const __GLcontextModes *mesaVis,
vmesa->depth_max = (GLfloat)0xffff;
vmesa->depth_clear_mask = 0xf << 28;
vmesa->ClearDepth = 0xffff;
vmesa->polygon_offset_scale = 1.0 / vmesa->depth_max;
break;
case 24:
vmesa->hasDepth = GL_TRUE;
@@ -370,6 +371,7 @@ viaCreateContext(const __GLcontextModes *mesaVis,
vmesa->have_hw_stencil = GL_TRUE;
vmesa->stencilBits = mesaVis->stencilBits;
vmesa->stencil_clear_mask = 0x1 << 28;
vmesa->polygon_offset_scale = 2.0 / vmesa->depth_max;
break;
case 32:
vmesa->hasDepth = GL_TRUE;
@@ -380,6 +382,7 @@ viaCreateContext(const __GLcontextModes *mesaVis,
vmesa->depth_clear_mask = 0;
vmesa->ClearDepth = 0xffffffff;
vmesa->depth_clear_mask = 0xf << 28;
vmesa->polygon_offset_scale = 2.0 / vmesa->depth_max;
break;
default:
assert(0);

+ 1
- 0
src/mesa/drivers/dri/unichrome/via_context.h View File

@@ -103,6 +103,7 @@ struct via_context_t {
GLuint depth_clear_mask;
GLuint stencil_clear_mask;
GLfloat depth_max;
GLfloat polygon_offset_scale;

GLubyte *dma;
viaRegion tex;

+ 1
- 1
src/mesa/drivers/dri/unichrome/via_tris.c View File

@@ -222,7 +222,7 @@ static struct {
} while (0)


#define DEPTH_SCALE (1.0 / 0xffff)
#define DEPTH_SCALE vmesa->polygon_offset_scale
#define UNFILLED_TRI unfilled_tri
#define UNFILLED_QUAD unfilled_quad
#define VERT_X(_v) _v->v.x

Loading…
Cancel
Save