mesa: Remove ClearIndex and IndexMask from device-driver interface
authorIan Romanick <ian.d.romanick@intel.com>
Thu, 25 Feb 2010 03:12:30 +0000 (19:12 -0800)
committerIan Romanick <ian.d.romanick@intel.com>
Wed, 3 Mar 2010 20:37:05 +0000 (12:37 -0800)
These are used to inform the driver of the clear value for color-index
buffers and to control write-masking of bits in color-index buffers.
No driver use or need (not even Nouveau) these interfaces.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
src/mesa/drivers/common/driverfuncs.c
src/mesa/drivers/dri/mach64/mach64_state.c
src/mesa/drivers/dri/mga/mgastate.c
src/mesa/drivers/dri/nouveau/nouveau_state.c
src/mesa/drivers/dri/r128/r128_state.c
src/mesa/drivers/dri/r200/r200_state.c
src/mesa/drivers/dri/radeon/radeon_state.c
src/mesa/drivers/windows/gldirect/mesasw/gld_wgl_mesasw.c
src/mesa/drivers/x11/xm_dd.c
src/mesa/main/blend.c
src/mesa/main/dd.h

index 87163e6505c98aabb0cb10948f932b8970a95030..ebfaa2f07bdd28f3ae12c67927e9aeca09e1144b 100644 (file)
@@ -142,7 +142,6 @@ _mesa_init_driver_functions(struct dd_function_table *driver)
    driver->BlendFuncSeparate = NULL;
    driver->ClearColor = NULL;
    driver->ClearDepth = NULL;
-   driver->ClearIndex = NULL;
    driver->ClearStencil = NULL;
    driver->ClipPlane = NULL;
    driver->ColorMask = NULL;
@@ -157,7 +156,6 @@ _mesa_init_driver_functions(struct dd_function_table *driver)
    driver->Enable = NULL;
    driver->Fogfv = NULL;
    driver->Hint = NULL;
-   driver->IndexMask = NULL;
    driver->Lightfv = NULL;
    driver->LightModelfv = NULL;
    driver->LineStipple = NULL;
index b9093b5a139d874f08a10b90abeeb72a2284c423..69a5aea02ce2c987bd190c56bf182c179d4b9967 100644 (file)
@@ -1156,12 +1156,10 @@ void mach64DDInitStateFuncs( GLcontext *ctx )
 {
    ctx->Driver.UpdateState             = mach64DDInvalidateState;
 
-   ctx->Driver.ClearIndex              = NULL;
    ctx->Driver.ClearColor              = mach64DDClearColor;
    ctx->Driver.DrawBuffer              = mach64DDDrawBuffer;
    ctx->Driver.ReadBuffer              = mach64DDReadBuffer;
 
-   ctx->Driver.IndexMask               = NULL;
    ctx->Driver.ColorMask               = mach64DDColorMask;
    ctx->Driver.AlphaFunc               = mach64DDAlphaFunc;
    ctx->Driver.BlendEquationSeparate   = mach64DDBlendEquationSeparate;
index 0253044761dedee1999b7c0b1f97f61244bb6d83..745d5e985254b7d8d4a40f4d2c0c7103733e3690 100644 (file)
@@ -1193,8 +1193,5 @@ void mgaDDInitStateFuncs( GLcontext *ctx )
    ctx->Driver.Viewport = mgaViewport;
    ctx->Driver.RenderMode = mgaRenderMode;
 
-   ctx->Driver.ClearIndex = 0;
-   ctx->Driver.IndexMask = 0;
-
    TNL_CONTEXT(ctx)->Driver.RunPipeline = mgaRunPipeline;
 }
index 5d593ed4dd0e14429a1d97b0616f87af716c43e1..e1871db0eb9466c194bbb3d2370f22e3c2e6e9ae 100644 (file)
@@ -242,12 +242,6 @@ nouveau_fog(GLcontext *ctx, GLenum pname, const GLfloat *params)
        context_dirty(ctx, FOG);
 }
 
-static void
-nouveau_index_mask(GLcontext *ctx, GLuint mask)
-{
-       context_dirty(ctx, INDEX_MASK);
-}
-
 static void
 nouveau_light(GLcontext *ctx, GLenum light, GLenum pname, const GLfloat *params)
 {
@@ -504,7 +498,6 @@ nouveau_state_init(GLcontext *ctx)
        ctx->Driver.DrawBuffers = nouveau_draw_buffers;
        ctx->Driver.Enable = nouveau_enable;
        ctx->Driver.Fogfv = nouveau_fog;
-       ctx->Driver.IndexMask = nouveau_index_mask;
        ctx->Driver.Lightfv = nouveau_light;
        ctx->Driver.LightModelfv = nouveau_light_model;
        ctx->Driver.LineStipple = nouveau_line_stipple;
index 42f6dd73888916b46508102f78563cc98f1ccdba..4d773feaaa86e6c67cb0de121fb6fa3b8a17531d 100644 (file)
@@ -1407,13 +1407,11 @@ void r128DDInitStateFuncs( GLcontext *ctx )
 {
    ctx->Driver.UpdateState             = r128DDInvalidateState;
 
-   ctx->Driver.ClearIndex              = NULL;
    ctx->Driver.ClearColor              = r128DDClearColor;
    ctx->Driver.ClearStencil            = r128DDClearStencil;
    ctx->Driver.DrawBuffer              = r128DDDrawBuffer;
    ctx->Driver.ReadBuffer              = r128DDReadBuffer;
 
-   ctx->Driver.IndexMask               = NULL;
    ctx->Driver.ColorMask               = r128DDColorMask;
    ctx->Driver.AlphaFunc               = r128DDAlphaFunc;
    ctx->Driver.BlendEquationSeparate   = r128DDBlendEquationSeparate;
index b9ec6f428f00d35cf60bedba7c26b3aaf5ca8e8e..050e5aa8770c0bd0f43f9ae95d1213fa1047a993 100644 (file)
@@ -2501,7 +2501,6 @@ void r200InitStateFuncs( struct dd_function_table *functions )
    functions->BlendFuncSeparate                = r200BlendFuncSeparate;
    functions->ClearColor               = r200ClearColor;
    functions->ClearDepth               = r200ClearDepth;
-   functions->ClearIndex               = NULL;
    functions->ClearStencil             = r200ClearStencil;
    functions->ClipPlane                        = r200ClipPlane;
    functions->ColorMask                        = r200ColorMask;
@@ -2513,7 +2512,6 @@ void r200InitStateFuncs( struct dd_function_table *functions )
    functions->Fogfv                    = r200Fogfv;
    functions->FrontFace                        = r200FrontFace;
    functions->Hint                     = NULL;
-   functions->IndexMask                        = NULL;
    functions->LightModelfv             = r200LightModelfv;
    functions->Lightfv                  = r200Lightfv;
    functions->LineStipple              = r200LineStipple;
index 7db745a1802b4ce319f97170a2ec794fa7e8f030..0ce97e869727a7761bcb4538a803dc4f476885bc 100644 (file)
@@ -2254,7 +2254,6 @@ void radeonInitStateFuncs( GLcontext *ctx , GLboolean dri2 )
    ctx->Driver.BlendFuncSeparate       = radeonBlendFuncSeparate;
    ctx->Driver.ClearColor              = radeonClearColor;
    ctx->Driver.ClearDepth              = radeonClearDepth;
-   ctx->Driver.ClearIndex              = NULL;
    ctx->Driver.ClearStencil            = radeonClearStencil;
    ctx->Driver.ClipPlane               = radeonClipPlane;
    ctx->Driver.ColorMask               = radeonColorMask;
@@ -2266,7 +2265,6 @@ void radeonInitStateFuncs( GLcontext *ctx , GLboolean dri2 )
    ctx->Driver.Fogfv                   = radeonFogfv;
    ctx->Driver.FrontFace               = radeonFrontFace;
    ctx->Driver.Hint                    = NULL;
-   ctx->Driver.IndexMask               = NULL;
    ctx->Driver.LightModelfv            = radeonLightModelfv;
    ctx->Driver.Lightfv                 = radeonLightfv;
    ctx->Driver.LineStipple              = radeonLineStipple;
index 7ac425a1092fc85a016969ee823774312977b99c..f927abfa115f7791b51543881175895ddc043033 100644 (file)
@@ -629,21 +629,6 @@ static void flush(GLcontext* ctx)
 }
 
 
-//---------------------------------------------------------------------------
-
-
-/*
- * Set the color index used to clear the color buffer.
- */
-static void clear_index(GLcontext* ctx, GLuint index)
-{
-       GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
-       WMesaContext *Current = GLD_GET_WMESA_DRIVER(gldCtx);
-  Current->clearpixel = index;
-}
-
-
-
 //---------------------------------------------------------------------------
 
 /*
@@ -1367,7 +1352,6 @@ static void wmesa_update_state_first_time(
        ctx->Driver.Clear                                       = clear;
        
        ctx->Driver.Flush                                       = flush;
-       ctx->Driver.ClearIndex                          = clear_index;
        ctx->Driver.ClearColor                          = clear_color;
        ctx->Driver.Enable                                      = enable;
        
index d304192f4cee2f851ce63d1d8fbb282b9fe0084b..5edafb890b181171f03e19903e534383d4450e83 100644 (file)
@@ -106,18 +106,6 @@ finish_or_flush( GLcontext *ctx )
 }
 
 
-static void
-clear_index( GLcontext *ctx, GLuint index )
-{
-   if (ctx->DrawBuffer->Name == 0) {
-      const XMesaContext xmesa = XMESA_CONTEXT(ctx);
-      XMesaBuffer xmbuf = XMESA_BUFFER(ctx->DrawBuffer);
-      xmesa->clearpixel = (unsigned long) index;
-      XMesaSetForeground( xmesa->display, xmbuf->cleargc, (unsigned long) index );
-   }
-}
-
-
 static void
 clear_color( GLcontext *ctx, const GLfloat color[4] )
 {
@@ -144,26 +132,6 @@ clear_color( GLcontext *ctx, const GLfloat color[4] )
 
 
 
-/* Set index mask ala glIndexMask */
-static void
-index_mask( GLcontext *ctx, GLuint mask )
-{
-   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
-   XMesaBuffer xmbuf = XMESA_BUFFER(ctx->DrawBuffer);
-   /* not sure this conditional is really needed */
-   if (xmbuf->backxrb && xmbuf->backxrb->pixmap) {
-      unsigned long m;
-      if (mask==0xffffffff) {
-        m = ((unsigned long)~0L);
-      }
-      else {
-         m = (unsigned long) mask;
-      }
-      XMesaSetPlaneMask( xmesa->display, xmbuf->cleargc, m );
-   }
-}
-
-
 /* Implements glColorMask() */
 static void
 color_mask(GLcontext *ctx,
@@ -1143,9 +1111,7 @@ xmesa_init_driver_functions( XMesaVisual xmvisual,
    driver->GetBufferSize = NULL; /* OBSOLETE */
    driver->Flush = finish_or_flush;
    driver->Finish = finish_or_flush;
-   driver->ClearIndex = clear_index;
    driver->ClearColor = clear_color;
-   driver->IndexMask = index_mask;
    driver->ColorMask = color_mask;
    driver->Enable = enable;
    driver->Viewport = xmesa_viewport;
index de60031cc80d802992096de7ed04964ee812f642..d022770f24c9a3405c33a50967bfdfc755b8a867 100644 (file)
@@ -456,9 +456,6 @@ _mesa_IndexMask( GLuint mask )
 
    FLUSH_VERTICES(ctx, _NEW_COLOR);
    ctx->Color.IndexMask = mask;
-
-   if (ctx->Driver.IndexMask)
-      ctx->Driver.IndexMask( ctx, mask );
 }
 #endif
 
index 079e44bb955b57dcaf4bf22e73caa076333ddef7..84b83fe273123a0492a405672673602a03c9548d 100644 (file)
@@ -620,8 +620,6 @@ struct dd_function_table {
    void (*ClearColor)(GLcontext *ctx, const GLfloat color[4]);
    /** Specify the clear value for the depth buffer */
    void (*ClearDepth)(GLcontext *ctx, GLclampd d);
-   /** Specify the clear value for the color index buffers */
-   void (*ClearIndex)(GLcontext *ctx, GLuint index);
    /** Specify the clear value for the stencil buffer */
    void (*ClearStencil)(GLcontext *ctx, GLint s);
    /** Specify a plane against which all geometry is clipped */
@@ -653,8 +651,6 @@ struct dd_function_table {
    void (*Fogfv)(GLcontext *ctx, GLenum pname, const GLfloat *params);
    /** Specify implementation-specific hints */
    void (*Hint)(GLcontext *ctx, GLenum target, GLenum mode);
-   /** Control the writing of individual bits in the color index buffers */
-   void (*IndexMask)(GLcontext *ctx, GLuint mask);
    /** Set light source parameters.
     * Note: for GL_POSITION and GL_SPOT_DIRECTION, params will have already
     * been transformed to eye-space.