summaryrefslogtreecommitdiff
path: root/src/mesa/swrast/s_context.h
diff options
context:
space:
mode:
authorBrian Paul <brian.paul@tungstengraphics.com>2006-01-26 01:32:47 +0000
committerBrian Paul <brian.paul@tungstengraphics.com>2006-01-26 01:32:47 +0000
commit3a5bb1729d8c229a587e34ccd5ddc86e26811b9f (patch)
tree332757da105c23529cfa85ddde5fe290ce6e3eb2 /src/mesa/swrast/s_context.h
parent2219a15b06ba1f72d74b79047e52840d167f03b7 (diff)
New comments, clean-up of fields related to point/line/triangle validation.
Diffstat (limited to 'src/mesa/swrast/s_context.h')
-rw-r--r--src/mesa/swrast/s_context.h27
1 files changed, 18 insertions, 9 deletions
diff --git a/src/mesa/swrast/s_context.h b/src/mesa/swrast/s_context.h
index 5cfe7627a5..c1c01df8f5 100644
--- a/src/mesa/swrast/s_context.h
+++ b/src/mesa/swrast/s_context.h
@@ -299,23 +299,32 @@ typedef struct
GLuint StateChanges;
GLenum Primitive; /* current primitive being drawn (ala glBegin) */
- /** Mechanism to allow driver (like X11) to register further
- * software rasterization routines.
+ void (*InvalidateState)( GLcontext *ctx, GLbitfield new_state );
+
+ /**
+ * When the NewState mask intersects these masks, we invalidate the
+ * Point/Line/Triangle function pointers below.
+ */
+ /*@{*/
+ GLbitfield InvalidatePointMask;
+ GLbitfield InvalidateLineMask;
+ GLbitfield InvalidateTriangleMask;
+ /*@}*/
+
+ /**
+ * Device drivers plug in functions for these callbacks.
+ * Will be called when the GL state change mask intersects the above masks.
*/
/*@{*/
void (*choose_point)( GLcontext * );
void (*choose_line)( GLcontext * );
void (*choose_triangle)( GLcontext * );
-
- GLbitfield invalidate_point;
- GLbitfield invalidate_line;
- GLbitfield invalidate_triangle;
/*@}*/
- /** Function pointers for dispatch behind public entrypoints. */
+ /**
+ * Current point, line and triangle drawing functions.
+ */
/*@{*/
- void (*InvalidateState)( GLcontext *ctx, GLbitfield new_state );
-
swrast_point_func Point;
swrast_line_func Line;
swrast_tri_func Triangle;