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

mesa: Changes to 'upstream-experimental'



 Makefile                                        |   19 
 configs/linux-dri-xcb                           |    5 
 docs/relnotes-6.5.3.html                        |   19 
 docs/shading.html                               |    2 
 include/GL/glxext.h                             |    4 
 include/GL/xmesa_xf86.h                         |    2 
 progs/demos/arbfplight.c                        |    4 
 progs/demos/fplight.c                           |    6 
 progs/demos/shadowtex.c                         |   17 
 progs/redbook/Imakefile                         |  221 ---
 progs/samples/Imakefile                         |  101 -
 src/glu/sgi/glu.def                             |    2 
 src/glut/glx/glut_win.c                         |    6 
 src/mesa/drivers/common/driverfuncs.c           |    2 
 src/mesa/drivers/dri/mach64/mach64_native_vb.c  |    2 
 src/mesa/drivers/fbdev/glfbdev.c                |   15 
 src/mesa/drivers/osmesa/osmesa.def              |    2 
 src/mesa/drivers/windows/gdi/mesa.def           |   37 
 src/mesa/drivers/windows/gdi/wmesa.c            |   22 
 src/mesa/drivers/x11/fakeglx.c                  |   17 
 src/mesa/drivers/x11/xm_api.c                   |   82 -
 src/mesa/drivers/x11/xm_glide.c                 |  276 +++
 src/mesa/drivers/x11/xm_glide.h                 |   40 
 src/mesa/drivers/x11/xmesaP.h                   |   13 
 src/mesa/main/Imakefile                         |  129 -
 src/mesa/main/KNOWN_BUGS                        |   21 
 src/mesa/main/context.c                         |    2 
 src/mesa/main/dlist.c                           |    2 
 src/mesa/main/image.c                           |   39 
 src/mesa/main/imports.c                         |    4 
 src/mesa/main/mtypes.h                          |    1 
 src/mesa/main/occlude.c                         |  538 -------
 src/mesa/main/occlude.h                         |   70 
 src/mesa/main/queryobj.c                        |  538 +++++++
 src/mesa/main/queryobj.h                        |   70 
 src/mesa/main/rastpos.c                         |    2 
 src/mesa/main/state.c                           |    6 
 src/mesa/main/texcompress_s3tc.c                |   12 
 src/mesa/shader/grammar/grammar.c               |    8 
 src/mesa/shader/nvfragparse.c                   |   12 
 src/mesa/shader/prog_execute.c                  |    3 
 src/mesa/shader/prog_instruction.c              |    8 
 src/mesa/shader/program.c                       |    2 
 src/mesa/shader/shader_api.c                    |    5 
 src/mesa/shader/slang/slang_codegen.c           |   43 
 src/mesa/shader/slang/slang_compile.c           |   78 -
 src/mesa/shader/slang/slang_compile_function.c  |   17 
 src/mesa/shader/slang/slang_compile_operation.c |   53 
 src/mesa/shader/slang/slang_compile_struct.c    |   18 
 src/mesa/shader/slang/slang_compile_variable.c  |   29 
 src/mesa/shader/slang/slang_emit.c              |   14 
 src/mesa/shader/slang/slang_ir.c                |   13 
 src/mesa/shader/slang/slang_label.c             |   30 
 src/mesa/shader/slang/slang_link.c              |    6 
 src/mesa/shader/slang/slang_log.c               |   12 
 src/mesa/shader/slang/slang_mem.c               |  241 +++
 src/mesa/shader/slang/slang_mem.h               |   55 
 src/mesa/shader/slang/slang_preprocess.c        |    2 
 src/mesa/shader/slang/slang_storage.c           |   25 
 src/mesa/shader/slang/slang_typeinfo.c          |   18 
 src/mesa/shader/slang/slang_utility.c           |   35 
 src/mesa/shader/slang/slang_utility.h           |   12 
 src/mesa/shader/slang/slang_vartable.c          |   22 
 src/mesa/sources                                |    4 
 src/mesa/swrast/s_aaline.c                      |    6 
 src/mesa/swrast/s_aalinetemp.h                  |   96 -
 src/mesa/swrast/s_aatriangle.c                  |    4 
 src/mesa/swrast/s_aatritemp.h                   |  160 +-
 src/mesa/swrast/s_bitmap.c                      |    3 
 src/mesa/swrast/s_context.c                     |   34 
 src/mesa/swrast/s_context.h                     |   33 
 src/mesa/swrast/s_copypix.c                     |    9 
 src/mesa/swrast/s_depth.c                       |    2 
 src/mesa/swrast/s_drawpix.c                     |    9 
 src/mesa/swrast/s_fragprog.c                    |   13 
 src/mesa/swrast/s_lines.c                       |   41 
 src/mesa/swrast/s_linetemp.h                    |   80 -
 src/mesa/swrast/s_points.c                      |   10 
 src/mesa/swrast/s_pointtemp.h                   |   64 
 src/mesa/swrast/s_span.c                        |   28 
 src/mesa/swrast/s_stencil.c                     |    4 
 src/mesa/swrast/s_triangle.c                    |   54 
 src/mesa/swrast/s_tritemp.h                     |   69 
 src/mesa/swrast/swrast.h                        |    1 
 src/mesa/swrast_setup/ss_context.c              |   75 -
 src/mesa/tnl_dd/t_dd_vb.c                       |    2 
 windows/VC8/mesa/gdi/gdi.vcproj                 |  260 +++
 windows/VC8/mesa/glu/glu.vcproj                 | 1022 +++++++++++++
 windows/VC8/mesa/mesa.sln                       |   43 
 windows/VC8/mesa/mesa/mesa.vcproj               | 1753 ++++++++++++++++++++++++
 windows/VC8/mesa/osmesa/osmesa.vcproj           |  243 +++
 windows/VC8/progs/demos/gears.vcproj            |  239 +++
 windows/VC8/progs/glut/glut.vcproj              |  449 ++++++
 windows/VC8/progs/progs.sln                     |   28 
 94 files changed, 6147 insertions(+), 1802 deletions(-)

New commits:
commit c233aa27684cd0c6c44200c3afcf4a9d5863a947
Author: Brian <brian@yutani.localnet.net>
Date:   Tue Apr 24 22:32:41 2007 -0600

    s/fog/attrib[FRAG_ATTRIB_FOGC][0]/

diff --git a/src/mesa/tnl_dd/t_dd_vb.c b/src/mesa/tnl_dd/t_dd_vb.c
index 629f328..6cdd1bc 100644
--- a/src/mesa/tnl_dd/t_dd_vb.c
+++ b/src/mesa/tnl_dd/t_dd_vb.c
@@ -135,7 +135,7 @@ void TAG(translate_vertex)(GLcontext *ctx,
       dst->specular[1] = src->v.specular.green;
       dst->specular[2] = src->v.specular.blue;
 
-      dst->fog = src->v.specular.alpha/255.0;
+      dst->attrib[FRAG_ATTRIB_FOGC][0] = src->v.specular.alpha/255.0;
 
       if (HAVE_PTEX_VERTICES &&
 	  ((HAVE_TEX2_VERTICES && format == PROJ_TEX3_VERTEX_FORMAT) ||

commit c93b2a1cb71cef1a7fe900fb937a510ae4005ff2
Author: Brian <brian@nostromo.localnet.net>
Date:   Tue Apr 24 22:22:14 2007 -0600

    s/fog/attrib[FRAG_ATTRIB_FOGC][0]/

diff --git a/src/mesa/drivers/dri/mach64/mach64_native_vb.c b/src/mesa/drivers/dri/mach64/mach64_native_vb.c
index 519ec81..81bcf80 100644
--- a/src/mesa/drivers/dri/mach64/mach64_native_vb.c
+++ b/src/mesa/drivers/dri/mach64/mach64_native_vb.c
@@ -81,7 +81,7 @@ void TAG(translate_vertex)(GLcontext *ctx,
 	 dst->specular[2] = ((GLubyte *)p)[0];
 	 dst->specular[1] = ((GLubyte *)p)[1];
 	 dst->specular[0] = ((GLubyte *)p)[2];
-	 dst->fog = ((GLubyte *)p)[3];
+	 dst->attrib[FRAG_ATTRIB_FOGC][0] = ((GLubyte *)p)[3];
 	 p++;
 
       case TINY_VERTEX_FORMAT:

commit eca456b63d41700617987ba45a09e8f2168b9577
Author: Brian <brian@yutani.localnet.net>
Date:   Tue Apr 24 16:57:38 2007 -0600

    s/DO_TEXVAR/DO_ATTRIBS/

diff --git a/src/mesa/swrast/s_aaline.c b/src/mesa/swrast/s_aaline.c
index c810951..3bb53dc 100644
--- a/src/mesa/swrast/s_aaline.c
+++ b/src/mesa/swrast/s_aaline.c
@@ -67,7 +67,7 @@ struct LineInfo
    GLfloat iPlane[4];
    /* DO_SPEC */
    GLfloat srPlane[4], sgPlane[4], sbPlane[4];
-   /* DO_TEXVAR */
+   /* DO_ATTRIBS */
    GLfloat sPlane[FRAG_ATTRIB_MAX][4];
    GLfloat tPlane[FRAG_ATTRIB_MAX][4];
    GLfloat uPlane[FRAG_ATTRIB_MAX][4];
@@ -499,7 +499,7 @@ segment(GLcontext *ctx,
 #define DO_Z
 #define DO_FOG
 #define DO_RGBA
-#define DO_TEXVAR
+#define DO_ATTRIBS
 #include "s_aalinetemp.h"
 
 
@@ -507,7 +507,7 @@ segment(GLcontext *ctx,
 #define DO_Z
 #define DO_FOG
 #define DO_RGBA
-#define DO_TEXVAR
+#define DO_ATTRIBS
 #define DO_SPEC
 #include "s_aalinetemp.h"
 
diff --git a/src/mesa/swrast/s_aalinetemp.h b/src/mesa/swrast/s_aalinetemp.h
index ef26e9e..402d64b 100644
--- a/src/mesa/swrast/s_aalinetemp.h
+++ b/src/mesa/swrast/s_aalinetemp.h
@@ -80,7 +80,7 @@ NAME(plot)(GLcontext *ctx, struct LineInfo *line, int ix, int iy)
    line->span.array->spec[i][GCOMP] = solve_plane_chan(fx, fy, line->sgPlane);
    line->span.array->spec[i][BCOMP] = solve_plane_chan(fx, fy, line->sbPlane);
 #endif
-#if defined(DO_TEXVAR)
+#if defined(DO_ATTRIBS)
    ATTRIB_LOOP_BEGIN
       GLfloat (*attribArray)[4] = line->span.array->attribs[attr];
       GLfloat invQ;
@@ -202,7 +202,7 @@ NAME(line)(GLcontext *ctx, const SWvertex *v0, const SWvertex *v1)
       constant_plane(v1->index, line.iPlane);
    }
 #endif
-#if defined(DO_TEXVAR)
+#if defined(DO_ATTRIBS)
    {
       const GLfloat invW0 = v0->win[3];
       const GLfloat invW1 = v1->win[3];
@@ -225,7 +225,7 @@ NAME(line)(GLcontext *ctx, const SWvertex *v0, const SWvertex *v1)
             const struct gl_texture_object *obj = ctx->Texture.Unit[u]._Current;
             const struct gl_texture_image *texImage = obj->Image[0][obj->BaseLevel];
             line.texWidth[attr]  = (GLfloat) texImage->Width;
-               line.texHeight[attr] = (GLfloat) texImage->Height;
+            line.texHeight[attr] = (GLfloat) texImage->Height;
          }
       ATTRIB_LOOP_END
    }
@@ -290,5 +290,5 @@ NAME(line)(GLcontext *ctx, const SWvertex *v0, const SWvertex *v1)
 #undef DO_RGBA
 #undef DO_INDEX
 #undef DO_SPEC
-#undef DO_TEXVAR
+#undef DO_ATTRIBS
 #undef NAME
diff --git a/src/mesa/swrast/s_aatriangle.c b/src/mesa/swrast/s_aatriangle.c
index 5e3059a..0d95f06 100644
--- a/src/mesa/swrast/s_aatriangle.c
+++ b/src/mesa/swrast/s_aatriangle.c
@@ -408,7 +408,7 @@ tex_aa_tri(GLcontext *ctx,
 #define DO_Z
 #define DO_FOG
 #define DO_RGBA
-#define DO_TEXVAR
+#define DO_ATTRIBS
 #include "s_aatritemp.h"
 }
 
@@ -422,7 +422,7 @@ spec_tex_aa_tri(GLcontext *ctx,
 #define DO_Z
 #define DO_FOG
 #define DO_RGBA
-#define DO_TEXVAR
+#define DO_ATTRIBS
 #define DO_SPEC
 #include "s_aatritemp.h"
 }
diff --git a/src/mesa/swrast/s_aatritemp.h b/src/mesa/swrast/s_aatritemp.h
index 8ff52cb..39456cc 100644
--- a/src/mesa/swrast/s_aatritemp.h
+++ b/src/mesa/swrast/s_aatritemp.h
@@ -36,7 +36,7 @@
  *    DO_RGBA      - if defined, compute RGBA values
  *    DO_INDEX     - if defined, compute color index values
  *    DO_SPEC      - if defined, compute specular RGB values
- *    DO_TEXVAR    - if defined, compute texcoords, varying
+ *    DO_ATTRIBS   - if defined, compute texcoords, varying, etc.
  */
 
 /*void triangle( GLcontext *ctx, GLuint v0, GLuint v1, GLuint v2, GLuint pv )*/
@@ -70,7 +70,7 @@
 #ifdef DO_SPEC
    GLfloat srPlane[4], sgPlane[4], sbPlane[4];
 #endif
-#if defined(DO_TEXVAR)
+#if defined(DO_ATTRIBS)
    GLfloat sPlane[FRAG_ATTRIB_MAX][4];  /* texture S */
    GLfloat tPlane[FRAG_ATTRIB_MAX][4];  /* texture T */
    GLfloat uPlane[FRAG_ATTRIB_MAX][4];  /* texture R */
@@ -181,7 +181,7 @@
    }
    span.arrayMask |= SPAN_SPEC;
 #endif
-#if defined(DO_TEXVAR)
+#if defined(DO_ATTRIBS)
    {
       const GLfloat invW0 = v0->win[3];
       const GLfloat invW1 = v1->win[3];
@@ -283,7 +283,7 @@
             array->spec[count][GCOMP] = solve_plane_chan(cx, cy, sgPlane);
             array->spec[count][BCOMP] = solve_plane_chan(cx, cy, sbPlane);
 #endif
-#if defined(DO_TEXVAR)
+#if defined(DO_ATTRIBS)
             ATTRIB_LOOP_BEGIN
                GLfloat invQ = solve_plane_recip(cx, cy, vPlane[attr]);
                array->attribs[attr][count][0] = solve_plane(cx, cy, sPlane[attr]) * invQ;
@@ -375,7 +375,7 @@
             array->spec[ix][GCOMP] = solve_plane_chan(cx, cy, sgPlane);
             array->spec[ix][BCOMP] = solve_plane_chan(cx, cy, sbPlane);
 #endif
-#if defined(DO_TEXVAR)
+#if defined(DO_ATTRIBS)
             ATTRIB_LOOP_BEGIN
                GLfloat invQ = solve_plane_recip(cx, cy, vPlane[attr]);
                array->attribs[attr][ix][0] = solve_plane(cx, cy, sPlane[attr]) * invQ;
@@ -426,13 +426,13 @@
                array->attribs[FRAG_ATTRIB_FOGC][j][0]
                   = array->attribs[FRAG_ATTRIB_FOGC][j + left][0];
 #endif
-#if defined(DO_TEXVAR)
+#if defined(DO_ATTRIBS)
                array->lambda[0][j] = array->lambda[0][j + left];
 #endif
                array->coverage[j] = array->coverage[j + left];
             }
          }
-#ifdef DO_TEXVAR
+#ifdef DO_ATTRIBS
          /* shift texcoords, varying */
          {
             SWspanarrays *array = span.array;
@@ -482,8 +482,8 @@
 #undef DO_SPEC
 #endif
 
-#ifdef DO_TEXVAR
-#undef DO_TEXVAR
+#ifdef DO_ATTRIBS
+#undef DO_ATTRIBS
 #endif
 
 #ifdef DO_OCCLUSION_TEST

commit 4003bde6fffc3e5b9e1a115ba952b988dffb099a
Author: Brian <brian@yutani.localnet.net>
Date:   Tue Apr 24 16:47:33 2007 -0600

    get rid of an extra textured triangle function

diff --git a/src/mesa/swrast/s_triangle.c b/src/mesa/swrast/s_triangle.c
index 975d559..fc9d29b 100644
--- a/src/mesa/swrast/s_triangle.c
+++ b/src/mesa/swrast/s_triangle.c
@@ -124,7 +124,7 @@ _swrast_culltriangle( GLcontext *ctx,
  * Render an RGB, GL_DECAL, textured triangle.
  * Interpolate S,T only w/out mipmapping or perspective correction.
  *
- * No fog.
+ * No fog.  No depth testing.
  */
 #define NAME simple_textured_triangle
 #define INTERP_INT_TEX 1
@@ -850,9 +850,9 @@ fast_persp_span(GLcontext *ctx, SWspan *span,
 
 
 /*
- * Render a smooth-shaded, textured, RGBA triangle.
+ * Render an RGBA triangle with arbitrary attributes.
  */
-#define NAME general_textured_triangle
+#define NAME general_triangle
 #define INTERP_Z 1
 #define INTERP_W 1
 #define INTERP_FOG 1
@@ -1092,7 +1092,7 @@ _swrast_choose_triangle( GLcontext *ctx )
 	       }
 	       else {
 #if (CHAN_BITS == 16 || CHAN_BITS == 32)
-                  USE(general_textured_triangle);
+                  USE(general_triangle);
 #else
                   USE(affine_textured_triangle);
 #endif
@@ -1100,7 +1100,7 @@ _swrast_choose_triangle( GLcontext *ctx )
 	    }
 	    else {
 #if (CHAN_BITS == 16 || CHAN_BITS == 32)
-               USE(general_textured_triangle);
+               USE(general_triangle);
 #else
                USE(persp_textured_triangle);
 #endif
@@ -1108,7 +1108,7 @@ _swrast_choose_triangle( GLcontext *ctx )
 	 }
          else {
             /* general case textured triangles */
-            USE(general_textured_triangle);
+            USE(general_triangle);
          }
       }
       else {

commit ddcf81990625aae34dfc65fedb17913f279fe9f7
Author: Brian <brian@yutani.localnet.net>
Date:   Tue Apr 24 16:47:07 2007 -0600

    s/TEXTURE/ATTRIBS/

diff --git a/src/mesa/swrast/s_points.c b/src/mesa/swrast/s_points.c
index 5879bcc..1401b77 100644
--- a/src/mesa/swrast/s_points.c
+++ b/src/mesa/swrast/s_points.c
@@ -38,7 +38,7 @@
 #define RGBA       0x1
 #define INDEX      0x2
 #define SMOOTH     0x4
-#define TEXTURE    0x8
+#define ATTRIBS    0x8
 #define SPECULAR  0x10
 #define LARGE     0x20
 #define ATTENUATE 0x40
@@ -104,7 +104,7 @@
 /*
  * Textured RGBA points.
  */
-#define FLAGS (RGBA | LARGE | TEXTURE | SPECULAR)
+#define FLAGS (RGBA | LARGE | ATTRIBS | SPECULAR)
 #define NAME textured_rgba_point
 #include "s_pointtemp.h"
 
@@ -112,7 +112,7 @@
 /*
  * Antialiased points with texture mapping.
  */
-#define FLAGS (RGBA | SMOOTH | TEXTURE | SPECULAR)
+#define FLAGS (RGBA | SMOOTH | ATTRIBS | SPECULAR)
 #define NAME antialiased_tex_rgba_point
 #include "s_pointtemp.h"
 
@@ -128,7 +128,7 @@
 /*
  * Distance attenuated, textured RGBA points.
  */
-#define FLAGS (RGBA | ATTENUATE | TEXTURE | SPECULAR)
+#define FLAGS (RGBA | ATTENUATE | ATTRIBS | SPECULAR)
 #define NAME atten_textured_rgba_point
 #include "s_pointtemp.h"
 
@@ -136,7 +136,7 @@
 /*
  * Distance attenuated, antialiased points with or without texture mapping.
  */
-#define FLAGS (RGBA | ATTENUATE | TEXTURE | SMOOTH)
+#define FLAGS (RGBA | ATTENUATE | ATTRIBS | SMOOTH)
 #define NAME atten_antialiased_rgba_point
 #include "s_pointtemp.h"
 
diff --git a/src/mesa/swrast/s_pointtemp.h b/src/mesa/swrast/s_pointtemp.h
index 500b3fe..d118a53 100644
--- a/src/mesa/swrast/s_pointtemp.h
+++ b/src/mesa/swrast/s_pointtemp.h
@@ -39,14 +39,14 @@
  *
  *   RGBA = do rgba instead of color index
  *   SMOOTH = do antialiasing
- *   TEXTURE = do texture coords
+ *   ATTRIBS = general attributes (texcoords, etc)
  *   SPECULAR = do separate specular color
  *   LARGE = do points with diameter > 1 pixel
  *   ATTENUATE = compute point size attenuation
  *   SPRITE = GL_ARB_point_sprite / GL_NV_point_sprite
  *
  * Notes: LARGE and ATTENUATE are exclusive of each other.
- *        TEXTURE requires RGBA
+ *        ATTRIBS requires RGBA
  */
 
 
@@ -86,7 +86,7 @@ NAME ( GLcontext *ctx, const SWvertex *vert )
 #if FLAGS & INDEX
    const GLuint colorIndex = (GLuint) vert->index; /* XXX round? */
 #endif
-#if FLAGS & TEXTURE
+#if FLAGS & ATTRIBS
    GLfloat attrib[FRAG_ATTRIB_MAX][4]; /* texture & varying */
 #endif
    SWcontext *swrast = SWRAST_CONTEXT(ctx);
@@ -117,7 +117,7 @@ NAME ( GLcontext *ctx, const SWvertex *vert )
 #if FLAGS & INDEX
    span->arrayMask |= SPAN_INDEX;
 #endif
-#if FLAGS & TEXTURE
+#if FLAGS & ATTRIBS
    span->arrayMask |= (SPAN_TEXTURE | SPAN_LAMBDA);
    if (ctx->FragmentProgram._Active) {
       /* Don't divide texture s,t,r by q (use TXP to do that) */
@@ -272,7 +272,7 @@ NAME ( GLcontext *ctx, const SWvertex *vert )
 #if FLAGS & INDEX
             span->array->index[count] = colorIndex;
 #endif
-#if FLAGS & TEXTURE
+#if FLAGS & ATTRIBS
             ATTRIB_LOOP_BEGIN
                COPY_4V(span->array->attribs[attr][count], attrib[attr]);
                if (attr < FRAG_ATTRIB_VAR0) {
@@ -397,7 +397,7 @@ NAME ( GLcontext *ctx, const SWvertex *vert )
 #if FLAGS & INDEX
       span->array->index[count] = colorIndex;
 #endif
-#if FLAGS & TEXTURE
+#if FLAGS & ATTRIBS
       ATTRIB_LOOP_BEGIN
          COPY_4V(span->array->attribs[attr][count], attribs[attr]);
       ATTRIB_LOOP_END

commit 9ede048127ea71282fd97e01516dedcfb03e2a23
Author: Brian <brian@yutani.localnet.net>
Date:   Tue Apr 24 16:40:54 2007 -0600

    trim down the number of line drawing functions, special cases

diff --git a/src/mesa/swrast/s_lines.c b/src/mesa/swrast/s_lines.c
index 7b2a52b..80702e4 100644
--- a/src/mesa/swrast/s_lines.c
+++ b/src/mesa/swrast/s_lines.c
@@ -1,8 +1,8 @@
 /*
  * Mesa 3-D graphics library
- * Version:  6.5
+ * Version:  6.5.3
  *
- * Copyright (C) 1999-2005  Brian Paul   All Rights Reserved.
+ * Copyright (C) 1999-2007  Brian Paul   All Rights Reserved.
  *
  * Permission is hereby granted, free of charge, to any person obtaining a
  * copy of this software and associated documentation files (the "Software"),
@@ -171,34 +171,13 @@ draw_wide_line( GLcontext *ctx, SWspan *span, GLboolean xMajor )
 #include "s_linetemp.h"
 
 
-/* Single-texture line, w/ fog, Z, specular, etc. */
+/* General-purpose textured line (any/all features). */
 #define NAME textured_line
 #define INTERP_RGBA
-#define INTERP_Z
-#define INTERP_FOG
-#define INTERP_TEX
-#define RENDER_SPAN(span)					\
-   if (ctx->Line.StippleFlag) {					\
-      span.arrayMask |= SPAN_MASK;				\
-      compute_stipple_mask(ctx, span.end, span.array->mask);	\
-   }								\
-   if (ctx->Line._Width > 1.0) {					\
-      draw_wide_line(ctx, &span, (GLboolean)(dx > dy));		\
-   }								\
-   else {							\
-      _swrast_write_rgba_span(ctx, &span);			\
-   }
-#include "s_linetemp.h"
-
-
-/* Multi-texture or separate specular line, w/ fog, Z, specular, etc. */
-#define NAME multitextured_line
-#define INTERP_RGBA
 #define INTERP_SPEC
 #define INTERP_Z
 #define INTERP_FOG
-#define INTERP_MULTITEX
-#define INTERP_VARYING
+#define INTERP_ATTRIBS
 #define RENDER_SPAN(span)					\
    if (ctx->Line.StippleFlag) {					\
       span.arrayMask |= SPAN_MASK;				\
@@ -251,8 +230,6 @@ _mesa_print_line_function(GLcontext *ctx)
       _mesa_printf("general_rgba_line\n");
    else if (swrast->Line == textured_line)
       _mesa_printf("textured_line\n");
-   else if (swrast->Line == multitextured_line)
-      _mesa_printf("multitextured_line\n");
    else
       _mesa_printf("Driver func %p\n", (void *(*)()) swrast->Line);
 }
@@ -302,15 +279,7 @@ _swrast_choose_line( GLcontext *ctx )
       else if (ctx->Texture._EnabledCoordUnits
              || ctx->FragmentProgram._Current) {
          /* textured lines */
-         if (ctx->Texture._EnabledCoordUnits > 0x1
-             || NEED_SECONDARY_COLOR(ctx)
-             || ctx->FragmentProgram._Current) {
-            /* multi-texture and/or separate specular color */
-            USE(multitextured_line);
-         }
-         else {
-            USE(textured_line);
-         }
+         USE(textured_line);
       }
       else if (ctx->Depth.Test || swrast->_FogEnabled || ctx->Line._Width != 1.0
                || ctx->Line.StippleFlag) {
diff --git a/src/mesa/swrast/s_linetemp.h b/src/mesa/swrast/s_linetemp.h
index 76da446..b6e8f28 100644
--- a/src/mesa/swrast/s_linetemp.h
+++ b/src/mesa/swrast/s_linetemp.h
@@ -35,9 +35,7 @@
  *    INTERP_RGBA     - if defined, interpolate RGBA values
  *    INTERP_SPEC     - if defined, interpolate specular RGB values
  *    INTERP_INDEX    - if defined, interpolate color index values
- *    INTERP_TEX      - if defined, interpolate unit 0 texcoords
- *    INTERP_MULTITEX - if defined, interpolate multi-texcoords
- *    INTERP_VARYING  - if defined, interpolate GLSL varyings
+ *    INTERP_ATTRIBS  - if defined, interpolate attribs (texcoords, varying, etc)
  *
  * When one can directly address pixels in the color buffer the following
  * macros can be defined and used to directly compute pixel addresses during
@@ -284,32 +282,7 @@ NAME( GLcontext *ctx, const SWvertex *vert0, const SWvertex *vert1 )
    span.attrStepX[FRAG_ATTRIB_FOGC][0] = (vert1->attrib[FRAG_ATTRIB_FOGC][0]
                                           - vert0->attrib[FRAG_ATTRIB_FOGC][0]) / numPixels;
 #endif
-#ifdef INTERP_TEX
-   interpFlags |= SPAN_TEXTURE;
-   {
-      const GLfloat invw0 = vert0->win[3];
-      const GLfloat invw1 = vert1->win[3];
-      const GLfloat invLen = 1.0F / numPixels;
-      GLfloat ds, dt, dr, dq;
-      span.attrStart[FRAG_ATTRIB_TEX0][0] = invw0 * vert0->attrib[FRAG_ATTRIB_TEX0][0];
-      span.attrStart[FRAG_ATTRIB_TEX0][1] = invw0 * vert0->attrib[FRAG_ATTRIB_TEX0][1];
-      span.attrStart[FRAG_ATTRIB_TEX0][2] = invw0 * vert0->attrib[FRAG_ATTRIB_TEX0][2];
-      span.attrStart[FRAG_ATTRIB_TEX0][3] = invw0 * vert0->attrib[FRAG_ATTRIB_TEX0][3];
-      ds = (invw1 * vert1->attrib[FRAG_ATTRIB_TEX0][0]) - span.attrStart[FRAG_ATTRIB_TEX0][0];
-      dt = (invw1 * vert1->attrib[FRAG_ATTRIB_TEX0][1]) - span.attrStart[FRAG_ATTRIB_TEX0][1];
-      dr = (invw1 * vert1->attrib[FRAG_ATTRIB_TEX0][2]) - span.attrStart[FRAG_ATTRIB_TEX0][2];
-      dq = (invw1 * vert1->attrib[FRAG_ATTRIB_TEX0][3]) - span.attrStart[FRAG_ATTRIB_TEX0][3];
-      span.attrStepX[FRAG_ATTRIB_TEX0][0] = ds * invLen;
-      span.attrStepX[FRAG_ATTRIB_TEX0][1] = dt * invLen;
-      span.attrStepX[FRAG_ATTRIB_TEX0][2] = dr * invLen;
-      span.attrStepX[FRAG_ATTRIB_TEX0][3] = dq * invLen;
-      span.attrStepY[FRAG_ATTRIB_TEX0][0] = 0.0F;
-      span.attrStepY[FRAG_ATTRIB_TEX0][1] = 0.0F;
-      span.attrStepY[FRAG_ATTRIB_TEX0][2] = 0.0F;
-      span.attrStepY[FRAG_ATTRIB_TEX0][3] = 0.0F;
-   }
-#endif
-#if defined(INTERP_MULTITEX) || defined(INTERP_VARYING)
+#if defined(INTERP_ATTRIBS)
    interpFlags |= (SPAN_TEXTURE | SPAN_VARYING);
    {
       const GLfloat invLen = 1.0F / numPixels;
@@ -443,8 +416,7 @@ NAME( GLcontext *ctx, const SWvertex *vert0, const SWvertex *vert1 )
 #undef INTERP_FOG
 #undef INTERP_RGBA
 #undef INTERP_SPEC
-#undef INTERP_TEX
-#undef INTERP_MULTITEX
+#undef INTERP_ATTRIBS
 #undef INTERP_INDEX
 #undef PIXEL_ADDRESS
 #undef PIXEL_TYPE

commit 97693436a5740fb56c29fcd1cb0a1aa562349902
Author: Brian <brian@yutani.localnet.net>
Date:   Tue Apr 24 16:20:50 2007 -0600

    only need one CI-mode triangle function

diff --git a/src/mesa/swrast/s_triangle.c b/src/mesa/swrast/s_triangle.c
index dbb634e..975d559 100644
--- a/src/mesa/swrast/s_triangle.c
+++ b/src/mesa/swrast/s_triangle.c
@@ -67,24 +67,9 @@ _swrast_culltriangle( GLcontext *ctx,
 
 
 /*
- * Render a flat-shaded color index triangle.
+ * Render a smooth or flat-shaded color index triangle.
  */
-#define NAME flat_ci_triangle
-#define INTERP_Z 1
-#define INTERP_FOG 1
-#define SETUP_CODE			\
-   span.interpMask |= SPAN_INDEX;	\
-   span.index = FloatToFixed(v2->index);\
-   span.indexStep = 0;
-#define RENDER_SPAN( span )  _swrast_write_index_span(ctx, &span);
-#include "s_tritemp.h"
-
-
-
-/*
- * Render a smooth-shaded color index triangle.
- */
-#define NAME smooth_ci_triangle
+#define NAME ci_triangle
 #define INTERP_Z 1
 #define INTERP_FOG 1
 #define INTERP_INDEX 1
@@ -1054,6 +1039,11 @@ _swrast_choose_triangle( GLcontext *ctx )
          }
       }
 
+      if (!rgbmode) {
+         USE(ci_triangle);
+         return;
+      }
+
       if (ctx->Texture._EnabledCoordUnits ||
           ctx->FragmentProgram._Current ||
           ctx->ATIFragmentShader._Enabled) {
@@ -1125,21 +1115,11 @@ _swrast_choose_triangle( GLcontext *ctx )
          ASSERT(!ctx->Texture._EnabledCoordUnits);
 	 if (ctx->Light.ShadeModel==GL_SMOOTH) {
 	    /* smooth shaded, no texturing, stippled or some raster ops */
-            if (rgbmode) {
-	       USE(smooth_rgba_triangle);
-            }
-            else {
-               USE(smooth_ci_triangle);
-            }
+            USE(smooth_rgba_triangle);
 	 }
 	 else {
 	    /* flat shaded, no texturing, stippled or some raster ops */
-            if (rgbmode) {
-	       USE(flat_rgba_triangle);
-            }
-            else {
-               USE(flat_ci_triangle);
-            }
+            USE(flat_rgba_triangle);
 	 }
       }
    }

commit 8a8a5bd104e8cd9362415db77d5f6a3945939589
Author: Brian <brian@yutani.localnet.net>
Date:   Tue Apr 24 16:16:25 2007 -0600

    s/INTERP_TEX/INTERP_ATTRIBS/

diff --git a/src/mesa/swrast/s_triangle.c b/src/mesa/swrast/s_triangle.c
index 3b7960b..dbb634e 100644
--- a/src/mesa/swrast/s_triangle.c
+++ b/src/mesa/swrast/s_triangle.c
@@ -803,7 +803,7 @@ fast_persp_span(GLcontext *ctx, SWspan *span,
 #define INTERP_FOG 1
 #define INTERP_RGB 1
 #define INTERP_ALPHA 1
-#define INTERP_TEX 1
+#define INTERP_ATTRIBS 1
 
 #define SETUP_CODE							\
    struct persp_info info;						\
@@ -874,7 +874,7 @@ fast_persp_span(GLcontext *ctx, SWspan *span,
 #define INTERP_RGB 1
 #define INTERP_SPEC 1
 #define INTERP_ALPHA 1
-#define INTERP_TEX 1
+#define INTERP_ATTRIBS 1
 #define RENDER_SPAN( span )   _swrast_write_rgba_span(ctx, &span);
 #include "s_tritemp.h"
 
diff --git a/src/mesa/swrast/s_tritemp.h b/src/mesa/swrast/s_tritemp.h
index 97c7942..b8601bd 100644
--- a/src/mesa/swrast/s_tritemp.h
+++ b/src/mesa/swrast/s_tritemp.h
@@ -38,7 +38,8 @@
  *    INTERP_INDEX    - if defined, interpolate color index values
  *    INTERP_INT_TEX  - if defined, interpolate integer ST texcoords
  *                         (fast, simple 2-D texture mapping)
- *    INTERP_TEX      - if defined, interpolate texcoords and varying vars
+ *    INTERP_ATTRIBS  - if defined, interpolate arbitrary attribs (texcoords,
+ *                         varying vars, etc)
  *                         NOTE:  OpenGL STRQ = Mesa STUV (R was taken for red)
  *
  * When one can directly address pixels in the color buffer the following
@@ -601,7 +602,7 @@ static void NAME(GLcontext *ctx, const SWvertex *v0,
          span.intTexStep[1] = SignedFloatToFixed(span.attrStepX[FRAG_ATTRIB_TEX0][1]);
       }
 #endif
-#ifdef INTERP_TEX
+#ifdef INTERP_ATTRIBS
       span.interpMask |= (SPAN_TEXTURE | SPAN_VARYING);
       {
          /* win[3] is 1/W */
@@ -719,7 +720,7 @@ static void NAME(GLcontext *ctx, const SWvertex *v0,
          GLfixed sLeft=0, dsOuter=0, dsInner;
          GLfixed tLeft=0, dtOuter=0, dtInner;
 #endif
-#ifdef INTERP_TEX
+#ifdef INTERP_ATTRIBS
          GLfloat sLeft[FRAG_ATTRIB_MAX];
          GLfloat tLeft[FRAG_ATTRIB_MAX];
          GLfloat uLeft[FRAG_ATTRIB_MAX];
@@ -986,7 +987,7 @@ static void NAME(GLcontext *ctx, const SWvertex *v0,
                   dtOuter = SignedFloatToFixed(span.attrStepY[FRAG_ATTRIB_TEX0][1] + dxOuter * span.attrStepX[FRAG_ATTRIB_TEX0][1]);
                }
 #endif
-#ifdef INTERP_TEX
+#ifdef INTERP_ATTRIBS
                ATTRIB_LOOP_BEGIN
                   const GLfloat invW = vLower->win[3];
                   const GLfloat s0 = vLower->attrib[attr][0] * invW;
@@ -1057,7 +1058,7 @@ static void NAME(GLcontext *ctx, const SWvertex *v0,
             dsInner = dsOuter + span.intTexStep[0];
             dtInner = dtOuter + span.intTexStep[1];
 #endif
-#ifdef INTERP_TEX
+#ifdef INTERP_ATTRIBS
             ATTRIB_LOOP_BEGIN
                dsInner[attr] = dsOuter[attr] + span.attrStepX[attr][0];
                dtInner[attr] = dtOuter[attr] + span.attrStepX[attr][1];
@@ -1106,7 +1107,7 @@ static void NAME(GLcontext *ctx, const SWvertex *v0,
                span.intTex[1] = tLeft;
 #endif
 
-#ifdef INTERP_TEX
+#ifdef INTERP_ATTRIBS
                ATTRIB_LOOP_BEGIN
                   span.attrStart[attr][0] = sLeft[attr];
                   span.attrStart[attr][1] = tLeft[attr];
@@ -1194,7 +1195,7 @@ static void NAME(GLcontext *ctx, const SWvertex *v0,
                   sLeft += dsOuter;
                   tLeft += dtOuter;
 #endif
-#ifdef INTERP_TEX
+#ifdef INTERP_ATTRIBS
                   ATTRIB_LOOP_BEGIN
                      sLeft[attr] += dsOuter[attr];
                      tLeft[attr] += dtOuter[attr];
@@ -1239,7 +1240,7 @@ static void NAME(GLcontext *ctx, const SWvertex *v0,
                   sLeft += dsInner;
                   tLeft += dtInner;
 #endif
-#ifdef INTERP_TEX
+#ifdef INTERP_ATTRIBS
                   ATTRIB_LOOP_BEGIN
                      sLeft[attr] += dsInner[attr];
                      tLeft[attr] += dtInner[attr];
@@ -1276,7 +1277,7 @@ static void NAME(GLcontext *ctx, const SWvertex *v0,
 #undef INTERP_SPEC
 #undef INTERP_INDEX
 #undef INTERP_INT_TEX
-#undef INTERP_TEX
+#undef INTERP_ATTRIBS
 #undef TEX_UNIT_LOOP
 #undef VARYING_LOOP
 

commit 3e5eda9ee9ff7c0e393dcc5ecb88198f1990c32f
Author: Brian <brian@yutani.localnet.net>
Date:   Tue Apr 24 10:21:10 2007 -0600

    fix typo

diff --git a/Makefile b/Makefile
index 8a45efc..3eafa44 100644
--- a/Makefile
+++ b/Makefile
@@ -294,7 +294,7 @@ MAIN_FILES = \
 	$(DIRECTORY)/windows/VC8/mesa/glu/glu.vcproj			\
 	$(DIRECTORY)/windows/VC8/mesa/mesa/mesa.vcproj			\
 	$(DIRECTORY)/windows/VC8/mesa/osmesa/osmesa.vcproj		\
-	$(DIRECTORY)/widnows/VC8/progs/progs.sln			\
+	$(DIRECTORY)/windows/VC8/progs/progs.sln			\
 	$(DIRECTORY)/windows/VC8/progs/demos/gears.vcproj		\
 	$(DIRECTORY)/windows/VC8/progs/glut/glut.vcproj
 

commit f38dcc8a6a9dc09af123692ce2147675ad7c4ade
Author: Brian <brian@yutani.localnet.net>
Date:   Tue Apr 24 10:19:19 2007 -0600

    added missing VC8 .sln files

diff --git a/Makefile b/Makefile
index 8aef783..8a45efc 100644
--- a/Makefile
+++ b/Makefile
@@ -289,10 +289,12 @@ MAIN_FILES = \
 	$(DIRECTORY)/windows/VC7/mesa/mesa.sln				\
 	$(DIRECTORY)/windows/VC7/mesa/mesa/mesa.vcproj			\
 	$(DIRECTORY)/windows/VC7/mesa/osmesa/osmesa.vcproj		\
+	$(DIRECTORY)/windows/VC8/mesa/mesa.sln				\
 	$(DIRECTORY)/windows/VC8/mesa/gdi/gdi.vcproj			\
 	$(DIRECTORY)/windows/VC8/mesa/glu/glu.vcproj			\
 	$(DIRECTORY)/windows/VC8/mesa/mesa/mesa.vcproj			\
 	$(DIRECTORY)/windows/VC8/mesa/osmesa/osmesa.vcproj		\
+	$(DIRECTORY)/widnows/VC8/progs/progs.sln			\
 	$(DIRECTORY)/windows/VC8/progs/demos/gears.vcproj		\
 	$(DIRECTORY)/windows/VC8/progs/glut/glut.vcproj
 

commit b1b154c4981b0a1bcdfce1f6f4eabee61e792ab0
Author: Brian <brian@yutani.localnet.net>
Date:   Tue Apr 24 08:58:12 2007 -0600

    added new VC* files, bump version to rc3

diff --git a/Makefile b/Makefile
index a50ede0..8aef783 100644
--- a/Makefile
+++ b/Makefile
@@ -155,10 +155,10 @@ ultrix-gcc:
 
 # Rules for making release tarballs
 
-DIRECTORY = Mesa-6.5.3rc2
-LIB_NAME = MesaLib-6.5.3rc2
-DEMO_NAME = MesaDemos-6.5.3rc2
-GLUT_NAME = MesaGLUT-6.5.3rc2
+DIRECTORY = Mesa-6.5.3rc3
+LIB_NAME = MesaLib-6.5.3rc3
+DEMO_NAME = MesaDemos-6.5.3rc3
+GLUT_NAME = MesaGLUT-6.5.3rc3
 
 MAIN_FILES = \
 	$(DIRECTORY)/Makefile*						\
@@ -288,7 +288,14 @@ MAIN_FILES = \
 	$(DIRECTORY)/windows/VC7/mesa/glu/glu.vcproj			\
 	$(DIRECTORY)/windows/VC7/mesa/mesa.sln				\
 	$(DIRECTORY)/windows/VC7/mesa/mesa/mesa.vcproj			\
-	$(DIRECTORY)/windows/VC7/mesa/osmesa/osmesa.vcproj
+	$(DIRECTORY)/windows/VC7/mesa/osmesa/osmesa.vcproj		\
+	$(DIRECTORY)/windows/VC8/mesa/gdi/gdi.vcproj			\
+	$(DIRECTORY)/windows/VC8/mesa/glu/glu.vcproj			\
+	$(DIRECTORY)/windows/VC8/mesa/mesa/mesa.vcproj			\
+	$(DIRECTORY)/windows/VC8/mesa/osmesa/osmesa.vcproj		\
+	$(DIRECTORY)/windows/VC8/progs/demos/gears.vcproj		\
+	$(DIRECTORY)/windows/VC8/progs/glut/glut.vcproj
+
 
 DRI_FILES = \
 	$(DIRECTORY)/include/GL/internal/dri_interface.h		\

commit 286faac68e7f8c51fd1afa801c75db33a427f8b6
Author: Karl Schultz <k.w.schultz@comcast.net>
Date:   Tue Apr 24 08:53:28 2007 -0600

    assorted fixes for Windows/VC8

diff --git a/src/glu/sgi/glu.def b/src/glu/sgi/glu.def
index ffec651..0c8b021 100644
--- a/src/glu/sgi/glu.def
+++ b/src/glu/sgi/glu.def
@@ -1,4 +1,4 @@
-DESCRIPTION 'Mesa GLU (OpenGL work-alike) for Win32'
+;DESCRIPTION 'Mesa GLU (OpenGL work-alike) for Win32'
 VERSION 5.1
 ;
 ; Module definition file for GLU (GLU32.DLL)
diff --git a/src/glut/glx/glut_win.c b/src/glut/glx/glut_win.c
index 0f48e0b..18554b3 100644
--- a/src/glut/glx/glut_win.c
+++ b/src/glut/glx/glut_win.c
@@ -349,12 +349,18 @@ getVisualInfoRGB(unsigned int mode)
     __glutScreen, list);
 }
 
+#ifndef VisualIDMask
+#define VisualIDMask 0
+#endif
+
 static XVisualInfo *
 getVisualInfoID(int id)
 {
    XVisualInfo temp;
    int count;
+#if !defined(_WIN32)
    temp.visualid = id;
+#endif
    return XGetVisualInfo(__glutDisplay, VisualIDMask, &temp, &count);
 }
 
diff --git a/src/mesa/drivers/osmesa/osmesa.def b/src/mesa/drivers/osmesa/osmesa.def
index a92a30f..71e9687 100644
--- a/src/mesa/drivers/osmesa/osmesa.def
+++ b/src/mesa/drivers/osmesa/osmesa.def
@@ -1,4 +1,4 @@
-DESCRIPTION 'Mesa OSMesa lib for Win32'
+;DESCRIPTION 'Mesa OSMesa lib for Win32'
 VERSION 4.1
 
 EXPORTS
diff --git a/src/mesa/drivers/windows/gdi/mesa.def b/src/mesa/drivers/windows/gdi/mesa.def
index 8d65428..c525945 100644
--- a/src/mesa/drivers/windows/gdi/mesa.def
+++ b/src/mesa/drivers/windows/gdi/mesa.def
@@ -1,6 +1,6 @@
 ; DO NOT EDIT - This file generated automatically by mesadef.py script
-DESCRIPTION 'Mesa (OpenGL work-alike) for Win32'
-VERSION 6.0
+;DESCRIPTION 'Mesa (OpenGL work-alike) for Win32'
+VERSION 6.5
 ;
 ; Module definition file for Mesa (OPENGL32.DLL)
 ;
@@ -867,6 +867,8 @@ EXPORTS
 	_glapi_get_proc_address
 	_mesa_add_soft_renderbuffers
 	_mesa_add_renderbuffer
+	_mesa_attach_shader
+	_mesa_bind_attrib_location
 	_mesa_buffer_data
 	_mesa_buffer_get_subdata
 	_mesa_buffer_map
@@ -875,15 +877,21 @@ EXPORTS
 	_mesa_bzero
 	_mesa_calloc
 	_mesa_choose_tex_format
+	_mesa_compile_shader
 	_mesa_compressed_texture_size
 	_mesa_create_framebuffer
+	_mesa_create_program
+	_mesa_create_shader
 	_mesa_create_visual
 	_mesa_delete_array_object
 	_mesa_delete_buffer_object
 	_mesa_delete_program
+	_mesa_delete_program2
+	_mesa_delete_shader
 	_mesa_delete_texture_object
 	_mesa_destroy_framebuffer
 	_mesa_destroy_visual
+	_mesa_detach_shader
 	_mesa_enable_1_3_extensions
 	_mesa_enable_1_4_extensions
 	_mesa_enable_1_5_extensions
@@ -894,13 +902,28 @@ EXPORTS
 	_mesa_free
 	_mesa_free_context_data
 	_mesa_free_texture_image_data
+	_mesa_get_active_attrib



Reply to: