debian/changelog                                               |    8 
 debian/patches/03_optional-progs-and-install.patch             |   12 
 debian/patches/04_osmesa_version.diff                          |   10 
 src/mesa/drivers/windows/gldirect/dx7/gld_driver_dx7.c         | 1196 -----
 src/mesa/drivers/windows/gldirect/dx7/gld_dx7.h                |  292 -
 src/mesa/drivers/windows/gldirect/dx7/gld_dxerr7.h             |   77 
 src/mesa/drivers/windows/gldirect/dx7/gld_ext_dx7.c            |  346 -
 src/mesa/drivers/windows/gldirect/dx7/gld_pipeline_dx7.c       |   77 
 src/mesa/drivers/windows/gldirect/dx7/gld_primitive_dx7.c      | 1448 ------
 src/mesa/drivers/windows/gldirect/dx7/gld_texture_dx7.c        | 2196 
----------
 src/mesa/drivers/windows/gldirect/dx7/gld_vb_d3d_render_dx7.c  |  257 -
 src/mesa/drivers/windows/gldirect/dx7/gld_vb_mesa_render_dx7.c |  422 -
 src/mesa/drivers/windows/gldirect/dx7/gld_wgl_dx7.c            | 1611 -------
 src/mesa/drivers/windows/gldirect/dx8/gld_driver_dx8.c         | 1176 -----
 src/mesa/drivers/windows/gldirect/dx8/gld_dx8.h                |  324 -
 src/mesa/drivers/windows/gldirect/dx8/gld_dxerr8.h             |   77 
 src/mesa/drivers/windows/gldirect/dx8/gld_ext_dx8.c            |  344 -
 src/mesa/drivers/windows/gldirect/dx8/gld_pipeline_dx8.c       |   77 
 src/mesa/drivers/windows/gldirect/dx8/gld_primitive_dx8.c      | 1446 ------
 src/mesa/drivers/windows/gldirect/dx8/gld_texture_dx8.c        | 2046 ---------
 src/mesa/drivers/windows/gldirect/dx8/gld_vb_d3d_render_dx8.c  |  249 -
 src/mesa/drivers/windows/gldirect/dx8/gld_vb_mesa_render_dx8.c |  448 --
 src/mesa/drivers/windows/gldirect/dx8/gld_wgl_dx8.c            | 1335 ------
 src/mesa/drivers/windows/gldirect/dx9/gld_driver_dx9.c         | 1206 -----
 src/mesa/drivers/windows/gldirect/dx9/gld_dx9.h                |  327 -
 src/mesa/drivers/windows/gldirect/dx9/gld_dxerr9.h             |   77 
 src/mesa/drivers/windows/gldirect/dx9/gld_ext_dx9.c            |  344 -
 src/mesa/drivers/windows/gldirect/dx9/gld_pipeline_dx9.c       |   77 
 src/mesa/drivers/windows/gldirect/dx9/gld_primitive_dx9.c      | 1446 ------
 src/mesa/drivers/windows/gldirect/dx9/gld_texture_dx9.c        | 2104 ---------
 src/mesa/drivers/windows/gldirect/dx9/gld_vb_d3d_render_dx9.c  |  263 -
 src/mesa/drivers/windows/gldirect/dx9/gld_vb_mesa_render_dx9.c |  443 --
 src/mesa/drivers/windows/gldirect/dx9/gld_wgl_dx9.c            | 1345 ------
 33 files changed, 17 insertions(+), 23089 deletions(-)

New commits:
commit f5c47105dbc810d7193c4df48bbbe08351e1f5d2
Author: Julien Cristau <[email protected]>
Date:   Wed Jan 21 19:01:24 2009 +0100

    Prepare changelog for upload

diff --git a/debian/changelog b/debian/changelog
index b521e3a..b40e25b 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,4 +1,4 @@
-mesa (7.3~rc3-1) UNRELEASED; urgency=low
+mesa (7.3~rc3-1) experimental; urgency=low
 
   [ Timo Aaltonen ]
   * New upstream release candidate.
@@ -6,7 +6,7 @@ mesa (7.3~rc3-1) UNRELEASED; urgency=low
   [ Julien Cristau ]
   * Refresh patches 03 and 04.
 
- -- Timo Aaltonen <[email protected]>  Fri, 16 Jan 2009 23:06:40 +0200
+ -- Julien Cristau <[email protected]>  Wed, 21 Jan 2009 19:01:21 +0100
 
 mesa (7.3~rc1-1) experimental; urgency=low
 

commit f1939c868505c59798de1b88a32b633fe292ac03
Author: Julien Cristau <[email protected]>
Date:   Wed Jan 21 19:01:17 2009 +0100

    Refresh patches 03 and 04.

diff --git a/debian/changelog b/debian/changelog
index 052d3db..b521e3a 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,7 +1,11 @@
 mesa (7.3~rc3-1) UNRELEASED; urgency=low
 
+  [ Timo Aaltonen ]
   * New upstream release candidate.
 
+  [ Julien Cristau ]
+  * Refresh patches 03 and 04.
+
  -- Timo Aaltonen <[email protected]>  Fri, 16 Jan 2009 23:06:40 +0200
 
 mesa (7.3~rc1-1) experimental; urgency=low
diff --git a/debian/patches/03_optional-progs-and-install.patch 
b/debian/patches/03_optional-progs-and-install.patch
index 211c7a9..6eac84a 100644
--- a/debian/patches/03_optional-progs-and-install.patch
+++ b/debian/patches/03_optional-progs-and-install.patch
@@ -12,8 +12,8 @@ and we don't actually build it at this point.
 
 Index: mesa/progs/xdemos/Makefile
 ===================================================================
---- mesa.orig/progs/xdemos/Makefile    2008-07-01 15:26:56.000000000 +0300
-+++ mesa/progs/xdemos/Makefile 2008-07-01 15:48:47.000000000 +0300
+--- mesa.orig/progs/xdemos/Makefile
++++ mesa/progs/xdemos/Makefile
 @@ -10,7 +10,7 @@
  
  LIBS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) $(APP_LIB_DEPS)
@@ -21,9 +21,9 @@ Index: mesa/progs/xdemos/Makefile
 -PROGS = \
 +PROGS ?= \
        corender \
+       glsync \
        glthreads \
-       glxdemo \
-@@ -60,6 +60,11 @@
+@@ -61,6 +61,11 @@
  extra: $(EXTRA_PROGS)
  
  
@@ -37,8 +37,8 @@ Index: mesa/progs/xdemos/Makefile
        -rm -f *.o *~
 Index: mesa/progs/Makefile
 ===================================================================
---- mesa.orig/progs/Makefile   2008-07-01 15:26:56.000000000 +0300
-+++ mesa/progs/Makefile        2008-07-01 15:48:07.000000000 +0300
+--- mesa.orig/progs/Makefile
++++ mesa/progs/Makefile
 @@ -21,8 +21,12 @@
                fi \
        done
diff --git a/debian/patches/04_osmesa_version.diff 
b/debian/patches/04_osmesa_version.diff
index 5734397..108916c 100644
--- a/debian/patches/04_osmesa_version.diff
+++ b/debian/patches/04_osmesa_version.diff
@@ -1,17 +1,17 @@
 Index: mesa/src/mesa/drivers/osmesa/Makefile
 ===================================================================
---- mesa.orig/src/mesa/drivers/osmesa/Makefile 2008-09-12 10:44:02.000000000 
+0300
-+++ mesa/src/mesa/drivers/osmesa/Makefile      2008-09-23 16:07:40.000000000 
+0300
-@@ -46,7 +46,7 @@
+--- mesa.orig/src/mesa/drivers/osmesa/Makefile
++++ mesa/src/mesa/drivers/osmesa/Makefile
+@@ -45,7 +45,7 @@
  
- $(TOP)/lib/$(OSMESA_LIB_NAME): $(OBJECTS)
+ $(TOP)/$(LIB_DIR)/$(OSMESA_LIB_NAME): $(OBJECTS)
        $(MKLIB) -o $(OSMESA_LIB) -linker '$(CC)' -ldflags '$(LDFLAGS)' \
 -              -major $(MESA_MAJOR) -minor $(MESA_MINOR) -patch $(MESA_TINY) \
 +              -major 6 -minor 5 -patch 3 \
                -install $(TOP)/$(LIB_DIR) $(MKLIB_OPTIONS) \
                -id $(INSTALL_LIB_DIR)/lib$(OSMESA_LIB).$(MESA_MAJOR).dylib \
                $(OSMESA_LIB_DEPS) $(OBJECTS)
-@@ -58,7 +58,7 @@
+@@ -57,7 +57,7 @@
  # with all the other Mesa sources (compiled with -DCHAN_BITS=16/32
  osmesa16: $(OBJECTS) $(CORE_MESA)
        $(MKLIB) -o $(OSMESA_LIB) -linker '$(CC)' -ldflags '$(LDFLAGS)' \

commit 3ac4d678ef4f95268be2a34f4511593900ba1357
Author: Julien Cristau <[email protected]>
Date:   Wed Jan 21 18:51:07 2009 +0100

    Delete some more files which aren't in the tarballs

diff --git a/src/mesa/drivers/windows/gldirect/dx7/gld_driver_dx7.c 
b/src/mesa/drivers/windows/gldirect/dx7/gld_driver_dx7.c
deleted file mode 100644
index d5fa642..0000000
--- a/src/mesa/drivers/windows/gldirect/dx7/gld_driver_dx7.c
+++ /dev/null
@@ -1,1196 +0,0 @@
-/****************************************************************************
-*
-*                        Mesa 3-D graphics library
-*                        Direct3D Driver Interface
-*
-*  ========================================================================
-*
-*   Copyright (C) 1991-2004 SciTech Software, Inc. 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"),
-*   to deal in the Software without restriction, including without limitation
-*   the rights to use, copy, modify, merge, publish, distribute, sublicense,
-*   and/or sell copies of the Software, and to permit persons to whom the
-*   Software is furnished to do so, subject to the following conditions:
-*
-*   The above copyright notice and this permission notice shall be included
-*   in all copies or substantial portions of the Software.
-*
-*   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-*   OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-*   FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
-*   SCITECH SOFTWARE INC BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-*   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
-*   OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-*   SOFTWARE.
-*
-*  ======================================================================
-*
-* Language:     ANSI C
-* Environment:  Windows 9x/2000/XP/XBox (Win32)
-*
-* Description:  Driver interface code to Mesa
-*
-****************************************************************************/
-
-//#include <windows.h>
-#include "dglcontext.h"
-#include "ddlog.h"
-#include "gld_dx7.h"
-
-#include "glheader.h"
-#include "context.h"
-#include "colormac.h"
-#include "depth.h"
-#include "extensions.h"
-#include "macros.h"
-#include "matrix.h"
-// #include "mem.h"
-//#include "mmath.h"
-#include "mtypes.h"
-#include "texformat.h"
-#include "teximage.h"
-#include "texstore.h"
-#include "vbo/vbo.h"
-#include "swrast_setup/swrast_setup.h"
-#include "swrast_setup/ss_context.h"
-#include "tnl/tnl.h"
-#include "tnl/t_context.h"
-#include "tnl/t_pipeline.h"
-
-extern BOOL dglSwapBuffers(HDC hDC);
-
-// HACK: Hack the _33 member of the OpenGL perspective projection matrix
-const float _fPersp_33 = 1.6f;
-
-//---------------------------------------------------------------------------
-// Internal functions
-//---------------------------------------------------------------------------
-
-void _gld_mesa_warning(
-       __GLcontext *gc,
-       char *str)
-{
-       // Intercept Mesa's internal warning mechanism
-       gldLogPrintf(GLDLOG_WARN, "Mesa warning: %s", str);
-}
-
-//---------------------------------------------------------------------------
-
-void _gld_mesa_fatal(
-       __GLcontext *gc,
-       char *str)
-{
-       // Intercept Mesa's internal fatal-message mechanism
-       gldLogPrintf(GLDLOG_CRITICAL, "Mesa FATAL: %s", str);
-
-       // Mesa calls abort(0) here.
-       ddlogClose();
-       exit(0);
-}
-
-//---------------------------------------------------------------------------
-
-D3DSTENCILOP _gldConvertStencilOp(
-       GLenum StencilOp)
-{
-       // Used by Stencil: pass, fail and zfail
-
-       switch (StencilOp) {
-       case GL_KEEP:
-               return D3DSTENCILOP_KEEP;
-       case GL_ZERO:
-               return D3DSTENCILOP_ZERO;
-       case GL_REPLACE:
-           return D3DSTENCILOP_REPLACE;
-       case GL_INCR:
-               return D3DSTENCILOP_INCRSAT;
-       case GL_DECR:
-           return D3DSTENCILOP_DECRSAT;
-       case GL_INVERT:
-               return D3DSTENCILOP_INVERT;
-       case GL_INCR_WRAP_EXT:  // GL_EXT_stencil_wrap
-               return D3DSTENCILOP_INCR;
-       case GL_DECR_WRAP_EXT:  // GL_EXT_stencil_wrap
-           return D3DSTENCILOP_DECR;
-       }
-
-#ifdef _DEBUG
-       gldLogMessage(GLDLOG_ERROR, "_gldConvertStencilOp: Unknown 
StencilOp\n");
-#endif
-
-       return D3DSTENCILOP_KEEP;
-}
-
-//---------------------------------------------------------------------------
-
-D3DCMPFUNC _gldConvertCompareFunc(
-       GLenum CmpFunc)
-{
-       // Used for Alpha func, depth func and stencil func.
-
-       switch (CmpFunc) {
-       case GL_NEVER:
-               return D3DCMP_NEVER;
-       case GL_LESS:
-               return D3DCMP_LESS;
-       case GL_EQUAL:
-               return D3DCMP_EQUAL;
-       case GL_LEQUAL:
-               return D3DCMP_LESSEQUAL;
-       case GL_GREATER:
-               return D3DCMP_GREATER;
-       case GL_NOTEQUAL:
-               return D3DCMP_NOTEQUAL;
-       case GL_GEQUAL:
-               return D3DCMP_GREATEREQUAL;
-       case GL_ALWAYS:
-               return D3DCMP_ALWAYS;
-       };
-
-#ifdef _DEBUG
-       gldLogMessage(GLDLOG_ERROR, "_gldConvertCompareFunc: Unknown 
CompareFunc\n");
-#endif
-
-       return D3DCMP_ALWAYS;
-}
-
-//---------------------------------------------------------------------------
-
-D3DBLEND _gldConvertBlendFunc(
-       GLenum blend,
-       GLenum DefaultBlend)
-{
-       switch (blend) {
-       case GL_ZERO:
-               return D3DBLEND_ZERO;
-       case GL_ONE:
-               return D3DBLEND_ONE;
-       case GL_DST_COLOR:
-               return D3DBLEND_DESTCOLOR;
-       case GL_SRC_COLOR:
-               return D3DBLEND_SRCCOLOR;
-       case GL_ONE_MINUS_DST_COLOR:
-               return D3DBLEND_INVDESTCOLOR;
-       case GL_ONE_MINUS_SRC_COLOR:
-               return D3DBLEND_INVSRCCOLOR;
-       case GL_SRC_ALPHA:
-               return D3DBLEND_SRCALPHA;
-       case GL_ONE_MINUS_SRC_ALPHA:
-               return D3DBLEND_INVSRCALPHA;
-       case GL_DST_ALPHA:
-               return D3DBLEND_DESTALPHA;
-       case GL_ONE_MINUS_DST_ALPHA:
-               return D3DBLEND_INVDESTALPHA;
-       case GL_SRC_ALPHA_SATURATE:
-               return D3DBLEND_SRCALPHASAT;
-       }
-
-#ifdef _DEBUG
-       gldLogMessage(GLDLOG_ERROR, "_gldConvertBlendFunc: Unknown 
BlendFunc\n");
-#endif
-
-       return DefaultBlend;
-}
-
-//---------------------------------------------------------------------------
-// Misc. functions
-//---------------------------------------------------------------------------
-
-void gld_Noop_DX7(
-       GLcontext *ctx)
-{
-#ifdef _DEBUG
-       gldLogMessage(GLDLOG_ERROR, "gld_Noop called!\n");
-#endif
-}
-
-//---------------------------------------------------------------------------
-
-void gld_Error_DX7(
-       GLcontext *ctx)
-{
-#ifdef _DEBUG
-       // Quite useless.
-//     gldLogMessage(GLDLOG_ERROR, "ctx->Driver.Error called!\n");
-#endif
-}
-
-//---------------------------------------------------------------------------
-// Required Mesa functions
-//---------------------------------------------------------------------------
-
-static GLboolean gld_set_draw_buffer_DX7(
-       GLcontext *ctx,
-       GLenum mode)
-{
-   (void) ctx;
-   if ((mode==GL_FRONT_LEFT) || (mode == GL_BACK_LEFT)) {
-      return GL_TRUE;
-   }
-   else {
-      return GL_FALSE;
-   }
-}
-
-//---------------------------------------------------------------------------
-
-static void gld_set_read_buffer_DX7(
-       GLcontext *ctx,
-       GLframebuffer *buffer,
-       GLenum mode)
-{
-   /* separate read buffer not supported */
-/*
-   ASSERT(buffer == ctx->DrawBuffer);
-   ASSERT(mode == GL_FRONT_LEFT);
-*/
-}
-
-//---------------------------------------------------------------------------
-
-void gld_Clear_DX7(
-       GLcontext *ctx,
-       GLbitfield mask,
-       GLboolean all,
-       GLint x,
-       GLint y,
-       GLint width,
-       GLint height)
-{
-       GLD_context                     *gldCtx = GLD_GET_CONTEXT(ctx);
-       GLD_driver_dx7          *gld    = GLD_GET_DX7_DRIVER(gldCtx);
-
-       DWORD           dwFlags = 0;
-       D3DCOLOR        Color = 0;
-       float           Z = 0.0f;
-       DWORD           Stencil = 0;
-       D3DRECT         d3dClearRect;
-
-       // TODO: Colourmask
-       const GLuint *colorMask = (GLuint *) &ctx->Color.ColorMask;
-
-       if (!gld->pDev)
-               return;
-
-       if (mask & (DD_FRONT_LEFT_BIT | DD_BACK_LEFT_BIT)) {
-               GLubyte col[4];
-               CLAMPED_FLOAT_TO_UBYTE(col[0], ctx->Color.ClearColor[0]);
-               CLAMPED_FLOAT_TO_UBYTE(col[1], ctx->Color.ClearColor[1]);
-               CLAMPED_FLOAT_TO_UBYTE(col[2], ctx->Color.ClearColor[2]);
-               CLAMPED_FLOAT_TO_UBYTE(col[3], ctx->Color.ClearColor[3]);
-               dwFlags |= D3DCLEAR_TARGET;
-               Color = D3DCOLOR_RGBA(col[0], col[1], col[2], col[3]);
-//                                                             
ctx->Color.ClearColor[1], 
-//                                                             
ctx->Color.ClearColor[2], 
-//                                                             
ctx->Color.ClearColor[3]);
-       }
-
-       if (mask & DD_DEPTH_BIT) {
-               // D3D7 will fail the Clear call if we try and clear a
-               // depth buffer and we haven't created one.
-               // Also, some apps try and clear a depth buffer,
-               // when a depth buffer hasn't been requested by the app.
-               if (ctx->Visual.depthBits == 0) {
-                       mask &= ~DD_DEPTH_BIT; // Remove depth bit from mask
-               } else {
-                       dwFlags |= D3DCLEAR_ZBUFFER;
-                       Z = ctx->Depth.Clear;
-               }
-       }
-
-       if (mask & DD_STENCIL_BIT) {
-               if (ctx->Visual.stencilBits == 0) {
-                       // No stencil bits in depth buffer
-                       mask &= ~DD_STENCIL_BIT; // Remove stencil bit from mask
-               } else {
-                       dwFlags |= D3DCLEAR_STENCIL;
-                       Stencil = ctx->Stencil.Clear;
-               }
-       }
-
-       // Some apps do really weird things with the rect, such as Quake3.
-       if ((x < 0) || (y < 0) || (width <= 0) || (height <= 0)) {
-               all = GL_TRUE;
-       }
-
-       if (!all) {
-               // Calculate clear subrect
-               d3dClearRect.x1 = x;
-               d3dClearRect.y1 = gldCtx->dwHeight - (y + height);
-               d3dClearRect.x2 = x + width;
-               d3dClearRect.y2 = d3dClearRect.y1 + height;
-       }
-
-       // dwFlags will be zero if there's nothing to clear
-       if (dwFlags) {
-               _GLD_DX7_DEV(Clear(
-                       gld->pDev,
-                       all ? 0 : 1,
-                       all ? NULL : &d3dClearRect,
-                       dwFlags,
-                       Color, Z, Stencil));
-       }
-
-       if (mask & DD_ACCUM_BIT) {
-               // Clear accumulation buffer
-       }
-}
-
-//---------------------------------------------------------------------------
-
-// Mesa 5: Parameter change
-static void gld_buffer_size_DX7(
-//     GLcontext *ctx,
-       GLframebuffer *fb,
-       GLuint *width,
-       GLuint *height)
-{
-//     GLD_context             *gldCtx = GLD_GET_CONTEXT(ctx);
-
-       *width = fb->Width; // gldCtx->dwWidth;
-       *height = fb->Height; // gldCtx->dwHeight;
-}
-
-//---------------------------------------------------------------------------
-
-static void gld_Finish_DX7(
-       GLcontext *ctx)
-{
-}
-
-//---------------------------------------------------------------------------
-
-static void gld_Flush_DX7(
-       GLcontext *ctx)
-{
-       GLD_context             *gld    = GLD_GET_CONTEXT(ctx);
-
-       // TODO: Detect apps that glFlush() then SwapBuffers() ?
-
-       if (gld->EmulateSingle) {
-               // Emulating a single-buffered context.
-               // [Direct3D doesn't allow rendering to front buffer]
-               dglSwapBuffers(gld->hDC);
-       }
-}
-
-//---------------------------------------------------------------------------
-
-void gld_NEW_STENCIL(
-       GLcontext *ctx)
-{
-       GLD_context                     *gldCtx = GLD_GET_CONTEXT(ctx);
-       GLD_driver_dx7          *gld    = GLD_GET_DX7_DRIVER(gldCtx);
-
-       // Two-sided stencil. New for Mesa 5
-       const GLuint            uiFace  = 0UL;
-
-       struct gl_stencil_attrib *pStencil = &ctx->Stencil;
-
-       _GLD_DX7_DEV(SetRenderState(gld->pDev, D3DRENDERSTATE_STENCILENABLE, 
pStencil->Enabled ? TRUE : FALSE));
-       if (pStencil->Enabled) {
-               _GLD_DX7_DEV(SetRenderState(gld->pDev, 
D3DRENDERSTATE_STENCILFUNC, 
_gldConvertCompareFunc(pStencil->Function[uiFace])));
-               _GLD_DX7_DEV(SetRenderState(gld->pDev, 
D3DRENDERSTATE_STENCILREF, pStencil->Ref[uiFace]));
-               _GLD_DX7_DEV(SetRenderState(gld->pDev, 
D3DRENDERSTATE_STENCILMASK, pStencil->ValueMask[uiFace]));
-               _GLD_DX7_DEV(SetRenderState(gld->pDev, 
D3DRENDERSTATE_STENCILWRITEMASK, pStencil->WriteMask[uiFace]));
-               _GLD_DX7_DEV(SetRenderState(gld->pDev, 
D3DRENDERSTATE_STENCILFAIL, _gldConvertStencilOp(pStencil->FailFunc[uiFace])));
-               _GLD_DX7_DEV(SetRenderState(gld->pDev, 
D3DRENDERSTATE_STENCILZFAIL, 
_gldConvertStencilOp(pStencil->ZFailFunc[uiFace])));
-               _GLD_DX7_DEV(SetRenderState(gld->pDev, 
D3DRENDERSTATE_STENCILPASS, _gldConvertStencilOp(pStencil->ZPassFunc[uiFace])));
-       }
-}
-
-//---------------------------------------------------------------------------
-
-void gld_NEW_COLOR(
-       GLcontext *ctx)
-{
-       GLD_context                     *gldCtx = GLD_GET_CONTEXT(ctx);
-       GLD_driver_dx7          *gld    = GLD_GET_DX7_DRIVER(gldCtx);
-
-       DWORD           dwFlags = 0;
-       D3DBLEND        src;
-       D3DBLEND        dest;
-
-       // Alpha func
-       _GLD_DX7_DEV(SetRenderState(gld->pDev, D3DRENDERSTATE_ALPHAFUNC, 
_gldConvertCompareFunc(ctx->Color.AlphaFunc)));
-       _GLD_DX7_DEV(SetRenderState(gld->pDev, D3DRENDERSTATE_ALPHAREF, 
(DWORD)ctx->Color.AlphaRef));
-       _GLD_DX7_DEV(SetRenderState(gld->pDev, D3DRENDERSTATE_ALPHATESTENABLE, 
ctx->Color.AlphaEnabled));
-
-       // Blend func
-       _GLD_DX7_DEV(SetRenderState(gld->pDev, D3DRENDERSTATE_ALPHABLENDENABLE, 
ctx->Color.BlendEnabled));
-       src             = _gldConvertBlendFunc(ctx->Color.BlendSrcRGB, GL_ONE);
-       dest    = _gldConvertBlendFunc(ctx->Color.BlendDstRGB, GL_ZERO);
-       _GLD_DX7_DEV(SetRenderState(gld->pDev, D3DRENDERSTATE_SRCBLEND, src));
-       _GLD_DX7_DEV(SetRenderState(gld->pDev, D3DRENDERSTATE_DESTBLEND, dest));
-
-/*
-       // Color mask - unsupported by DX7
-       if (ctx->Color.ColorMask[0]) dwFlags |= D3DCOLORWRITEENABLE_RED;
-       if (ctx->Color.ColorMask[1]) dwFlags |= D3DCOLORWRITEENABLE_GREEN;
-       if (ctx->Color.ColorMask[2]) dwFlags |= D3DCOLORWRITEENABLE_BLUE;
-       if (ctx->Color.ColorMask[3]) dwFlags |= D3DCOLORWRITEENABLE_ALPHA;
-       _GLD_DX7_DEV(SetRenderState(gld->pDev, D3DRENDERSTATE_COLORWRITEENABLE, 
dwFlags));
-*/
-}
-
-//---------------------------------------------------------------------------
-
-void gld_NEW_DEPTH(
-       GLcontext *ctx)
-{
-       GLD_context                     *gldCtx = GLD_GET_CONTEXT(ctx);
-       GLD_driver_dx7          *gld    = GLD_GET_DX7_DRIVER(gldCtx);
-
-       _GLD_DX7_DEV(SetRenderState(gld->pDev, D3DRENDERSTATE_ZENABLE, 
ctx->Depth.Test ? D3DZB_TRUE : D3DZB_FALSE));
-       _GLD_DX7_DEV(SetRenderState(gld->pDev, D3DRENDERSTATE_ZFUNC, 
_gldConvertCompareFunc(ctx->Depth.Func)));
-       _GLD_DX7_DEV(SetRenderState(gld->pDev, D3DRENDERSTATE_ZWRITEENABLE, 
ctx->Depth.Mask ? TRUE : FALSE));
-}
-
-//---------------------------------------------------------------------------
-
-void gld_NEW_POLYGON(
-       GLcontext *ctx)
-{
-       GLD_context                     *gldCtx = GLD_GET_CONTEXT(ctx);
-       GLD_driver_dx7          *gld    = GLD_GET_DX7_DRIVER(gldCtx);
-
-       D3DFILLMODE     d3dFillMode = D3DFILL_SOLID;
-       D3DCULL         d3dCullMode = D3DCULL_NONE;
-       int                     iOffset = 0;
-
-       // Fillmode
-       switch (ctx->Polygon.FrontMode) {
-       case GL_POINT:
-               d3dFillMode = D3DFILL_POINT;
-               break;
-       case GL_LINE:
-               d3dFillMode = D3DFILL_WIREFRAME;
-               break;
-       case GL_FILL:
-               d3dFillMode = D3DFILL_SOLID;
-               break;
-       }
-       _GLD_DX7_DEV(SetRenderState(gld->pDev, D3DRENDERSTATE_FILLMODE, 
d3dFillMode));
-
-       if (ctx->Polygon.CullFlag) {
-               switch (ctx->Polygon.CullFaceMode) {
-               case GL_BACK:
-                       if (ctx->Polygon.FrontFace == GL_CCW)
-                               d3dCullMode = D3DCULL_CW;
-                       else
-                               d3dCullMode = D3DCULL_CCW;
-                       break;
-               case GL_FRONT:
-                       if (ctx->Polygon.FrontFace == GL_CCW)
-                               d3dCullMode = D3DCULL_CCW;
-                       else
-                               d3dCullMode = D3DCULL_CW;
-                       break;
-               case GL_FRONT_AND_BACK:
-                       d3dCullMode = D3DCULL_NONE;
-                       break;
-               default:
-                       break;
-               }
-       } else {
-               d3dCullMode = D3DCULL_NONE;
-       }
-//     d3dCullMode = D3DCULL_NONE; // TODO: DEBUGGING
-       _GLD_DX7_DEV(SetRenderState(gld->pDev, D3DRENDERSTATE_CULLMODE, 
d3dCullMode));
-
-       // Polygon offset
-       // ZBIAS ranges from 0 to 16 and can only move towards the viewer
-       // Mesa5: ctx->Polygon._OffsetAny removed
-       if (ctx->Polygon.OffsetFill) {
-               iOffset = (int)ctx->Polygon.OffsetUnits;
-               if (iOffset < 0)
-                       iOffset = -iOffset;
-               else
-                       iOffset = 0; // D3D can't push away
-       }
-       _GLD_DX7_DEV(SetRenderState(gld->pDev, D3DRENDERSTATE_ZBIAS, iOffset));
-}
-
-//---------------------------------------------------------------------------
-
-void gld_NEW_FOG(
-       GLcontext *ctx)
-{
-       GLD_context                     *gldCtx = GLD_GET_CONTEXT(ctx);
-       GLD_driver_dx7          *gld    = GLD_GET_DX7_DRIVER(gldCtx);
-
-       D3DCOLOR        d3dFogColour;
-       D3DFOGMODE      d3dFogMode = D3DFOG_LINEAR;
-
-       // TODO: Fog is calculated seperately in the Mesa pipeline
-       _GLD_DX7_DEV(SetRenderState(gld->pDev, D3DRENDERSTATE_FOGENABLE, 
FALSE));
-       return;
-
-       // Fog enable
-       _GLD_DX7_DEV(SetRenderState(gld->pDev, D3DRENDERSTATE_FOGENABLE, 
ctx->Fog.Enabled));
-       if (!ctx->Fog.Enabled) {
-               _GLD_DX7_DEV(SetRenderState(gld->pDev, 
D3DRENDERSTATE_FOGTABLEMODE, D3DFOG_NONE));
-               _GLD_DX7_DEV(SetRenderState(gld->pDev, 
D3DRENDERSTATE_FOGVERTEXMODE, D3DFOG_NONE));
-               return; // If disabled, don't bother setting any fog state
-       }
-
-       // Fog colour
-       d3dFogColour = D3DCOLOR_COLORVALUE(     ctx->Fog.Color[0],
-                                                               
ctx->Fog.Color[1],
-                                                               
ctx->Fog.Color[2],
-                                                               
ctx->Fog.Color[3]);
-       _GLD_DX7_DEV(SetRenderState(gld->pDev, D3DRENDERSTATE_FOGCOLOR, 
d3dFogColour));
-
-       // Fog density
-       _GLD_DX7_DEV(SetRenderState(gld->pDev, D3DRENDERSTATE_FOGDENSITY, 
*((DWORD*) (&ctx->Fog.Density))));
-
-       // Fog start
-       _GLD_DX7_DEV(SetRenderState(gld->pDev, D3DRENDERSTATE_FOGSTART, 
*((DWORD*) (&ctx->Fog.Start))));
-
-       // Fog end
-       _GLD_DX7_DEV(SetRenderState(gld->pDev, D3DRENDERSTATE_FOGEND, 
*((DWORD*) (&ctx->Fog.End))));
-
-       // Fog mode
-       switch (ctx->Fog.Mode) {
-       case GL_LINEAR:
-               d3dFogMode = D3DFOG_LINEAR;
-               break;
-       case GL_EXP:
-               d3dFogMode = D3DFOG_EXP;
-               break;
-       case GL_EXP2:
-               d3dFogMode = D3DFOG_EXP2;
-               break;
-       }
-       _GLD_DX7_DEV(SetRenderState(gld->pDev, D3DRENDERSTATE_FOGTABLEMODE, 
d3dFogMode));
-       _GLD_DX7_DEV(SetRenderState(gld->pDev, D3DRENDERSTATE_FOGVERTEXMODE, 
D3DFOG_NONE));
-}
-
-//---------------------------------------------------------------------------
-
-void gld_NEW_LIGHT(
-       GLcontext *ctx)
-{
-       GLD_context             *gldCtx = GLD_GET_CONTEXT(ctx);
-       GLD_driver_dx7  *gld    = GLD_GET_DX7_DRIVER(gldCtx);
-       DWORD                   dwSpecularEnable;
-
-       // Shademode
-       _GLD_DX7_DEV(SetRenderState(gld->pDev, D3DRENDERSTATE_SHADEMODE, 
(ctx->Light.ShadeModel == GL_SMOOTH) ? D3DSHADE_GOURAUD : D3DSHADE_FLAT));
-
-       // Separate specular colour
-       if (ctx->Light.Enabled)
-               dwSpecularEnable = (ctx->_TriangleCaps & DD_SEPARATE_SPECULAR) 
? TRUE: FALSE;
-       else
-               dwSpecularEnable = FALSE;
-       _GLD_DX7_DEV(SetRenderState(gld->pDev, D3DRENDERSTATE_SPECULARENABLE, 
dwSpecularEnable));
-}
-
-//---------------------------------------------------------------------------
-
-void gld_NEW_MODELVIEW(
-       GLcontext *ctx)
-{
-       GLD_context                     *gldCtx = GLD_GET_CONTEXT(ctx);
-       GLD_driver_dx7          *gld    = GLD_GET_DX7_DRIVER(gldCtx);
-
-       D3DMATRIX       m;
-       //GLfloat               *pM = ctx->ModelView.m;
-       // Mesa5: Model-view is now a stack
-       GLfloat         *pM = ctx->ModelviewMatrixStack.Top->m;
-       m._11 = pM[0];
-       m._12 = pM[1];
-       m._13 = pM[2];
-       m._14 = pM[3];
-       m._21 = pM[4];
-       m._22 = pM[5];
-       m._23 = pM[6];
-       m._24 = pM[7];
-       m._31 = pM[8];
-       m._32 = pM[9];
-       m._33 = pM[10];
-       m._34 = pM[11];
-       m._41 = pM[12];
-       m._42 = pM[13];
-       m._43 = pM[14];
-       m._44 = pM[15];
-/*     m[0][0] = pM[0];
-       m[0][1] = pM[1];
-       m[0][2] = pM[2];
-       m[0][3] = pM[3];
-       m[1][0] = pM[4];
-       m[1][1] = pM[5];
-       m[1][2] = pM[6];
-       m[1][3] = pM[7];
-       m[2][0] = pM[8];
-       m[2][1] = pM[9];
-       m[2][2] = pM[10];
-       m[2][3] = pM[11];
-       m[3][0] = pM[12];
-       m[3][1] = pM[13];
-       m[3][2] = pM[14];
-       m[3][3] = pM[15];*/
-
-       gld->matModelView = m;
-}
-
-//---------------------------------------------------------------------------
-
-void gld_NEW_PROJECTION(
-       GLcontext *ctx)
-{
-       GLD_context                     *gldCtx = GLD_GET_CONTEXT(ctx);
-       GLD_driver_dx7          *gld    = GLD_GET_DX7_DRIVER(gldCtx);
-
-       D3DMATRIX       m;
-       //GLfloat               *pM = ctx->ProjectionMatrix.m;
-       // Mesa 5: Now a stack
-       GLfloat         *pM = ctx->ProjectionMatrixStack.Top->m;
-       m._11 = pM[0];
-       m._12 = pM[1];
-       m._13 = pM[2];
-       m._14 = pM[3];
-
-       m._21 = pM[4];
-       m._22 = pM[5];
-       m._23 = pM[6];
-       m._24 = pM[7];
-
-       m._31 = pM[8];
-       m._32 = pM[9];
-       m._33 = pM[10] / _fPersp_33; // / 1.6f;
-       m._34 = pM[11];
-
-       m._41 = pM[12];
-       m._42 = pM[13];
-       m._43 = pM[14] / 2.0f;
-       m._44 = pM[15];
-
-       gld->matProjection = m;
-}
-
-//---------------------------------------------------------------------------
-/*
-void gldFrustumHook_DX7(
-       GLdouble left,
-       GLdouble right,
-       GLdouble bottom,
-       GLdouble top,
-       GLdouble nearval,
-       GLdouble farval)
-{
-       GET_CURRENT_CONTEXT(ctx);
-       GLD_context             *gldCtx = GLD_GET_CONTEXT(ctx);
-       GLD_driver_dx7  *gld    = GLD_GET_DX7_DRIVER(gldCtx);
-
-       // Pass values on to Mesa first (in case we mess with them)
-       _mesa_Frustum(left, right, bottom, top, nearval, farval);
-
-       _fPersp_33 = farval / (nearval - farval);
-
-//     ddlogPrintf(GLDLOG_SYSTEM, "Frustum: %f", farval/nearval);
-}
-
-//---------------------------------------------------------------------------
-
-void gldOrthoHook_DX7(
-       GLdouble left,
-       GLdouble right,
-       GLdouble bottom,
-       GLdouble top,
-       GLdouble nearval,
-       GLdouble farval)
-{
-       GET_CURRENT_CONTEXT(ctx);
-       GLD_context             *gldCtx = GLD_GET_CONTEXT(ctx);
-       GLD_driver_dx7  *gld    = GLD_GET_DX7_DRIVER(gldCtx);
-
-       // Pass values on to Mesa first (in case we mess with them)
-       _mesa_Ortho(left, right, bottom, top, nearval, farval);
-
-       _fPersp_33 = 1.6f;
-
-//     ddlogPrintf(GLDLOG_SYSTEM, "Ortho: %f", farval/nearval);
-}
-*/
-//---------------------------------------------------------------------------
-
-void gld_NEW_VIEWPORT(
-       GLcontext *ctx)
-{
-       GLD_context                     *gldCtx = GLD_GET_CONTEXT(ctx);
-       GLD_driver_dx7          *gld    = GLD_GET_DX7_DRIVER(gldCtx);
-
-       D3DVIEWPORT7    d3dvp;
-//     GLint                   x, y;
-//     GLsizei                 w, h;
-
-       // Set depth range
-       _GLD_DX7_DEV(GetViewport(gld->pDev, &d3dvp));
-       // D3D can't do Quake1/Quake2 z-trick
-       if (ctx->Viewport.Near <= ctx->Viewport.Far) {
-               d3dvp.dvMinZ            = ctx->Viewport.Near;
-               d3dvp.dvMaxZ            = ctx->Viewport.Far;
-       } else {
-               d3dvp.dvMinZ            = ctx->Viewport.Far;
-               d3dvp.dvMaxZ            = ctx->Viewport.Near;
-       }
-/*     x = ctx->Viewport.X;
-       y = ctx->Viewport.Y;
-       w = ctx->Viewport.Width;
-       h = ctx->Viewport.Height;
-       if (x < 0) x = 0;
-       if (y < 0) y = 0;
-       if (w > gldCtx->dwWidth)                w = gldCtx->dwWidth;
-       if (h > gldCtx->dwHeight)               h = gldCtx->dwHeight;
-       // Ditto for D3D viewport dimensions
-       if (w+x > gldCtx->dwWidth)              w = gldCtx->dwWidth-x;
-       if (h+y > gldCtx->dwHeight)     h = gldCtx->dwHeight-y;
-       d3dvp.X                 = x;
-       d3dvp.Y                 = gldCtx->dwHeight - (y + h);
-       d3dvp.Width             = w;
-       d3dvp.Height    = h;*/
-       _GLD_DX7_DEV(SetViewport(gld->pDev, &d3dvp));
-
-//     gld->fFlipWindowY = (float)gldCtx->dwHeight;
-}
-
-//---------------------------------------------------------------------------
-
-__inline BOOL _gldAnyEvalEnabled(
-       GLcontext *ctx)
-{
-       struct gl_eval_attrib *eval = &ctx->Eval;
-
-       if ((eval->AutoNormal) ||
-               (eval->Map1Color4) ||
-               (eval->Map1Index) ||
-               (eval->Map1Normal) ||
-               (eval->Map1TextureCoord1) ||
-               (eval->Map1TextureCoord2) ||
-               (eval->Map1TextureCoord3) ||
-               (eval->Map1TextureCoord4) ||
-               (eval->Map1Vertex3) ||
-               (eval->Map1Vertex4) ||
-               (eval->Map2Color4) ||
-               (eval->Map2Index) ||
-               (eval->Map2Normal) ||
-               (eval->Map2TextureCoord1) ||
-               (eval->Map2TextureCoord2) ||
-               (eval->Map2TextureCoord3) ||
-               (eval->Map2TextureCoord4) ||
-               (eval->Map2Vertex3) ||
-               (eval->Map2Vertex4)
-               )
-       return TRUE;
-
-       return FALSE;
-}
-
-//---------------------------------------------------------------------------
-
-BOOL _gldChooseInternalPipeline(
-       GLcontext *ctx,
-       GLD_driver_dx7 *gld)
-{
-//     return TRUE;    // DEBUGGING: ALWAYS USE MESA
-//     return FALSE;   // DEBUGGING: ALWAYS USE D3D
-
-       if ((glb.dwTnL == GLDS_TNL_MESA) || (gld->bHasHWTnL == FALSE))
-       {
-               gld->PipelineUsage.qwMesa.QuadPart++;
-               return TRUE; // Force Mesa TnL
-       }
-
-       if ((ctx->Light.Enabled) ||
-               (1) ||
-               (ctx->Texture._TexGenEnabled) ||
-               (ctx->Texture._TexMatEnabled) ||
-//             (ctx->Transform._AnyClip) ||
-               (ctx->Scissor.Enabled) ||
-               _gldAnyEvalEnabled(ctx) // Put this last so we can early-out
-               )
-       {
-               gld->PipelineUsage.qwMesa.QuadPart++;
-               return TRUE;
-       }
-
-       gld->PipelineUsage.qwD3DFVF.QuadPart++;
-       return FALSE;
-
-/*     // Force Mesa pipeline?
-       if (glb.dwTnL == GLDS_TNL_MESA) {
-               gld->PipelineUsage.dwMesa.QuadPart++;
-               return GLD_PIPELINE_MESA;
-       }
-
-       // Test for functionality not exposed in the D3D pathways
-       if ((ctx->Texture._GenFlags)) {
-               gld->PipelineUsage.dwMesa.QuadPart++;
-               return GLD_PIPELINE_MESA;
-       }
-
-       // Now decide if vertex shader can be used.
-       // If two sided lighting is enabled then we must either
-       // use Mesa TnL or the vertex shader
-       if (ctx->_TriangleCaps & DD_TRI_LIGHT_TWOSIDE) {


-- 
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]

Reply via email to