Mesa (master): t_dd_dmatmp: Replace fprintf with unreachable

Ian Romanick idr at kemper.freedesktop.org
Tue Oct 6 18:15:49 UTC 2015


Module: Mesa
Branch: master
Commit: 5ca00e0b8dff529f33c8b1685a9109a78090987c
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5ca00e0b8dff529f33c8b1685a9109a78090987c

Author: Ian Romanick <ian.d.romanick at intel.com>
Date:   Fri Sep 18 14:56:13 2015 -0400

t_dd_dmatmp: Replace fprintf with unreachable

>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 at intel.com>
Suggested-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
Reviewed-by: Iago Toral Quiroga <itoral at igalia.com>

---

 src/mesa/tnl_dd/t_dd_dmatmp.h |   21 +++++++++------------
 1 file changed, 9 insertions(+), 12 deletions(-)

diff --git a/src/mesa/tnl_dd/t_dd_dmatmp.h b/src/mesa/tnl_dd/t_dd_dmatmp.h
index e7e19a0..181cf67 100644
--- a/src/mesa/tnl_dd/t_dd_dmatmp.h
+++ b/src/mesa/tnl_dd/t_dd_dmatmp.h
@@ -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");
    }
 }
 




More information about the mesa-commit mailing list