summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrian <[email protected]>2007-06-19 08:43:05 -0600
committerBrian <[email protected]>2007-06-19 08:43:05 -0600
commit2137e3053ec87e4463fdbd952537d1bbd1a3dbcd (patch)
tree7b8c6ad8f90db3b522953484c301f838f17eff03
parent493f7b5f3ae2eb64eaa65e24e79a7a071c359b81 (diff)
add point/line/polygon state
-rw-r--r--src/mesa/pipe/p_defines.h15
-rw-r--r--src/mesa/pipe/p_state.h26
2 files changed, 41 insertions, 0 deletions
diff --git a/src/mesa/pipe/p_defines.h b/src/mesa/pipe/p_defines.h
index 11b70175b0d..550240e6475 100644
--- a/src/mesa/pipe/p_defines.h
+++ b/src/mesa/pipe/p_defines.h
@@ -84,6 +84,21 @@
#define PIPE_FUNC_GEQUAL 6
#define PIPE_FUNC_ALWAYS 7
+/** Polygon fill mode */
+#define PIPE_POLYGON_MODE_FILL 0
+#define PIPE_POLYGON_MODE_LINE 1
+#define PIPE_POLYGON_MODE_POINT 2
+
+/** Polygon cull mode */
+#define PIPE_POLYGON_CULL_NONE 0
+#define PIPE_POLYGON_CULL_FRONT 1
+#define PIPE_POLYGON_CULL_BACK 2
+#define PIPE_POLYGON_CULL_BOTH 3
+
+/** Polygon front winding order */
+#define PIPE_POLYGON_FRONT_CW 0
+#define PIPE_POLYGON_FRONT_CCW 1
+
#define PIPE_STENCIL_OP_KEEP 0
#define PIPE_STENCIL_OP_ZERO 1
#define PIPE_STENCIL_OP_REPLACE 2
diff --git a/src/mesa/pipe/p_state.h b/src/mesa/pipe/p_state.h
index 71f1e999644..c88c0de6ad1 100644
--- a/src/mesa/pipe/p_state.h
+++ b/src/mesa/pipe/p_state.h
@@ -133,6 +133,32 @@ struct pipe_blend_color {
GLfloat color[4];
};
+struct pipe_line_state
+{
+ GLuint smooth:1;
+ GLuint stipple:1;
+ GLushort stipple_pattern;
+ GLint stipple_factor;
+ GLfloat width;
+};
+
+struct pipe_point_state
+{
+ GLuint smooth:1;
+ GLfloat size;
+ GLfloat min_size, max_size;
+ GLfloat attenuation[3];
+};
+
+struct pipe_polygon_state {
+ GLuint cull_mode:2; /**< PIPE_POLYGON_CULL_x */
+ GLuint front_winding:1; /**< PIPE_POLYGON_FRONT_CCW,CW */
+ GLuint front_mode:2; /**< PIPE_POLYGON_MODE_x */
+ GLuint back_mode:2; /**< PIPE_POLYGON_MODE_x */
+ GLuint stipple:1; /**< enable */
+ GLuint smooth:1; /**< enable */
+ /* XXX Polygon offset? */
+};
struct pipe_stencil_state {
GLuint front_enabled:1;