t_dd_dmatmp: Replace fprintf with unreachable
authorIan Romanick <ian.d.romanick@intel.com>
Fri, 18 Sep 2015 18:56:13 +0000 (14:56 -0400)
committerIan Romanick <ian.d.romanick@intel.com>
Tue, 6 Oct 2015 17:44:00 +0000 (10:44 -0700)
From http://lists.freedesktop.org/archives/mesa-dev/2015-May/084883.html:

    "There are no real error cases here, just dead code.
    validate_render() is supposed to make sure we never call these
    functions if the code can't actually render the primitives. The
    fprintf()+return branches should really just contain assert(0) or
    equivalent."

I also rearranged the if-else-block in render_quad_strip_verts to look
more like the other functions.  A future patch is going to change a
bunch of that code anyway.

v2: Make "unreachable" message more descriptive.  Suggested by Iago.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Suggested-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
src/mesa/tnl_dd/t_dd_dmatmp.h

index e7e19a0..181cf67 100644 (file)
@@ -85,8 +85,8 @@ static void TAG(render_points_verts)(struct gl_context *ctx,
          currentsz = dmasz;
       }
    } else {
-      fprintf(stderr, "%s - cannot draw primitive\n", __func__);
-      return;
+      unreachable("Cannot draw primitive; validate_render should have "
+                  "prevented this");
    }
 }
 
@@ -319,8 +319,8 @@ static void TAG(render_poly_verts)(struct gl_context *ctx,
    } else if (ctx->Light.ShadeModel == GL_SMOOTH) {
       TAG(render_tri_fan_verts)( ctx, start, count, flags );
    } else {
-      fprintf(stderr, "%s - cannot draw primitive\n", __func__);
-      return;
+      unreachable("Cannot draw primitive; validate_render should have "
+                  "prevented this");
    }
 }
 
@@ -331,14 +331,8 @@ static void TAG(render_quad_strip_verts)(struct gl_context *ctx,
 {
    GLuint j, nr;
 
-   if (ctx->Light.ShadeModel == GL_FLAT &&
-       TNL_CONTEXT(ctx)->vb.AttribPtr[_TNL_ATTRIB_COLOR0]->stride) {
-      /* Vertices won't fit in a single buffer or elts not available - should
-       * never happen.
-       */
-      fprintf(stderr, "%s - cannot draw primitive\n", __func__);
-      return;
-   } else {
+   if (ctx->Light.ShadeModel != GL_FLAT ||
+       !TNL_CONTEXT(ctx)->vb.AttribPtr[_TNL_ATTRIB_COLOR0]->stride) {
       LOCAL_VARS;
       const unsigned dmasz = GET_SUBSEQUENT_VB_MAX_VERTS() & ~1;
       unsigned currentsz;
@@ -364,6 +358,9 @@ static void TAG(render_quad_strip_verts)(struct gl_context *ctx,
       }
 
       FLUSH();
+   } else {
+      unreachable("Cannot draw primitive; validate_render should have "
+                  "prevented this");
    }
 }