mesa: refactor: move #define FEATURE flags into new mfeatures.h file
[mesa.git] / src / mesa / vbo / vbo_context.h
index cd024720232e3d7fba8dae670ddcf55c9b0b06ea..bf405eb69338fb44851b7111d1c77fc3a8b723f3 100644 (file)
 #ifndef _VBO_CONTEXT_H
 #define _VBO_CONTEXT_H
 
+#include "vbo.h"
 #include "vbo_attrib.h"
-#include "vbo_save.h"
 #include "vbo_exec.h"
+#if FEATURE_dlist
+#include "vbo_save.h"
+#endif
 
 
 struct vbo_context {
@@ -73,18 +76,14 @@ struct vbo_context {
 
 
    struct vbo_exec_context exec;
+#if FEATURE_dlist
    struct vbo_save_context save;
+#endif
 
    /* Callback into the driver.  This must always succeed, the driver
     * is responsible for initiating any fallback actions required:
     */
-   void (*draw_prims)( GLcontext *ctx,
-                      const struct gl_client_array *arrays[],
-                      const struct _mesa_prim *prims,
-                      GLuint nr_prims,
-                      const struct _mesa_index_buffer *ib,
-                      GLuint min_index,
-                      GLuint max_index );
+   vbo_draw_func draw_prims;
 };
 
 
@@ -101,9 +100,9 @@ enum {
 
 static INLINE GLuint get_program_mode( GLcontext *ctx )
 {
-   if (!ctx->VertexProgram._Enabled)
+   if (!ctx->VertexProgram._Current)
       return VP_NONE;
-   else if (ctx->VertexProgram.Current->IsNVProgram)
+   else if (ctx->VertexProgram._Current->IsNVProgram)
       return VP_NV;
    else
       return VP_ARB;