summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/glide
diff options
context:
space:
mode:
authorDaniel Borca <dborca@users.sourceforge.net>2005-05-09 22:14:58 +0000
committerDaniel Borca <dborca@users.sourceforge.net>2005-05-09 22:14:58 +0000
commit0e26580c903a9b8b5952feeaac2e579a309ebf31 (patch)
treeaed8b16346811e84c0ff5d404ec92cf7101e129c /src/mesa/drivers/glide
parentc8542705f712732d178d07da5ee1b7b25362db4b (diff)
accomodate new frambuffer changes
Diffstat (limited to 'src/mesa/drivers/glide')
-rw-r--r--src/mesa/drivers/glide/fxdd.c40
-rw-r--r--src/mesa/drivers/glide/fxddspan.c20
2 files changed, 32 insertions, 28 deletions
diff --git a/src/mesa/drivers/glide/fxdd.c b/src/mesa/drivers/glide/fxdd.c
index 50022ee548..d76a0ed6c6 100644
--- a/src/mesa/drivers/glide/fxdd.c
+++ b/src/mesa/drivers/glide/fxdd.c
@@ -159,9 +159,9 @@ static void fxDDClear( GLcontext *ctx,
GLint x, GLint y, GLint width, GLint height )
{
fxMesaContext fxMesa = FX_CONTEXT(ctx);
- GLbitfield softwareMask = mask & (DD_ACCUM_BIT);
+ GLbitfield softwareMask = mask & (BUFFER_BIT_ACCUM);
const GLuint stencil_size = fxMesa->haveHwStencil ? ctx->Visual.stencilBits : 0;
- const FxU32 clearD = (FxU32) (ctx->DepthMaxF * ctx->Depth.Clear);
+ const FxU32 clearD = (FxU32) (ctx->DrawBuffer->_DepthMaxF * ctx->Depth.Clear);
const FxU8 clearS = (FxU8) (ctx->Stencil.Clear & 0xff);
if ( TDFX_DEBUG & MESA_VERBOSE ) {
@@ -170,7 +170,7 @@ static void fxDDClear( GLcontext *ctx,
}
/* we can't clear accum buffers nor stereo */
- mask &= ~(DD_ACCUM_BIT | DD_FRONT_RIGHT_BIT | DD_BACK_RIGHT_BIT);
+ mask &= ~(BUFFER_BIT_ACCUM | BUFFER_BIT_FRONT_RIGHT | BUFFER_BIT_BACK_RIGHT);
/* Need this check to respond to certain HW updates */
if (fxMesa->new_state & (FX_NEW_SCISSOR | FX_NEW_COLOR_MASK)) {
@@ -186,8 +186,8 @@ static void fxDDClear( GLcontext *ctx,
/* can only do color masking if running in 24/32bpp on Napalm */
if (ctx->Color.ColorMask[RCOMP] != ctx->Color.ColorMask[GCOMP] ||
ctx->Color.ColorMask[GCOMP] != ctx->Color.ColorMask[BCOMP]) {
- softwareMask |= (mask & (DD_FRONT_LEFT_BIT | DD_BACK_LEFT_BIT));
- mask &= ~(DD_FRONT_LEFT_BIT | DD_BACK_LEFT_BIT);
+ softwareMask |= (mask & (BUFFER_BIT_FRONT_LEFT | BUFFER_BIT_BACK_LEFT));
+ mask &= ~(BUFFER_BIT_FRONT_LEFT | BUFFER_BIT_BACK_LEFT);
}
}
@@ -198,7 +198,7 @@ static void fxDDClear( GLcontext *ctx,
* in the OGL state.
*/
BEGIN_BOARD_LOCK();
- if (mask & DD_STENCIL_BIT) {
+ if (mask & BUFFER_BIT_STENCIL) {
fxMesa->Glide.grStencilMaskExt(fxMesa->unitsState.stencilWriteMask);
/* set stencil ref value = desired clear value */
fxMesa->Glide.grStencilFuncExt(GR_CMP_ALWAYS, clearS, 0xff);
@@ -210,9 +210,9 @@ static void fxDDClear( GLcontext *ctx,
grDisable(GR_STENCIL_MODE_EXT);
}
END_BOARD_LOCK();
- } else if (mask & DD_STENCIL_BIT) {
- softwareMask |= (mask & (DD_STENCIL_BIT));
- mask &= ~(DD_STENCIL_BIT);
+ } else if (mask & BUFFER_BIT_STENCIL) {
+ softwareMask |= (mask & (BUFFER_BIT_STENCIL));
+ mask &= ~(BUFFER_BIT_STENCIL);
}
/*
@@ -225,8 +225,8 @@ static void fxDDClear( GLcontext *ctx,
* This could probably be done fancier but doing each possible case
* explicitly is less error prone.
*/
- switch (mask & ~DD_STENCIL_BIT) {
- case DD_BACK_LEFT_BIT | DD_DEPTH_BIT:
+ switch (mask & ~BUFFER_BIT_STENCIL) {
+ case BUFFER_BIT_BACK_LEFT | BUFFER_BIT_DEPTH:
/* back buffer & depth */
grDepthMask(FXTRUE);
grRenderBuffer(GR_BUFFER_BACKBUFFER);
@@ -240,7 +240,7 @@ static void fxDDClear( GLcontext *ctx,
fxMesa->clearA,
clearD);
break;
- case DD_FRONT_LEFT_BIT | DD_DEPTH_BIT:
+ case BUFFER_BIT_FRONT_LEFT | BUFFER_BIT_DEPTH:
/* XXX it appears that the depth buffer isn't cleared when
* glRenderBuffer(GR_BUFFER_FRONTBUFFER) is set.
* This is a work-around/
@@ -270,7 +270,7 @@ static void fxDDClear( GLcontext *ctx,
fxMesa->clearA,
clearD);
break;
- case DD_BACK_LEFT_BIT:
+ case BUFFER_BIT_BACK_LEFT:
/* back buffer only */
grDepthMask(FXFALSE);
grRenderBuffer(GR_BUFFER_BACKBUFFER);
@@ -283,7 +283,7 @@ static void fxDDClear( GLcontext *ctx,
fxMesa->clearA,
clearD);
break;
- case DD_FRONT_LEFT_BIT:
+ case BUFFER_BIT_FRONT_LEFT:
/* front buffer only */
grDepthMask(FXFALSE);
grRenderBuffer(GR_BUFFER_FRONTBUFFER);
@@ -296,7 +296,7 @@ static void fxDDClear( GLcontext *ctx,
fxMesa->clearA,
clearD);
break;
- case DD_FRONT_LEFT_BIT | DD_BACK_LEFT_BIT:
+ case BUFFER_BIT_FRONT_LEFT | BUFFER_BIT_BACK_LEFT:
/* front and back */
grDepthMask(FXFALSE);
grRenderBuffer(GR_BUFFER_BACKBUFFER);
@@ -318,7 +318,7 @@ static void fxDDClear( GLcontext *ctx,
fxMesa->clearA,
clearD);
break;
- case DD_FRONT_LEFT_BIT | DD_BACK_LEFT_BIT | DD_DEPTH_BIT:
+ case BUFFER_BIT_FRONT_LEFT | BUFFER_BIT_BACK_LEFT | BUFFER_BIT_DEPTH:
/* clear back and depth */
grDepthMask(FXTRUE);
grRenderBuffer(GR_BUFFER_BACKBUFFER);
@@ -342,7 +342,7 @@ static void fxDDClear( GLcontext *ctx,
fxMesa->clearA,
clearD);
break;
- case DD_DEPTH_BIT:
+ case BUFFER_BIT_DEPTH:
/* just the depth buffer */
grDepthMask(FXTRUE);
fxDisableColor(fxMesa);
@@ -359,7 +359,7 @@ static void fxDDClear( GLcontext *ctx,
break;
default:
/* clear no color buffers or depth buffer but might clear stencil */
- if ((stencil_size > 0) && (mask & DD_STENCIL_BIT)) {
+ if ((stencil_size > 0) && (mask & BUFFER_BIT_STENCIL)) {
/* XXX need this RenderBuffer call to work around Glide bug */
grDepthMask(FXFALSE);
grRenderBuffer(GR_BUFFER_BACKBUFFER);
@@ -1950,8 +1950,8 @@ fx_check_IsInHardware(GLcontext * ctx)
return FX_FALLBACK_STENCIL;
}
- if (ctx->Color._DrawDestMask[0] != DD_FRONT_LEFT_BIT &&
- ctx->Color._DrawDestMask[0] != DD_BACK_LEFT_BIT) {
+ if (ctx->DrawBuffer->_ColorDrawBufferMask[0] != BUFFER_BIT_FRONT_LEFT &&
+ ctx->DrawBuffer->_ColorDrawBufferMask[0] != BUFFER_BIT_BACK_LEFT) {
return FX_FALLBACK_DRAW_BUFFER;
}
diff --git a/src/mesa/drivers/glide/fxddspan.c b/src/mesa/drivers/glide/fxddspan.c
index ff522522d1..79abbefc21 100644
--- a/src/mesa/drivers/glide/fxddspan.c
+++ b/src/mesa/drivers/glide/fxddspan.c
@@ -331,6 +331,7 @@
* since OpenGL says obscured pixels have undefined values.
*/
static void fxReadRGBASpan_ARGB1555 (const GLcontext * ctx,
+ struct gl_renderbuffer *rb,
GLuint n,
GLint x, GLint y,
GLubyte rgba[][4])
@@ -378,6 +379,7 @@ static void fxReadRGBASpan_ARGB1555 (const GLcontext * ctx,
* since OpenGL says obscured pixels have undefined values.
*/
static void fxReadRGBASpan_RGB565 (const GLcontext * ctx,
+ struct gl_renderbuffer *rb,
GLuint n,
GLint x, GLint y,
GLubyte rgba[][4])
@@ -425,6 +427,7 @@ static void fxReadRGBASpan_RGB565 (const GLcontext * ctx,
* since OpenGL says obscured pixels have undefined values.
*/
static void fxReadRGBASpan_ARGB8888 (const GLcontext * ctx,
+ struct gl_renderbuffer *rb,
GLuint n,
GLint x, GLint y,
GLubyte rgba[][4])
@@ -445,7 +448,7 @@ static void fxReadRGBASpan_ARGB8888 (const GLcontext * ctx,
/************************************************************************/
static void
-fxReadDepthSpan_Z16(GLcontext * ctx,
+fxReadDepthSpan_Z16(GLcontext * ctx, struct gl_renderbuffer *rb,
GLuint n, GLint x, GLint y, GLdepth depth[])
{
fxMesaContext fxMesa = FX_CONTEXT(ctx);
@@ -465,7 +468,7 @@ fxReadDepthSpan_Z16(GLcontext * ctx,
static void
-fxReadDepthSpan_Z24(GLcontext * ctx,
+fxReadDepthSpan_Z24(GLcontext * ctx, struct gl_renderbuffer *rb,
GLuint n, GLint x, GLint y, GLdepth depth[])
{
fxMesaContext fxMesa = FX_CONTEXT(ctx);
@@ -488,7 +491,8 @@ fxReadDepthSpan_Z24(GLcontext * ctx,
/************************************************************************/
static void
-fxWriteStencilSpan (GLcontext *ctx, GLuint n, GLint x, GLint y,
+fxWriteStencilSpan (GLcontext *ctx, struct gl_renderbuffer *rb,
+ GLuint n, GLint x, GLint y,
const GLstencil stencil[], const GLubyte mask[])
{
/*
@@ -497,7 +501,7 @@ fxWriteStencilSpan (GLcontext *ctx, GLuint n, GLint x, GLint y,
}
static void
-fxReadStencilSpan(GLcontext * ctx,
+fxReadStencilSpan(GLcontext * ctx, struct gl_renderbuffer *rb,
GLuint n, GLint x, GLint y, GLstencil stencil[])
{
fxMesaContext fxMesa = FX_CONTEXT(ctx);
@@ -516,7 +520,7 @@ fxReadStencilSpan(GLcontext * ctx,
}
static void
-fxWriteStencilPixels (GLcontext *ctx, GLuint n,
+fxWriteStencilPixels (GLcontext *ctx, struct gl_renderbuffer *rb, GLuint n,
const GLint x[], const GLint y[],
const GLstencil stencil[],
const GLubyte mask[])
@@ -527,7 +531,7 @@ fxWriteStencilPixels (GLcontext *ctx, GLuint n,
}
static void
-fxReadStencilPixels (GLcontext *ctx, GLuint n,
+fxReadStencilPixels (GLcontext *ctx, struct gl_renderbuffer *rb, GLuint n,
const GLint x[], const GLint y[],
GLstencil stencil[])
{
@@ -553,11 +557,11 @@ fxDDSetBuffer(GLcontext * ctx, GLframebuffer * buffer, GLuint bufferBit)
fprintf(stderr, "fxDDSetBuffer(%x)\n", (int)bufferBit);
}
- if (bufferBit == DD_FRONT_LEFT_BIT) {
+ if (bufferBit == BUFFER_BIT_FRONT_LEFT) {
fxMesa->currentFB = GR_BUFFER_FRONTBUFFER;
grRenderBuffer(fxMesa->currentFB);
}
- else if (bufferBit == DD_BACK_LEFT_BIT) {
+ else if (bufferBit == BUFFER_BIT_BACK_LEFT) {
fxMesa->currentFB = GR_BUFFER_BACKBUFFER;
grRenderBuffer(fxMesa->currentFB);
}