summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMathias Fröhlich <[email protected]>2018-04-01 20:18:36 +0200
committerMathias Fröhlich <[email protected]>2018-05-10 07:06:16 +0200
commit881d2fcafaddd391b03753173d126148c9dafbcf (patch)
tree74835b8cb2393239e5257f567daa5f2429c456af
parent899476b6b1d41c5ed08391843110c7d62b2ca863 (diff)
mesa: Remove Array._DrawArrays.
Only tnl based drivers still use this array. So remove it from core mesa and use Array._DrawVAO instead. Reviewed-by: Brian Paul <[email protected]> Signed-off-by: Mathias Fröhlich <[email protected]>
-rw-r--r--src/mesa/drivers/dri/nouveau/nouveau_vbo_t.c4
-rw-r--r--src/mesa/main/arrayobj.c1
-rw-r--r--src/mesa/main/attrib.c1
-rw-r--r--src/mesa/main/mtypes.h6
-rw-r--r--src/mesa/main/varray.h14
-rw-r--r--src/mesa/tnl/t_draw.c11
-rw-r--r--src/mesa/tnl/tnl.h2
7 files changed, 8 insertions, 31 deletions
diff --git a/src/mesa/drivers/dri/nouveau/nouveau_vbo_t.c b/src/mesa/drivers/dri/nouveau/nouveau_vbo_t.c
index 79b444cf55f..d031ebeabd3 100644
--- a/src/mesa/drivers/dri/nouveau/nouveau_vbo_t.c
+++ b/src/mesa/drivers/dri/nouveau/nouveau_vbo_t.c
@@ -550,9 +550,9 @@ TAG(vbo_draw)(struct gl_context *ctx,
struct gl_buffer_object *indirect)
{
/* Borrow and update the inputs list from the tnl context */
- _tnl_bind_inputs(ctx);
+ const struct gl_vertex_array* arrays = _tnl_bind_inputs(ctx);
- TAG(vbo_check_render_prims)(ctx, ctx->Array._DrawArrays,
+ TAG(vbo_check_render_prims)(ctx, arrays,
prims, nr_prims, ib,
index_bounds_valid, min_index, max_index,
tfb_vertcount, stream, indirect);
diff --git a/src/mesa/main/arrayobj.c b/src/mesa/main/arrayobj.c
index 05af50ef400..5ee68cf9e94 100644
--- a/src/mesa/main/arrayobj.c
+++ b/src/mesa/main/arrayobj.c
@@ -970,7 +970,6 @@ bind_vertex_array(struct gl_context *ctx, GLuint id, bool no_error)
* or to prevent a crash if the VAO being unbound is going to be
* deleted.
*/
- _mesa_set_drawing_arrays(ctx, NULL);
_mesa_set_draw_vao(ctx, ctx->Array._EmptyVAO, 0);
ctx->NewState |= _NEW_ARRAY;
diff --git a/src/mesa/main/attrib.c b/src/mesa/main/attrib.c
index e565750a891..cbe93ab6faa 100644
--- a/src/mesa/main/attrib.c
+++ b/src/mesa/main/attrib.c
@@ -1588,7 +1588,6 @@ copy_array_attrib(struct gl_context *ctx,
/* skip IndexBufferObj */
/* Invalidate array state. It will be updated during the next draw. */
- _mesa_set_drawing_arrays(ctx, NULL);
_mesa_set_draw_vao(ctx, ctx->Array._EmptyVAO, 0);
}
diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h
index e7517043864..0b55a510b08 100644
--- a/src/mesa/main/mtypes.h
+++ b/src/mesa/main/mtypes.h
@@ -1629,12 +1629,6 @@ struct gl_array_attrib
*/
struct gl_vertex_array_object *_EmptyVAO;
- /**
- * Vertex arrays as consumed by a driver.
- * The array pointer is set up only by the VBO module.
- */
- const struct gl_vertex_array *_DrawArrays; /**< 0..VERT_ATTRIB_MAX-1 */
-
/** Legal array datatypes and the API for which they have been computed */
GLbitfield LegalTypesMask;
gl_api LegalTypesMaskAPI;
diff --git a/src/mesa/main/varray.h b/src/mesa/main/varray.h
index 25d2a29e731..6ab55ed36ae 100644
--- a/src/mesa/main/varray.h
+++ b/src/mesa/main/varray.h
@@ -53,20 +53,6 @@ _mesa_attr_zero_aliases_vertex(const struct gl_context *ctx)
}
-/**
- * This specifies the set of vertex arrays used by the driver for drawing.
- */
-static inline void
-_mesa_set_drawing_arrays(struct gl_context *ctx,
- const struct gl_vertex_array *arrays)
-{
- if (ctx->Array._DrawArrays != arrays) {
- ctx->Array._DrawArrays = arrays;
- ctx->NewDriverState |= ctx->DriverFlags.NewArray;
- }
-}
-
-
extern void
_mesa_update_array_format(struct gl_context *ctx,
struct gl_vertex_array_object *vao,
diff --git a/src/mesa/tnl/t_draw.c b/src/mesa/tnl/t_draw.c
index a83b98eede1..9814cdcec18 100644
--- a/src/mesa/tnl/t_draw.c
+++ b/src/mesa/tnl/t_draw.c
@@ -537,12 +537,12 @@ void _tnl_draw_prims(struct gl_context *ctx,
}
-void
+const struct gl_vertex_array*
_tnl_bind_inputs( struct gl_context *ctx )
{
TNLcontext *tnl = TNL_CONTEXT(ctx);
- _mesa_set_drawing_arrays(ctx, tnl->draw_arrays.inputs);
_vbo_update_inputs(ctx, &tnl->draw_arrays);
+ return tnl->draw_arrays.inputs;
}
@@ -558,12 +558,11 @@ _tnl_draw(struct gl_context *ctx,
struct gl_transform_feedback_object *tfb_vertcount,
unsigned stream, struct gl_buffer_object *indirect)
{
- /* Update TNLcontext::draw_arrays and set that pointer
- * into Array._DrawArrays.
+ /* Update TNLcontext::draw_arrays and return that pointer.
*/
- _tnl_bind_inputs(ctx);
+ const struct gl_vertex_array* arrays = _tnl_bind_inputs(ctx);
- _tnl_draw_prims(ctx, ctx->Array._DrawArrays, prim, nr_prims, ib,
+ _tnl_draw_prims(ctx, arrays, prim, nr_prims, ib,
index_bounds_valid, min_index, max_index,
tfb_vertcount, stream, indirect);
}
diff --git a/src/mesa/tnl/tnl.h b/src/mesa/tnl/tnl.h
index e506aee6dfb..4b6d5ec3919 100644
--- a/src/mesa/tnl/tnl.h
+++ b/src/mesa/tnl/tnl.h
@@ -66,7 +66,7 @@ _tnl_wakeup( struct gl_context *ctx );
extern void
_tnl_need_projected_coords( struct gl_context *ctx, GLboolean flag );
-extern void
+extern const struct gl_vertex_array*
_tnl_bind_inputs( struct gl_context *ctx );