-/* $Id: s_span.h,v 1.3 2001/03/03 20:33:30 brianp Exp $ */
-
/*
* Mesa 3-D graphics library
- * Version: 3.5
+ * Version: 6.5
*
- * Copyright (C) 1999-2000 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"),
*/
-
-
-
#ifndef S_SPAN_H
#define S_SPAN_H
#include "swrast.h"
-extern void _mesa_write_index_span( GLcontext *ctx,
- GLuint n, GLint x, GLint y, const GLdepth z[],
- const GLfixed fog[],
- GLuint index[], GLenum primitive );
+extern void
+_swrast_span_default_z( GLcontext *ctx, SWspan *span );
+
+extern void
+_swrast_span_interpolate_z( const GLcontext *ctx, SWspan *span );
+extern void
+_swrast_span_default_fog( GLcontext *ctx, SWspan *span );
-extern void _mesa_write_monoindex_span( GLcontext *ctx,
- GLuint n, GLint x, GLint y,
- const GLdepth z[],
- const GLfixed fog[],
- GLuint index, GLenum primitive );
+extern void
+_swrast_span_default_color( GLcontext *ctx, SWspan *span );
+extern void
+_swrast_span_default_texcoords( GLcontext *ctx, SWspan *span );
-extern void _mesa_write_rgba_span( GLcontext *ctx,
- GLuint n, GLint x, GLint y, const GLdepth z[],
- const GLfixed fog[],
- GLchan rgba[][4], GLenum primitive );
+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
+_swrast_write_index_span( GLcontext *ctx, SWspan *span);
-extern void _mesa_write_monocolor_span( GLcontext *ctx,
- GLuint n, GLint x, GLint y,
- const GLdepth z[],
- const GLfixed fog[],
- const GLchan color[4],
- GLenum primitive );
+extern void
+_swrast_write_rgba_span( GLcontext *ctx, SWspan *span);
-extern void _mesa_write_texture_span( GLcontext *ctx,
- GLuint n, GLint x, GLint y,
- const GLdepth z[],
- const GLfixed fog[],
- const GLfloat s[], const GLfloat t[],
- const GLfloat u[], GLfloat lambda[],
- GLchan rgba[][4], CONST GLchan spec[][4],
- GLenum primitive );
+extern void
+_swrast_read_rgba_span(GLcontext *ctx, struct gl_renderbuffer *rb,
+ GLuint n, GLint x, GLint y, GLenum type, GLvoid *rgba);
extern void
-_mesa_write_multitexture_span( GLcontext *ctx,
- GLuint n, GLint x, GLint y,
- const GLdepth z[],
- const GLfixed 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],
- GLenum primitive );
+_swrast_read_index_span( GLcontext *ctx, struct gl_renderbuffer *rb,
+ GLuint n, GLint x, GLint y, GLuint indx[] );
+extern void
+_swrast_get_values(GLcontext *ctx, struct gl_renderbuffer *rb,
+ GLuint count, const GLint x[], const GLint y[],
+ void *values, GLuint valueSize);
-extern void _mesa_read_rgba_span( GLcontext *ctx, GLframebuffer *buffer,
- GLuint n, GLint x, GLint y,
- GLchan rgba[][4] );
+extern void
+_swrast_put_row(GLcontext *ctx, struct gl_renderbuffer *rb,
+ GLuint count, GLint x, GLint y,
+ const GLvoid *values, GLuint valueSize);
+extern void
+_swrast_get_row(GLcontext *ctx, struct gl_renderbuffer *rb,
+ GLuint count, GLint x, GLint y,
+ GLvoid *values, GLuint valueSize);
-extern void _mesa_read_index_span( GLcontext *ctx, GLframebuffer *buffer,
- GLuint n, GLint x, GLint y, GLuint indx[] );
+extern void *
+_swrast_get_dest_rgba(GLcontext *ctx, struct gl_renderbuffer *rb,
+ SWspan *span);
#endif