Browse Source

r300g: Clean up duplicate code in r300_render.

tags/mesa_7_7_rc1
Corbin Simpson 16 years ago
parent
commit
06e464c2d5
1 changed files with 4 additions and 45 deletions
  1. 4
    45
      src/gallium/drivers/r300/r300_render.c

+ 4
- 45
src/gallium/drivers/r300/r300_render.c View File

@@ -331,54 +331,13 @@ static boolean r300_render_set_primitive(struct vbuf_render* render,
unsigned prim)
{
struct r300_render* r300render = r300_render(render);
r300render->prim = prim;

switch (prim) {
case PIPE_PRIM_POINTS:
r300render->hwprim = R300_VAP_VF_CNTL__PRIM_POINTS;
break;
case PIPE_PRIM_LINES:
r300render->hwprim = R300_VAP_VF_CNTL__PRIM_LINES;
break;
case PIPE_PRIM_LINE_LOOP:
r300render->hwprim = R300_VAP_VF_CNTL__PRIM_LINE_LOOP;
break;
case PIPE_PRIM_LINE_STRIP:
r300render->hwprim = R300_VAP_VF_CNTL__PRIM_LINE_STRIP;
break;
case PIPE_PRIM_TRIANGLES:
r300render->hwprim = R300_VAP_VF_CNTL__PRIM_TRIANGLES;
break;
case PIPE_PRIM_TRIANGLE_STRIP:
r300render->hwprim = R300_VAP_VF_CNTL__PRIM_TRIANGLE_STRIP;
break;
case PIPE_PRIM_TRIANGLE_FAN:
r300render->hwprim = R300_VAP_VF_CNTL__PRIM_TRIANGLE_FAN;
break;
case PIPE_PRIM_QUADS:
r300render->hwprim = R300_VAP_VF_CNTL__PRIM_QUADS;
break;
case PIPE_PRIM_QUAD_STRIP:
r300render->hwprim = R300_VAP_VF_CNTL__PRIM_QUAD_STRIP;
break;
case PIPE_PRIM_POLYGON:
r300render->hwprim = R300_VAP_VF_CNTL__PRIM_POLYGON;
break;
default:
return FALSE;
break;
}
r300render->prim = prim;
r300render->hwprim = r300_translate_primitive(prim);

return TRUE;
}

static void r300_prepare_render(struct r300_render* render, unsigned count)
{
struct r300_context* r300 = render->r300;

r300_emit_dirty_state(r300);
}

static void r300_render_draw_arrays(struct vbuf_render* render,
unsigned start,
unsigned count)
@@ -388,7 +347,7 @@ static void r300_render_draw_arrays(struct vbuf_render* render,

CS_LOCALS(r300);

r300_prepare_render(r300render, count);
r300_emit_dirty_state(r300);

DBG(r300, DBG_DRAW, "r300: Doing vbuf render, count %d\n", count);

@@ -409,7 +368,7 @@ static void r300_render_draw(struct vbuf_render* render,

CS_LOCALS(r300);

r300_prepare_render(r300render, count);
r300_emit_dirty_state(r300);

BEGIN_CS(2 + (count+1)/2);
OUT_CS_PKT3(R300_PACKET3_3D_DRAW_INDX_2, (count+1)/2);

Loading…
Cancel
Save