diff options
author | Keith Whitwell <keith@tungstengraphics.com> | 2000-11-05 18:20:18 +0000 |
---|---|---|
committer | Keith Whitwell <keith@tungstengraphics.com> | 2000-11-05 18:20:18 +0000 |
commit | 7c20642b1091df1aab7d9076a3fe2fb11c6f011c (patch) | |
tree | 4519747c5c3cc6201ca1d460ae967c3a4aafed12 /src/mesa/swrast_setup/ss_context.h | |
parent | c6f348cbc908556da4f68a65cdf218ebd4e678be (diff) | |
download | external_mesa3d-7c20642b1091df1aab7d9076a3fe2fb11c6f011c.zip external_mesa3d-7c20642b1091df1aab7d9076a3fe2fb11c6f011c.tar.gz external_mesa3d-7c20642b1091df1aab7d9076a3fe2fb11c6f011c.tar.bz2 |
A new module to provide RasterSetup and advanced triangle/line/point
functionality layered on top of the software rasterizer.
An example entrypoint:
void _swsetup_Triangle( GLcontext, GLuint, GLuint, GLuint, GLuint )
will coerce the software rasterizer to draw flat, twoside-lit,
unfilled and offset triangles (including decomposition to points or lines).
Diffstat (limited to 'src/mesa/swrast_setup/ss_context.h')
-rw-r--r-- | src/mesa/swrast_setup/ss_context.h | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/src/mesa/swrast_setup/ss_context.h b/src/mesa/swrast_setup/ss_context.h new file mode 100644 index 0000000..61da923 --- /dev/null +++ b/src/mesa/swrast_setup/ss_context.h @@ -0,0 +1,68 @@ +/* + * Mesa 3-D graphics library + * Version: 3.5 + * + * Copyright (C) 1999 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"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * 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 NONINFRINGEMENT. IN NO EVENT SHALL + * BRIAN PAUL 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 <keithw@valinux.com> + */ + +#ifndef SS_CONTEXT_H +#define SS_CONTEXT_H + +#include "types.h" +#include "swrast/swrast.h" +#include "swrast_setup.h" + +typedef struct { + GLuint NewState; + GLuint StateChanges; + + /* Function hooks, trigger lazy state updates. + */ + void (*InvalidateState)( GLcontext *ctx, GLuint new_state ); + + void (*RasterSetup)( struct vertex_buffer *VB, GLuint start, GLuint end ); + + void (*Quad)( GLcontext *ctx, GLuint v0, GLuint v1, + GLuint v2, GLuint v3, GLuint pv ); + + void (*Triangle)( GLcontext *ctx, GLuint v0, GLuint v1, + GLuint v2, GLuint pv ); + + void (*Line)( GLcontext *ctx, GLuint v0, GLuint v1, GLuint pv ); + + void (*Points)( GLcontext *ctx, GLuint first, GLuint last ); + +} SScontext; + +typedef struct { + + SWvertex *verts; + +} SSvertexbuffer; + + +#define SWSETUP_CONTEXT(ctx) ((SScontext *)ctx->swsetup_context) +#define SWSETUP_VB(VB) ((SSvertexbuffer *)VB->swsetup_vb) + + +#endif |