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