X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fmesa%2Ftnl%2Ftnl.h;h=434bd7fcd95e9b5a1155a35a1acc8887fe01177d;hb=ba1d921bdf7a15fcc4a4e3162ea6fe9810f233d6;hp=4d628aa9a607726e50b3ed71affb07f0e5068a3b;hpb=2b66417402bc595be301ab9ed7b9ea2a5f79e180;p=mesa.git diff --git a/src/mesa/tnl/tnl.h b/src/mesa/tnl/tnl.h index 4d628aa9a60..434bd7fcd95 100644 --- a/src/mesa/tnl/tnl.h +++ b/src/mesa/tnl/tnl.h @@ -28,8 +28,11 @@ #ifndef _TNL_H #define _TNL_H -#include "main/mtypes.h" +#include "main/glheader.h" +struct gl_client_array; +struct gl_context; +struct gl_program; /* These are the public-access functions exported from tnl. (A few @@ -37,43 +40,43 @@ * itself.) */ extern GLboolean -_tnl_CreateContext( GLcontext *ctx ); +_tnl_CreateContext( struct gl_context *ctx ); extern void -_tnl_DestroyContext( GLcontext *ctx ); +_tnl_DestroyContext( struct gl_context *ctx ); extern void -_tnl_InvalidateState( GLcontext *ctx, GLuint new_state ); +_tnl_InvalidateState( struct gl_context *ctx, GLuint new_state ); /* Functions to revive the tnl module after being unhooked from * dispatch and/or driver callbacks. */ extern void -_tnl_wakeup( GLcontext *ctx ); +_tnl_wakeup( struct gl_context *ctx ); /* Driver configuration options: */ extern void -_tnl_need_projected_coords( GLcontext *ctx, GLboolean flag ); +_tnl_need_projected_coords( struct gl_context *ctx, GLboolean flag ); /* Control whether T&L does per-vertex fog */ extern void -_tnl_allow_vertex_fog( GLcontext *ctx, GLboolean value ); +_tnl_allow_vertex_fog( struct gl_context *ctx, GLboolean value ); extern void -_tnl_allow_pixel_fog( GLcontext *ctx, GLboolean value ); +_tnl_allow_pixel_fog( struct gl_context *ctx, GLboolean value ); -extern void -_tnl_program_string(GLcontext *ctx, GLenum target, struct gl_program *program); +extern GLboolean +_tnl_program_string(struct gl_context *ctx, GLenum target, struct gl_program *program); struct _mesa_prim; struct _mesa_index_buffer; void -_tnl_draw_prims( GLcontext *ctx, +_tnl_draw_prims( struct gl_context *ctx, const struct gl_client_array *arrays[], const struct _mesa_prim *prim, GLuint nr_prims, @@ -81,10 +84,24 @@ _tnl_draw_prims( GLcontext *ctx, GLuint min_index, GLuint max_index); +void +_tnl_vbo_draw_prims( struct gl_context *ctx, + const struct gl_client_array *arrays[], + 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 ); + +extern void +_mesa_load_tracked_matrices(struct gl_context *ctx); + extern void -_mesa_load_tracked_matrices(GLcontext *ctx); +_tnl_RasterPos(struct gl_context *ctx, const GLfloat vObj[4]); extern void -_tnl_RasterPos(GLcontext *ctx, const GLfloat vObj[4]); +_tnl_validate_shine_tables( struct gl_context *ctx ); #endif