Mesa (main): mesa/dd: burn a bunch of legacy driver interfaces down

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Dec 6 06:50:58 UTC 2021


Module: Mesa
Branch: main
Commit: 279471bda6f414e15982406a3169672e34eb3a11
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=279471bda6f414e15982406a3169672e34eb3a11

Author: Dave Airlie <airlied at redhat.com>
Date:   Mon Dec  6 14:31:44 2021 +1000

mesa/dd: burn a bunch of legacy driver interfaces down

None of these are used anymore in the gallium world, there
are some more to get rid off but this is a good start.

Reviewed-by: Timothy Arceri <tarceri at itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14074>

---

 src/mesa/main/arbprogram.c      |   4 -
 src/mesa/main/attrib.c          | 175 +++++-----------------------------------
 src/mesa/main/blend.c           |  23 ------
 src/mesa/main/buffers.c         |   4 -
 src/mesa/main/clip.c            |   3 -
 src/mesa/main/dd.h              | 117 ---------------------------
 src/mesa/main/depth.c           |   6 --
 src/mesa/main/draw.c            |   9 ---
 src/mesa/main/fbobject.c        |  11 +--
 src/mesa/main/fog.c             |   4 -
 src/mesa/main/light.c           |  14 ----
 src/mesa/main/lines.c           |   6 --
 src/mesa/main/mtypes.h          |   6 --
 src/mesa/main/points.c          |   6 --
 src/mesa/main/polygon.c         |  15 ----
 src/mesa/main/queryobj.c        |  12 +--
 src/mesa/main/scissor.c         |   9 ---
 src/mesa/main/stencil.c         |  61 --------------
 src/mesa/main/texenv.c          |   5 --
 src/mesa/main/texgen.c          |   3 -
 src/mesa/main/texobj.c          |   9 ---
 src/mesa/main/uniform_query.cpp |   2 -
 src/mesa/main/viewport.c        |  19 -----
 23 files changed, 24 insertions(+), 499 deletions(-)

diff --git a/src/mesa/main/arbprogram.c b/src/mesa/main/arbprogram.c
index 6f6c012d269..b9477f267b1 100644
--- a/src/mesa/main/arbprogram.c
+++ b/src/mesa/main/arbprogram.c
@@ -964,10 +964,6 @@ get_program_iv(struct gl_program *prog, GLenum target, GLenum pname,
             /* default/null program */
             *params = GL_FALSE;
          }
-	 else if (ctx->Driver.IsProgramNative) {
-            /* ask the driver */
-	    *params = ctx->Driver.IsProgramNative( ctx, target, prog );
-         }
 	 else {
             /* probably running in software */
 	    *params = GL_TRUE;
diff --git a/src/mesa/main/attrib.c b/src/mesa/main/attrib.c
index 2742c27e54f..4e703722e18 100644
--- a/src/mesa/main/attrib.c
+++ b/src/mesa/main/attrib.c
@@ -547,80 +547,11 @@ pop_texture_group(struct gl_context *ctx, struct gl_texture_attrib_node *texstat
 
       ctx->Texture.CurrentUnit = u;
 
-      if (ctx->Driver.TexEnv || ctx->Driver.TexGen) {
-         /* Slow path for legacy classic drivers. */
-         _mesa_set_enable(ctx, GL_TEXTURE_1D, !!(unit->Enabled & TEXTURE_1D_BIT));
-         _mesa_set_enable(ctx, GL_TEXTURE_2D, !!(unit->Enabled & TEXTURE_2D_BIT));
-         _mesa_set_enable(ctx, GL_TEXTURE_3D, !!(unit->Enabled & TEXTURE_3D_BIT));
-         if (ctx->Extensions.ARB_texture_cube_map) {
-            _mesa_set_enable(ctx, GL_TEXTURE_CUBE_MAP,
-                             !!(unit->Enabled & TEXTURE_CUBE_BIT));
-         }
-         if (ctx->Extensions.NV_texture_rectangle) {
-            _mesa_set_enable(ctx, GL_TEXTURE_RECTANGLE_NV,
-                             !!(unit->Enabled & TEXTURE_RECT_BIT));
-         }
-
-         _mesa_TexGeni(GL_S, GL_TEXTURE_GEN_MODE, unit->GenS.Mode);
-         _mesa_TexGeni(GL_T, GL_TEXTURE_GEN_MODE, unit->GenT.Mode);
-         _mesa_TexGeni(GL_R, GL_TEXTURE_GEN_MODE, unit->GenR.Mode);
-         _mesa_TexGeni(GL_Q, GL_TEXTURE_GEN_MODE, unit->GenQ.Mode);
-         _mesa_TexGenfv(GL_S, GL_OBJECT_PLANE, unit->ObjectPlane[GEN_S]);
-         _mesa_TexGenfv(GL_T, GL_OBJECT_PLANE, unit->ObjectPlane[GEN_T]);
-         _mesa_TexGenfv(GL_R, GL_OBJECT_PLANE, unit->ObjectPlane[GEN_R]);
-         _mesa_TexGenfv(GL_Q, GL_OBJECT_PLANE, unit->ObjectPlane[GEN_Q]);
-         /* Eye plane done differently to avoid re-transformation */
-         {
-
-            COPY_4FV(destUnit->EyePlane[GEN_S], unit->EyePlane[GEN_S]);
-            COPY_4FV(destUnit->EyePlane[GEN_T], unit->EyePlane[GEN_T]);
-            COPY_4FV(destUnit->EyePlane[GEN_R], unit->EyePlane[GEN_R]);
-            COPY_4FV(destUnit->EyePlane[GEN_Q], unit->EyePlane[GEN_Q]);
-            if (ctx->Driver.TexGen) {
-               ctx->Driver.TexGen(ctx, GL_S, GL_EYE_PLANE, unit->EyePlane[GEN_S]);
-               ctx->Driver.TexGen(ctx, GL_T, GL_EYE_PLANE, unit->EyePlane[GEN_T]);
-               ctx->Driver.TexGen(ctx, GL_R, GL_EYE_PLANE, unit->EyePlane[GEN_R]);
-               ctx->Driver.TexGen(ctx, GL_Q, GL_EYE_PLANE, unit->EyePlane[GEN_Q]);
-            }
-         }
-         _mesa_set_enable(ctx, GL_TEXTURE_GEN_S, !!(unit->TexGenEnabled & S_BIT));
-         _mesa_set_enable(ctx, GL_TEXTURE_GEN_T, !!(unit->TexGenEnabled & T_BIT));
-         _mesa_set_enable(ctx, GL_TEXTURE_GEN_R, !!(unit->TexGenEnabled & R_BIT));
-         _mesa_set_enable(ctx, GL_TEXTURE_GEN_Q, !!(unit->TexGenEnabled & Q_BIT));
-
-         _mesa_TexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, unit->EnvMode);
-         _mesa_TexEnvfv(GL_TEXTURE_ENV, GL_TEXTURE_ENV_COLOR, unit->EnvColor);
-         _mesa_TexEnvf(GL_TEXTURE_FILTER_CONTROL, GL_TEXTURE_LOD_BIAS,
-                       texstate->LodBias[u]);
-         _mesa_TexEnvi(GL_TEXTURE_ENV, GL_COMBINE_RGB,
-                       unit->Combine.ModeRGB);
-         _mesa_TexEnvi(GL_TEXTURE_ENV, GL_COMBINE_ALPHA,
-                       unit->Combine.ModeA);
-         {
-            const GLuint n = ctx->Extensions.NV_texture_env_combine4 ? 4 : 3;
-            GLuint i;
-            for (i = 0; i < n; i++) {
-               _mesa_TexEnvi(GL_TEXTURE_ENV, GL_SOURCE0_RGB + i,
-                             unit->Combine.SourceRGB[i]);
-               _mesa_TexEnvi(GL_TEXTURE_ENV, GL_SOURCE0_ALPHA + i,
-                             unit->Combine.SourceA[i]);
-               _mesa_TexEnvi(GL_TEXTURE_ENV, GL_OPERAND0_RGB + i,
-                             unit->Combine.OperandRGB[i]);
-               _mesa_TexEnvi(GL_TEXTURE_ENV, GL_OPERAND0_ALPHA + i,
-                             unit->Combine.OperandA[i]);
-            }
-         }
-         _mesa_TexEnvi(GL_TEXTURE_ENV, GL_RGB_SCALE,
-                       1 << unit->Combine.ScaleShiftRGB);
-         _mesa_TexEnvi(GL_TEXTURE_ENV, GL_ALPHA_SCALE,
-                       1 << unit->Combine.ScaleShiftA);
-      } else {
-         /* Fast path for other drivers. */
-         memcpy(destUnit, unit, sizeof(*unit));
-         destUnit->_CurrentCombine = NULL;
-         ctx->Texture.Unit[u].LodBias = texstate->LodBias[u];
-         ctx->Texture.Unit[u].LodBiasQuantized = texstate->LodBiasQuantized[u];
-      }
+      /* Fast path for other drivers. */
+      memcpy(destUnit, unit, sizeof(*unit));
+      destUnit->_CurrentCombine = NULL;
+      ctx->Texture.Unit[u].LodBias = texstate->LodBias[u];
+      ctx->Texture.Unit[u].LodBiasQuantized = texstate->LodBiasQuantized[u];
    }
 
    /* Restore saved textures. */
@@ -955,69 +886,20 @@ _mesa_PopAttrib(void)
       if (_math_matrix_is_dirty(ctx->ModelviewMatrixStack.Top))
          _math_matrix_analyse(ctx->ModelviewMatrixStack.Top);
 
-      if (ctx->Driver.Lightfv) {
-         /* Legacy slow path for some classic drivers. */
-         for (i = 0; i < ctx->Const.MaxLights; i++) {
-            const struct gl_light_uniforms *lu = &attr->Light.LightSource[i];
-            const struct gl_light *l = &attr->Light.Light[i];
-            TEST_AND_UPDATE(ctx->Light.Light[i].Enabled, l->Enabled,
-                            GL_LIGHT0 + i);
-            _mesa_light(ctx, i, GL_AMBIENT, lu->Ambient);
-            _mesa_light(ctx, i, GL_DIFFUSE, lu->Diffuse);
-            _mesa_light(ctx, i, GL_SPECULAR, lu->Specular);
-            _mesa_light(ctx, i, GL_POSITION, lu->EyePosition);
-            _mesa_light(ctx, i, GL_SPOT_DIRECTION, lu->SpotDirection);
-            {
-               GLfloat p[4] = { 0 };
-               p[0] = lu->SpotExponent;
-               _mesa_light(ctx, i, GL_SPOT_EXPONENT, p);
-            }
-            {
-               GLfloat p[4] = { 0 };
-               p[0] = lu->SpotCutoff;
-               _mesa_light(ctx, i, GL_SPOT_CUTOFF, p);
-            }
-            {
-               GLfloat p[4] = { 0 };
-               p[0] = lu->ConstantAttenuation;
-               _mesa_light(ctx, i, GL_CONSTANT_ATTENUATION, p);
-            }
-            {
-               GLfloat p[4] = { 0 };
-               p[0] = lu->LinearAttenuation;
-               _mesa_light(ctx, i, GL_LINEAR_ATTENUATION, p);
-            }
-            {
-               GLfloat p[4] = { 0 };
-               p[0] = lu->QuadraticAttenuation;
-               _mesa_light(ctx, i, GL_QUADRATIC_ATTENUATION, p);
-            }
-         }
-         /* light model */
-         _mesa_LightModelfv(GL_LIGHT_MODEL_AMBIENT,
-                            attr->Light.Model.Ambient);
-         _mesa_LightModelf(GL_LIGHT_MODEL_LOCAL_VIEWER,
-                           (GLfloat) attr->Light.Model.LocalViewer);
-         _mesa_LightModelf(GL_LIGHT_MODEL_TWO_SIDE,
-                           (GLfloat) attr->Light.Model.TwoSide);
-         _mesa_LightModelf(GL_LIGHT_MODEL_COLOR_CONTROL,
-                           (GLfloat) attr->Light.Model.ColorControl);
-      } else {
-         /* Fast path for other drivers. */
-         ctx->NewState |= _NEW_LIGHT_CONSTANTS | _NEW_FF_VERT_PROGRAM;
-
-         memcpy(ctx->Light.LightSource, attr->Light.LightSource,
-                sizeof(attr->Light.LightSource));
-         memcpy(&ctx->Light.Model, &attr->Light.Model,
-                sizeof(attr->Light.Model));
-
-         for (i = 0; i < ctx->Const.MaxLights; i++) {
-            TEST_AND_UPDATE(ctx->Light.Light[i].Enabled,
-                            attr->Light.Light[i].Enabled,
-                            GL_LIGHT0 + i);
-            memcpy(&ctx->Light.Light[i], &attr->Light.Light[i],
-                   sizeof(struct gl_light));
-         }
+      /* Fast path for other drivers. */
+      ctx->NewState |= _NEW_LIGHT_CONSTANTS | _NEW_FF_VERT_PROGRAM;
+
+      memcpy(ctx->Light.LightSource, attr->Light.LightSource,
+             sizeof(attr->Light.LightSource));
+      memcpy(&ctx->Light.Model, &attr->Light.Model,
+             sizeof(attr->Light.Model));
+
+      for (i = 0; i < ctx->Const.MaxLights; i++) {
+         TEST_AND_UPDATE(ctx->Light.Light[i].Enabled,
+                         attr->Light.Light[i].Enabled,
+                         GL_LIGHT0 + i);
+         memcpy(&ctx->Light.Light[i], &attr->Light.Light[i],
+                sizeof(struct gl_light));
       }
       /* shade model */
       TEST_AND_CALL1(Light.ShadeModel, ShadeModel);
@@ -1066,18 +948,6 @@ _mesa_PopAttrib(void)
          if (ctx->Point.CoordReplace != attr->Point.CoordReplace) {
             ctx->NewState |= _NEW_POINT | _NEW_FF_VERT_PROGRAM;
             ctx->Point.CoordReplace = attr->Point.CoordReplace;
-
-            if (ctx->Driver.TexEnv) {
-               unsigned active_texture = ctx->Texture.CurrentUnit;
-
-               for (unsigned i = 0; i < ctx->Const.MaxTextureUnits; i++) {
-                  float param = !!(ctx->Point.CoordReplace & (1 << i));
-                  ctx->Texture.CurrentUnit = i;
-                  ctx->Driver.TexEnv(ctx, GL_POINT_SPRITE, GL_COORD_REPLACE,
-                                     &param);
-               }
-               ctx->Texture.CurrentUnit = active_texture;
-            }
          }
          TEST_AND_UPDATE(ctx->Point.PointSprite, attr->Point.PointSprite,
                          GL_POINT_SPRITE);
@@ -1115,9 +985,6 @@ _mesa_PopAttrib(void)
          ctx->NewDriverState |= ctx->DriverFlags.NewPolygonStipple;
       else
          ctx->NewState |= _NEW_POLYGONSTIPPLE;
-
-      if (ctx->Driver.PolygonStipple)
-         ctx->Driver.PolygonStipple(ctx, (const GLubyte *) attr->PolygonStipple);
    }
 
    if (mask & GL_SCISSOR_BIT) {
@@ -1187,8 +1054,6 @@ _mesa_PopAttrib(void)
          TEST_AND_UPDATE_BIT(ctx->Transform.ClipPlanesEnabled,
                              attr->Transform.ClipPlanesEnabled, i,
                              GL_CLIP_PLANE0 + i);
-         if (ctx->Driver.ClipPlane)
-            ctx->Driver.ClipPlane(ctx, GL_CLIP_PLANE0 + i, eyePlane);
       }
 
       /* normalize/rescale */
@@ -1237,8 +1102,6 @@ _mesa_PopAttrib(void)
 
             if (ctx->Driver.Viewport)
                ctx->Driver.Viewport(ctx);
-            if (ctx->Driver.DepthRange)
-               ctx->Driver.DepthRange(ctx);
          }
       }
 
diff --git a/src/mesa/main/blend.c b/src/mesa/main/blend.c
index fa01fa49097..02435e67392 100644
--- a/src/mesa/main/blend.c
+++ b/src/mesa/main/blend.c
@@ -263,11 +263,6 @@ blend_func_separate(struct gl_context *ctx,
       _mesa_update_valid_to_render_state(ctx);
 
    ctx->Color._BlendFuncPerBuffer = GL_FALSE;
-
-   if (ctx->Driver.BlendFuncSeparate) {
-      ctx->Driver.BlendFuncSeparate(ctx, sfactorRGB, dfactorRGB,
-                                    sfactorA, dfactorA);
-   }
 }
 
 
@@ -574,9 +569,6 @@ _mesa_BlendEquation( GLenum mode )
    }
    ctx->Color._BlendEquationPerBuffer = GL_FALSE;
    set_advanced_blend_mode(ctx, advanced_mode);
-
-   if (ctx->Driver.BlendEquationSeparate)
-      ctx->Driver.BlendEquationSeparate(ctx, mode, mode);
 }
 
 
@@ -698,9 +690,6 @@ blend_equation_separate(struct gl_context *ctx, GLenum modeRGB, GLenum modeA,
    }
    ctx->Color._BlendEquationPerBuffer = GL_FALSE;
    set_advanced_blend_mode(ctx, BLEND_NONE);
-
-   if (ctx->Driver.BlendEquationSeparate)
-      ctx->Driver.BlendEquationSeparate(ctx, modeRGB, modeA);
 }
 
 
@@ -829,9 +818,6 @@ _mesa_BlendColor( GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha )
    ctx->Color.BlendColor[1] = CLAMP(tmp[1], 0.0F, 1.0F);
    ctx->Color.BlendColor[2] = CLAMP(tmp[2], 0.0F, 1.0F);
    ctx->Color.BlendColor[3] = CLAMP(tmp[3], 0.0F, 1.0F);
-
-   if (ctx->Driver.BlendColor)
-      ctx->Driver.BlendColor(ctx, ctx->Color.BlendColor);
 }
 
 
@@ -872,9 +858,6 @@ _mesa_AlphaFunc( GLenum func, GLclampf ref )
       ctx->Color.AlphaFunc = func;
       ctx->Color.AlphaRefUnclamped = ref;
       ctx->Color.AlphaRef = CLAMP(ref, 0.0F, 1.0F);
-
-      if (ctx->Driver.AlphaFunc)
-         ctx->Driver.AlphaFunc(ctx, func, ctx->Color.AlphaRef);
       return;
 
    default:
@@ -939,9 +922,6 @@ logic_op(struct gl_context *ctx, GLenum opcode, bool no_error)
    ctx->Color.LogicOp = opcode;
    ctx->Color._LogicOp = color_logicop_mapping[opcode & 0x0f];
    _mesa_update_allow_draw_out_of_order(ctx);
-
-   if (ctx->Driver.LogicOpcode)
-      ctx->Driver.LogicOpcode(ctx, ctx->Color._LogicOp);
 }
 
 
@@ -1028,9 +1008,6 @@ _mesa_ColorMask( GLboolean red, GLboolean green,
    ctx->NewDriverState |= ctx->DriverFlags.NewColorMask;
    ctx->Color.ColorMask = mask;
    _mesa_update_allow_draw_out_of_order(ctx);
-
-   if (ctx->Driver.ColorMask)
-      ctx->Driver.ColorMask( ctx, red, green, blue, alpha );
 }
 
 
diff --git a/src/mesa/main/buffers.c b/src/mesa/main/buffers.c
index 5930ec49e4e..be67a0c8faa 100644
--- a/src/mesa/main/buffers.c
+++ b/src/mesa/main/buffers.c
@@ -315,8 +315,6 @@ draw_buffer(struct gl_context *ctx, struct gl_framebuffer *fb,
 
    /* Call device driver function only if fb is the bound draw buffer */
    if (fb == ctx->DrawBuffer) {
-      if (ctx->Driver.DrawBuffer)
-         ctx->Driver.DrawBuffer(ctx);
       if (ctx->Driver.DrawBufferAllocate)
          ctx->Driver.DrawBufferAllocate(ctx);
    }
@@ -624,8 +622,6 @@ draw_buffers(struct gl_context *ctx, struct gl_framebuffer *fb, GLsizei n,
     * may not be valid.
     */
    if (fb == ctx->DrawBuffer) {
-      if (ctx->Driver.DrawBuffer)
-         ctx->Driver.DrawBuffer(ctx);
       if (ctx->Driver.DrawBufferAllocate)
          ctx->Driver.DrawBufferAllocate(ctx);
    }
diff --git a/src/mesa/main/clip.c b/src/mesa/main/clip.c
index 6a1e00fc4cb..a6d14fc52c8 100644
--- a/src/mesa/main/clip.c
+++ b/src/mesa/main/clip.c
@@ -92,9 +92,6 @@ _mesa_ClipPlane( GLenum plane, const GLdouble *eq )
    if (ctx->Transform.ClipPlanesEnabled & (1 << p)) {
       _mesa_update_clip_plane(ctx, p);
    }
-
-   if (ctx->Driver.ClipPlane)
-      ctx->Driver.ClipPlane( ctx, plane, equation );
 }
 
 
diff --git a/src/mesa/main/dd.h b/src/mesa/main/dd.h
index ebd29c584d1..0d0f5c66745 100644
--- a/src/mesa/main/dd.h
+++ b/src/mesa/main/dd.h
@@ -376,12 +376,6 @@ struct dd_function_table {
     */
    /*@{*/
 
-   /**
-    * Called by glBindTexture() and glBindTextures().
-    */
-   void (*BindTexture)( struct gl_context *ctx, GLuint texUnit,
-                        GLenum target, struct gl_texture_object *tObj );
-
    /**
     * Called to allocate a new texture object.  Drivers will usually
     * allocate/return a subclass of gl_texture_object.
@@ -469,13 +463,6 @@ struct dd_function_table {
    void (*UnmapRenderbuffer)(struct gl_context *ctx,
 			     struct gl_renderbuffer *rb);
 
-   /**
-    * Optional driver entrypoint that binds a non-texture renderbuffer's
-    * contents to a texture image.
-    */
-   GLboolean (*BindRenderbufferTexImage)(struct gl_context *ctx,
-                                         struct gl_renderbuffer *rb,
-                                         struct gl_texture_image *texImage);
    /*@}*/
 
 
@@ -502,17 +489,6 @@ struct dd_function_table {
    GLboolean (*ProgramStringNotify)(struct gl_context *ctx, GLenum target, 
                                     struct gl_program *prog);
 
-   /**
-    * Notify driver that the sampler uniforms for the current program have
-    * changed.  On some drivers, this may require shader recompiles.
-    */
-   void (*SamplerUniformChange)(struct gl_context *ctx, GLenum target,
-                                struct gl_program *prog);
-
-   /** Query if program can be loaded onto hardware */
-   GLboolean (*IsProgramNative)(struct gl_context *ctx, GLenum target, 
-				struct gl_program *prog);
-   
    /*@}*/
 
    /**
@@ -678,89 +654,14 @@ struct dd_function_table {
     * May add more functions like these to the device driver in the future.
     */
    /*@{*/
-   /** Specify the alpha test function */
-   void (*AlphaFunc)(struct gl_context *ctx, GLenum func, GLfloat ref);
-   /** Set the blend color */
-   void (*BlendColor)(struct gl_context *ctx, const GLfloat color[4]);
-   /** Set the blend equation */
-   void (*BlendEquationSeparate)(struct gl_context *ctx,
-                                 GLenum modeRGB, GLenum modeA);
-   /** Specify pixel arithmetic */
-   void (*BlendFuncSeparate)(struct gl_context *ctx,
-                             GLenum sfactorRGB, GLenum dfactorRGB,
-                             GLenum sfactorA, GLenum dfactorA);
-   /** Specify a plane against which all geometry is clipped */
-   void (*ClipPlane)(struct gl_context *ctx, GLenum plane, const GLfloat *eq);
-   /** Enable and disable writing of frame buffer color components */
-   void (*ColorMask)(struct gl_context *ctx, GLboolean rmask, GLboolean gmask,
-                     GLboolean bmask, GLboolean amask );
-   /** Cause a material color to track the current color */
-   void (*ColorMaterial)(struct gl_context *ctx, GLenum face, GLenum mode);
-   /** Specify whether front- or back-facing facets can be culled */
-   void (*CullFace)(struct gl_context *ctx, GLenum mode);
-   /** Define front- and back-facing polygons */
-   void (*FrontFace)(struct gl_context *ctx, GLenum mode);
-   /** Specify the value used for depth buffer comparisons */
-   void (*DepthFunc)(struct gl_context *ctx, GLenum func);
-   /** Enable or disable writing into the depth buffer */
-   void (*DepthMask)(struct gl_context *ctx, GLboolean flag);
-   /** Specify mapping of depth values from NDC to window coordinates */
-   void (*DepthRange)(struct gl_context *ctx);
-   /** Specify the current buffer for writing */
-   void (*DrawBuffer)(struct gl_context *ctx);
    /** Used to allocated any buffers with on-demand creation */
    void (*DrawBufferAllocate)(struct gl_context *ctx);
    /** Enable or disable server-side gl capabilities */
    void (*Enable)(struct gl_context *ctx, GLenum cap, GLboolean state);
-   /** Specify fog parameters */
-   void (*Fogfv)(struct gl_context *ctx, GLenum pname, const GLfloat *params);
-   /** Set light source parameters.
-    * Note: for GL_POSITION and GL_SPOT_DIRECTION, params will have already
-    * been transformed to eye-space.
-    */
-   void (*Lightfv)(struct gl_context *ctx, GLenum light,
-		   GLenum pname, const GLfloat *params );
-   /** Set the lighting model parameters */
-   void (*LightModelfv)(struct gl_context *ctx, GLenum pname,
-                        const GLfloat *params);
-   /** Specify the line stipple pattern */
-   void (*LineStipple)(struct gl_context *ctx, GLint factor, GLushort pattern );
-   /** Specify the width of rasterized lines */
-   void (*LineWidth)(struct gl_context *ctx, GLfloat width);
-   /** Specify a logical pixel operation for color index rendering */
-   void (*LogicOpcode)(struct gl_context *ctx, enum gl_logicop_mode opcode);
-   void (*PointParameterfv)(struct gl_context *ctx, GLenum pname,
-                            const GLfloat *params);
-   /** Specify the diameter of rasterized points */
-   void (*PointSize)(struct gl_context *ctx, GLfloat size);
-   /** Select a polygon rasterization mode */
-   void (*PolygonMode)(struct gl_context *ctx, GLenum face, GLenum mode);
-   /** Set the scale and units used to calculate depth values */
-   void (*PolygonOffset)(struct gl_context *ctx, GLfloat factor, GLfloat units, GLfloat clamp);
-   /** Set the polygon stippling pattern */
-   void (*PolygonStipple)(struct gl_context *ctx, const GLubyte *mask );
    /* Specifies the current buffer for reading */
    void (*ReadBuffer)( struct gl_context *ctx, GLenum buffer );
    /** Set rasterization mode */
    void (*RenderMode)(struct gl_context *ctx, GLenum mode );
-   /** Define the scissor box */
-   void (*Scissor)(struct gl_context *ctx);
-   /** Select flat or smooth shading */
-   void (*ShadeModel)(struct gl_context *ctx, GLenum mode);
-   /** OpenGL 2.0 two-sided StencilFunc */
-   void (*StencilFuncSeparate)(struct gl_context *ctx, GLenum face, GLenum func,
-                               GLint ref, GLuint mask);
-   /** OpenGL 2.0 two-sided StencilMask */
-   void (*StencilMaskSeparate)(struct gl_context *ctx, GLenum face, GLuint mask);
-   /** OpenGL 2.0 two-sided StencilOp */
-   void (*StencilOpSeparate)(struct gl_context *ctx, GLenum face, GLenum fail,
-                             GLenum zfail, GLenum zpass);
-   /** Control the generation of texture coordinates */
-   void (*TexGen)(struct gl_context *ctx, GLenum coord, GLenum pname,
-		  const GLfloat *params);
-   /** Set texture environment parameters */
-   void (*TexEnv)(struct gl_context *ctx, GLenum target, GLenum pname,
-                  const GLfloat *param);
    /** Set texture parameter (callee gets param value from the texObj) */
    void (*TexParameter)(struct gl_context *ctx,
                         struct gl_texture_object *texObj, GLenum pname);
@@ -858,9 +759,6 @@ struct dd_function_table {
                                              GLuint name);
    struct gl_renderbuffer * (*NewRenderbuffer)(struct gl_context *ctx,
                                                GLuint name);
-   void (*BindFramebuffer)(struct gl_context *ctx, GLenum target,
-                           struct gl_framebuffer *drawFb,
-                           struct gl_framebuffer *readFb);
    void (*FramebufferRenderbuffer)(struct gl_context *ctx, 
                                    struct gl_framebuffer *fb,
                                    GLenum attachment,
@@ -897,7 +795,6 @@ struct dd_function_table {
    struct gl_query_object * (*NewQueryObject)(struct gl_context *ctx, GLuint id);
    void (*DeleteQuery)(struct gl_context *ctx, struct gl_query_object *q);
    void (*BeginQuery)(struct gl_context *ctx, struct gl_query_object *q);
-   void (*QueryCounter)(struct gl_context *ctx, struct gl_query_object *q);
    void (*EndQuery)(struct gl_context *ctx, struct gl_query_object *q);
    void (*CheckQuery)(struct gl_context *ctx, struct gl_query_object *q);
    void (*WaitQuery)(struct gl_context *ctx, struct gl_query_object *q);
@@ -1020,12 +917,6 @@ struct dd_function_table {
    /** Need to call vbo_save_SaveFlushVertices() upon state change? */
    GLboolean SaveNeedFlush;
 
-   /**
-    * Notify driver that the special derived value _NeedEyeCoords has
-    * changed.
-    */
-   void (*LightingSpaceChange)( struct gl_context *ctx );
-
    /**@}*/
 
    /**
@@ -1092,14 +983,6 @@ struct dd_function_table {
    void (*ResumeTransformFeedback)(struct gl_context *ctx,
                                    struct gl_transform_feedback_object *obj);
 
-   /**
-    * Return the number of vertices written to a stream during the last
-    * Begin/EndTransformFeedback block.
-    */
-   GLsizei (*GetTransformFeedbackVertexCount)(struct gl_context *ctx,
-                                       struct gl_transform_feedback_object *obj,
-                                       GLuint stream);
-
    /**
     * \name GL_NV_texture_barrier interface
     */
diff --git a/src/mesa/main/depth.c b/src/mesa/main/depth.c
index d69e8e71d00..31eb8a8ee8a 100644
--- a/src/mesa/main/depth.c
+++ b/src/mesa/main/depth.c
@@ -87,9 +87,6 @@ depth_func(struct gl_context *ctx, GLenum func, bool no_error)
    ctx->NewDriverState |= ctx->DriverFlags.NewDepth;
    ctx->Depth.Func = func;
    _mesa_update_allow_draw_out_of_order(ctx);
-
-   if (ctx->Driver.DepthFunc)
-      ctx->Driver.DepthFunc(ctx, func);
 }
 
 
@@ -134,9 +131,6 @@ _mesa_DepthMask( GLboolean flag )
    ctx->NewDriverState |= ctx->DriverFlags.NewDepth;
    ctx->Depth.Mask = flag;
    _mesa_update_allow_draw_out_of_order(ctx);
-
-   if (ctx->Driver.DepthMask)
-      ctx->Driver.DepthMask( ctx, flag );
 }
 
 
diff --git a/src/mesa/main/draw.c b/src/mesa/main/draw.c
index 6a47570e7d6..7b0db614635 100644
--- a/src/mesa/main/draw.c
+++ b/src/mesa/main/draw.c
@@ -2295,15 +2295,6 @@ _mesa_draw_transform_feedback(struct gl_context *ctx, GLenum mode,
                                              numInstances))
       return;
 
-   if (ctx->Driver.GetTransformFeedbackVertexCount &&
-       (ctx->Const.AlwaysUseGetTransformFeedbackVertexCount ||
-        !_mesa_all_varyings_in_vbos(ctx->Array.VAO))) {
-      GLsizei n =
-         ctx->Driver.GetTransformFeedbackVertexCount(ctx, obj, stream);
-      _mesa_draw_arrays(ctx, mode, 0, n, numInstances, 0);
-      return;
-   }
-
    /* Maybe we should do some primitive splitting for primitive restart
     * (like in DrawArrays), but we have no way to know how many vertices
     * will be rendered. */
diff --git a/src/mesa/main/fbobject.c b/src/mesa/main/fbobject.c
index a848c1df799..b0846ae5678 100644
--- a/src/mesa/main/fbobject.c
+++ b/src/mesa/main/fbobject.c
@@ -3061,7 +3061,7 @@ static void
 check_end_texture_render(struct gl_context *ctx, struct gl_framebuffer *fb)
 {
    /* Skip if we know NeedsFinishRenderTexture won't be set. */
-   if (_mesa_is_winsys_fbo(fb) && !ctx->Driver.BindRenderbufferTexImage)
+   if (_mesa_is_winsys_fbo(fb))
       return;
 
    if (ctx->Driver.FinishRenderTexture) {
@@ -3188,15 +3188,6 @@ _mesa_bind_framebuffers(struct gl_context *ctx,
       _mesa_update_allow_draw_out_of_order(ctx);
       _mesa_update_valid_to_render_state(ctx);
    }
-
-   if ((bindDrawBuf || bindReadBuf) && ctx->Driver.BindFramebuffer) {
-      /* The few classic drivers that actually hook this function really only
-       * want to know if the draw framebuffer changed.
-       */
-      ctx->Driver.BindFramebuffer(ctx,
-                                  bindDrawBuf ? GL_FRAMEBUFFER : GL_READ_FRAMEBUFFER,
-                                  newDrawFb, newReadFb);
-   }
 }
 
 void GLAPIENTRY
diff --git a/src/mesa/main/fog.c b/src/mesa/main/fog.c
index a2f9246d36f..8ad41998502 100644
--- a/src/mesa/main/fog.c
+++ b/src/mesa/main/fog.c
@@ -184,10 +184,6 @@ _mesa_Fogfv( GLenum pname, const GLfloat *params )
          goto invalid_pname;
    }
 
-   if (ctx->Driver.Fogfv) {
-      ctx->Driver.Fogfv( ctx, pname, params );
-   }
-
    return;
 
 invalid_pname:
diff --git a/src/mesa/main/light.c b/src/mesa/main/light.c
index bb513f762ba..6d07b0fded1 100644
--- a/src/mesa/main/light.c
+++ b/src/mesa/main/light.c
@@ -53,9 +53,6 @@ _mesa_ShadeModel( GLenum mode )
 
    FLUSH_VERTICES(ctx, _NEW_LIGHT_STATE, GL_LIGHTING_BIT);
    ctx->Light.ShadeModel = mode;
-
-   if (ctx->Driver.ShadeModel)
-      ctx->Driver.ShadeModel( ctx, mode );
 }
 
 
@@ -249,9 +246,6 @@ _mesa_light(struct gl_context *ctx, GLuint lnum, GLenum pname, const GLfloat *pa
    default:
       unreachable("Unexpected pname in _mesa_light()");
    }
-
-   if (ctx->Driver.Lightfv)
-      ctx->Driver.Lightfv( ctx, GL_LIGHT0 + lnum, pname, params );
 }
 
 
@@ -550,9 +544,6 @@ _mesa_LightModelfv( GLenum pname, const GLfloat *params )
          goto invalid_pname;
    }
 
-   if (ctx->Driver.LightModelfv)
-      ctx->Driver.LightModelfv( ctx, pname, params );
-
    return;
 
 invalid_pname:
@@ -823,9 +814,6 @@ _mesa_ColorMaterial( GLenum face, GLenum mode )
       FLUSH_CURRENT(ctx, _NEW_FF_VERT_PROGRAM);
       _mesa_update_color_material(ctx,ctx->Current.Attrib[VERT_ATTRIB_COLOR0]);
    }
-
-   if (ctx->Driver.ColorMaterial)
-      ctx->Driver.ColorMaterial( ctx, face, mode );
 }
 
 
@@ -1161,8 +1149,6 @@ _mesa_update_tnl_spaces( struct gl_context *ctx, GLuint new_state )
       update_modelview_scale(ctx);
       compute_light_positions( ctx );
 
-      if (ctx->Driver.LightingSpaceChange)
-	 ctx->Driver.LightingSpaceChange( ctx );
       return true;
    }
    else {
diff --git a/src/mesa/main/lines.c b/src/mesa/main/lines.c
index 275e9a229b3..f45a7f54e9d 100644
--- a/src/mesa/main/lines.c
+++ b/src/mesa/main/lines.c
@@ -70,9 +70,6 @@ line_width(struct gl_context *ctx, GLfloat width, bool no_error)
    FLUSH_VERTICES(ctx, ctx->DriverFlags.NewLineState ? 0 : _NEW_LINE, GL_LINE_BIT);
    ctx->NewDriverState |= ctx->DriverFlags.NewLineState;
    ctx->Line.Width = width;
-
-   if (ctx->Driver.LineWidth)
-      ctx->Driver.LineWidth(ctx, width);
 }
 
 
@@ -126,9 +123,6 @@ _mesa_LineStipple( GLint factor, GLushort pattern )
    ctx->NewDriverState |= ctx->DriverFlags.NewLineState;
    ctx->Line.StippleFactor = factor;
    ctx->Line.StipplePattern = pattern;
-
-   if (ctx->Driver.LineStipple)
-      ctx->Driver.LineStipple( ctx, factor, pattern );
 }
 
 
diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h
index ce24d971271..d96eeaa0684 100644
--- a/src/mesa/main/mtypes.h
+++ b/src/mesa/main/mtypes.h
@@ -4141,12 +4141,6 @@ struct gl_constants
     */
    bool GLSLTessLevelsAsInputs;
 
-   /**
-    * Always use the GetTransformFeedbackVertexCount() driver hook, rather
-    * than passing the transform feedback object to the drawing function.
-    */
-   GLboolean AlwaysUseGetTransformFeedbackVertexCount;
-
    /** GL_ARB_map_buffer_alignment */
    GLuint MinMapBufferAlignment;
 
diff --git a/src/mesa/main/points.c b/src/mesa/main/points.c
index c336d887afb..b05519c09e8 100644
--- a/src/mesa/main/points.c
+++ b/src/mesa/main/points.c
@@ -53,9 +53,6 @@ point_size(struct gl_context *ctx, GLfloat size, bool no_error)
 
    FLUSH_VERTICES(ctx, _NEW_POINT, GL_POINT_BIT);
    ctx->Point.Size = size;
-
-   if (ctx->Driver.PointSize)
-      ctx->Driver.PointSize(ctx, size);
 }
 
 
@@ -198,9 +195,6 @@ _mesa_PointParameterfv( GLenum pname, const GLfloat *params)
                       "glPointParameterf[v]{EXT,ARB}(pname)" );
          return;
    }
-
-   if (ctx->Driver.PointParameterfv)
-      ctx->Driver.PointParameterfv(ctx, pname, params);
 }
 
 
diff --git a/src/mesa/main/polygon.c b/src/mesa/main/polygon.c
index d961e7a2c72..f16a36ba7ed 100644
--- a/src/mesa/main/polygon.c
+++ b/src/mesa/main/polygon.c
@@ -67,9 +67,6 @@ cull_face(struct gl_context *ctx, GLenum mode, bool no_error)
                   GL_POLYGON_BIT);
    ctx->NewDriverState |= ctx->DriverFlags.NewPolygonState;
    ctx->Polygon.CullFaceMode = mode;
-
-   if (ctx->Driver.CullFace)
-      ctx->Driver.CullFace(ctx, mode);
 }
 
 
@@ -119,9 +116,6 @@ front_face(struct gl_context *ctx, GLenum mode, bool no_error)
                   GL_POLYGON_BIT);
    ctx->NewDriverState |= ctx->DriverFlags.NewPolygonState;
    ctx->Polygon.FrontFace = mode;
-
-   if (ctx->Driver.FrontFace)
-      ctx->Driver.FrontFace(ctx, mode);
 }
 
 
@@ -225,9 +219,6 @@ polygon_mode(struct gl_context *ctx, GLenum face, GLenum mode, bool no_error)
       return;
    }
 
-   if (ctx->Driver.PolygonMode)
-      ctx->Driver.PolygonMode(ctx, face, mode);
-
    if (ctx->Extensions.INTEL_conservative_rasterization ||
        (mode == GL_FILL_RECTANGLE_NV || old_mode_has_fill_rectangle))
       _mesa_update_valid_to_render_state(ctx);
@@ -277,9 +268,6 @@ _mesa_PolygonStipple(const GLubyte *pattern)
    _mesa_unpack_polygon_stipple(pattern, ctx->PolygonStipple, &ctx->Unpack);
 
    _mesa_unmap_pbo_source(ctx, &ctx->Unpack);
-
-   if (ctx->Driver.PolygonStipple)
-      ctx->Driver.PolygonStipple(ctx, pattern);
 }
 
 
@@ -331,9 +319,6 @@ _mesa_polygon_offset_clamp(struct gl_context *ctx,
    ctx->Polygon.OffsetFactor = factor;
    ctx->Polygon.OffsetUnits = units;
    ctx->Polygon.OffsetClamp = clamp;
-
-   if (ctx->Driver.PolygonOffset)
-      ctx->Driver.PolygonOffset( ctx, factor, units, clamp );
 }
 
 void GLAPIENTRY
diff --git a/src/mesa/main/queryobj.c b/src/mesa/main/queryobj.c
index d391bf0d3cb..da460ecb172 100644
--- a/src/mesa/main/queryobj.c
+++ b/src/mesa/main/queryobj.c
@@ -628,14 +628,10 @@ _mesa_QueryCounter(GLuint id, GLenum target)
    q->Ready = GL_FALSE;
    q->EverBound = GL_TRUE;
 
-   if (ctx->Driver.QueryCounter) {
-      ctx->Driver.QueryCounter(ctx, q);
-   } else {
-      /* QueryCounter is implemented using EndQuery without BeginQuery
-       * in drivers. This is actually Direct3D and Gallium convention.
-       */
-      ctx->Driver.EndQuery(ctx, q);
-   }
+   /* QueryCounter is implemented using EndQuery without BeginQuery
+    * in drivers. This is actually Direct3D and Gallium convention.
+    */
+   ctx->Driver.EndQuery(ctx, q);
 }
 
 
diff --git a/src/mesa/main/scissor.c b/src/mesa/main/scissor.c
index df7b3363d20..3d41b801c4e 100644
--- a/src/mesa/main/scissor.c
+++ b/src/mesa/main/scissor.c
@@ -77,9 +77,6 @@ scissor(struct gl_context *ctx, GLint x, GLint y, GLsizei width, GLsizei height)
     */
    for (i = 0; i < ctx->Const.MaxViewports; i++)
       set_scissor_no_notify(ctx, i, x, y, width, height);
-
-   if (ctx->Driver.Scissor)
-      ctx->Driver.Scissor(ctx);
 }
 
 /**
@@ -127,9 +124,6 @@ _mesa_set_scissor(struct gl_context *ctx, unsigned idx,
                   GLint x, GLint y, GLsizei width, GLsizei height)
 {
    set_scissor_no_notify(ctx, idx, x, y, width, height);
-
-   if (ctx->Driver.Scissor)
-      ctx->Driver.Scissor(ctx);
 }
 
 static void
@@ -140,9 +134,6 @@ scissor_array(struct gl_context *ctx, GLuint first, GLsizei count,
       set_scissor_no_notify(ctx, i + first, rect[i].X, rect[i].Y,
                             rect[i].Width, rect[i].Height);
    }
-
-   if (ctx->Driver.Scissor)
-      ctx->Driver.Scissor(ctx);
 }
 
 /**
diff --git a/src/mesa/main/stencil.c b/src/mesa/main/stencil.c
index 0d60234607e..5cec4980528 100644
--- a/src/mesa/main/stencil.c
+++ b/src/mesa/main/stencil.c
@@ -165,12 +165,6 @@ _mesa_StencilFuncSeparateATI( GLenum frontfunc, GLenum backfunc, GLint ref, GLui
    ctx->Stencil.Function[1]  = backfunc;
    ctx->Stencil.Ref[0]       = ctx->Stencil.Ref[1]       = ref;
    ctx->Stencil.ValueMask[0] = ctx->Stencil.ValueMask[1] = mask;
-   if (ctx->Driver.StencilFuncSeparate) {
-      ctx->Driver.StencilFuncSeparate(ctx, GL_FRONT,
-                                      frontfunc, ref, mask);
-      ctx->Driver.StencilFuncSeparate(ctx, GL_BACK,
-                                      backfunc, ref, mask);
-   }
 }
 
 
@@ -203,13 +197,6 @@ stencil_func(struct gl_context *ctx, GLenum func, GLint ref, GLuint mask)
       ctx->Stencil.Function[face] = func;
       ctx->Stencil.Ref[face] = ref;
       ctx->Stencil.ValueMask[face] = mask;
-
-      /* Only propagate the change to the driver if EXT_stencil_two_side
-       * is enabled.
-       */
-      if (ctx->Driver.StencilFuncSeparate && ctx->Stencil.TestTwoSide) {
-         ctx->Driver.StencilFuncSeparate(ctx, GL_BACK, func, ref, mask);
-      }
    }
    else {
       /* set both front and back state */
@@ -226,12 +213,6 @@ stencil_func(struct gl_context *ctx, GLenum func, GLint ref, GLuint mask)
       ctx->Stencil.Function[0]  = ctx->Stencil.Function[1]  = func;
       ctx->Stencil.Ref[0]       = ctx->Stencil.Ref[1]       = ref;
       ctx->Stencil.ValueMask[0] = ctx->Stencil.ValueMask[1] = mask;
-      if (ctx->Driver.StencilFuncSeparate) {
-         ctx->Driver.StencilFuncSeparate(ctx,
-					 ((ctx->Stencil.TestTwoSide)
-					  ? GL_FRONT : GL_FRONT_AND_BACK),
-                                         func, ref, mask);
-      }
    }
 }
 
@@ -290,13 +271,6 @@ _mesa_StencilMask( GLuint mask )
                      GL_STENCIL_BUFFER_BIT);
       ctx->NewDriverState |= ctx->DriverFlags.NewStencil;
       ctx->Stencil.WriteMask[face] = mask;
-
-      /* Only propagate the change to the driver if EXT_stencil_two_side
-       * is enabled.
-       */
-      if (ctx->Driver.StencilMaskSeparate && ctx->Stencil.TestTwoSide) {
-         ctx->Driver.StencilMaskSeparate(ctx, GL_BACK, mask);
-      }
    }
    else {
       /* set both front and back state */
@@ -307,12 +281,6 @@ _mesa_StencilMask( GLuint mask )
                      GL_STENCIL_BUFFER_BIT);
       ctx->NewDriverState |= ctx->DriverFlags.NewStencil;
       ctx->Stencil.WriteMask[0] = ctx->Stencil.WriteMask[1] = mask;
-      if (ctx->Driver.StencilMaskSeparate) {
-         ctx->Driver.StencilMaskSeparate(ctx,
-					 ((ctx->Stencil.TestTwoSide)
-					  ? GL_FRONT : GL_FRONT_AND_BACK),
-					  mask);
-      }
    }
 }
 
@@ -348,13 +316,6 @@ stencil_op(struct gl_context *ctx, GLenum fail, GLenum zfail, GLenum zpass)
       ctx->Stencil.ZFailFunc[face] = zfail;
       ctx->Stencil.ZPassFunc[face] = zpass;
       ctx->Stencil.FailFunc[face] = fail;
-
-      /* Only propagate the change to the driver if EXT_stencil_two_side
-       * is enabled.
-       */
-      if (ctx->Driver.StencilOpSeparate && ctx->Stencil.TestTwoSide) {
-         ctx->Driver.StencilOpSeparate(ctx, GL_BACK, fail, zfail, zpass);
-      }
    }
    else {
       /* set both front and back state */
@@ -371,12 +332,6 @@ stencil_op(struct gl_context *ctx, GLenum fail, GLenum zfail, GLenum zpass)
       ctx->Stencil.ZFailFunc[0] = ctx->Stencil.ZFailFunc[1] = zfail;
       ctx->Stencil.ZPassFunc[0] = ctx->Stencil.ZPassFunc[1] = zpass;
       ctx->Stencil.FailFunc[0]  = ctx->Stencil.FailFunc[1]  = fail;
-      if (ctx->Driver.StencilOpSeparate) {
-         ctx->Driver.StencilOpSeparate(ctx,
-				       ((ctx->Stencil.TestTwoSide)
-					? GL_FRONT : GL_FRONT_AND_BACK),
-                                       fail, zfail, zpass);
-      }
    }
 }
 
@@ -443,8 +398,6 @@ static void
 stencil_op_separate(struct gl_context *ctx, GLenum face, GLenum sfail,
                     GLenum zfail, GLenum zpass)
 {
-   GLboolean set = GL_FALSE;
-
    if (face != GL_BACK) {
       /* set front */
       if (ctx->Stencil.ZFailFunc[0] != zfail ||
@@ -456,7 +409,6 @@ stencil_op_separate(struct gl_context *ctx, GLenum face, GLenum sfail,
          ctx->Stencil.ZFailFunc[0] = zfail;
          ctx->Stencil.ZPassFunc[0] = zpass;
          ctx->Stencil.FailFunc[0] = sfail;
-         set = GL_TRUE;
       }
    }
 
@@ -471,13 +423,8 @@ stencil_op_separate(struct gl_context *ctx, GLenum face, GLenum sfail,
          ctx->Stencil.ZFailFunc[1] = zfail;
          ctx->Stencil.ZPassFunc[1] = zpass;
          ctx->Stencil.FailFunc[1] = sfail;
-         set = GL_TRUE;
       }
    }
-
-   if (set && ctx->Driver.StencilOpSeparate) {
-      ctx->Driver.StencilOpSeparate(ctx, face, sfail, zfail, zpass);
-   }
 }
 
 
@@ -543,10 +490,6 @@ stencil_func_separate(struct gl_context *ctx, GLenum face, GLenum func,
       ctx->Stencil.Ref[1] = ref;
       ctx->Stencil.ValueMask[1] = mask;
    }
-
-   if (ctx->Driver.StencilFuncSeparate) {
-      ctx->Driver.StencilFuncSeparate(ctx, face, func, ref, mask);
-   }
 }
 
 
@@ -596,10 +539,6 @@ stencil_mask_separate(struct gl_context *ctx, GLenum face, GLuint mask)
    if (face != GL_FRONT) {
       ctx->Stencil.WriteMask[1] = mask;
    }
-
-   if (ctx->Driver.StencilMaskSeparate) {
-      ctx->Driver.StencilMaskSeparate(ctx, face, mask);
-   }
 }
 
 
diff --git a/src/mesa/main/texenv.c b/src/mesa/main/texenv.c
index e6b82636f70..a1435aa6b09 100644
--- a/src/mesa/main/texenv.c
+++ b/src/mesa/main/texenv.c
@@ -522,11 +522,6 @@ _mesa_texenvfv_indexed( struct gl_context* ctx, GLuint texunit, GLenum target,
                   _mesa_enum_to_string(pname),
                   *param,
                   _mesa_enum_to_string((GLenum) iparam0));
-
-   /* Tell device driver about the new texture environment */
-   if (ctx->Driver.TexEnv) {
-      ctx->Driver.TexEnv(ctx, target, pname, param);
-   }
 }
 
 
diff --git a/src/mesa/main/texgen.c b/src/mesa/main/texgen.c
index 57aa5c5d767..99d7d779354 100644
--- a/src/mesa/main/texgen.c
+++ b/src/mesa/main/texgen.c
@@ -175,9 +175,6 @@ texgenfv( GLuint texunitIndex, GLenum coord, GLenum pname,
       _mesa_error( ctx, GL_INVALID_ENUM, "glTexGenfv(pname)" );
       return;
    }
-
-   if (ctx->Driver.TexGen)
-      ctx->Driver.TexGen( ctx, coord, pname, params );
 }
 
 
diff --git a/src/mesa/main/texobj.c b/src/mesa/main/texobj.c
index 43ad56d22c1..bf5d8298a53 100644
--- a/src/mesa/main/texobj.c
+++ b/src/mesa/main/texobj.c
@@ -1405,10 +1405,6 @@ unbind_textures_from_unit(struct gl_context *ctx, GLuint unit)
 
       _mesa_reference_texobj(&texUnit->CurrentTex[index], texObj);
 
-      /* Pass BindTexture call to device driver */
-      if (ctx->Driver.BindTexture)
-         ctx->Driver.BindTexture(ctx, unit, 0, texObj);
-
       texUnit->_BoundTextures &= ~(1 << index);
       ctx->NewState |= _NEW_TEXTURE_OBJECT;
       ctx->PopAttribState |= GL_TEXTURE_BIT;
@@ -1663,11 +1659,6 @@ bind_texture_object(struct gl_context *ctx, unsigned unit,
       texUnit->_BoundTextures |= (1 << targetIndex);
    else
       texUnit->_BoundTextures &= ~(1 << targetIndex);
-
-   /* Pass BindTexture call to device driver */
-   if (ctx->Driver.BindTexture) {
-      ctx->Driver.BindTexture(ctx, unit, texObj->Target, texObj);
-   }
 }
 
 /**
diff --git a/src/mesa/main/uniform_query.cpp b/src/mesa/main/uniform_query.cpp
index 858b08cebb2..700d6afc1ac 100644
--- a/src/mesa/main/uniform_query.cpp
+++ b/src/mesa/main/uniform_query.cpp
@@ -1402,8 +1402,6 @@ _mesa_uniform(GLint location, GLsizei count, const GLvoid *values,
          if (changed) {
             struct gl_program *const prog = sh->Program;
             _mesa_update_shader_textures_used(shProg, prog);
-            if (ctx->Driver.SamplerUniformChange)
-               ctx->Driver.SamplerUniformChange(ctx, prog->Target, prog);
             any_changed = true;
          }
       }
diff --git a/src/mesa/main/viewport.c b/src/mesa/main/viewport.c
index de9687eb071..7deefcbec0d 100644
--- a/src/mesa/main/viewport.c
+++ b/src/mesa/main/viewport.c
@@ -305,9 +305,6 @@ _mesa_set_depth_range(struct gl_context *ctx, unsigned idx,
                       GLclampd nearval, GLclampd farval)
 {
    set_depth_range_no_notify(ctx, idx, nearval, farval);
-
-   if (ctx->Driver.DepthRange)
-      ctx->Driver.DepthRange(ctx);
 }
 
 /**
@@ -340,10 +337,6 @@ _mesa_DepthRange(GLclampd nearval, GLclampd farval)
     */
    for (i = 0; i < ctx->Const.MaxViewports; i++)
       set_depth_range_no_notify(ctx, i, nearval, farval);
-
-   if (ctx->Driver.DepthRange) {
-      ctx->Driver.DepthRange(ctx);
-   }
 }
 
 void GLAPIENTRY
@@ -366,9 +359,6 @@ depth_range_arrayv(struct gl_context *ctx, GLuint first, GLsizei count,
 {
    for (GLsizei i = 0; i < count; i++)
       set_depth_range_no_notify(ctx, i + first, inputs[i].Near, inputs[i].Far);
-
-   if (ctx->Driver.DepthRange)
-      ctx->Driver.DepthRange(ctx);
 }
 
 void GLAPIENTRY
@@ -419,9 +409,6 @@ _mesa_DepthRangeArrayfvOES(GLuint first, GLsizei count, const GLfloat *v)
 
    for (i = 0; i < count; i++)
       set_depth_range_no_notify(ctx, i + first, v[i * 2], v[i * 2 + 1]);
-
-   if (ctx->Driver.DepthRange)
-      ctx->Driver.DepthRange(ctx);
 }
 
 /**
@@ -532,16 +519,10 @@ clip_control(struct gl_context *ctx, GLenum origin, GLenum depth, bool no_error)
          ctx->NewDriverState |= ctx->DriverFlags.NewPolygonState;
       else
          ctx->NewState |= _NEW_POLYGON;
-
-      if (ctx->Driver.FrontFace)
-         ctx->Driver.FrontFace(ctx, ctx->Polygon.FrontFace);
    }
 
    if (ctx->Transform.ClipDepthMode != depth) {
       ctx->Transform.ClipDepthMode = depth;
-
-      if (ctx->Driver.DepthRange)
-         ctx->Driver.DepthRange(ctx);
    }
 }
 



More information about the mesa-commit mailing list