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

mesa: Changes to 'upstream-unstable'



 .gitignore                                       |    1 
 Makefile                                         |   21 
 bin/mklib                                        |   30 
 configs/aix-gcc                                  |    4 
 configs/beos                                     |    4 
 configs/bluegene-osmesa                          |    4 
 configs/bluegene-xlc-osmesa                      |   29 
 configs/catamount-osmesa-pgi                     |   32 
 configs/darwin                                   |    4 
 configs/darwin-static                            |    4 
 configs/darwin-static-x86ppc                     |    4 
 configs/darwin-x86ppc                            |    4 
 configs/default                                  |    9 
 configs/freebsd                                  |    4 
 configs/freebsd-dri                              |    4 
 configs/hpux10-gcc                               |    4 
 configs/linux                                    |    4 
 configs/linux-alpha                              |    4 
 configs/linux-alpha-static                       |    4 
 configs/linux-directfb                           |    4 
 configs/linux-dri                                |    9 
 configs/linux-dri-x86                            |    3 
 configs/linux-dri-xcb                            |   12 
 configs/linux-fbdev                              |    3 
 configs/linux-glide                              |    3 
 configs/linux-indirect                           |    3 
 configs/linux-osmesa                             |    3 
 configs/linux-osmesa16                           |    3 
 configs/linux-osmesa16-static                    |    4 
 configs/linux-osmesa32                           |    3 
 configs/linux-ppc-static                         |    1 
 configs/linux-solo                               |    3 
 configs/linux-solo-x86                           |    3 
 configs/linux-static                             |    5 
 configs/linux-x86-64-static                      |    4 
 configs/linux-x86-glide                          |    3 
 configs/linux-x86-static                         |    4 
 configs/netbsd                                   |    3 
 configs/openbsd                                  |    4 
 configs/solaris-x86-gcc                          |    4 
 configs/solaris-x86-gcc-static                   |    4 
 configs/sunos4-gcc                               |    4 
 configs/sunos5-gcc                               |    4 
 configs/sunos5-v9-cc-g++                         |    3 
 configs/ultrix-gcc                               |    4 
 docs/download.html                               |    2 
 docs/fbdev-dri.html                              |    6 
 docs/helpwanted.html                             |   39 
 docs/install.html                                |   83 -
 docs/license.html                                |   29 
 docs/modelers.html                               |    2 
 docs/news.html                                   |    9 
 docs/relnotes-7.0.1.html                         |    9 
 docs/relnotes-7.0.2.html                         |   88 +
 docs/relnotes.html                               |    1 
 include/GL/glu.h                                 |   27 
 progs/beos/.gitignore                            |    3 
 progs/beos/Makefile                              |   10 
 progs/demos/.gitignore                           |   14 
 progs/demos/Makefile                             |   14 
 progs/directfb/.gitignore                        |    4 
 progs/directfb/Makefile                          |    4 
 progs/egl/.gitignore                             |    5 
 progs/egl/Makefile                               |   10 
 progs/fbdev/.gitignore                           |    1 
 progs/fbdev/Makefile                             |    3 
 progs/fp/.gitignore                              |   42 
 progs/fp/Makefile                                |    2 
 progs/glsl/.gitignore                            |   13 
 progs/glsl/Makefile                              |    6 
 progs/glsl/bump.c                                |    6 
 progs/glsl/mandelbrot.c                          |    6 
 progs/glsl/noise.c                               |    2 
 progs/glsl/toyball.c                             |    6 
 progs/miniglx/.gitignore                         |    6 
 progs/miniglx/Makefile                           |    4 
 progs/osdemos/.gitignore                         |    8 
 progs/osdemos/Makefile                           |   12 
 progs/redbook/Makefile                           |    4 
 progs/samples/.gitignore                         |   32 
 progs/samples/Makefile                           |    6 
 progs/slang/.gitignore                           |    3 
 progs/slang/Makefile                             |    8 
 progs/tests/.gitignore                           |   10 
 progs/tests/Makefile                             |   26 
 progs/tools/trace/.gitignore                     |    1 
 progs/tools/trace/Makefile                       |    2 
 progs/trivial/.gitignore                         |   65 +
 progs/trivial/Makefile                           |    8 
 progs/vp/.gitignore                              |    1 
 progs/vp/Makefile                                |    4 
 progs/xdemos/.gitignore                          |   11 
 progs/xdemos/Makefile                            |   24 
 src/egl/drivers/demo/Makefile                    |    2 
 src/egl/drivers/dri/Makefile                     |    2 
 src/egl/main/Makefile                            |    2 
 src/glu/Makefile                                 |   16 
 src/glu/glu.pc.in                                |   11 
 src/glu/mesa/Makefile                            |    2 
 src/glu/sgi/Makefile                             |    2 
 src/glu/sgi/libutil/project.c                    |  115 --
 src/glut/beos/Makefile                           |    3 
 src/glut/directfb/Makefile                       |    2 
 src/glut/fbdev/Makefile                          |   10 
 src/glut/ggi/Makefile                            |    2 
 src/glut/glx/Makefile                            |   22 
 src/glut/glx/glut.pc.in                          |   11 
 src/glut/mini/Makefile                           |    2 
 src/glw/Makefile                                 |   22 
 src/glw/glw.pc.in                                |   11 
 src/glx/mini/Makefile                            |    2 
 src/glx/x11/Makefile                             |    2 
 src/glx/x11/glxext.c                             |    7 
 src/glx/x11/indirect_vertex_array.c              |   14 
 src/mesa/Makefile                                |   44 
 src/mesa/drivers/beos/Makefile                   |    3 
 src/mesa/drivers/dri/Makefile.template           |    6 
 src/mesa/drivers/dri/common/dri_bufmgr.c         |    2 
 src/mesa/drivers/dri/common/extension_helper.h   |   18 
 src/mesa/drivers/dri/common/spantmp2.h           |    2 
 src/mesa/drivers/dri/glcore/Makefile             |    3 
 src/mesa/drivers/dri/i810/i810screen.c           |    2 
 src/mesa/drivers/dri/i915/i915_texstate.c        |   19 
 src/mesa/drivers/dri/i915/intel_context.c        |    8 
 src/mesa/drivers/dri/i915/intel_context.h        |    4 
 src/mesa/drivers/dri/i915/intel_screen.c         |    4 
 src/mesa/drivers/dri/i915/intel_tex.c            |    6 
 src/mesa/drivers/dri/i915tex/i830_vtbl.c         |   10 
 src/mesa/drivers/dri/i915tex/i915_metaops.c      |    2 
 src/mesa/drivers/dri/i915tex/i915_tex_layout.c   |    2 
 src/mesa/drivers/dri/i915tex/i915_vtbl.c         |   10 
 src/mesa/drivers/dri/i915tex/intel_blit.c        |    3 
 src/mesa/drivers/dri/i915tex/intel_buffers.c     |    9 
 src/mesa/drivers/dri/i915tex/intel_context.c     |   12 
 src/mesa/drivers/dri/i915tex/intel_context.h     |    4 
 src/mesa/drivers/dri/i915tex/intel_mipmap_tree.c |   25 
 src/mesa/drivers/dri/i915tex/intel_screen.c      |    4 
 src/mesa/drivers/dri/i965/brw_aub.c              |   16 
 src/mesa/drivers/dri/i965/brw_clip.c             |    4 
 src/mesa/drivers/dri/i965/brw_curbe.c            |    2 
 src/mesa/drivers/dri/i965/brw_draw.c             |    6 
 src/mesa/drivers/dri/i965/brw_sf_emit.c          |    4 
 src/mesa/drivers/dri/i965/brw_vs_tnl.c           |   11 
 src/mesa/drivers/dri/i965/brw_wm_fp.c            |   52 
 src/mesa/drivers/dri/i965/brw_wm_sampler_state.c |    8 
 src/mesa/drivers/dri/i965/brw_wm_state.c         |    2 
 src/mesa/drivers/dri/i965/intel_buffers.c        |   36 
 src/mesa/drivers/dri/i965/intel_context.c        |   10 
 src/mesa/drivers/dri/i965/intel_context.h        |    3 
 src/mesa/drivers/dri/i965/intel_pixel_bitmap.c   |   19 
 src/mesa/drivers/dri/i965/intel_pixel_copy.c     |    5 
 src/mesa/drivers/dri/i965/intel_state.c          |   25 
 src/mesa/drivers/dri/i965/server/i830_common.h   |   10 
 src/mesa/drivers/dri/r200/r200_context.h         |    1 
 src/mesa/drivers/dri/r200/r200_tex.h             |    4 
 src/mesa/drivers/dri/r200/r200_texmem.c          |    5 
 src/mesa/drivers/dri/r200/r200_texstate.c        |   94 +
 src/mesa/drivers/dri/radeon/radeon_screen.c      |    4 
 src/mesa/drivers/dri/unichrome/via_context.c     |    9 
 src/mesa/drivers/dri/unichrome/via_tris.c        |   27 
 src/mesa/drivers/windows/gdi/wmesa.c             |   95 +
 src/mesa/drivers/x11/xm_dd.c                     |   13 
 src/mesa/gl.pc.in                                |   11 
 src/mesa/glapi/dispatch.h                        |   17 
 src/mesa/glapi/gl_API.xml                        |   31 
 src/mesa/glapi/glapioffsets.h                    |   12 
 src/mesa/glapi/glapitable.h                      |   11 
 src/mesa/glapi/glapitemp.h                       |   33 
 src/mesa/glapi/glprocs.h                         |  562 +++++-----
 src/mesa/main/api_validate.c                     |  150 +-
 src/mesa/main/attrib.c                           |  203 ++-
 src/mesa/main/attrib.h                           |    4 
 src/mesa/main/context.c                          |  108 +-
 src/mesa/main/dlist.c                            |    6 
 src/mesa/main/enable.c                           |   13 
 src/mesa/main/enums.c                            | 1208 +++++++++++------------
 src/mesa/main/fbobject.c                         |   27 
 src/mesa/main/framebuffer.c                      |   13 
 src/mesa/main/glheader.h                         |    2 
 src/mesa/main/image.c                            |    2 
 src/mesa/main/light.c                            |    9 
 src/mesa/main/lines.c                            |    5 
 src/mesa/main/mtypes.h                           |    7 
 src/mesa/main/points.c                           |    6 
 src/mesa/main/polygon.c                          |    5 
 src/mesa/main/state.c                            |   43 
 src/mesa/main/stencil.c                          |  295 ++---
 src/mesa/main/stencil.h                          |    7 
 src/mesa/main/texenvprogram.c                    |   15 
 src/mesa/main/texobj.c                           |  219 ++--
 src/mesa/main/texobj.h                           |    4 
 src/mesa/main/texstate.c                         |   93 -
 src/mesa/main/version.h                          |    6 
 src/mesa/shader/arbprogparse.c                   |  116 +-
 src/mesa/shader/atifragshader.c                  |    4 
 src/mesa/shader/prog_statevars.c                 |    2 
 src/mesa/shader/shader_api.c                     |    8 
 src/mesa/sparc/glapi_sparc.S                     |    2 
 src/mesa/swrast/s_copypix.c                      |   11 
 src/mesa/swrast/s_pointtemp.h                    |    4 
 src/mesa/swrast/s_span.c                         |    7 
 src/mesa/swrast_setup/ss_tritmp.h                |   18 
 src/mesa/tnl/t_draw.c                            |    7 
 src/mesa/tnl/t_vb_fog.c                          |   43 
 src/mesa/tnl/t_vertex_sse.c                      |   16 
 src/mesa/tnl/t_vp_build.c                        |   71 -
 src/mesa/vbo/vbo_save_draw.c                     |    6 
 src/mesa/vbo/vbo_split_copy.c                    |    9 
 src/mesa/x86-64/glapi_x86-64.S                   |   46 
 src/mesa/x86-64/xform4.S                         |   10 
 src/mesa/x86/glapi_x86.S                         |   13 
 src/mesa/x86/read_rgba_span_x86.S                |  133 --
 src/mesa/x86/rtasm/x86sse.c                      |   25 
 src/mesa/x86/rtasm/x86sse.h                      |    3 
 windows/VC7/mesa/gdi/gdi.vcproj                  |  376 +++----
 windows/VC7/mesa/glu/glu.vcproj                  |   66 -
 windows/VC7/mesa/mesa.sln                        |   20 
 windows/VC7/mesa/mesa/mesa.vcproj                |  294 ++++-
 windows/VC7/mesa/osmesa/osmesa.vcproj            |   18 
 219 files changed, 3897 insertions(+), 2445 deletions(-)

New commits:
commit 8a40b670c3babc31f96d08bce16fe10eb718fa8f
Author: Brian <brian.paul@tungstengraphics.com>
Date:   Sat Nov 10 09:53:00 2007 -0700

    added md5 checksums

diff --git a/docs/relnotes-7.0.2.html b/docs/relnotes-7.0.2.html
index 55d126e..7a7c70f 100644
--- a/docs/relnotes-7.0.2.html
+++ b/docs/relnotes-7.0.2.html
@@ -17,6 +17,15 @@ Mesa 7.0.2 is a stable release with bug fixes since version 7.0.
 
 <h2>MD5 checksums</h2>
 <pre>
+c9cf607f36e7e50172f5f9c7d552c34e  MesaLib-7.0.2.tar.gz
+93e6ed7924ff069a4f883b4fce5349dc  MesaLib-7.0.2.tar.bz2
+10c324c3613f90f059cb8429f700f300  MesaLib-7.0.2.zip
+aa8b1244a5de1d23e5814bf9b67f1435  MesaDemos-7.0.2.tar.gz
+11a10410bae7be85cf25bc7119966468  MesaDemos-7.0.2.tar.bz2
+1dd0b5fd6d69430a2fd76a6adbfd8fff  MesaDemos-7.0.2.zip
+a7dbf25c025955858bd2d89a6eb6db4c  MesaGLUT-7.0.2.tar.gz
+3a33f8efc8c58a592a854cfc7a643286  MesaGLUT-7.0.2.tar.bz2
+eba4ef2aa8c362ead81b54357f1903a3  MesaGLUT-7.0.2.zip
 </pre>
 
 

commit d9fa5cbfc906ae545135248fbf5086d0ba3db84a
Author: Brian <brian.paul@tungstengraphics.com>
Date:   Sat Nov 10 09:41:52 2007 -0700

    final changes for 7.0.2 relesae

diff --git a/Makefile b/Makefile
index 26e764c..fe0c354 100644
--- a/Makefile
+++ b/Makefile
@@ -166,10 +166,10 @@ ultrix-gcc:
 
 # Rules for making release tarballs
 
-DIRECTORY = Mesa-7.0.2-rc2
-LIB_NAME = MesaLib-7.0.2-rc2
-DEMO_NAME = MesaDemos-7.0.2-rc2
-GLUT_NAME = MesaGLUT-7.0.2-rc2
+DIRECTORY = Mesa-7.0.2
+LIB_NAME = MesaLib-7.0.2
+DEMO_NAME = MesaDemos-7.0.2
+GLUT_NAME = MesaGLUT-7.0.2
 
 MAIN_FILES = \
 	$(DIRECTORY)/Makefile*						\
diff --git a/docs/news.html b/docs/news.html
index 8694ce4..79fc599 100644
--- a/docs/news.html
+++ b/docs/news.html
@@ -11,7 +11,7 @@
 <H1>News</H1>
 
 
-<h2>September ??, 2007</h2>
+<h2>November 10, 2007</h2>
 <p>
 <a href="relnotes-7.0.2.html">Mesa 7.0.2</a> is released.
 This is a bug-fix release.
diff --git a/docs/relnotes-7.0.2.html b/docs/relnotes-7.0.2.html
index 39af8e9..55d126e 100644
--- a/docs/relnotes-7.0.2.html
+++ b/docs/relnotes-7.0.2.html
@@ -8,7 +8,7 @@
 
 <body bgcolor="#eeeeee">
 
-<H1>Mesa 7.0.2 Release Notes / (TBD) 2007</H1>
+<H1>Mesa 7.0.2 Release Notes / November 10, 2007</H1>
 
 <p>
 Mesa 7.0.2 is a stable release with bug fixes since version 7.0.
@@ -56,19 +56,6 @@ Mesa 7.0.2 is a stable release with bug fixes since version 7.0.
 </ul>
 
 
-<h2>Changes</h2>
-<ul>
-</ul>
-
-
-<h2>To Do (someday) items</h2>
-<ul>
-<li>Switch to freeglut
-<li>Fix linux-glide target/driver.
-<li>Improved lambda and derivative calculation for frag progs.
-</ul>
-
-
 <h2>Driver Status</h2>
 
 <pre>

commit 1c21564292cba75d3309d141222c29d1081c54ea
Author: Benno Schulenberg <bensberg@justemail.net>
Date:   Fri Nov 9 08:53:41 2007 -0700

    code clean-ups, reformatting

diff --git a/src/mesa/drivers/dri/unichrome/via_tris.c b/src/mesa/drivers/dri/unichrome/via_tris.c
index 73e6626..b97dacd 100644
--- a/src/mesa/drivers/dri/unichrome/via_tris.c
+++ b/src/mesa/drivers/dri/unichrome/via_tris.c
@@ -625,13 +625,12 @@ static void viaFastRenderClippedPoly(GLcontext *ctx, const GLuint *elts,
     }
 }
 
+
 /**********************************************************************/
 /*                    Choose render functions                         */
 /**********************************************************************/
 
 
-
-
 #define _VIA_NEW_VERTEX (_NEW_TEXTURE |                         \
                          _DD_NEW_SEPARATE_SPECULAR |            \
                          _DD_NEW_TRI_UNFILLED |                 \
@@ -665,16 +664,17 @@ static void viaChooseRenderState(GLcontext *ctx)
       vmesa->drawTri = via_draw_triangle;
    }
 
-   if (flags & (ANY_FALLBACK_FLAGS|ANY_RASTER_FLAGS)) {
+   if (flags & (ANY_FALLBACK_FLAGS | ANY_RASTER_FLAGS)) {
       if (ctx->Light.Enabled && ctx->Light.Model.TwoSide)
          index |= VIA_TWOSIDE_BIT;
-      if (flags & DD_TRI_OFFSET)           index |= VIA_OFFSET_BIT;
       if (ctx->Polygon.FrontMode != GL_FILL || ctx->Polygon.BackMode != GL_FILL)
          index |= VIA_UNFILLED_BIT;
-      if (flags & ANY_FALLBACK_FLAGS)      index |= VIA_FALLBACK_BIT;
+      if (flags & DD_TRI_OFFSET)
+         index |= VIA_OFFSET_BIT;
+      if (flags & ANY_FALLBACK_FLAGS)
+         index |= VIA_FALLBACK_BIT;
 
-      /* Hook in fallbacks for specific primitives.
-       */
+      /* Hook in fallbacks for specific primitives. */
       if (flags & POINT_FALLBACK)
 	 vmesa->drawPoint = via_fallback_point;
       
@@ -685,11 +685,8 @@ static void viaChooseRenderState(GLcontext *ctx)
 	 vmesa->drawTri = via_fallback_tri;
    }
 
-
-   if ((flags & DD_SEPARATE_SPECULAR) &&
-       ctx->Light.ShadeModel == GL_FLAT) {
+   if ((flags & DD_SEPARATE_SPECULAR) && ctx->Light.ShadeModel == GL_FLAT)
       index = VIA_MAX_TRIFUNC;	/* flat specular */
-   }
 
    if (vmesa->renderIndex != index) {
       vmesa->renderIndex = index;

commit 6cc96bf156519d6d4e2d17ea0ce9ca68661a3991
Author: Benno Schulenberg <bensberg@justemail.net>
Date:   Fri Nov 9 08:53:15 2007 -0700

    remove commented-out code

diff --git a/src/mesa/x86/read_rgba_span_x86.S b/src/mesa/x86/read_rgba_span_x86.S
index 8509df6..2e5c3be 100644
--- a/src/mesa/x86/read_rgba_span_x86.S
+++ b/src/mesa/x86/read_rgba_span_x86.S
@@ -33,20 +33,7 @@
 	.file	"read_rgba_span_x86.S"
 #if !defined(__DJGPP__) && !defined(__MINGW32__) /* this one cries for assyntax.h */
 /* Kevin F. Quinn 2nd July 2006
- * Replace data segment constants with text-segment instructions
-	.section	.rodata
-	.align 16
-	.type	mask, @object
-	.size	mask, 32
-mask:
-	.long	0xff00ff00
-	.long	0xff00ff00
-	.long	0xff00ff00
-	.long	0xff00ff00
-	.long	0x00ff0000
-	.long	0x00ff0000
-	.long	0x00ff0000
-	.long	0x00ff0000
+ * Replaced data segment constants with text-segment instructions.
  */
 #define	LOAD_MASK(mvins,m1,m2) \
    	pushl	$0xff00ff00 ;\
@@ -61,8 +48,7 @@ mask:
 	mvins	(%esp), m2	;\
 	addl	$32, %esp
 
-
-/* I implemented these as macros because the appear in quite a few places,
+/* I implemented these as macros because they appear in several places,
  * and I've tweaked them a number of times.  I got tired of changing every
  * place they appear. :)
  */
@@ -99,11 +85,6 @@ _generic_read_RGBA_span_BGRA8888_REV_MMX:
 #ifdef USE_INNER_EMMS
 	emms
 #endif
-/* Kevin F. Quinn 2nd July 2006
- * Replace data segment constants with text-segment instructions
-	movq	mask, %mm1
-	movq	mask+16, %mm2
- */
 	LOAD_MASK(movq,%mm1,%mm2)
 
 	movl	8(%esp), %ebx	/* source pointer */
@@ -201,11 +182,7 @@ _generic_read_RGBA_span_BGRA8888_REV_SSE:
 #ifdef USE_INNER_EMMS
 	emms
 #endif
-/* Kevin F. Quinn 2nd July 2006
- * Replace data segment constants with text-segment instructions
-	movq	mask, %mm1
-	movq	mask+16, %mm2
- */
+
 	LOAD_MASK(movq,%mm1,%mm2)
 
 	movl	16(%esp), %ebx	/* source pointer */
@@ -364,11 +341,6 @@ _generic_read_RGBA_span_BGRA8888_REV_SSE2:
 	pushl	%esi
 	pushl	%ebx
 
-/* Kevin F. Quinn 2nd July 2006
- * Replace data segment constants with text-segment instructions
-	movdqa	mask, %xmm1
-	movdqa	mask+16, %xmm2
- */
 	LOAD_MASK(movdqu,%xmm1,%xmm2)
 
 	movl	12(%esp), %ebx	/* source pointer */
@@ -491,60 +463,12 @@ _generic_read_RGBA_span_BGRA8888_REV_SSE2:
 
 
 
-/* Kevin F. Quinn 2nd July 2006
- * Replace data segment constants with text-segment instructions
- */
-#if 0
-	.section	.rodata
-
-	.align	16
-mask_565:
-	.word	0xf800
-	.word	0x07e0
-	.word	0x001f
-	.word	0x0000
-
-/* Setting SCALE_ADJUST to 5 gives a perfect match with the classic C
- * implementation in Mesa.  Setting SCALE_ADJUST to 0 is slightly faster but
- * at a small cost to accuracy.
- */
-
-#define SCALE_ADJUST	5
-#if SCALE_ADJUST == 5
-prescale:
-	.word	0x0001
-	.word	0x0010
-	.word	0x0200
-	.word	0x0000
-
-scale:
-	.word	0x20e8		/* (0x00ff0000 / 0x000007c0) + 1 */
-	.word	0x40c5		/* (0x00ff0000 / 0x000003f0) + 1 */
-	.word	0x839d		/* (0x00ff0000 / 0x000001f0) + 1 */
-	.word	0x0000
-#elif SCALE_ADJUST == 0
-prescale:
-	.word	0x0001
-	.word	0x0020
-	.word	0x0800
-	.word	0x0000
-
-scale:
-	.word	0x0108		/* (0x00ff0000 / 0x0000f800) + 1 */
-	.word	0x0104		/* (0x00ff0000 / 0x0000fc00) + 1 */
-	.word	0x0108		/* (0x00ff0000 / 0x0000f800) + 1 */
-	.word	0x0000
-#else
-#error SCALE_ADJUST must either be 5 or 0.
-#endif
-
-
-alpha:	.long	0x00000000
-	.long	0x00ff0000
-#endif
-
 #define MASK_565_L	0x07e0f800
 #define MASK_565_H	0x0000001f
+/* Setting SCALE_ADJUST to 5 gives a perfect match with the
+ * classic C implementation in Mesa.  Setting SCALE_ADJUST
+ * to 0 is slightly faster but at a small cost to accuracy.
+ */
 #define SCALE_ADJUST	5
 #if SCALE_ADJUST == 5
 #define PRESCALE_L 0x00100001
@@ -581,12 +505,6 @@ _generic_read_RGBA_span_RGB565_MMX:
 	movl	8(%esp), %edx	/* destination pointer */
 	movl	12(%esp), %ecx	/* number of pixels to copy */
 
-/* Kevin F. Quinn 2nd July 2006
- * Replace data segment constants with text-segment instructions
-	movq	mask_565, %mm5
-	movq	prescale, %mm6
-	movq	scale, %mm7
- */
 	pushl	$MASK_565_H
 	pushl	$MASK_565_L
 	movq	(%esp), %mm5
@@ -648,11 +566,6 @@ _generic_read_RGBA_span_RGB565_MMX:
 	/* Always set the alpha value to 0xff.
 	 */
 
-/* Kevin F. Quinn 2nd July 2006
- * Replace data segment constants with text-segment instructions
-	por	alpha, %mm0
-	por	alpha, %mm2
- */
  	por %mm3, %mm0
  	por %mm3, %mm2
 
@@ -665,8 +578,6 @@ _generic_read_RGBA_span_RGB565_MMX:
 	movq	%mm0, (%edx)
 	addl	$8, %edx
 
-
-
 	pshufw	$0xaa, %mm4, %mm0
 	pshufw	$0xff, %mm4, %mm2
 
@@ -681,11 +592,6 @@ _generic_read_RGBA_span_RGB565_MMX:
 	pmulhuw	%mm7, %mm0
 	pmulhuw	%mm7, %mm2
 
-/* Kevin F. Quinn 2nd July 2006
- * Replace data segment constants with text-segment instructions
-	por	alpha, %mm0
-	por	alpha, %mm2
- */
  	por %mm3, %mm0
  	por %mm3, %mm2
 
@@ -724,11 +630,6 @@ _generic_read_RGBA_span_RGB565_MMX:
 	pmulhuw	%mm7, %mm0
 	pmulhuw	%mm7, %mm2
 
-/* Kevin F. Quinn 2nd July 2006
- * Replace data segment constants with text-segment instructions
-	por	alpha, %mm0
-	por	alpha, %mm2
- */
  	por %mm3, %mm0
  	por %mm3, %mm2
 
@@ -757,10 +658,6 @@ _generic_read_RGBA_span_RGB565_MMX:
 #endif
 	pmulhuw	%mm7, %mm0
 
-/* Kevin F. Quinn 2nd July 2006
- * Replace data segment constants with text-segment instructions
-	por	alpha, %mm0
- */
  	por %mm3, %mm0
 
 	packuswb	%mm0, %mm0

commit 29afd4bbc453e947d31006a80e121b08b880b8ba
Author: Brian <brian.paul@tungstengraphics.com>
Date:   Thu Nov 8 07:35:36 2007 -0700

    fix blender/unichrome crash, bug 13142

diff --git a/docs/relnotes-7.0.2.html b/docs/relnotes-7.0.2.html
index cdf2ac1..39af8e9 100644
--- a/docs/relnotes-7.0.2.html
+++ b/docs/relnotes-7.0.2.html
@@ -52,6 +52,7 @@ Mesa 7.0.2 is a stable release with bug fixes since version 7.0.
 <li>Fix SSE code gen memory leak, possible crash
 <li>Fixed MMX 565 rgb conversion problem (bug 12614)
 <li>Added -fno-strict-aliasing and -fPIC flags for gcc
+<li>Fixed Blender crash in Unichrome driver (bug 13142)
 </ul>
 
 

commit 4e3db063ec1669e7caf0cf4956fd2f6fed23c08f
Author: Benno Schulenberg <bensberg@justemail.net>
Date:   Thu Nov 8 07:34:08 2007 -0700

    fix Unichrome/Blender crash, bug 13142

diff --git a/src/mesa/drivers/dri/unichrome/via_tris.c b/src/mesa/drivers/dri/unichrome/via_tris.c
index 4cc7942..73e6626 100644
--- a/src/mesa/drivers/dri/unichrome/via_tris.c
+++ b/src/mesa/drivers/dri/unichrome/via_tris.c
@@ -666,9 +666,11 @@ static void viaChooseRenderState(GLcontext *ctx)
    }
 
    if (flags & (ANY_FALLBACK_FLAGS|ANY_RASTER_FLAGS)) {
-      if (flags & DD_TRI_LIGHT_TWOSIDE)    index |= VIA_TWOSIDE_BIT;
+      if (ctx->Light.Enabled && ctx->Light.Model.TwoSide)
+         index |= VIA_TWOSIDE_BIT;
       if (flags & DD_TRI_OFFSET)           index |= VIA_OFFSET_BIT;
-      if (flags & DD_TRI_UNFILLED)         index |= VIA_UNFILLED_BIT;
+      if (ctx->Polygon.FrontMode != GL_FILL || ctx->Polygon.BackMode != GL_FILL)
+         index |= VIA_UNFILLED_BIT;
       if (flags & ANY_FALLBACK_FLAGS)      index |= VIA_FALLBACK_BIT;
 
       /* Hook in fallbacks for specific primitives.

commit 6560744c38cac51e9620faf08d495b9ab03466ec
Author: Brian <brian.paul@tungstengraphics.com>
Date:   Tue Nov 6 17:54:21 2007 -0700

    added -fno-strict-aliasing and -fPIC flags

diff --git a/docs/relnotes-7.0.2.html b/docs/relnotes-7.0.2.html
index 1b9c9f7..cdf2ac1 100644
--- a/docs/relnotes-7.0.2.html
+++ b/docs/relnotes-7.0.2.html
@@ -51,6 +51,7 @@ Mesa 7.0.2 is a stable release with bug fixes since version 7.0.
 <li>glDrawArrays(count=0) led to a crash
 <li>Fix SSE code gen memory leak, possible crash
 <li>Fixed MMX 565 rgb conversion problem (bug 12614)
+<li>Added -fno-strict-aliasing and -fPIC flags for gcc
 </ul>
 
 

commit 572ad8788119156bf1c31c4d5a286b270c488993
Author: Brian <brian.paul@tungstengraphics.com>
Date:   Tue Nov 6 17:50:18 2007 -0700

    change filenames for rc2

diff --git a/Makefile b/Makefile
index a6113ad..26e764c 100644
--- a/Makefile
+++ b/Makefile
@@ -166,10 +166,10 @@ ultrix-gcc:
 
 # Rules for making release tarballs
 
-DIRECTORY = Mesa-7.0.2-rc1
-LIB_NAME = MesaLib-7.0.2-rc1
-DEMO_NAME = MesaDemos-7.0.2-rc1
-GLUT_NAME = MesaGLUT-7.0.2-rc1
+DIRECTORY = Mesa-7.0.2-rc2
+LIB_NAME = MesaLib-7.0.2-rc2
+DEMO_NAME = MesaDemos-7.0.2-rc2
+GLUT_NAME = MesaGLUT-7.0.2-rc2
 
 MAIN_FILES = \
 	$(DIRECTORY)/Makefile*						\

commit 2ab75d6cfac40c4fe8626ce53375de92ba0b5dd4
Author: Michel Dänzer <michel@tungstengraphics.com>
Date:   Tue Nov 6 18:22:42 2007 +0100

    r200: Fix SetTexOffset format for 16 bit pixmaps/textures.
    
    Use symbolic array indices to clarify.

diff --git a/src/mesa/drivers/dri/r200/r200_texstate.c b/src/mesa/drivers/dri/r200/r200_texstate.c
index 4b05da2..af5092b 100644
--- a/src/mesa/drivers/dri/r200/r200_texstate.c
+++ b/src/mesa/drivers/dri/r200/r200_texstate.c
@@ -999,17 +999,17 @@ void r200SetTexOffset(__DRIcontext * pDRICtx, GLint texname,
 
 	switch (depth) {
 	case 32:
-		t->pp_txformat = tx_table_le[2].format;
-		t->pp_txfilter |= tx_table_le[2].filter;
+		t->pp_txformat = tx_table_le[MESA_FORMAT_ARGB8888].format;
+		t->pp_txfilter |= tx_table_le[MESA_FORMAT_ARGB8888].filter;
 		break;
 	case 24:
 	default:
-		t->pp_txformat = tx_table_le[4].format;
-		t->pp_txfilter |= tx_table_le[4].filter;
+		t->pp_txformat = tx_table_le[MESA_FORMAT_RGB888].format;
+		t->pp_txfilter |= tx_table_le[MESA_FORMAT_RGB888].filter;
 		break;
 	case 16:
-		t->pp_txformat = tx_table_le[5].format;
-		t->pp_txfilter |= tx_table_le[5].filter;
+		t->pp_txformat = tx_table_le[MESA_FORMAT_RGB565].format;
+		t->pp_txfilter |= tx_table_le[MESA_FORMAT_RGB565].filter;
 		break;
 	}
 }

commit 041a8eb5ec0f60041cc613223d07525c5853761b
Author: Chris Rankin <rankincj@yahoo.com>
Date:   Sat Sep 29 18:14:06 2007 +0200

    r200: Implement SetTexOffset hook.
    
    Implementation guidance by Michel Dänzer, final testing by Timo Aaltonen.

diff --git a/src/mesa/drivers/dri/r200/r200_context.h b/src/mesa/drivers/dri/r200/r200_context.h
index e840a50..a06a2f5 100644
--- a/src/mesa/drivers/dri/r200/r200_context.h
+++ b/src/mesa/drivers/dri/r200/r200_context.h
@@ -180,6 +180,7 @@ struct r200_tex_obj {
 
    drm_radeon_tex_image_t image[6][RADEON_MAX_TEXTURE_LEVELS];
 					/* Six, for the cube faces */
+   GLboolean image_override;		/* Image overridden by GLX_EXT_tfp */
 
    GLuint pp_txfilter;		        /* hardware register values */
    GLuint pp_txformat;
diff --git a/src/mesa/drivers/dri/r200/r200_tex.h b/src/mesa/drivers/dri/r200/r200_tex.h
index 4438cc0..68e9a0e 100644
--- a/src/mesa/drivers/dri/r200/r200_tex.h
+++ b/src/mesa/drivers/dri/r200/r200_tex.h
@@ -36,6 +36,10 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #ifndef __R200_TEX_H__
 #define __R200_TEX_H__
 
+extern void r200SetTexOffset(__DRIcontext *pDRICtx, GLint texname,
+			     unsigned long long offset, GLint depth,
+			     GLuint pitch);
+
 extern void r200UpdateTextureState( GLcontext *ctx );
 
 extern int r200UploadTexImages( r200ContextPtr rmesa, r200TexObjPtr t, GLuint face );
diff --git a/src/mesa/drivers/dri/r200/r200_texmem.c b/src/mesa/drivers/dri/r200/r200_texmem.c
index 28988c9..9daafcf 100644
--- a/src/mesa/drivers/dri/r200/r200_texmem.c
+++ b/src/mesa/drivers/dri/r200/r200_texmem.c
@@ -182,7 +182,8 @@ static void r200UploadRectSubImage( r200ContextPtr rmesa,
       /* In this case, could also use GART texturing.  This is
        * currently disabled, but has been tested & works.
        */
-      t->pp_txoffset = r200GartOffsetFromVirtual( rmesa, texImage->Data );
+      if ( !t->image_override )
+         t->pp_txoffset = r200GartOffsetFromVirtual( rmesa, texImage->Data );
       t->pp_txpitch = texImage->RowStride * texFormat->TexelBytes - 32;
 
       if (R200_DEBUG & DEBUG_TEXTURE)
@@ -468,7 +469,7 @@ int r200UploadTexImages( r200ContextPtr rmesa, r200TexObjPtr t, GLuint face )
 	       t->base.firstLevel, t->base.lastLevel );
    }
 
-   if ( !t || t->base.totalSize == 0 )
+   if ( !t || t->base.totalSize == 0 || t->image_override )
       return 0;
 
    if (R200_DEBUG & DEBUG_SYNC) {
diff --git a/src/mesa/drivers/dri/r200/r200_texstate.c b/src/mesa/drivers/dri/r200/r200_texstate.c
index 875d3ba..4b05da2 100644
--- a/src/mesa/drivers/dri/r200/r200_texstate.c
+++ b/src/mesa/drivers/dri/r200/r200_texstate.c
@@ -38,6 +38,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #include "context.h"
 #include "macros.h"
 #include "texformat.h"
+#include "texobj.h"
 #include "enums.h"
 
 #include "r200_context.h"
@@ -73,10 +74,11 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define VALID_FORMAT(f) ( ((f) <= MESA_FORMAT_RGBA_DXT5) \
 			     && (tx_table_le[f].format != 0xffffffff) )
 
-static const struct {
+struct tx_table {
    GLuint format, filter;
-}
-tx_table_be[] =
+};
+
+static const struct tx_table tx_table_be[] =
 {
    [ MESA_FORMAT_RGBA8888 ] = { R200_TXFORMAT_ABGR8888 | R200_TXFORMAT_ALPHA_IN_MAP, 0 },
    _ALPHA_REV(RGBA8888),
@@ -105,16 +107,13 @@ tx_table_be[] =
    _ALPHA(RGBA_DXT5),
 };
 
-static const struct {
-   GLuint format, filter;
-}
-tx_table_le[] =
+static const struct tx_table tx_table_le[] =
 {
    _ALPHA(RGBA8888),
    [ MESA_FORMAT_RGBA8888_REV ] = { R200_TXFORMAT_ABGR8888 | R200_TXFORMAT_ALPHA_IN_MAP, 0 },
    _ALPHA(ARGB8888),
    _ALPHA_REV(ARGB8888),
-   _INVALID(RGB888),
+   [ MESA_FORMAT_RGB888 ] = { R200_TXFORMAT_ARGB8888, 0 },
    _COLOR(RGB565),
    _COLOR_REV(RGB565),
    _ALPHA(ARGB4444),
@@ -161,30 +160,23 @@ static void r200SetTexImages( r200ContextPtr rmesa,
    GLint i, texelBytes;
    GLint numLevels;
    GLint log2Width, log2Height, log2Depth;
-   const GLuint ui = 1;
-   const GLubyte littleEndian = *((const GLubyte *) &ui);
 
    /* Set the hardware texture format
     */
+   if ( !t->image_override ) {
+      if ( VALID_FORMAT( baseImage->TexFormat->MesaFormat ) ) {
+         t->pp_txformat &= ~(R200_TXFORMAT_FORMAT_MASK |
+                             R200_TXFORMAT_ALPHA_IN_MAP);
+         t->pp_txfilter &= ~R200_YUV_TO_RGB;
 
-   t->pp_txformat &= ~(R200_TXFORMAT_FORMAT_MASK |
-		       R200_TXFORMAT_ALPHA_IN_MAP);
-   t->pp_txfilter &= ~R200_YUV_TO_RGB;
-
-   if ( VALID_FORMAT( baseImage->TexFormat->MesaFormat ) ) {
-      if (littleEndian) {
 	 t->pp_txformat |= tx_table_le[ baseImage->TexFormat->MesaFormat ].format;
 	 t->pp_txfilter |= tx_table_le[ baseImage->TexFormat->MesaFormat ].filter;
       }
       else {
-	 t->pp_txformat |= tx_table_be[ baseImage->TexFormat->MesaFormat ].format;
-	 t->pp_txfilter |= tx_table_be[ baseImage->TexFormat->MesaFormat ].filter;
+         _mesa_problem(NULL, "unexpected texture format in %s", __FUNCTION__);
+         return;
       }
    }
-   else {
-      _mesa_problem(NULL, "unexpected texture format in %s", __FUNCTION__);
-      return;
-   }
 
    texelBytes = baseImage->TexFormat->TexelBytes;
 
@@ -381,11 +373,13 @@ static void r200SetTexImages( r200ContextPtr rmesa,
     * requires 64-byte aligned pitches, and we may/may not need the
     * blitter.   NPOT only!
     */
-   if (baseImage->IsCompressed)
-      t->pp_txpitch = (tObj->Image[0][t->base.firstLevel]->Width + 63) & ~(63);
-   else
-      t->pp_txpitch = ((tObj->Image[0][t->base.firstLevel]->Width * texelBytes) + 63) & ~(63);
-   t->pp_txpitch -= 32;
+   if ( !t->image_override ) {
+      if (baseImage->IsCompressed)
+         t->pp_txpitch = (tObj->Image[0][t->base.firstLevel]->Width + 63) & ~(63);
+      else
+         t->pp_txpitch = ((tObj->Image[0][t->base.firstLevel]->Width * texelBytes) + 63) & ~(63);
+      t->pp_txpitch -= 32;
+   }
 
    t->dirty_state = TEX_ALL;
 
@@ -980,6 +974,46 @@ static GLboolean r200UpdateTextureEnv( GLcontext *ctx, int unit, int slot, GLuin
    return GL_TRUE;
 }
 
+void r200SetTexOffset(__DRIcontext * pDRICtx, GLint texname,
+		      unsigned long long offset, GLint depth, GLuint pitch)
+{
+	r200ContextPtr rmesa =
+	    (r200ContextPtr) ((__DRIcontextPrivate *) pDRICtx->private)->
+	    driverPrivate;
+	struct gl_texture_object *tObj =
+	    _mesa_lookup_texture(rmesa->glCtx, texname);
+	r200TexObjPtr t;
+
+	if (!tObj)
+		return;
+
+	t = (r200TexObjPtr) tObj->DriverData;
+
+	t->image_override = GL_TRUE;
+
+	if (!offset)
+		return;
+
+	t->pp_txoffset = offset;
+	t->pp_txpitch = pitch - 32;
+
+	switch (depth) {
+	case 32:
+		t->pp_txformat = tx_table_le[2].format;
+		t->pp_txfilter |= tx_table_le[2].filter;
+		break;
+	case 24:
+	default:
+		t->pp_txformat = tx_table_le[4].format;
+		t->pp_txfilter |= tx_table_le[4].filter;
+		break;
+	case 16:
+		t->pp_txformat = tx_table_le[5].format;
+		t->pp_txfilter |= tx_table_le[5].filter;
+		break;
+	}
+}
+
 #define REF_COLOR 1
 #define REF_ALPHA 2
 
@@ -1561,7 +1595,7 @@ static GLboolean enable_tex_2d( GLcontext *ctx, int unit )
       R200_FIREVERTICES( rmesa );
       r200SetTexImages( rmesa, tObj );
       r200UploadTexImages( rmesa, (r200TexObjPtr) tObj->DriverData, 0 );
-      if ( !t->base.memBlock ) 
+      if ( !t->base.memBlock && !t->image_override ) 
 	 return GL_FALSE;
    }
 
@@ -1669,7 +1703,9 @@ static GLboolean enable_tex_rect( GLcontext *ctx, int unit )
       R200_FIREVERTICES( rmesa );
       r200SetTexImages( rmesa, tObj );
       r200UploadTexImages( rmesa, (r200TexObjPtr) tObj->DriverData, 0 );
-      if ( !t->base.memBlock && !rmesa->prefer_gart_client_texturing ) 
+      if ( !t->base.memBlock &&
+           !t->image_override &&
+           !rmesa->prefer_gart_client_texturing ) 
 	 return GL_FALSE;
    }
 
diff --git a/src/mesa/drivers/dri/radeon/radeon_screen.c b/src/mesa/drivers/dri/radeon/radeon_screen.c
index aa7fb63..682cf3a 100644
--- a/src/mesa/drivers/dri/radeon/radeon_screen.c
+++ b/src/mesa/drivers/dri/radeon/radeon_screen.c
@@ -53,6 +53,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #include "r200_context.h"
 #include "r200_ioctl.h"
 #include "r200_span.h"
+#include "r200_tex.h"
 #elif RADEON_COMMON && defined(RADEON_COMMON_FOR_R300)
 #include "r300_context.h"
 #include "r300_fragprog.h"
@@ -973,7 +974,8 @@ static const struct __DriverAPIRec r200API = {
    .WaitForMSC      = driWaitForMSC32,
    .WaitForSBC      = NULL,
    .SwapBuffersMSC  = NULL,
-   .CopySubBuffer   = r200CopySubBuffer
+   .CopySubBuffer   = r200CopySubBuffer,
+   .setTexOffset    = r200SetTexOffset
 };
 #endif
 

commit c1c13bdcfa1a46feb69318b43afa39daf7a47a2c
Author: Brian <brian.paul@tungstengraphics.com>
Date:   Mon Nov 5 14:43:03 2007 -0700

    Check for NULL VB->EdgeFlag array.
    
    There might be a bug elsewhere, but this is a simple work-around for now.
    See bug 12614

diff --git a/src/mesa/swrast_setup/ss_tritmp.h b/src/mesa/swrast_setup/ss_tritmp.h
index 1fdf0cb..59c534e 100644
--- a/src/mesa/swrast_setup/ss_tritmp.h
+++ b/src/mesa/swrast_setup/ss_tritmp.h
@@ -198,14 +198,16 @@ static void TAG(quadfunc)( GLcontext *ctx, GLuint v0,
 {
    if (IND & SS_UNFILLED_BIT) {
       struct vertex_buffer *VB = &TNL_CONTEXT(ctx)->vb;
-      GLubyte ef1 = VB->EdgeFlag[v1];
-      GLubyte ef3 = VB->EdgeFlag[v3];
-      VB->EdgeFlag[v1] = 0;
-      TAG(triangle)( ctx, v0, v1, v3 );
-      VB->EdgeFlag[v1] = ef1;
-      VB->EdgeFlag[v3] = 0;
-      TAG(triangle)( ctx, v1, v2, v3 );
-      VB->EdgeFlag[v3] = ef3;
+      if (VB->EdgeFlag) { /* XXX this test shouldn't be needed (bug 12614) */



Reply to: