vbo: Remove the now unused vbo draw path.
authorMathias Fröhlich <mathias.froehlich@web.de>
Sun, 25 Mar 2018 17:16:54 +0000 (19:16 +0200)
committerMathias Fröhlich <Mathias.Froehlich@gmx.net>
Sat, 31 Mar 2018 04:32:13 +0000 (06:32 +0200)
Reviewed-by: Brian Paul <brianp@vmware.com>
Signed-off-by: Mathias Fröhlich <Mathias.Froehlich@web.de>
src/mesa/drivers/common/driverfuncs.c
src/mesa/main/state.c
src/mesa/vbo/vbo.h
src/mesa/vbo/vbo_context.c
src/mesa/vbo/vbo_exec.c
src/mesa/vbo/vbo_exec.h
src/mesa/vbo/vbo_private.h

index 2ddfdb5efa8fbd8c2d57d303d11501a4447f9778..11134b69e94421e3b7c21ea0c40dd00c2eacc053 100644 (file)
@@ -121,7 +121,7 @@ _mesa_init_driver_functions(struct dd_function_table *driver)
    driver->NewATIfs = NULL;
 
    /* Draw functions */
-   driver->Draw = _vbo_draw;
+   driver->Draw = NULL;
    driver->DrawIndirect = _vbo_draw_indirect;
 
    /* simple state commands */
index fb97165db9195a9513d2f01a05dee4899832d3e0..be8f3f302c6a2be71a3725b20f6a1edfaf4c20d6 100644 (file)
@@ -458,14 +458,6 @@ _mesa_set_vp_override(struct gl_context *ctx, GLboolean flag)
 }
 
 
-static void
-set_new_array(struct gl_context *ctx)
-{
-   _vbo_set_recalculate_inputs(ctx);
-   ctx->NewDriverState |= ctx->DriverFlags.NewArray;
-}
-
-
 static void
 set_vertex_processing_mode(struct gl_context *ctx, gl_vertex_processing_mode m)
 {
@@ -473,7 +465,7 @@ set_vertex_processing_mode(struct gl_context *ctx, gl_vertex_processing_mode m)
       return;
 
    /* On change we may get new maps into the current values */
-   set_new_array(ctx);
+   ctx->NewDriverState |= ctx->DriverFlags.NewArray;
 
    /* Finally memorize the value */
    ctx->VertexProgram._VPMode = m;
@@ -532,7 +524,7 @@ _mesa_set_draw_vao(struct gl_context *ctx, struct gl_vertex_array_object *vao,
       new_array = true;
 
    if (new_array)
-      set_new_array(ctx);
+      ctx->NewDriverState |= ctx->DriverFlags.NewArray;
 
    ctx->Array._DrawVAOEnabledAttribs = enabled;
    _mesa_set_varying_vp_inputs(ctx, enabled);
index db136f944504c3827371b7dc874ed27a555abb73..13f77d9db3754d5bc23fdef99d32d845f0d474fb 100644 (file)
@@ -186,14 +186,6 @@ struct split_limits
 };
 
 
-void
-_vbo_draw(struct gl_context *ctx, const struct _mesa_prim *prims,
-               GLuint nr_prims, const struct _mesa_index_buffer *ib,
-               GLboolean index_bounds_valid, GLuint min_index, GLuint max_index,
-               struct gl_transform_feedback_object *tfb_vertcount,
-               unsigned tfb_stream, struct gl_buffer_object *indirect);
-
-
 void
 _vbo_draw_indirect(struct gl_context *ctx, GLuint mode,
                         struct gl_buffer_object *indirect_data,
@@ -230,9 +222,6 @@ vbo_use_buffer_objects(struct gl_context *ctx);
 void
 vbo_always_unmap_buffers(struct gl_context *ctx);
 
-void
-vbo_set_draw_func(struct gl_context *ctx, vbo_draw_func func);
-
 void
 vbo_sw_primitive_restart(struct gl_context *ctx,
                          const struct _mesa_prim *prim,
@@ -260,15 +249,6 @@ struct vbo_inputs
 };
 
 
-/**
- * Set the recalculate_inputs flag.
- * The method should in the longer run be replaced with listening for the
- * DriverFlags.NewArray flag in NewDriverState. But for now ...
- */
-void
-_vbo_set_recalculate_inputs(struct gl_context *ctx);
-
-
 /**
  * Initialize inputs.
  */
index 54cbab0c14f2e689db44a8e841908c4a84236ad5..b8c28ceffbb8f795a84f44fc34f41781ecc9be5a 100644 (file)
@@ -186,7 +186,6 @@ _vbo_CreateContext(struct gl_context *ctx)
    init_legacy_currval(ctx);
    init_generic_currval(ctx);
    init_mat_currval(ctx);
-   _vbo_init_inputs(&vbo->draw_arrays);
 
    /* make sure all VBO_ATTRIB_ values can fit in an unsigned byte */
    STATIC_ASSERT(VBO_ATTRIB_MAX <= 255);
@@ -234,52 +233,6 @@ _vbo_DestroyContext(struct gl_context *ctx)
 }
 
 
-void
-vbo_set_draw_func(struct gl_context *ctx, vbo_draw_func func)
-{
-   struct vbo_context *vbo = vbo_context(ctx);
-   vbo->draw_prims = func;
-}
-
-
-/**
- * Examine the enabled vertex arrays to set the exec->array.inputs[] values.
- * These will point to the arrays to actually use for drawing.  Some will
- * be user-provided arrays, other will be zero-stride const-valued arrays.
- */
-static void
-vbo_bind_arrays(struct gl_context *ctx)
-{
-   struct vbo_context *vbo = vbo_context(ctx);
-   struct vbo_exec_context *exec = &vbo->exec;
-
-   _mesa_set_drawing_arrays(ctx, vbo->draw_arrays.inputs);
-
-   if (exec->array.recalculate_inputs) {
-      /* Finally update the inputs array */
-      _vbo_update_inputs(ctx, &vbo->draw_arrays);
-      exec->array.recalculate_inputs = GL_FALSE;
-   }
-
-   assert(ctx->NewState == 0);
-   assert(ctx->Array._DrawVAO->NewArrays == 0);
-}
-
-
-void
-_vbo_draw(struct gl_context *ctx, const struct _mesa_prim *prims,
-               GLuint nr_prims, const struct _mesa_index_buffer *ib,
-               GLboolean index_bounds_valid, GLuint min_index, GLuint max_index,
-               struct gl_transform_feedback_object *tfb_vertcount,
-               unsigned tfb_stream, struct gl_buffer_object *indirect)
-{
-   struct vbo_context *vbo = vbo_context(ctx);
-   vbo_bind_arrays(ctx);
-   vbo->draw_prims(ctx, prims, nr_prims, ib, index_bounds_valid,
-                   min_index, max_index, tfb_vertcount, tfb_stream, indirect);
-}
-
-
 void
 _vbo_draw_indirect(struct gl_context *ctx, GLuint mode,
                         struct gl_buffer_object *indirect_data,
index f9cf8355ed453ee83237a1f8987bfbe126d69371..b23747aa393e13af1688cc5e914abf5ecade8ebf 100644 (file)
@@ -127,7 +127,6 @@ vbo_exec_init(struct gl_context *ctx)
    /* The aelt_context state should still be dirty from its creation */
    assert(_ae_is_state_dirty(ctx));
 
-   exec->array.recalculate_inputs = GL_TRUE;
    exec->eval.recalculate_maps = GL_TRUE;
 }
 
@@ -243,13 +242,6 @@ vbo_merge_prims(struct _mesa_prim *p0, const struct _mesa_prim *p1)
 }
 
 
-void
-_vbo_set_recalculate_inputs(struct gl_context *ctx)
-{
-   vbo_context(ctx)->exec.array.recalculate_inputs = GL_TRUE;
-}
-
-
 void
 _vbo_init_inputs(struct vbo_inputs *inputs)
 {
index 07ab5cc837b63c4f162e7add57b595179c9c6d4f..853fc68c963807cbf835e1ccff9340b6805b1222 100644 (file)
@@ -109,10 +109,6 @@ struct vbo_exec_context
       struct vbo_exec_eval2_map map2[VERT_ATTRIB_MAX];
    } eval;
 
-   struct {
-      GLboolean recalculate_inputs;
-   } array;
-
    /* Which flags to set in vbo_exec_begin_vertices() */
    GLbitfield begin_vertices_flags;
 
index 90d8ed45704dbc06826b8cfabadc17783f9dcee0..7cc64ecdbcf3700dcde16ddf969844e901ac06f3 100644 (file)
@@ -46,18 +46,11 @@ struct _mesa_prim;
 struct vbo_context {
    struct gl_vertex_buffer_binding binding;
    struct gl_array_attributes current[VBO_ATTRIB_MAX];
-   /* The array of inputs used for _DrawVAO draws. */
-   struct vbo_inputs draw_arrays;
 
    struct gl_vertex_array_object *VAO;
 
    struct vbo_exec_context exec;
    struct vbo_save_context save;
-
-   /* Callback into the driver.  This must always succeed, the driver
-    * is responsible for initiating any fallback actions required:
-    */
-   vbo_draw_func draw_prims;
 };