#include "main/glheader.h"
-struct gl_client_array;
+struct gl_vertex_array;
struct gl_context;
struct gl_program;
extern void
_tnl_InvalidateState( struct gl_context *ctx, GLuint new_state );
+extern void
+_tnl_init_driver_draw_function(struct dd_function_table *functions);
+
/* Functions to revive the tnl module after being unhooked from
* dispatch and/or driver callbacks.
*/
extern void
_tnl_need_projected_coords( struct gl_context *ctx, GLboolean flag );
+extern void
+_tnl_bind_inputs( struct gl_context *ctx );
+
/* Control whether T&L does per-vertex fog
*/
struct _mesa_index_buffer;
void
-_tnl_draw_prims( struct gl_context *ctx,
+_tnl_draw_prims(struct gl_context *ctx,
+ const struct gl_vertex_array *arrays,
const struct _mesa_prim *prim,
GLuint nr_prims,
const struct _mesa_index_buffer *ib,
GLuint min_index,
GLuint max_index,
struct gl_transform_feedback_object *tfb_vertcount,
+ unsigned stream,
struct gl_buffer_object *indirect );
+void
+_tnl_draw(struct gl_context *ctx,
+ const struct _mesa_prim *prim, 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 stream,
+ struct gl_buffer_object *indirect);
+
extern void
_tnl_RasterPos(struct gl_context *ctx, const GLfloat vObj[4]);