summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBrian Paul <brian.paul@tungstengraphics.com>2000-10-17 00:42:02 +0000
committerBrian Paul <brian.paul@tungstengraphics.com>2000-10-17 00:42:02 +0000
commitd3672166787028857ea51ad9570cab7e173898c3 (patch)
tree21e8d5af6eb630109fda7043b30d41d939640183 /src
parent1873b567b28a3e3f4d94d0eacb27ffd235ec9529 (diff)
ported render begin/end calls from Mesa 3.4
Diffstat (limited to 'src')
-rw-r--r--src/mesa/main/accum.c9
-rw-r--r--src/mesa/main/buffers.c6
-rw-r--r--src/mesa/main/drawpix.c8
3 files changed, 17 insertions, 6 deletions
diff --git a/src/mesa/main/accum.c b/src/mesa/main/accum.c
index aeb6743c2f..13d7acee57 100644
--- a/src/mesa/main/accum.c
+++ b/src/mesa/main/accum.c
@@ -1,4 +1,4 @@
-/* $Id: accum.c,v 1.26 2000/09/26 20:53:53 brianp Exp $ */
+/* $Id: accum.c,v 1.27 2000/10/17 00:42:02 brianp Exp $ */
/*
* Mesa 3-D graphics library
@@ -236,6 +236,8 @@ _mesa_Accum( GLenum op, GLfloat value )
if (ctx->IntegerAccumMode && value != ctx->IntegerAccumScaler)
rescale_accum(ctx);
+ RENDER_START(ctx);
+
if (ctx->IntegerAccumMode) {
/* simply add integer color values into accum buffer */
GLuint j;
@@ -279,6 +281,7 @@ _mesa_Accum( GLenum op, GLfloat value )
/* restore read buffer = draw buffer (the default) */
(*ctx->Driver.SetReadBuffer)( ctx, ctx->DrawBuffer,
ctx->Color.DriverDrawBuffer );
+ RENDER_FINISH(ctx);
break;
case GL_LOAD:
@@ -299,6 +302,7 @@ _mesa_Accum( GLenum op, GLfloat value )
ctx->IntegerAccumScaler = 0.0;
}
+ RENDER_START(ctx);
if (ctx->IntegerAccumMode) {
/* just copy values into accum buffer */
GLuint j;
@@ -342,6 +346,7 @@ _mesa_Accum( GLenum op, GLfloat value )
/* restore read buffer = draw buffer (the default) */
(*ctx->Driver.SetReadBuffer)( ctx, ctx->DrawBuffer,
ctx->Color.DriverDrawBuffer );
+ RENDER_FINISH(ctx);
break;
case GL_RETURN:
@@ -349,6 +354,7 @@ _mesa_Accum( GLenum op, GLfloat value )
if (ctx->IntegerAccumMode && value != 1.0)
rescale_accum(ctx);
+ RENDER_START(ctx);
if (ctx->IntegerAccumMode && ctx->IntegerAccumScaler > 0) {
/* build lookup table to avoid many floating point multiplies */
static GLchan multTable[32768];
@@ -412,6 +418,7 @@ _mesa_Accum( GLenum op, GLfloat value )
ypos++;
}
}
+ RENDER_FINISH(ctx);
break;
default:
diff --git a/src/mesa/main/buffers.c b/src/mesa/main/buffers.c
index dfa8a77d34..7db265dff1 100644
--- a/src/mesa/main/buffers.c
+++ b/src/mesa/main/buffers.c
@@ -1,4 +1,4 @@
-/* $Id: buffers.c,v 1.12 2000/09/26 20:53:53 brianp Exp $ */
+/* $Id: buffers.c,v 1.13 2000/10/17 00:42:02 brianp Exp $ */
/*
* Mesa 3-D graphics library
@@ -290,6 +290,8 @@ _mesa_Clear( GLbitfield mask )
}
#endif
+ RENDER_START(ctx);
+
/* do software clearing here */
if (newMask) {
if (newMask & ctx->Color.DrawDestMask) clear_color_buffers(ctx);
@@ -305,6 +307,8 @@ _mesa_Clear( GLbitfield mask )
_mesa_clear_alpha_buffers( ctx );
}
+ RENDER_FINISH(ctx);
+
#ifdef PROFILE
ctx->ClearTime += gl_time() - t0;
ctx->ClearCount++;
diff --git a/src/mesa/main/drawpix.c b/src/mesa/main/drawpix.c
index 5370559b8d..091d0ff111 100644
--- a/src/mesa/main/drawpix.c
+++ b/src/mesa/main/drawpix.c
@@ -1,4 +1,4 @@
-/* $Id: drawpix.c,v 1.37 2000/10/05 16:22:23 brianp Exp $ */
+/* $Id: drawpix.c,v 1.38 2000/10/17 00:42:02 brianp Exp $ */
/*
* Mesa 3-D graphics library
@@ -410,8 +410,7 @@ fast_draw_pixels(GLcontext *ctx, GLint x, GLint y,
}
else if (format==GL_COLOR_INDEX && type==GL_UNSIGNED_BYTE) {
GLubyte *src = (GLubyte *) pixels + skipRows * rowLength + skipPixels;
- if (ctx->Visual.RGBAflag
- && ctx->ImageTransferState==IMAGE_MAP_COLOR_BIT) {
+ if (ctx->Visual.RGBAflag) {
/* convert CI data to RGBA */
if (ctx->Pixel.ZoomX==1.0F && ctx->Pixel.ZoomY==1.0F) {
/* no zooming */
@@ -879,6 +878,7 @@ _mesa_DrawPixels( GLsizei width, GLsizei height,
return;
}
+ RENDER_START(ctx);
switch (format) {
case GL_STENCIL_INDEX:
draw_stencil_pixels( ctx, x, y, width, height, type, pixels );
@@ -907,8 +907,8 @@ _mesa_DrawPixels( GLsizei width, GLsizei height,
break;
default:
gl_error( ctx, GL_INVALID_ENUM, "glDrawPixels(format)" );
- return;
}
+ RENDER_FINISH(ctx);
}
else if (ctx->RenderMode==GL_FEEDBACK) {
if (ctx->Current.RasterPosValid) {