[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

mesa: Changes to 'upstream-unstable'



 Makefile                                         |    8 -
 configs/darwin                                   |   14 +-
 configs/default                                  |    4 
 docs/download.html                               |    2 
 docs/news.html                                   |    7 +
 docs/relnotes-7.4.1.html                         |   79 ++++++++++++
 docs/relnotes-7.4.2.html                         |   62 ++++++++++
 docs/relnotes-7.4.html                           |   12 +
 docs/relnotes.html                               |    2 
 include/GL/internal/dri_interface.h              |   15 ++
 progs/samples/blendeq.c                          |    2 
 progs/xdemos/glxcontexts.c                       |    4 
 src/glx/x11/dri2.c                               |    2 
 src/glx/x11/dri2_glx.c                           |   20 ++-
 src/glx/x11/glxcmds.c                            |    3 
 src/glx/x11/indirect.c                           |   60 +++++++++
 src/mesa/drivers/dri/i965/brw_wm_surface_state.c |   18 +-
 src/mesa/drivers/dri/intel/intel_buffers.c       |    8 +
 src/mesa/drivers/dri/intel/intel_clear.c         |    7 +
 src/mesa/drivers/dri/intel/intel_context.c       |   28 ++++
 src/mesa/drivers/dri/intel/intel_context.h       |   18 ++
 src/mesa/drivers/dri/intel/intel_pixel.c         |    6 
 src/mesa/drivers/dri/r300/r300_context.h         |    2 
 src/mesa/drivers/dri/r300/r300_state.c           |    2 
 src/mesa/drivers/dri/r300/r300_texmem.c          |    5 
 src/mesa/drivers/dri/r300/r300_texstate.c        |   11 -
 src/mesa/drivers/dri/radeon/radeon_screen.c      |   48 ++++---
 src/mesa/main/attrib.c                           |    2 
 src/mesa/main/drawpix.c                          |   52 ++++----
 src/mesa/main/ffvertex_prog.c                    |   14 +-
 src/mesa/main/glheader.h                         |    5 
 src/mesa/main/hash.c                             |   18 ++
 src/mesa/main/light.c                            |    9 +
 src/mesa/main/readpix.c                          |    3 
 src/mesa/main/teximage.c                         |   21 ++-
 src/mesa/main/texparam.c                         |  140 +++++++++++++----------
 src/mesa/main/version.h                          |    4 
 src/mesa/math/m_matrix.c                         |    5 
 src/mesa/shader/arbprogparse.c                   |   23 ++-
 src/mesa/shader/prog_execute.c                   |    8 -
 src/mesa/shader/prog_parameter.c                 |   19 +--
 src/mesa/shader/program.c                        |    1 
 src/mesa/shader/slang/slang_builtin.c            |   24 ++-
 src/mesa/swrast/s_points.c                       |    5 
 src/mesa/swrast/s_span.c                         |   10 +
 src/mesa/swrast/s_texfilter.c                    |    1 
 46 files changed, 617 insertions(+), 196 deletions(-)

New commits:
commit 63375254979be322736fd3ea1c692c6ab08e817b
Author: Brian Paul <brianp@vmware.com>
Date:   Fri May 1 18:04:07 2009 -0600

    mesa: fix state validation bug for glCopyTex[Sub]Image()
    
    We need to make sure the framebuffer state is up to date to make sure we
    read pixels from the right buffer when doing a texture image copy.
    
    (cherry-picked from master, commit 63f01309801c5a900d8d7f5ccd63413e33ff9bff)

diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c
index d5f9d2f..cd3edb2 100644
--- a/src/mesa/main/teximage.c
+++ b/src/mesa/main/teximage.c
@@ -50,6 +50,17 @@
 
 
 /**
+ * State changes which we care about for glCopyTex[Sub]Image() calls.
+ * In particular, we care about pixel transfer state and buffer state
+ * (such as glReadBuffer to make sure we read from the right renderbuffer).
+ */
+#define NEW_COPY_TEX_STATE (_IMAGE_NEW_TRANSFER_STATE | \
+                            _NEW_BUFFERS | \
+                            _NEW_PIXEL)
+
+
+
+/**
  * We allocate texture memory on 512-byte boundaries so we can use MMX/SSE
  * elsewhere.
  */
@@ -2918,7 +2929,7 @@ _mesa_CopyTexImage1D( GLenum target, GLint level,
    GET_CURRENT_CONTEXT(ctx);
    ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx);
 
-   if (ctx->NewState & _IMAGE_NEW_TRANSFER_STATE)
+   if (ctx->NewState & NEW_COPY_TEX_STATE)
       _mesa_update_state(ctx);
 
 #if FEATURE_convolve
@@ -2983,7 +2994,7 @@ _mesa_CopyTexImage2D( GLenum target, GLint level, GLenum internalFormat,
    GET_CURRENT_CONTEXT(ctx);
    ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx);
 
-   if (ctx->NewState & _IMAGE_NEW_TRANSFER_STATE)
+   if (ctx->NewState & NEW_COPY_TEX_STATE)
       _mesa_update_state(ctx);
 
 #if FEATURE_convolve
@@ -3051,7 +3062,7 @@ _mesa_CopyTexSubImage1D( GLenum target, GLint level,
    GET_CURRENT_CONTEXT(ctx);
    ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx);
 
-   if (ctx->NewState & _IMAGE_NEW_TRANSFER_STATE)
+   if (ctx->NewState & NEW_COPY_TEX_STATE)
       _mesa_update_state(ctx);
 
    if (copytexsubimage_error_check1(ctx, 1, target, level))
@@ -3106,7 +3117,7 @@ _mesa_CopyTexSubImage2D( GLenum target, GLint level,
    GET_CURRENT_CONTEXT(ctx);
    ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx);
 
-   if (ctx->NewState & _IMAGE_NEW_TRANSFER_STATE)
+   if (ctx->NewState & NEW_COPY_TEX_STATE)
       _mesa_update_state(ctx);
 
    if (copytexsubimage_error_check1(ctx, 2, target, level))
@@ -3161,7 +3172,7 @@ _mesa_CopyTexSubImage3D( GLenum target, GLint level,
    GET_CURRENT_CONTEXT(ctx);
    ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx);
 
-   if (ctx->NewState & _IMAGE_NEW_TRANSFER_STATE)
+   if (ctx->NewState & NEW_COPY_TEX_STATE)
       _mesa_update_state(ctx);
 
    if (copytexsubimage_error_check1(ctx, 3, target, level))

commit 7541c3806a159fab23316b6901140f4d33ff1004
Author: Brian Paul <brianp@vmware.com>
Date:   Thu Apr 30 17:08:21 2009 -0600

    docs: fix typos

diff --git a/docs/relnotes-7.4.1.html b/docs/relnotes-7.4.1.html
index 6b225e6..40f4fb1 100644
--- a/docs/relnotes-7.4.1.html
+++ b/docs/relnotes-7.4.1.html
@@ -20,7 +20,7 @@ Some drivers don't support all the features required in OpenGL 2.1.
 </p>
 <p>
 See the <a href="install.html">Compiling/Installing page</a> for prerequisites
-for DRI ardware acceleration.
+for DRI hardware acceleration.
 </p>
 
 
diff --git a/docs/relnotes-7.4.2.html b/docs/relnotes-7.4.2.html
index 3827deb..c380792 100644
--- a/docs/relnotes-7.4.2.html
+++ b/docs/relnotes-7.4.2.html
@@ -20,7 +20,7 @@ Some drivers don't support all the features required in OpenGL 2.1.
 </p>
 <p>
 See the <a href="install.html">Compiling/Installing page</a> for prerequisites
-for DRI ardware acceleration.
+for DRI hardware acceleration.
 </p>
 
 
diff --git a/docs/relnotes-7.4.html b/docs/relnotes-7.4.html
index 6f6bbff..55ba019 100644
--- a/docs/relnotes-7.4.html
+++ b/docs/relnotes-7.4.html
@@ -20,7 +20,7 @@ Some drivers don't support all the features required in OpenGL 2.1.
 </p>
 <p>
 See the <a href="install.html">Compiling/Installing page</a> for prerequisites
-for DRI ardware acceleration.
+for DRI hardware acceleration.
 </p>
 
 

commit a1ce4efefbb7f796a0a24544a1e893a56848f0c1
Author: Michel Dänzer <daenzer@vmware.com>
Date:   Thu Apr 30 13:21:08 2009 +0200

    r300: Increase reference count of texture objects referenced by current state.
    
    Fixes a use-after-free reported in
    http://bugs.freedesktop.org/show_bug.cgi?id=20539, so this possibly fixes that
    bug. It has been confirmed to fix
    http://bugs.freedesktop.org/show_bug.cgi?id=17895 .
    (cherry picked from commit c28707b50701b1cf8727be29d61e2d939c6ee58f)

diff --git a/src/mesa/drivers/dri/r300/r300_context.h b/src/mesa/drivers/dri/r300/r300_context.h
index c15e9fa..4a877ed 100644
--- a/src/mesa/drivers/dri/r300/r300_context.h
+++ b/src/mesa/drivers/dri/r300/r300_context.h
@@ -211,7 +211,7 @@ struct r300_tex_obj {
 };
 
 struct r300_texture_env_state {
-	r300TexObjPtr texobj;
+	struct gl_texture_object *texobj;
 	GLenum format;
 	GLenum envMode;
 };
diff --git a/src/mesa/drivers/dri/r300/r300_state.c b/src/mesa/drivers/dri/r300/r300_state.c
index b756d1c..de4063a 100644
--- a/src/mesa/drivers/dri/r300/r300_state.c
+++ b/src/mesa/drivers/dri/r300/r300_state.c
@@ -1487,7 +1487,7 @@ static void r300SetupTextures(GLcontext * ctx)
 #endif
 			tmu_mappings[i] = hw_tmu;
 
-			t = r300->state.texture.unit[i].texobj;
+			t = (r300TexObjPtr) r300->state.texture.unit[i].texobj->DriverData;
 			/* XXX questionable fix for bug 9170: */
 			if (!t)
 				continue;
diff --git a/src/mesa/drivers/dri/r300/r300_texmem.c b/src/mesa/drivers/dri/r300/r300_texmem.c
index b03eefa..8d7889e 100644
--- a/src/mesa/drivers/dri/r300/r300_texmem.c
+++ b/src/mesa/drivers/dri/r300/r300_texmem.c
@@ -44,6 +44,7 @@ SOFTWARE.
 #include "main/colormac.h"
 #include "main/macros.h"
 #include "main/simple_list.h"
+#include "main/texobj.h"
 #include "radeon_reg.h"		/* gets definition for usleep */
 #include "r300_context.h"
 #include "r300_state.h"
@@ -71,8 +72,8 @@ void r300DestroyTexObj(r300ContextPtr rmesa, r300TexObjPtr t)
 	}
 
 	for (i = 0; i < rmesa->radeon.glCtx->Const.MaxTextureUnits; i++) {
-		if (rmesa->state.texture.unit[i].texobj == t) {
-			rmesa->state.texture.unit[i].texobj = NULL;
+		if (rmesa->state.texture.unit[i].texobj == t->base.tObj) {
+			_mesa_reference_texobj(&rmesa->state.texture.unit[i].texobj, NULL);
 		}
 	}
 }
diff --git a/src/mesa/drivers/dri/r300/r300_texstate.c b/src/mesa/drivers/dri/r300/r300_texstate.c
index e2329f0..ccfeb10 100644
--- a/src/mesa/drivers/dri/r300/r300_texstate.c
+++ b/src/mesa/drivers/dri/r300/r300_texstate.c
@@ -567,19 +567,20 @@ static GLboolean r300UpdateTexture(GLcontext * ctx, int unit)
 	/* Update state if this is a different texture object to last
 	 * time.
 	 */
-	if (rmesa->state.texture.unit[unit].texobj != t) {
+	if (rmesa->state.texture.unit[unit].texobj != tObj) {
 		if (rmesa->state.texture.unit[unit].texobj != NULL) {
+			r300TexObjPtr t_old = (r300TexObjPtr) rmesa->state.texture.unit[unit].texobj->DriverData;
+
 			/* The old texture is no longer bound to this texture unit.
 			 * Mark it as such.
 			 */
 
-			rmesa->state.texture.unit[unit].texobj->base.bound &=
-			    ~(1 << unit);
+			t_old->base.bound &= ~(1 << unit);
 		}
 
-		rmesa->state.texture.unit[unit].texobj = t;
+		_mesa_reference_texobj(&rmesa->state.texture.unit[unit].texobj, tObj);
 		t->base.bound |= (1 << unit);
-		driUpdateTextureLRU((driTextureObject *) t);	/* XXX: should be locked! */
+		driUpdateTextureLRU(&t->base);	/* XXX: should be locked! */
 	}
 
 	return !t->border_fallback;

commit 656cd707db3699079d3a1b886d82e6f04afb1065
Author: Brian Paul <brianp@vmware.com>
Date:   Tue Apr 28 10:57:45 2009 -0600

    mesa: Fix buffer overflow when parsing generic vertex attributes.
    
    (cherry picked from master, commit fa92756400ccfbb3f0201df634feb45ab4f98352)

diff --git a/src/mesa/shader/arbprogparse.c b/src/mesa/shader/arbprogparse.c
index 810a7b8..0984d88 100644
--- a/src/mesa/shader/arbprogparse.c
+++ b/src/mesa/shader/arbprogparse.c
@@ -1496,10 +1496,16 @@ generic_attrib_check(struct var_cache *vc_head)
    curr = vc_head;
    while (curr) {
       if (curr->type == vt_attrib) {
-         if (curr->attrib_is_generic)
-            genericAttrib[ curr->attrib_binding ] = GL_TRUE;
-         else
+         if (curr->attrib_is_generic) {
+            GLuint attr = (curr->attrib_binding == 0)
+               ? 0 : (curr->attrib_binding - VERT_ATTRIB_GENERIC0);
+            assert(attr < MAX_VERTEX_PROGRAM_ATTRIBS);
+            genericAttrib[attr] = GL_TRUE;
+         }
+         else {
+            assert(curr->attrib_binding < MAX_VERTEX_PROGRAM_ATTRIBS);
             explicitAttrib[ curr->attrib_binding ] = GL_TRUE;
+         }
       }
 
       curr = curr->next;

commit ce7f78694d9a611d543b97f239194af311f7a9a1
Author: Alex Deucher <alexdeucher@gmail.com>
Date:   Tue Apr 28 12:37:29 2009 -0400

    R300: add quadpipe overrides
    
    RV410 SE chips only have 1 quadpipe.
    Also, handle other R300 chip with quadpipe override

diff --git a/src/mesa/drivers/dri/radeon/radeon_screen.c b/src/mesa/drivers/dri/radeon/radeon_screen.c
index ff65e6b..956f9a1 100644
--- a/src/mesa/drivers/dri/radeon/radeon_screen.c
+++ b/src/mesa/drivers/dri/radeon/radeon_screen.c
@@ -554,11 +554,8 @@ radeonCreateScreen( __DRIscreenPrivate *sPriv )
       screen->chip_family = CHIP_FAMILY_RS300;
       break;
 
-      /* 9500 with 1 pipe verified by: Reid Linnemann <lreid@cs.okstate.edu> */
+
    case PCI_CHIP_R300_AD:
-      screen->chip_family = CHIP_FAMILY_RV350;
-      screen->chip_flags = RADEON_CHIPSET_TCL;
-      break;
    case PCI_CHIP_R300_AE:
    case PCI_CHIP_R300_AF:
    case PCI_CHIP_R300_AG:
@@ -886,6 +883,18 @@ radeonCreateScreen( __DRIscreenPrivate *sPriv )
        } else {
 	   screen->num_gb_pipes = temp;
        }
+
+       /* pipe overrides */
+       switch (dri_priv->deviceID) {
+       case PCI_CHIP_R300_AD: /* 9500 with 1 quadpipe verified by: Reid Linnemann <lreid@cs.okstate.edu> */
+       case PCI_CHIP_RV410_5E4C: /* RV410 SE only have 1 quadpipe */
+       case PCI_CHIP_RV410_5E4F: /* RV410 SE only have 1 quadpipe */
+	   screen->num_gb_pipes = 1;
+	   break;
+       default:
+	   break;
+       }
+
    }
 
    if ( sPriv->drm_version.minor >= 10 ) {

commit fd95e8ee33b7577465f14b54c593944d5684246a
Author: Brian Paul <brianp@vmware.com>
Date:   Tue Apr 28 09:11:05 2009 -0600

    docs: fix swrast texrect bug 21461

diff --git a/docs/relnotes-7.4.2.html b/docs/relnotes-7.4.2.html
index 97e6e60..3827deb 100644
--- a/docs/relnotes-7.4.2.html
+++ b/docs/relnotes-7.4.2.html
@@ -33,6 +33,8 @@ tbd
 <h2>Bug fixes</h2>
 <ul>
 <li>Fixed segfault when rendering to front buffer with DRI 1.
+<li>Fixed swrast texture rectangle bug when wrap mode = GL_CLAMP_TO_BORDER and
+    filter mode = GL_LINEAR.  (bug 21461)
 </ul>
 
 

commit d2b8c41b7a70c1f5d6597101ac7acd36052d89b6
Author: Brian Paul <brianp@vmware.com>
Date:   Tue Apr 28 09:09:41 2009 -0600

    swrast: add missing break in clamp_rect_coord_linear()
    
    See bug 21461.
    
    (cherry picked from master, commit dcf571aff9de1a4298c4d2c4148d84cdc4daf02e)

diff --git a/src/mesa/swrast/s_texfilter.c b/src/mesa/swrast/s_texfilter.c
index a095b25..fce0bcf 100644
--- a/src/mesa/swrast/s_texfilter.c
+++ b/src/mesa/swrast/s_texfilter.c
@@ -2061,6 +2061,7 @@ clamp_rect_coord_linear(GLenum wrapMode, GLfloat coord, GLint max,
       fcol -= 0.5F;
       i0 = IFLOOR(fcol);
       i1 = i0 + 1;
+      break;
    default:
       _mesa_problem(NULL, "bad wrapMode in clamp_rect_coord_linear");
       i0 = i1 = 0;

commit bfd6bb31a6bc162413cecd23b69389fa930cbf56
Author: Alan Hourihane <alanh@vmware.com>
Date:   Fri Apr 24 16:44:58 2009 +0100

    demos: ensure display lists are destroyed for next generation

diff --git a/progs/xdemos/glxcontexts.c b/progs/xdemos/glxcontexts.c
index a9ff326..a97b62a 100644
--- a/progs/xdemos/glxcontexts.c
+++ b/progs/xdemos/glxcontexts.c
@@ -385,6 +385,10 @@ draw( Display *dpy, Window win )
    } else
       do_draw();
 
+   glDeleteLists(gear1, 1);
+   glDeleteLists(gear2, 1);
+   glDeleteLists(gear3, 1);
+
    glXSwapBuffers(dpy, win);
    glXDestroyContext(dpy, ctx);
 }

commit c3e7fc394f9590ac35755e722995fd88bbfd11ce
Author: Eric Anholt <eric@anholt.net>
Date:   Thu Apr 23 09:37:55 2009 -0700

    i965: Support drawing to FBO cube faces other than positive X.
    
    Also fixes drawing to 3D texture depth levels.
    (cherry picked from commit 8374379572d1c541a804990bc926108360f67c02)

diff --git a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c
index 3487b85..20889f8 100644
--- a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c
+++ b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c
@@ -310,6 +310,7 @@ brw_update_region_surface(struct brw_context *brw, struct intel_region *region,
       GLubyte color_mask[4];
       GLboolean color_blend;
       uint32_t tiling;
+      uint32_t draw_offset;
    } key;
 
    memset(&key, 0, sizeof(key));
@@ -326,6 +327,7 @@ brw_update_region_surface(struct brw_context *brw, struct intel_region *region,
       key.width = region->pitch; /* XXX: not really! */
       key.height = region->height;
       key.cpp = region->cpp;
+      key.draw_offset = region->draw_offset; /* cur 3d or cube face offset */
    } else {
       key.surface_type = BRW_SURFACE_NULL;
       key.surface_format = BRW_SURFACEFORMAT_B8G8R8A8_UNORM;
@@ -333,6 +335,7 @@ brw_update_region_surface(struct brw_context *brw, struct intel_region *region,
       key.width = 1;
       key.height = 1;
       key.cpp = 4;
+      key.draw_offset = 0;
    }
    memcpy(key.color_mask, ctx->Color.ColorMask,
 	  sizeof(key.color_mask));
@@ -354,8 +357,9 @@ brw_update_region_surface(struct brw_context *brw, struct intel_region *region,
 
       surf.ss0.surface_format = key.surface_format;
       surf.ss0.surface_type = key.surface_type;
+      surf.ss1.base_addr =  key.draw_offset;
       if (region_bo != NULL)
-	 surf.ss1.base_addr = region_bo->offset; /* reloc */
+	 surf.ss1.base_addr += region_bo->offset; /* reloc */
 
       surf.ss2.width = key.width - 1;
       surf.ss2.height = key.height - 1;
@@ -380,12 +384,12 @@ brw_update_region_surface(struct brw_context *brw, struct intel_region *region,
 	  * them both.  We might be able to figure out from other state
 	  * a more restrictive relocation to emit.
 	  */
-	 dri_bo_emit_reloc(brw->wm.surf_bo[unit],
-			   I915_GEM_DOMAIN_RENDER,
-			   I915_GEM_DOMAIN_RENDER,
-			   0,
-			   offsetof(struct brw_surface_state, ss1),
-			   region_bo);
+	 drm_intel_bo_emit_reloc(brw->wm.surf_bo[unit],
+				 offsetof(struct brw_surface_state, ss1),
+				 region_bo,
+				 key.draw_offset,
+				 I915_GEM_DOMAIN_RENDER,
+				 I915_GEM_DOMAIN_RENDER);
       }
    }
 }

commit dd56897b27875cacc1a01cef7c2d921915c94312
Author: Eric Anholt <eric@anholt.net>
Date:   Tue Feb 3 20:04:24 2009 -0800

    intel: Fix commented-out glViewport in intel_meta_set_passthrough_transform.
    
    Too much commit -a while debugging.
    (cherry picked from commit 8910da5b7a3b83d733f020dec906fe7b56c093c7)

diff --git a/src/mesa/drivers/dri/intel/intel_pixel.c b/src/mesa/drivers/dri/intel/intel_pixel.c
index f440a77..5e32288 100644
--- a/src/mesa/drivers/dri/intel/intel_pixel.c
+++ b/src/mesa/drivers/dri/intel/intel_pixel.c
@@ -183,7 +183,7 @@ intel_meta_set_passthrough_transform(struct intel_context *intel)
    intel->meta.saved_vp_height = ctx->Viewport.Height;
    intel->meta.saved_matrix_mode = ctx->Transform.MatrixMode;
 
-   /*   _mesa_Viewport(0, 0, ctx->DrawBuffer->Width, ctx->DrawBuffer->Height);*/
+   _mesa_Viewport(0, 0, ctx->DrawBuffer->Width, ctx->DrawBuffer->Height);
 
    _mesa_MatrixMode(GL_PROJECTION);
    _mesa_PushMatrix();
@@ -205,8 +205,8 @@ intel_meta_restore_transform(struct intel_context *intel)
 
    _mesa_MatrixMode(intel->meta.saved_matrix_mode);
 
-   /*   _mesa_Viewport(intel->meta.saved_vp_x, intel->meta.saved_vp_y,
-	intel->meta.saved_vp_width, intel->meta.saved_vp_height);*/
+   _mesa_Viewport(intel->meta.saved_vp_x, intel->meta.saved_vp_y,
+		  intel->meta.saved_vp_width, intel->meta.saved_vp_height);
 }
 
 /**

commit e8807a14a61a0b9389aa2f2a113da24ab22a364d
Author: Brian Paul <brianp@vmware.com>
Date:   Mon Apr 20 16:13:04 2009 -0600

    fixed intel front-buffer rendering segfault

diff --git a/docs/relnotes-7.4.2.html b/docs/relnotes-7.4.2.html
index 9b6017f..97e6e60 100644
--- a/docs/relnotes-7.4.2.html
+++ b/docs/relnotes-7.4.2.html
@@ -32,6 +32,7 @@ tbd
 
 <h2>Bug fixes</h2>
 <ul>
+<li>Fixed segfault when rendering to front buffer with DRI 1.
 </ul>
 
 

commit c38397866d514d7776b0f876123be5718802482b
Author: Brian Paul <brianp@vmware.com>
Date:   Mon Apr 20 16:12:16 2009 -0600

    intel: added null screen->dri2.loader pointer check
    
    Fixes front-buffer rendering with DRI1.

diff --git a/src/mesa/drivers/dri/intel/intel_context.c b/src/mesa/drivers/dri/intel/intel_context.c
index ddcd264..ecaf6b4 100644
--- a/src/mesa/drivers/dri/intel/intel_context.c
+++ b/src/mesa/drivers/dri/intel/intel_context.c
@@ -534,7 +534,8 @@ intel_flush(GLcontext *ctx, GLboolean needs_mi_flush)
    if ((ctx->DrawBuffer->Name == 0) && intel->front_buffer_dirty) {
       __DRIscreen *const screen = intel->intelScreen->driScrnPriv;
 
-      if ((screen->dri2.loader->base.version >= 2)
+      if (screen->dri2.loader
+          && (screen->dri2.loader->base.version >= 2)
 	  && (screen->dri2.loader->flushFrontBuffer != NULL)) {
 	 (*screen->dri2.loader->flushFrontBuffer)(intel->driDrawable,
 						  intel->driDrawable->loaderPrivate);

commit dce84002c25fee088a352410e75bff12ff548b3e
Author: Brian Paul <brianp@vmware.com>
Date:   Sat Apr 18 11:12:41 2009 -0600

    docs: create 7.4.2 release notes page

diff --git a/docs/relnotes-7.4.2.html b/docs/relnotes-7.4.2.html
new file mode 100644
index 0000000..9b6017f
--- /dev/null
+++ b/docs/relnotes-7.4.2.html
@@ -0,0 +1,59 @@
+<HTML>
+
+<TITLE>Mesa Release Notes</TITLE>
+
+<head><link rel="stylesheet" type="text/css" href="mesa.css"></head>
+
+<BODY>
+
+<body bgcolor="#eeeeee">
+
+<H1>Mesa 7.4.2 Release Notes / TBD</H1>
+
+<p>
+Mesa 7.4.2 is a stable development release fixing bugs since the 7.4.1 release.
+</p>
+<p>
+Mesa 7.4.2 implements the OpenGL 2.1 API, but the version reported by
+glGetString(GL_VERSION) depends on the particular driver being used.
+Some drivers don't support all the features required in OpenGL 2.1.
+</p>
+<p>
+See the <a href="install.html">Compiling/Installing page</a> for prerequisites
+for DRI ardware acceleration.
+</p>
+
+
+<h2>MD5 checksums</h2>
+<pre>
+tbd
+</pre>
+
+
+<h2>Bug fixes</h2>
+<ul>
+</ul>
+
+
+
+<h2>Driver Status</h2>
+
+<pre>
+Driver			Status
+----------------------	----------------------
+DRI drivers		varies with the driver
+XMesa/GLX (on Xlib)	implements OpenGL 2.1
+OSMesa (off-screen)	implements OpenGL 2.1
+Windows/Win32		implements OpenGL 2.1
+Glide (3dfx Voodoo1/2)	implements OpenGL 1.3
+SVGA			unsupported
+Wind River UGL		unsupported
+DJGPP			unsupported
+GGI			unsupported
+BeOS			unsupported
+Allegro			unsupported
+D3D			unsupported
+</pre>
+
+</body>
+</html>
diff --git a/docs/relnotes.html b/docs/relnotes.html
index 2a4790d..ca808af 100644
--- a/docs/relnotes.html
+++ b/docs/relnotes.html
@@ -20,6 +20,7 @@ The release notes summarize what's new or changed in each Mesa release.
 </p>
 
 <UL>
+<LI><A HREF="relnotes-7.4.2.html">7.4.2 release notes</A>
 <LI><A HREF="relnotes-7.4.1.html">7.4.1 release notes</A>
 <LI><A HREF="relnotes-7.4.html">7.4 release notes</A>
 <LI><A HREF="relnotes-7.3.html">7.3 release notes</A>

commit c490349825e2c5a11a5f598fb52a6f92597f694e
Author: Brian Paul <brianp@vmware.com>
Date:   Sat Apr 18 11:12:33 2009 -0600

    docs: remove unused sections

diff --git a/docs/relnotes-7.4.1.html b/docs/relnotes-7.4.1.html
index f959e56..6b225e6 100644
--- a/docs/relnotes-7.4.1.html
+++ b/docs/relnotes-7.4.1.html
@@ -38,11 +38,6 @@ aa0ad323e59d6d10ff33ac0dde462a60  MesaDemos-7.4.1.tar.gz
 </pre>
 
 
-<h2>New features</h2>
-<ul>
-</ul>
-
-
 <h2>Bug fixes</h2>
 <ul>
 <li>Fixed a two-sided lighting bug in fixed-function-to-GPU code generation
@@ -59,10 +54,6 @@ aa0ad323e59d6d10ff33ac0dde462a60  MesaDemos-7.4.1.tar.gz
 <li>Fixed glPopAttrib() bug when restoring user clip planes
 </ul>
 
-<h2>Changes</h2>
-<ul>
-</ul>
-
 
 
 <h2>Driver Status</h2>

commit f62d45fd0d61563d201e9dd219c447afbd246af9
Author: Brian Paul <brianp@vmware.com>
Date:   Sat Apr 18 11:03:25 2009 -0600

    docs: MD5 sums for 7.4.1 release

diff --git a/docs/relnotes-7.4.1.html b/docs/relnotes-7.4.1.html
index 9439f98..f959e56 100644
--- a/docs/relnotes-7.4.1.html
+++ b/docs/relnotes-7.4.1.html
@@ -26,7 +26,15 @@ for DRI ardware acceleration.
 
 <h2>MD5 checksums</h2>
 <pre>
-tbd
+0c3a72f3295a53a134c04bd7d209ea62  MesaLib-7.4.1.tar.gz
+423260578b653818ba66c2fcbde6d7ad  MesaLib-7.4.1.tar.bz2
+84f78b154d4bd5c3ecc42eeff2e56676  MesaLib-7.4.1.zip
+aa0ad323e59d6d10ff33ac0dde462a60  MesaDemos-7.4.1.tar.gz
+1e169fb6abc2b45613f1c98a82dfe690  MesaDemos-7.4.1.tar.bz2
+294e42be2d74176596c994ec23322fcf  MesaDemos-7.4.1.zip
+92373bfa48e7b68dddf356e86b0e5699  MesaGLUT-7.4.1.tar.gz
+336f3824b578b072211e0beecf4f04f4  MesaGLUT-7.4.1.tar.bz2
+20751388d8ef16b42d25d9e3d705d101  MesaGLUT-7.4.1.zip
 </pre>
 
 

commit b2dfc29a824764e9dc4cc6a506fcf11f32bd572f
Author: Brian Paul <brianp@vmware.com>
Date:   Sat Apr 18 10:51:41 2009 -0600

    intel: update driver date, remove RC3 designation

diff --git a/src/mesa/drivers/dri/intel/intel_context.c b/src/mesa/drivers/dri/intel/intel_context.c
index e91abd7..ddcd264 100644
--- a/src/mesa/drivers/dri/intel/intel_context.c
+++ b/src/mesa/drivers/dri/intel/intel_context.c
@@ -97,7 +97,7 @@ int INTEL_DEBUG = (0);
 
 #include "extension_helper.h"
 
-#define DRIVER_DATE                     "20090415 2009Q1 RC3"
+#define DRIVER_DATE                     "20090418 2009Q1"
 #define DRIVER_DATE_GEM                 "GEM " DRIVER_DATE
 
 static const GLubyte *

commit 7c1e61f41c940448962aa90b8cc837739055384e
Author: Brian Paul <brianp@vmware.com>
Date:   Sat Apr 18 10:49:35 2009 -0600

    mesa: bump version to 7.4.1

diff --git a/Makefile b/Makefile
index 0b46e37..4da55db 100644
--- a/Makefile
+++ b/Makefile
@@ -178,7 +178,7 @@ ultrix-gcc:
 
 # Rules for making release tarballs
 
-VERSION=7.4
+VERSION=7.4.1
 DIRECTORY = Mesa-$(VERSION)
 LIB_NAME = MesaLib-$(VERSION)
 DEMO_NAME = MesaDemos-$(VERSION)

commit 5654197d126d2fe7020edfc462ee529363a4182c
Author: Brian Paul <brianp@vmware.com>
Date:   Sat Apr 18 10:49:08 2009 -0600

    docs: prep for 7.4.1 release

diff --git a/docs/download.html b/docs/download.html
index 697eef5..877698e 100644
--- a/docs/download.html
+++ b/docs/download.html
@@ -9,7 +9,7 @@
 <H1>Downloading</H1>
 
 <p>
-Current stable release: <b>7.4</b>
+Current stable release: <b>7.4.1</b>
 <br>
 Last unstable/development release: <b>7.3</b>
 </p>
diff --git a/docs/news.html b/docs/news.html
index d34c273..e032a6a 100644
--- a/docs/news.html
+++ b/docs/news.html
@@ -11,6 +11,13 @@
 <H1>News</H1>
 
 
+<h2>April 18, 2009</h2>
+<p>
+<a href="relnotes-7.4.1.html">Mesa 7.4.1</a> is released.
+This is a stable release fixing bugs since the 7.4 release.
+</p>
+
+
 <h2>March 27, 2009</h2>
 <p>
 <a href="relnotes-7.4.html">Mesa 7.4</a> is released.
diff --git a/docs/relnotes-7.4.1.html b/docs/relnotes-7.4.1.html
index af6afe0..9439f98 100644
--- a/docs/relnotes-7.4.1.html
+++ b/docs/relnotes-7.4.1.html
@@ -8,7 +8,7 @@
 
 <body bgcolor="#eeeeee">
 
-<H1>Mesa 7.4.1 Release Notes / (date TBD)</H1>
+<H1>Mesa 7.4.1 Release Notes / 18 April 2009</H1>
 
 <p>
 Mesa 7.4.1 is a stable development release fixing bugs since the 7.4 release.

commit 87cb55e9c6e129fa6f286dc30e110177e9975297
Author: Brian Paul <brianp@vmware.com>
Date:   Sat Apr 18 10:48:57 2009 -0600

    mesa: bump version to 7.4.1

diff --git a/configs/default b/configs/default
index 7b79cf2..2970b45 100644
--- a/configs/default
+++ b/configs/default
@@ -9,8 +9,8 @@ CONFIG_NAME = default
 
 # Version info
 MESA_MAJOR=7
-MESA_MINOR=3
-MESA_TINY=0
+MESA_MINOR=4
+MESA_TINY=1
 MESA_VERSION = $(MESA_MAJOR).$(MESA_MINOR).$(MESA_TINY)
 
 # external projects.  This should be useless now that we use libdrm.
diff --git a/src/mesa/main/version.h b/src/mesa/main/version.h
index 84dcb26..81fc32b 100644
--- a/src/mesa/main/version.h
+++ b/src/mesa/main/version.h
@@ -1,6 +1,6 @@
 /*
  * Mesa 3-D graphics library
- * Version:  7.4
+ * Version:  7.4.1
  *
  * Copyright (C) 1999-2008  Brian Paul   All Rights Reserved.
  *
@@ -31,7 +31,7 @@
 #define MESA_MAJOR 7
 #define MESA_MINOR 4
 #define MESA_PATCH 0
-#define MESA_VERSION_STRING "7.4"
+#define MESA_VERSION_STRING "7.4.1"
 
 /* To make version comparison easy */
 #define MESA_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))

commit e7d499f9356247cf0a2dc31f950460c4f6a0db35
Author: Brian Paul <brianp@vmware.com>
Date:   Sat Apr 18 10:21:00 2009 -0600

    mesa: add switch case for GL_VERTEX_STATE_PROGRAM_NV in _mesa_new_program()
    
    Fixes bug seen in progs/tests/vptest1.c
    
    (cherry picked from master, commit c5af2ed60fa4fe3f33b53a8e252e24cfa490a156)

diff --git a/src/mesa/shader/program.c b/src/mesa/shader/program.c
index 828db38..aa6c6c4 100644
--- a/src/mesa/shader/program.c
+++ b/src/mesa/shader/program.c
@@ -296,6 +296,7 @@ _mesa_new_program(GLcontext *ctx, GLenum target, GLuint id)
    struct gl_program *prog;
    switch (target) {
    case GL_VERTEX_PROGRAM_ARB: /* == GL_VERTEX_PROGRAM_NV */
+   case GL_VERTEX_STATE_PROGRAM_NV:
       prog = _mesa_init_vertex_program(ctx, CALLOC_STRUCT(gl_vertex_program),
                                        target, id );
       break;

commit 51e7600d770083c5e29c884a4c688e911def3e93
Author: Michel Dänzer <daenzer@vmware.com>
Date:   Sat Apr 18 15:47:14 2009 +0200

    intel: Handle ARB_vertex_buffer_object state in intel_clear_tris().
    
    Fixes gearsvbo app by Michael Clark.
    (cherry picked from commit 54fb6f0053dc153b76a2e6a242bac376c6723279)

diff --git a/src/mesa/drivers/dri/intel/intel_clear.c b/src/mesa/drivers/dri/intel/intel_clear.c
index 044e9d3..7be87ce 100644
--- a/src/mesa/drivers/dri/intel/intel_clear.c
+++ b/src/mesa/drivers/dri/intel/intel_clear.c
@@ -148,6 +148,11 @@ intel_clear_tris(GLcontext *ctx, GLbitfield mask)
       }
    }
 
+#if FEATURE_ARB_vertex_buffer_object
+   _mesa_BindBufferARB(GL_ARRAY_BUFFER_ARB, 0);
+   _mesa_BindBufferARB(GL_ELEMENT_ARRAY_BUFFER_ARB, 0);
+#endif
+
    intel_meta_set_passthrough_transform(intel);
 
    for (i = 0; i < 4; i++) {

commit 69b17abd6bd969f90ed2a86b898dcb13efe13878
Author: Brian Paul <brianp@vmware.com>
Date:   Fri Apr 17 16:14:39 2009 -0600

    intel: make sure polygon mode is set properly in intel_clear_tris()
    
    Fixes progs/glsl/skinning.c demo.
    
    (cherry picked from master, commit 794d488e6dc795c225505b8c00a7f00f1960a5ad)

diff --git a/src/mesa/drivers/dri/intel/intel_clear.c b/src/mesa/drivers/dri/intel/intel_clear.c
index c3ba50f..044e9d3 100644
--- a/src/mesa/drivers/dri/intel/intel_clear.c
+++ b/src/mesa/drivers/dri/intel/intel_clear.c
@@ -93,6 +93,7 @@ intel_clear_tris(GLcontext *ctx, GLbitfield mask)
 		    GL_CURRENT_BIT |
 		    GL_DEPTH_BUFFER_BIT |
 		    GL_ENABLE_BIT |
+		    GL_POLYGON_BIT |
 		    GL_STENCIL_BUFFER_BIT |
 		    GL_TRANSFORM_BIT |
 		    GL_CURRENT_BIT);
@@ -114,6 +115,7 @@ intel_clear_tris(GLcontext *ctx, GLbitfield mask)
    _mesa_Disable(GL_CLIP_PLANE3);
    _mesa_Disable(GL_CLIP_PLANE4);
    _mesa_Disable(GL_CLIP_PLANE5);
+   _mesa_PolygonMode(GL_FRONT_AND_BACK, GL_FILL);
    if (ctx->Extensions.ARB_fragment_program && ctx->FragmentProgram.Enabled) {
       saved_fp_enable = GL_TRUE;
       _mesa_Disable(GL_FRAGMENT_PROGRAM_ARB);

commit a975da7aca34883bc2a723306fbf95a3365a65d8
Author: Brian Paul <brianp@vmware.com>
Date:   Thu Apr 16 10:16:38 2009 -0600

    docs: fixed user clip plane restore bug in glPopAttrib()

diff --git a/docs/relnotes-7.4.1.html b/docs/relnotes-7.4.1.html
index e7cec4b..af6afe0 100644
--- a/docs/relnotes-7.4.1.html
+++ b/docs/relnotes-7.4.1.html
@@ -48,6 +48,7 @@ tbd
 <li>Fixed potential deadlock in object hash functions
 <li>Fix a couple bugs surrounding front-buffer rendering with DRI2, but this
     is not quite complete.
+<li>Fixed glPopAttrib() bug when restoring user clip planes
 </ul>
 
 <h2>Changes</h2>

commit ecf47b504656b47410664cbe3e5b7bfad5cc0db4
Author: Brian Paul <brianp@vmware.com>
Date:   Thu Apr 16 10:16:26 2009 -0600

    mesa: fix bad mask bit in clip plane restore code for glPopAttrib()
    
    (cherry picked from master commit d82876e850960eb5e3799c4ab02b618c4b548fd8)

diff --git a/src/mesa/main/attrib.c b/src/mesa/main/attrib.c
index ef1273d..a549512 100644
--- a/src/mesa/main/attrib.c
+++ b/src/mesa/main/attrib.c
@@ -1176,7 +1176,7 @@ _mesa_PopAttrib(void)
 
                /* restore clip planes */
                for (i = 0; i < MAX_CLIP_PLANES; i++) {
-                  const GLuint mask = 1 << 1;
+                  const GLuint mask = 1 << i;
                   const GLfloat *eyePlane = xform->EyeUserPlane[i];
                   COPY_4V(ctx->Transform.EyeUserPlane[i], eyePlane);
                   if (xform->ClipPlanesEnabled & mask) {

commit fed8dc53ad46e71bed8d53e4ccdbe4547ad11814
Author: Brian Paul <brianp@vmware.com>
Date:   Thu Apr 16 09:34:06 2009 -0600

    mesa: add distclean target to top-level Makefile
    
    (cherry picked from master, commit 666702baec09f60f7e1eddd9f1dd65ee2e826abb)

diff --git a/Makefile b/Makefile
index 726b263..0b46e37 100644
--- a/Makefile
+++ b/Makefile
@@ -35,6 +35,8 @@ realclean: clean
 	  -name depend -o -name depend.bak ')' -exec rm -f '{}' ';'
 
 
+distclean: realclean
+
 
 install:
 	@for dir in $(SUBDIRS) ; do \
@@ -48,7 +50,9 @@ install:
 linux-directfb-install:
 	cd src/mesa/drivers/directfb && $(MAKE) install
 
-.PHONY: default doxygen clean realclean install linux-directfb-install
+
+.PHONY: default doxygen clean realclean distclean install linux-directfb-install
+
 
 # If there's no current configuration file
 $(TOP)/configs/current:

commit 1f462e26c0c9ab93d2300bb1d4463e63e393332a
Author: Brian Paul <brianp@vmware.com>
Date:   Thu Apr 16 09:26:54 2009 -0600

    demos: use larger buffer for snprintf() call, see bug 21220
    
    (cherry picked from master, commit 0d0028e6df3542272ce833fec2e7af99d762fe8f)

diff --git a/progs/samples/blendeq.c b/progs/samples/blendeq.c
index d5143ec..48dea04 100644
--- a/progs/samples/blendeq.c
+++ b/progs/samples/blendeq.c


Reply to: