i965: Remove hint_gs_always and resulting dead code
authorIan Romanick <ian.d.romanick@intel.com>
Sat, 9 Apr 2011 01:06:35 +0000 (18:06 -0700)
committerIan Romanick <ian.d.romanick@intel.com>
Mon, 11 Apr 2011 21:43:42 +0000 (14:43 -0700)
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/drivers/dri/i965/brw_gs.c
src/mesa/drivers/dri/i965/brw_gs.h
src/mesa/drivers/dri/i965/brw_gs_emit.c

index 70c451d071db0d5ad6da6d3a79bce067d2c5b1c3..14ee6767cd5c4a9cef2710b62aa085212cce1ae6 100644 (file)
@@ -83,45 +83,23 @@ static void compile_gs_prog( struct brw_context *brw,
    /* Note that primitives which don't require a GS program have
     * already been weeded out by this stage:
     */
+
+   /* Gen6: VF has already converted into polygon, and LINELOOP is
+    * converted to LINESTRIP at the beginning of the 3D pipeline.
+    */
+   if (intel->gen == 6)
+      return;
+
    switch (key->primitive) {
    case GL_QUADS:
-      /* Gen6: VF has already converted into polygon. */
-      if (intel->gen == 6)
-          return;
       brw_gs_quads( &c, key );
       break;
    case GL_QUAD_STRIP:
-      if (intel->gen == 6)
-          return;
       brw_gs_quad_strip( &c, key );
       break;
    case GL_LINE_LOOP:
-      /* Gen6: LINELOOP is converted to LINESTRIP at the beginning of the 3D pipeline */
-      if (intel->gen == 6)
-          return;
       brw_gs_lines( &c );
       break;
-   case GL_LINES:
-      if (key->hint_gs_always)
-        brw_gs_lines( &c );
-      else {
-        return;
-      }
-      break;
-   case GL_TRIANGLES:
-      if (key->hint_gs_always)
-        brw_gs_tris( &c );
-      else {
-        return;
-      }
-      break;
-   case GL_POINTS:
-      if (key->hint_gs_always)
-        brw_gs_points( &c );
-      else {
-        return;
-      }
-      break;      
    default:
       return;
    }
@@ -170,7 +148,6 @@ static void populate_key( struct brw_context *brw,
 {
    struct gl_context *ctx = &brw->intel.ctx;
    struct intel_context *intel = &brw->intel;
-   int prim_gs_always;
 
    memset(key, 0, sizeof(*key));
 
@@ -180,8 +157,6 @@ static void populate_key( struct brw_context *brw,
    /* BRW_NEW_PRIMITIVE */
    key->primitive = gs_prim[brw->primitive];
 
-   key->hint_gs_always = 0;    /* debug code? */
-   
    /* _NEW_LIGHT */
    key->pv_first = (ctx->Light.ProvokingVertex == GL_FIRST_VERTEX_CONVENTION);
    if (key->primitive == GL_QUADS && ctx->Light.ShadeModel != GL_FLAT) {
@@ -191,14 +166,11 @@ static void populate_key( struct brw_context *brw,
       key->pv_first = GL_TRUE;
    }
 
-   if (intel->gen == 6)
-       prim_gs_always = 0;
-   else
-       prim_gs_always = brw->primitive == GL_QUADS ||
-                       brw->primitive == GL_QUAD_STRIP ||
-                       brw->primitive == GL_LINE_LOOP;
-
-   key->need_gs_prog = (key->hint_gs_always || prim_gs_always);
+   key->need_gs_prog = (intel->gen == 6)
+      ? 0
+      : (brw->primitive == GL_QUADS ||
+        brw->primitive == GL_QUAD_STRIP ||
+        brw->primitive == GL_LINE_LOOP);
 }
 
 /* Calculate interpolants for triangle and line rasterization.
index 7e3531086f98beec196d9a5d2ac846a661472a86..c33528e4577687d964d44f6164a35c66d279d36a 100644 (file)
 struct brw_gs_prog_key {
    GLbitfield64 attrs;
    GLuint primitive:4;
-   GLuint hint_gs_always:1;
    GLuint pv_first:1;
    GLuint need_gs_prog:1;
-   GLuint pad:25;
+   GLuint pad:26;
 };
 
 struct brw_gs_compile {
@@ -70,8 +69,6 @@ struct brw_gs_compile {
 
 void brw_gs_quads( struct brw_gs_compile *c, struct brw_gs_prog_key *key );
 void brw_gs_quad_strip( struct brw_gs_compile *c, struct brw_gs_prog_key *key );
-void brw_gs_tris( struct brw_gs_compile *c );
 void brw_gs_lines( struct brw_gs_compile *c );
-void brw_gs_points( struct brw_gs_compile *c );
 
 #endif
index e1f751fdaa44973915233b97519fdb85085bc475..3bb526b63af364a43b001b51f20c658769ce5b61 100644 (file)
@@ -193,19 +193,6 @@ void brw_gs_quad_strip( struct brw_gs_compile *c, struct brw_gs_prog_key *key )
    }
 }
 
-void brw_gs_tris( struct brw_gs_compile *c )
-{
-   struct intel_context *intel = &c->func.brw->intel;
-
-   brw_gs_alloc_regs(c, 3);
-
-   if (intel->needs_ff_sync)
-          brw_gs_ff_sync(c, 1);      
-   brw_gs_emit_vue(c, c->reg.vertex[0], 0, ((_3DPRIM_TRILIST << 2) | R02_PRIM_START));
-   brw_gs_emit_vue(c, c->reg.vertex[1], 0, (_3DPRIM_TRILIST << 2));
-   brw_gs_emit_vue(c, c->reg.vertex[2], 1, ((_3DPRIM_TRILIST << 2) | R02_PRIM_END));
-}
-
 void brw_gs_lines( struct brw_gs_compile *c )
 {
    struct intel_context *intel = &c->func.brw->intel;
@@ -217,22 +204,3 @@ void brw_gs_lines( struct brw_gs_compile *c )
    brw_gs_emit_vue(c, c->reg.vertex[0], 0, ((_3DPRIM_LINESTRIP << 2) | R02_PRIM_START));
    brw_gs_emit_vue(c, c->reg.vertex[1], 1, ((_3DPRIM_LINESTRIP << 2) | R02_PRIM_END));
 }
-
-void brw_gs_points( struct brw_gs_compile *c )
-{
-   struct intel_context *intel = &c->func.brw->intel;
-
-   brw_gs_alloc_regs(c, 1);
-
-   if (intel->needs_ff_sync)
-          brw_gs_ff_sync(c, 1);      
-   brw_gs_emit_vue(c, c->reg.vertex[0], 1, ((_3DPRIM_POINTLIST << 2) | R02_PRIM_START | R02_PRIM_END));
-}
-
-
-
-
-
-
-
-