core  array_cache  math  swrast  swrast_setup  tnl  tnl_dd 
Main Page   Modules   Data Structures   File List   Data Fields   Globals  

s_context.h File Reference

Software rasterization context and private types. More...

#include "mtypes.h"
#include "swrast.h"

Data Structures

struct  span_arrays
 Arrays of fragment values. More...

struct  sw_span
 Contains data for either a horizontal line or a set of pixels that are passed through a pipeline of functions before being drawn. More...

struct  SWcontext
 SWContext? More...


Defines

#define SPAN_RGBA   0x001
#define SPAN_SPEC   0x002
#define SPAN_INDEX   0x004
#define SPAN_Z   0x008
#define SPAN_W   0x010
#define SPAN_FOG   0x020
#define SPAN_TEXTURE   0x040
#define SPAN_INT_TEXTURE   0x080
#define SPAN_LAMBDA   0x100
#define SPAN_COVERAGE   0x200
#define SPAN_FLAT   0x400
 flat shading? More...

#define SPAN_XY   0x800
 sw_span::arrayMask only - for span_arrays::x, span_arrays::y. More...

#define SPAN_MASK   0x1000
 sw_span::arrayMask only. More...

#define INIT_SPAN(S, PRIMITIVE, END, INTERP_MASK, ARRAY_MASK)
#define ALPHATEST_BIT   0x001
 Alpha-test pixels. More...

#define BLEND_BIT   0x002
 Blend pixels. More...

#define DEPTH_BIT   0x004
 Depth-test pixels. More...

#define FOG_BIT   0x008
 Fog pixels. More...

#define LOGIC_OP_BIT   0x010
 Apply logic op in software. More...

#define CLIP_BIT   0x020
 Scissor or window clip pixels. More...

#define STENCIL_BIT   0x040
 Stencil pixels. More...

#define MASKING_BIT   0x080
 Do glColorMask or glIndexMask. More...

#define ALPHABUF_BIT   0x100
 Using software alpha buffer. More...

#define MULTI_DRAW_BIT   0x400
 buffer or no buffers. More...

#define OCCLUSION_BIT   0x800
 GL_HP_occlusion_test enabled. More...

#define TEXTURE_BIT   0x1000
 Texturing really enabled. More...

#define FRAGPROG_BIT   0x2000
 Fragment program enabled. More...

#define _SWRAST_NEW_RASTERMASK
#define SWRAST_CONTEXT(ctx)   ((SWcontext *)ctx->swrast_context)
#define RENDER_START(SWctx, GLctx)
#define RENDER_FINISH(SWctx, GLctx)
#define ChanToFixed(X)   (X)
#define FixedToChan(X)   (X)

Typedefs

typedef void(* texture_sample_func )(GLcontext *ctx, GLuint texUnit, const struct gl_texture_object *tObj, GLuint n, const GLfloat texcoords[][4], const GLfloat lambda[], GLchan rgba[][4])
typedef GLuint n
typedef GLuint const GLubyte mask []
typedef GLuint const GLubyte
GLchan 
src [][4]
typedef GLuint const GLubyte
GLchan CONST GLchan 
dst [][4]
typedef void(* swrast_point_func )(GLcontext *ctx, const SWvertex *)
typedef void(* swrast_line_func )(GLcontext *ctx, const SWvertex *, const SWvertex *)
typedef void(* swrast_tri_func )(GLcontext *ctx, const SWvertex *, const SWvertex *, const SWvertex *)

Functions

typedef void (_ASMAPIP blend_func)(GLcontext *ctx
void _swrast_validate_derived (GLcontext *ctx)
void _swrast_translate_program (GLcontext *ctx)
GLboolean _swrast_execute_codegen_program (GLcontext *ctx, const struct fragment_program *program, GLuint maxInst, struct fp_machine *machine, const struct sw_span *span, GLuint column)


Detailed Description

Software rasterization context and private types.

Author:
Keith Whitwell <keith@tungstengraphics.com>

Define Documentation

#define _SWRAST_NEW_RASTERMASK
 

Value:

#define ChanToFixed X       (X)
 

#define FixedToChan X       (X)
 

#define INIT_SPAN S,
PRIMITIVE,
END,
INTERP_MASK,
ARRAY_MASK   
 

Value:

do {                                                            \
   (S).primitive = (PRIMITIVE);                                 \
   (S).interpMask = (INTERP_MASK);                              \
   (S).arrayMask = (ARRAY_MASK);                                \
   (S).start = 0;                                               \
   (S).end = (END);                                             \
   (S).facing = 0;                                              \
   (S).array = SWRAST_CONTEXT(ctx)->SpanArrays;                 \
} while (0)

#define RENDER_FINISH SWctx,
GLctx   
 

Value:

do {                                                    \
      if ((SWctx)->Driver.SpanRenderFinish) {           \
         (*(SWctx)->Driver.SpanRenderFinish)(GLctx);    \
      }                                                 \
   } while (0)

#define RENDER_START SWctx,
GLctx   
 

Value:

do {                                                    \
      if ((SWctx)->Driver.SpanRenderStart) {            \
         (*(SWctx)->Driver.SpanRenderStart)(GLctx);     \
      }                                                 \
   } while (0)

#define SWRAST_CONTEXT ctx       ((SWcontext *)ctx->swrast_context)
 


Typedef Documentation

typedef GLuint const GLubyte GLchan CONST GLchan dst[][4]
 

typedef GLuint const GLubyte mask[]
 

typedef GLuint n
 

typedef GLuint const GLubyte GLchan src[][4]
 

typedef void(* swrast_line_func)( GLcontext *ctx, const SWvertex *, const SWvertex *)
 

typedef void(* swrast_point_func)( GLcontext *ctx, const SWvertex *)
 

typedef void(* swrast_tri_func)( GLcontext *ctx, const SWvertex *, const SWvertex *, const SWvertex *)
 

typedef void(* texture_sample_func)(GLcontext *ctx, GLuint texUnit, const struct gl_texture_object *tObj, GLuint n, const GLfloat texcoords[][4], const GLfloat lambda[], GLchan rgba[][4])
 


Function Documentation

GLboolean _swrast_execute_codegen_program GLcontext   ctx,
const struct fragment_program   program,
GLuint    maxInst,
struct fp_machine   machine,
const struct sw_span   span,
GLuint    column
 

void _swrast_translate_program GLcontext   ctx
 

void _swrast_validate_derived GLcontext   ctx
 

typedef void _ASMAPIP    blend_func
 


Generated on Sun May 16 15:55:22 2004 for Mesa Software Rasterization (swrast) by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001