[Mesa-dev] [PATCH 01/18] t_dd_dmatmp: Replace fprintf with unreachable

Ian Romanick idr at freedesktop.org
Wed Sep 30 13:57:49 PDT 2015


From: Ian Romanick <ian.d.romanick at intel.com>

>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.

Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Suggested-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
---
 src/mesa/tnl_dd/t_dd_dmatmp.h | 18 ++++++------------
 1 file changed, 6 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..415c3df 100644
--- a/src/mesa/tnl_dd/t_dd_dmatmp.h
+++ b/src/mesa/tnl_dd/t_dd_dmatmp.h
@@ -85,8 +85,7 @@ 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");
    }
 }
 
@@ -319,8 +318,7 @@ 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");
    }
 }
 
@@ -331,14 +329,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 +356,8 @@ static void TAG(render_quad_strip_verts)(struct gl_context *ctx,
       }
 
       FLUSH();
+   } else {
+      unreachable("Cannot draw primitive");
    }
 }
 
-- 
2.1.0



More information about the mesa-dev mailing list