const struct vertex_header *src )
{
const uint num_attribs = stage->draw->vertex_info.num_attribs;
- const interp_mode *interp = stage->draw->vertex_info.interp_mode;
+ const enum interp_mode *interp = stage->draw->vertex_info.interp_mode;
uint i;
/* Look for constant/flat attribs and duplicate from src to dst vertex */
static INLINE void
emit_vertex_attr(struct vertex_info *vinfo,
- attrib_format format, interp_mode interp)
+ enum attrib_format format, enum interp_mode interp)
{
const uint n = vinfo->num_attribs;
vinfo->interp_mode[n] = interp;
void
draw_set_vertex_attributes( struct draw_context *draw,
const uint *slot_to_vf_attr,
- const interp_mode *interps,
+ const enum interp_mode *interps,
unsigned nr_attrs )
{
struct vertex_info *vinfo = &draw->vertex_info;
/**
* Vertex attribute format
*/
-typedef enum {
+enum attrib_format {
FORMAT_OMIT,
FORMAT_1F,
FORMAT_2F,
FORMAT_4F,
FORMAT_4F_VIEWPORT,
FORMAT_4UB
-} attrib_format;
+};
/**
* Attribute interpolation mode
*/
-typedef enum {
+enum interp_mode {
INTERP_NONE, /**< never interpolate vertex header info */
INTERP_CONSTANT,
INTERP_LINEAR,
INTERP_PERSPECTIVE
-} interp_mode;
+};
/**
{
uint num_attribs;
uint hwfmt[4]; /**< hardware format info for this format */
- interp_mode interp_mode[PIPE_MAX_SHADER_OUTPUTS];
- attrib_format format[PIPE_MAX_SHADER_OUTPUTS]; /**< FORMAT_x */
+ enum interp_mode interp_mode[PIPE_MAX_SHADER_OUTPUTS];
+ enum attrib_format format[PIPE_MAX_SHADER_OUTPUTS]; /**< FORMAT_x */
uint size; /**< total vertex size in dwords */
};
*/
static INLINE uint
draw_emit_vertex_attr(struct vertex_info *vinfo,
- attrib_format format, interp_mode interp)
+ enum attrib_format format, enum interp_mode interp)
{
const uint n = vinfo->num_attribs;
assert(n < PIPE_MAX_SHADER_OUTPUTS);
extern void draw_set_vertex_attributes( struct draw_context *draw,
const uint *attrs,
- const interp_mode *interps,
+ const enum interp_mode *interps,
unsigned nr_attrs );
extern void draw_set_twoside_attributes(struct draw_context *draw,
struct i915_rasterizer_state {
int light_twoside : 1;
unsigned st;
- interp_mode color_interp;
+ enum interp_mode color_interp;
unsigned LIS4;
unsigned LIS7;
static void calculate_vertex_layout( struct i915_context *i915 )
{
const struct pipe_shader_state *fs = i915->fs;
- const interp_mode colorInterp = i915->rasterizer->color_interp;
+ const enum interp_mode colorInterp = i915->rasterizer->color_interp;
struct vertex_info vinfo;
uint front0 = 0, back0 = 0, front1 = 0, back1 = 0;
boolean needW = 0;
*/
static void setup_tri_coefficients( struct setup_stage *setup )
{
- const interp_mode *interp = setup->softpipe->vertex_info.interp_mode;
+ const enum interp_mode *interp = setup->softpipe->vertex_info.interp_mode;
unsigned slot, j;
/* z and w are done by linear interpolation:
static INLINE void
setup_line_coefficients(struct setup_stage *setup, struct prim_header *prim)
{
- const interp_mode *interp = setup->softpipe->vertex_info.interp_mode;
+ const enum interp_mode *interp = setup->softpipe->vertex_info.interp_mode;
unsigned slot, j;
/* use setup->vmin, vmax to point to vertices */
setup_point(struct draw_stage *stage, struct prim_header *prim)
{
struct setup_stage *setup = setup_stage( stage );
- const interp_mode *interp = setup->softpipe->vertex_info.interp_mode;
+ const enum interp_mode *interp = setup->softpipe->vertex_info.interp_mode;
const struct vertex_header *v0 = prim->v[0];
const int sizeAttr = setup->softpipe->psize_slot;
const float size
{
const struct pipe_shader_state *vs = softpipe->vs->state;
const struct pipe_shader_state *fs = softpipe->fs;
- const interp_mode colorInterp
+ const enum interp_mode colorInterp
= softpipe->rasterizer->flatshade ? INTERP_CONSTANT : INTERP_LINEAR;
struct vertex_info *vinfo = &softpipe->vertex_info;
boolean emitBack0 = FALSE, emitBack1 = FALSE, emitPsize = FALSE;
{
struct st_context *st = ctx->st;
uint attrs[PIPE_MAX_SHADER_OUTPUTS];
- interp_mode interp[PIPE_MAX_SHADER_OUTPUTS];
+ enum interp_mode interp[PIPE_MAX_SHADER_OUTPUTS];
GLuint n, i;
if (ctx->RenderMode == GL_FEEDBACK) {