core | glapi | vbo | math | shader | swrast | swrast_setup | tnl | tnl_dd

SWcontext Struct Reference

#include <s_context.h>


Detailed Description

Per-context state that's private to the software rasterizer module.

Data Fields

struct swrast_device_driver Driver
 Driver interface:.
GLboolean AllowVertexFog
 Configuration mechanisms to make software rasterizer match characteristics of the hardware rasterizer (if present):.
GLboolean AllowPixelFog
GLbitfield _RasterMask
 Derived values, invalidated on statechanges, updated from _swrast_validate_derived():.
GLfloat _BackfaceSign
GLfloat _BackfaceCullSign
 +1 or -1
GLboolean _PreferPixelFog
 +1, 0, or -1
GLboolean _TextureCombinePrimary
GLboolean _FogEnabled
GLboolean _DeferredTexture
GLenum _FogMode
GLuint _ActiveAttribs [FRAG_ATTRIB_MAX]
 List/array of the fragment attributes to interpolate.
GLbitfield _ActiveAttribMask
 Same info, but as a bitmask.
GLuint _NumActiveAttribs
 Number of fragment attributes to interpolate.
GLenum _InterpMode [FRAG_ATTRIB_MAX]
 Indicates how each attrib is to be interpolated (lines/tris).
GLboolean _IntegerAccumMode
 Storing unscaled integers?
GLfloat _IntegerAccumScaler
 Implicit scale factor.
GLuint StippleCounter
 Line stipple counter.
GLuint PointLineFacing
GLbitfield NewState
GLuint StateChanges
GLenum Primitive
GLboolean SpecularVertexAdd
 Add specular/secondary color per vertex.
void(* InvalidateState )(GLcontext *ctx, GLbitfield new_state)
SWspanarraysSpanArrays
 Typically, we'll allocate a sw_span structure as a local variable and set its 'array' pointer to point to this object.
SWspanarraysZoomedArrays
 For pixel zooming.
SWspan PointSpan
 Used to buffer N GL_POINTS, instead of rendering one by one.
blend_func BlendFunc
 Internal hooks, kept up to date by the same mechanism as above.
texture_sample_func TextureSample [MAX_TEXTURE_IMAGE_UNITS]
GLfloat * TexelBuffer
 Buffer for saving the sampled texture colors.
validate_texture_image_func ValidateTextureImage
struct gl_program_machine FragProgMachine
 State used during execution of fragment programs.
GLbitfield InvalidatePointMask
 When the NewState mask intersects these masks, we invalidate the Point/Line/Triangle function pointers below.
GLbitfield InvalidateLineMask
GLbitfield InvalidateTriangleMask
void(* choose_point )(GLcontext *)
 Device drivers plug in functions for these callbacks.
void(* choose_line )(GLcontext *)
void(* choose_triangle )(GLcontext *)
swrast_point_func Point
 Current point, line and triangle drawing functions.
swrast_line_func Line
swrast_tri_func Triangle
swrast_point_func SpecPoint
 Placeholders for when separate specular (or secondary color) is enabled but texturing is not.
swrast_line_func SpecLine
swrast_tri_func SpecTriangle

Field Documentation

struct swrast_device_driver SWcontext::Driver [read]

Driver interface:.

GLboolean SWcontext::AllowVertexFog

Configuration mechanisms to make software rasterizer match characteristics of the hardware rasterizer (if present):.

GLboolean SWcontext::AllowPixelFog

GLbitfield SWcontext::_RasterMask

Derived values, invalidated on statechanges, updated from _swrast_validate_derived():.

GLfloat SWcontext::_BackfaceSign

GLfloat SWcontext::_BackfaceCullSign

+1 or -1

GLboolean SWcontext::_PreferPixelFog

+1, 0, or -1

GLboolean SWcontext::_TextureCombinePrimary

GLboolean SWcontext::_FogEnabled

GLboolean SWcontext::_DeferredTexture

GLenum SWcontext::_FogMode

GLuint SWcontext::_ActiveAttribs[FRAG_ATTRIB_MAX]

List/array of the fragment attributes to interpolate.

GLbitfield SWcontext::_ActiveAttribMask

Same info, but as a bitmask.

GLuint SWcontext::_NumActiveAttribs

Number of fragment attributes to interpolate.

GLenum SWcontext::_InterpMode[FRAG_ATTRIB_MAX]

Indicates how each attrib is to be interpolated (lines/tris).

GLboolean SWcontext::_IntegerAccumMode

Storing unscaled integers?

GLfloat SWcontext::_IntegerAccumScaler

Implicit scale factor.

GLuint SWcontext::StippleCounter

Line stipple counter.

GLuint SWcontext::PointLineFacing

GLbitfield SWcontext::NewState

GLuint SWcontext::StateChanges

GLenum SWcontext::Primitive

GLboolean SWcontext::SpecularVertexAdd

Add specular/secondary color per vertex.

void(* SWcontext::InvalidateState)(GLcontext *ctx, GLbitfield new_state)

GLbitfield SWcontext::InvalidatePointMask

When the NewState mask intersects these masks, we invalidate the Point/Line/Triangle function pointers below.

GLbitfield SWcontext::InvalidateLineMask

GLbitfield SWcontext::InvalidateTriangleMask

void(* SWcontext::choose_point)(GLcontext *)

Device drivers plug in functions for these callbacks.

Will be called when the GL state change mask intersects the above masks.

void(* SWcontext::choose_line)(GLcontext *)

void(* SWcontext::choose_triangle)(GLcontext *)

swrast_point_func SWcontext::Point

Current point, line and triangle drawing functions.

swrast_line_func SWcontext::Line

swrast_tri_func SWcontext::Triangle

swrast_point_func SWcontext::SpecPoint

Placeholders for when separate specular (or secondary color) is enabled but texturing is not.

swrast_line_func SWcontext::SpecLine

swrast_tri_func SWcontext::SpecTriangle

SWspanarrays* SWcontext::SpanArrays

Typically, we'll allocate a sw_span structure as a local variable and set its 'array' pointer to point to this object.

The reason is this object is big and causes problems when allocated on the stack on some systems.

SWspanarrays* SWcontext::ZoomedArrays

For pixel zooming.

SWspan SWcontext::PointSpan

Used to buffer N GL_POINTS, instead of rendering one by one.

blend_func SWcontext::BlendFunc

Internal hooks, kept up to date by the same mechanism as above.

texture_sample_func SWcontext::TextureSample[MAX_TEXTURE_IMAGE_UNITS]

GLfloat* SWcontext::TexelBuffer

Buffer for saving the sampled texture colors.

Needed for GL_ARB_texture_env_crossbar implementation.

validate_texture_image_func SWcontext::ValidateTextureImage

struct gl_program_machine SWcontext::FragProgMachine [read]

State used during execution of fragment programs.


The documentation for this struct was generated from the following file:
Generated on Sun Sep 27 06:48:05 2009 for Mesa Software Rasterization (swrast) by  doxygen 1.5.4