diff options
Diffstat (limited to 'src/mesa/pipe')
-rw-r--r-- | src/mesa/pipe/draw/draw_vertex.h | 2 | ||||
-rw-r--r-- | src/mesa/pipe/i915simple/i915_state_derived.c | 25 | ||||
-rw-r--r-- | src/mesa/pipe/softpipe/sp_prim_setup.c | 12 | ||||
-rw-r--r-- | src/mesa/pipe/softpipe/sp_state_derived.c | 20 | ||||
-rw-r--r-- | src/mesa/pipe/tgsi/exec/tgsi_attribs.h | 2 |
5 files changed, 27 insertions, 34 deletions
diff --git a/src/mesa/pipe/draw/draw_vertex.h b/src/mesa/pipe/draw/draw_vertex.h index 1d900b3a4e..5874c554b1 100644 --- a/src/mesa/pipe/draw/draw_vertex.h +++ b/src/mesa/pipe/draw/draw_vertex.h @@ -87,7 +87,7 @@ struct vertex_info * \return slot in which the attribute was added */ static INLINE uint -draw_emit_vertex_attr(struct vertex_info *vinfo, uint vfAttr, +draw_emit_vertex_attr(struct vertex_info *vinfo, attrib_format format, interp_mode interp) { const uint n = vinfo->num_attribs; diff --git a/src/mesa/pipe/i915simple/i915_state_derived.c b/src/mesa/pipe/i915simple/i915_state_derived.c index 91d00fb1c2..1485d37a62 100644 --- a/src/mesa/pipe/i915simple/i915_state_derived.c +++ b/src/mesa/pipe/i915simple/i915_state_derived.c @@ -55,7 +55,7 @@ static void calculate_vertex_layout( struct i915_context *i915 ) memset(vinfo, 0, sizeof(*vinfo)); /* pos */ - draw_emit_vertex_attr(vinfo, TGSI_ATTRIB_POS, FORMAT_3F, INTERP_LINEAR); + draw_emit_vertex_attr(vinfo, FORMAT_3F, INTERP_LINEAR); /* Note: we'll set the S4_VFMT_XYZ[W] bits below */ for (i = 0; i < fs->num_inputs; i++) { @@ -63,14 +63,12 @@ static void calculate_vertex_layout( struct i915_context *i915 ) case TGSI_SEMANTIC_POSITION: break; case TGSI_SEMANTIC_COLOR0: - front0 = draw_emit_vertex_attr(vinfo, TGSI_ATTRIB_COLOR0, - FORMAT_4UB, colorInterp); + front0 = draw_emit_vertex_attr(vinfo, FORMAT_4UB, colorInterp); vinfo->hwfmt[0] |= S4_VFMT_COLOR; break; case TGSI_SEMANTIC_COLOR1: assert(0); /* untested */ - front1 = draw_emit_vertex_attr(vinfo, TGSI_ATTRIB_COLOR1, - FORMAT_4UB, colorInterp); + front1 = draw_emit_vertex_attr(vinfo, FORMAT_4UB, colorInterp); vinfo->hwfmt[0] |= S4_VFMT_SPEC_FOG; break; case TGSI_SEMANTIC_TEX0: @@ -85,8 +83,7 @@ static void calculate_vertex_layout( struct i915_context *i915 ) const uint unit = fs->input_semantics[i] - TGSI_SEMANTIC_TEX0; uint hwtc; texCoords[unit] = TRUE; - draw_emit_vertex_attr(vinfo, TGSI_ATTRIB_TEX0 + i, - FORMAT_4F, INTERP_PERSPECTIVE); + draw_emit_vertex_attr(vinfo, FORMAT_4F, INTERP_PERSPECTIVE); hwtc = TEXCOORDFMT_4D; needW = TRUE; vinfo->hwfmt[1] |= hwtc << (unit * 4); @@ -109,16 +106,14 @@ static void calculate_vertex_layout( struct i915_context *i915 ) #if 0 /* color0 */ if (inputsRead & (1 << TGSI_ATTRIB_COLOR0)) { - front0 = draw_emit_vertex_attr(vinfo, TGSI_ATTRIB_COLOR0, - FORMAT_4UB, colorInterp); + front0 = draw_emit_vertex_attr(vinfo, FORMAT_4UB, colorInterp); vinfo->hwfmt[0] |= S4_VFMT_COLOR; } /* color 1 */ if (inputsRead & (1 << TGSI_ATTRIB_COLOR1)) { assert(0); /* untested */ - front1 = draw_emit_vertex_attr(vinfo, TGSI_ATTRIB_COLOR1, - FORMAT_4UB, colorInterp); + front1 = draw_emit_vertex_attr(vinfo, FORMAT_4UB, colorInterp); vinfo->hwfmt[0] |= S4_VFMT_SPEC_FOG; } @@ -130,7 +125,7 @@ static void calculate_vertex_layout( struct i915_context *i915 ) for (i = TGSI_ATTRIB_TEX0; i <= TGSI_ATTRIB_TEX7; i++) { uint hwtc; if (inputsRead & (1 << i)) { - draw_emit_vertex_attr(vinfo, i, FORMAT_4F, INTERP_PERSPECTIVE); + draw_emit_vertex_attr(vinfo, FORMAT_4F, INTERP_PERSPECTIVE); hwtc = TEXCOORDFMT_4D; needW = TRUE; } @@ -158,12 +153,10 @@ static void calculate_vertex_layout( struct i915_context *i915 ) */ if (i915->rasterizer->light_twoside) { if (front0) { - back0 = draw_emit_vertex_attr(vinfo, TGSI_ATTRIB_BFC0, - FORMAT_OMIT, colorInterp); + back0 = draw_emit_vertex_attr(vinfo, FORMAT_OMIT, colorInterp); } if (back0) { - back1 = draw_emit_vertex_attr(vinfo, TGSI_ATTRIB_BFC1, - FORMAT_OMIT, colorInterp); + back1 = draw_emit_vertex_attr(vinfo, FORMAT_OMIT, colorInterp); } } diff --git a/src/mesa/pipe/softpipe/sp_prim_setup.c b/src/mesa/pipe/softpipe/sp_prim_setup.c index 913ae44601..f0f9cf54bd 100644 --- a/src/mesa/pipe/softpipe/sp_prim_setup.c +++ b/src/mesa/pipe/softpipe/sp_prim_setup.c @@ -79,7 +79,7 @@ struct setup_stage { float oneoverarea; - struct tgsi_interp_coef coef[TGSI_ATTRIB_MAX]; + struct tgsi_interp_coef coef[PIPE_MAX_SHADER_INPUTS]; struct quad_header quad; struct { @@ -366,7 +366,7 @@ static void const_coeff( struct setup_stage *setup, unsigned slot, unsigned i ) { - assert(slot < TGSI_ATTRIB_MAX); + assert(slot < PIPE_MAX_SHADER_INPUTS); assert(i <= 3); setup->coef[slot].dadx[i] = 0; @@ -391,7 +391,7 @@ static void tri_linear_coeff( struct setup_stage *setup, float a = setup->ebot.dy * majda - botda * setup->emaj.dy; float b = setup->emaj.dx * botda - majda * setup->ebot.dx; - assert(slot < TGSI_ATTRIB_MAX); + assert(slot < PIPE_MAX_SHADER_INPUTS); assert(i <= 3); setup->coef[slot].dadx[i] = a * setup->oneoverarea; @@ -454,7 +454,7 @@ static void tri_persp_coeff( struct setup_stage *setup, ); */ - assert(slot < TGSI_ATTRIB_MAX); + assert(slot < PIPE_MAX_SHADER_INPUTS); assert(i <= 3); setup->coef[slot].dadx[i] = a * setup->oneoverarea; @@ -910,8 +910,8 @@ setup_point(struct draw_stage *stage, struct prim_header *prim) = sizeAttr ? (0.5f * v0->data[sizeAttr][0]) : (0.5f * setup->softpipe->rasterizer->point_size); const boolean round = setup->softpipe->rasterizer->point_smooth; - const float x = v0->data[TGSI_ATTRIB_POS][0]; - const float y = v0->data[TGSI_ATTRIB_POS][1]; + const float x = v0->data[0][0]; /* Note: data[0] is always position */ + const float y = v0->data[0][1]; unsigned slot, j; assert(sizeAttr >= 0); diff --git a/src/mesa/pipe/softpipe/sp_state_derived.c b/src/mesa/pipe/softpipe/sp_state_derived.c index 03b5d7ea3f..3ae207910d 100644 --- a/src/mesa/pipe/softpipe/sp_state_derived.c +++ b/src/mesa/pipe/softpipe/sp_state_derived.c @@ -63,7 +63,7 @@ static void calculate_vertex_layout( struct softpipe_context *softpipe ) /* always emit vertex pos */ /* TODO - Figure out if we need to do perspective divide, etc. */ - draw_emit_vertex_attr(vinfo, TGSI_ATTRIB_POS, FORMAT_4F, INTERP_LINEAR); + draw_emit_vertex_attr(vinfo, FORMAT_4F, INTERP_LINEAR); for (i = 0; i < fs->num_inputs; i++) { switch (fs->input_semantics[i]) { @@ -75,15 +75,15 @@ static void calculate_vertex_layout( struct softpipe_context *softpipe ) softpipe->need_w = TRUE; break; case TGSI_SEMANTIC_COLOR0: - front0 = draw_emit_vertex_attr(vinfo, TGSI_ATTRIB_COLOR0, + front0 = draw_emit_vertex_attr(vinfo, FORMAT_4F, colorInterp); break; case TGSI_SEMANTIC_COLOR1: - front1 = draw_emit_vertex_attr(vinfo, TGSI_ATTRIB_COLOR1, + front1 = draw_emit_vertex_attr(vinfo, FORMAT_4F, colorInterp); break; case TGSI_SEMANTIC_FOG: - draw_emit_vertex_attr(vinfo, TGSI_ATTRIB_FOG, + draw_emit_vertex_attr(vinfo, FORMAT_1F, INTERP_PERSPECTIVE); break; #if 0 @@ -91,19 +91,19 @@ static void calculate_vertex_layout( struct softpipe_context *softpipe ) /* XXX only emit if drawing points or front/back polygon mode * is point mode */ - draw_emit_vertex_attr(vinfo, TGSI_ATTRIB_POINTSIZE, + draw_emit_vertex_attr(vinfo, FORMAT_4F, INTERP_CONSTANT); break; #endif softpipe->psize_slot = i; /*case TGSI_SEMANTIC_TEXCOORD:*/ case TGSI_SEMANTIC_TEX0: - draw_emit_vertex_attr(vinfo, TGSI_ATTRIB_TEX0, + draw_emit_vertex_attr(vinfo, FORMAT_4F, INTERP_PERSPECTIVE); softpipe->need_w = TRUE; break; case TGSI_SEMANTIC_OTHER: - draw_emit_vertex_attr(vinfo, i, FORMAT_4F, INTERP_PERSPECTIVE); + draw_emit_vertex_attr(vinfo, FORMAT_4F, INTERP_PERSPECTIVE); softpipe->need_w = TRUE; break; @@ -120,12 +120,10 @@ static void calculate_vertex_layout( struct softpipe_context *softpipe ) */ if (softpipe->rasterizer->light_twoside) { if (front0) { - back0 = draw_emit_vertex_attr(vinfo, TGSI_ATTRIB_BFC0, - FORMAT_OMIT, colorInterp); + back0 = draw_emit_vertex_attr(vinfo, FORMAT_OMIT, colorInterp); } if (back0) { - back1 = draw_emit_vertex_attr(vinfo, TGSI_ATTRIB_BFC1, - FORMAT_OMIT, colorInterp); + back1 = draw_emit_vertex_attr(vinfo, FORMAT_OMIT, colorInterp); } } diff --git a/src/mesa/pipe/tgsi/exec/tgsi_attribs.h b/src/mesa/pipe/tgsi/exec/tgsi_attribs.h index b8f6ba7da8..fa13da12be 100644 --- a/src/mesa/pipe/tgsi/exec/tgsi_attribs.h +++ b/src/mesa/pipe/tgsi/exec/tgsi_attribs.h @@ -5,6 +5,7 @@ /** * The specific values here are not important (could remove them). */ +#if 0 enum { TGSI_ATTRIB_POS = 0, TGSI_ATTRIB_WEIGHT = 1, @@ -41,6 +42,7 @@ enum { #define TGSI_MAX_TEXTURE 8 #define TGSI_MAX_VARYING 8 +#endif |