From: Brian Date: Tue, 19 Jun 2007 14:43:05 +0000 (-0600) Subject: add point/line/polygon state X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=2137e3053ec87e4463fdbd952537d1bbd1a3dbcd;p=mesa.git add point/line/polygon state --- 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;