mesa: update fallthrough comment so gcc can see it
[mesa.git] / src / mesa / state_tracker / st_draw.h
index f36184487a6285c974e9bd1205d56c495a1e3ae3..d04277a23258799e200547dbe9d0dd720b3d3060 100644 (file)
@@ -1,6 +1,6 @@
 /**************************************************************************
  * 
- * Copyright 2004 Tungsten Graphics, Inc., Cedar Park, Texas.
+ * Copyright 2004 VMware, Inc.
  * All Rights Reserved.
  * 
  * Permission is hereby granted, free of charge, to any person obtaining a
@@ -18,7 +18,7 @@
  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
- * IN NO EVENT SHALL TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS BE LIABLE FOR
+ * IN NO EVENT SHALL VMWARE AND/OR ITS SUPPLIERS BE LIABLE FOR
  * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
  * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
  * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
  /*
   * Authors:
-  *   Keith Whitwell <keith@tungstengraphics.com>
+  *   Keith Whitwell <keithw@vmware.com>
   */
     
 
 #ifndef ST_DRAW_H
 #define ST_DRAW_H
 
-#include "main/compiler.h"
 #include "main/glheader.h"
-#include "main/mtypes.h"
 
 struct _mesa_index_buffer;
 struct _mesa_prim;
+struct gl_context;
 struct st_context;
 
-void st_init_draw( struct st_context *st );
+void st_init_draw_functions(struct dd_function_table *functions);
 
 void st_destroy_draw( struct st_context *st );
 
-extern void
-st_draw_vbo(GLcontext *ctx,
-            const struct gl_client_array **arrays,
-            const struct _mesa_prim *prims,
-            GLuint nr_prims,
-            const struct _mesa_index_buffer *ib,
-           GLboolean index_bounds_valid,
-            GLuint min_index,
-            GLuint max_index);
+struct draw_context *st_get_draw_context(struct st_context *st);
 
 extern void
-st_feedback_draw_vbo(GLcontext *ctx,
-                     const struct gl_client_array **arrays,
+st_feedback_draw_vbo(struct gl_context *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, GLenum format,
-                      GLboolean normalized);
-
+                     GLuint max_index,
+                     GLuint num_instances,
+                     GLuint base_instance,
+                     struct gl_transform_feedback_object *tfb_vertcount,
+                     unsigned stream);
 
 /**
  * When drawing with VBOs, the addresses specified with
@@ -80,11 +67,18 @@ st_pipe_vertex_format(GLenum type, GLuint size, GLenum format,
  * This function is basically a cast wrapper to avoid warnings when building
  * in 64-bit mode.
  */
-static INLINE unsigned
+static inline unsigned
 pointer_to_offset(const void *ptr)
 {
-   return (unsigned) (((unsigned long) ptr) & 0xffffffffUL);
+   return (unsigned) (((GLsizeiptr) ptr) & 0xffffffffUL);
 }
 
 
+bool
+st_draw_quad(struct st_context *st,
+             float x0, float y0, float x1, float y1, float z,
+             float s0, float t0, float s1, float t1,
+             const float *color,
+             unsigned num_instances);
+
 #endif