Merge branch 'mesa_7_7_branch'
[mesa.git] / src / mesa / state_tracker / st_draw.h
index 659c3ac834f194386daae2cf92a4230847cf7ce0..3e0face656b0a040cdcc8d6b4cac759d5a9fd5a3 100644 (file)
@@ -47,6 +47,7 @@ st_draw_vbo(GLcontext *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);
 
@@ -56,12 +57,29 @@ st_feedback_draw_vbo(GLcontext *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);
 
 /* Internal function:
  */
 extern GLuint
-st_pipe_vertex_format(GLenum type, GLuint size, GLboolean normalized);
+st_pipe_vertex_format(GLenum type, GLuint size, GLenum format,
+                      GLboolean normalized);
+
+
+/**
+ * When drawing with VBOs, the addresses specified with
+ * glVertex/Color/TexCoordPointer() are really offsets into the VBO, not real
+ * addresses.  At some point we need to convert those pointers to offsets.
+ * This function is basically a cast wrapper to avoid warnings when building
+ * in 64-bit mode.
+ */
+static INLINE unsigned
+pointer_to_offset(const void *ptr)
+{
+   return (unsigned) (((unsigned long) ptr) & 0xffffffffUL);
+}
+
 
 #endif