ARB_Occlusion_query should support multiple query at same time
[mesa.git] / src / mesa / swrast / s_span.h
index 522ec93329c28a00125740c6b1f493e3c0122b08..c441106abae707bb2e89fa3ce43f2810ad17ca66 100644 (file)
@@ -1,10 +1,8 @@
-/* $Id: s_span.h,v 1.7 2001/11/19 01:18:28 brianp Exp $ */
-
 /*
  * Mesa 3-D graphics library
- * Version:  3.5
+ * Version:  6.5
  *
- * Copyright (C) 1999-2001  Brian Paul   All Rights Reserved.
+ * Copyright (C) 1999-2005  Brian Paul   All Rights Reserved.
  *
  * Permission is hereby granted, free of charge, to any person obtaining a
  * copy of this software and associated documentation files (the "Software"),
 
 #include "mtypes.h"
 #include "swrast.h"
-#include "s_trispan.h"
 
 
 extern void
-_mesa_write_index_span( GLcontext *ctx, GLuint n, GLint x, GLint y,
-                        const GLdepth z[], const GLfloat fog[],
-                        GLuint index[], const GLint coverage[],
-                        GLenum primitive );
-
+_swrast_span_default_z( GLcontext *ctx, SWspan *span );
 
 extern void
-_mesa_write_monoindex_span( GLcontext *ctx, GLuint n, GLint x, GLint y,
-                            const GLdepth z[], const GLfloat fog[],
-                            GLuint index, const GLint coverage[],
-                            GLenum primitive );
-
+_swrast_span_interpolate_z( const GLcontext *ctx, SWspan *span );
 
 extern void
-_mesa_write_rgba_span( GLcontext *ctx, GLuint n, GLint x, GLint y,
-                       const GLdepth z[], const GLfloat fog[],
-                       GLchan rgba[][4], const GLfloat coverage[],
-                       GLenum primitive );
+_swrast_span_default_fog( GLcontext *ctx, SWspan *span );
 
+extern void
+_swrast_span_default_color( GLcontext *ctx, SWspan *span );
 
 extern void
-_mesa_write_monocolor_span( GLcontext *ctx, GLuint n, GLint x, GLint y,
-                            const GLdepth z[], const GLfloat fog[],
-                            const GLchan color[4], const GLfloat coverage[],
-                            GLenum primitive );
+_swrast_span_default_texcoords( GLcontext *ctx, SWspan *span );
 
+extern GLfloat
+_swrast_compute_lambda(GLfloat dsdx, GLfloat dsdy, GLfloat dtdx, GLfloat dtdy,
+                       GLfloat dqdx, GLfloat dqdy, GLfloat texW, GLfloat texH,
+                       GLfloat s, GLfloat t, GLfloat q, GLfloat invQ);
 
 extern void
-_mesa_rasterize_span(GLcontext *ctx, struct triangle_span *span);
+_swrast_write_index_span( GLcontext *ctx, SWspan *span);
 
 
 extern void
-_mesa_write_texture_span( GLcontext *ctx, GLuint n, GLint x, GLint y,
-                          const GLdepth z[], const GLfloat fog[],
-                          const GLfloat s[], const GLfloat t[],
-                          const GLfloat u[], GLfloat lambda[],
-                          GLchan rgba[][4], CONST GLchan spec[][4],
-                          const GLfloat coverage[], GLenum primitive );
+_swrast_write_rgba_span( GLcontext *ctx, SWspan *span);
 
 
 extern void
-_mesa_write_multitexture_span( GLcontext *ctx, GLuint n, GLint x, GLint y,
-                               const GLdepth z[], const GLfloat fog[],
-                               CONST GLfloat s[MAX_TEXTURE_UNITS][MAX_WIDTH],
-                               CONST GLfloat t[MAX_TEXTURE_UNITS][MAX_WIDTH],
-                               CONST GLfloat u[MAX_TEXTURE_UNITS][MAX_WIDTH],
-                               GLfloat lambda[MAX_TEXTURE_UNITS][MAX_WIDTH],
-                               GLchan rgba[][4], CONST GLchan spec[][4],
-                               const GLfloat coverage[],  GLenum primitive );
+_swrast_read_rgba_span(GLcontext *ctx, struct gl_renderbuffer *rb,
+                       GLuint n, GLint x, GLint y, GLenum type, GLvoid *rgba);
 
+extern void
+_swrast_read_index_span( GLcontext *ctx, struct gl_renderbuffer *rb,
+                         GLuint n, GLint x, GLint y, GLuint indx[] );
 
 extern void
-_mesa_read_rgba_span( GLcontext *ctx, GLframebuffer *buffer,
-                      GLuint n, GLint x, GLint y, GLchan rgba[][4] );
+_swrast_get_values(GLcontext *ctx, struct gl_renderbuffer *rb,
+                   GLuint count, const GLint x[], const GLint y[],
+                   void *values, GLuint valueSize);
 
+extern void
+_swrast_put_row(GLcontext *ctx, struct gl_renderbuffer *rb,
+                GLuint count, GLint x, GLint y,
+                const GLvoid *values, GLuint valueSize);
 
 extern void
-_mesa_read_index_span( GLcontext *ctx, GLframebuffer *buffer,
-                       GLuint n, GLint x, GLint y, GLuint indx[] );
+_swrast_get_row(GLcontext *ctx, struct gl_renderbuffer *rb,
+                GLuint count, GLint x, GLint y,
+                GLvoid *values, GLuint valueSize);
+
 
+extern void *
+_swrast_get_dest_rgba(GLcontext *ctx, struct gl_renderbuffer *rb,
+                      SWspan *span);
 
 #endif