summaryrefslogtreecommitdiff
path: root/src/mesa/main/mtypes.h
diff options
context:
space:
mode:
authorKeith Whitwell <keith@tungstengraphics.com>2005-01-22 14:38:00 +0000
committerKeith Whitwell <keith@tungstengraphics.com>2005-01-22 14:38:00 +0000
commit36a35c5614336bffdac4827c1e04bcaa8ab2fa27 (patch)
treee7a41d044ac2998fe23e89b0f36868de67fa05d1 /src/mesa/main/mtypes.h
parent8fca9bdc35bfb5220012cfa5041504b0a05d2440 (diff)
Determine ahead of time whether a display list will include vertices
which have to be processed in the 'loopback' path. If so, send all vertices that way as the transition from playback->loopback has several problems.
Diffstat (limited to 'src/mesa/main/mtypes.h')
-rw-r--r--src/mesa/main/mtypes.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h
index ed6e6b02b3..dc3dcbba1a 100644
--- a/src/mesa/main/mtypes.h
+++ b/src/mesa/main/mtypes.h
@@ -2428,17 +2428,38 @@ struct gl_tnl_module
/*@}*/
};
+/* Strictly this is a tnl/ private concept, but it doesn't seem
+ * worthwhile adding a tnl private structure just to hold this one bit
+ * of information:
+ */
+#define MESA_DLIST_DANGLING_REFS 0x1
+
+/* Provide a location where information about a display list can be
+ * collected. Could be extended with driverPrivate structures,
+ * etc. in the future.
+ */
+struct mesa_display_list
+{
+ Node *node;
+ GLuint id;
+ GLuint flags;
+};
+
/**
* State used during display list compilation and execution.
*/
struct mesa_list_state
{
+ struct mesa_display_list *CallStack[MAX_LIST_NESTING];
GLuint CallDepth; /**< Current recursion calling depth */
+
+ struct mesa_display_list *CurrentList;
Node *CurrentListPtr; /**< Head of list being compiled */
GLuint CurrentListNum; /**< Number of the list being compiled */
Node *CurrentBlock; /**< Pointer to current block of nodes */
GLuint CurrentPos; /**< Index into current block of nodes */
+
GLvertexformat ListVtxfmt;
GLubyte ActiveAttribSize[VERT_ATTRIB_MAX];