diff options
author | Ian Romanick <[email protected]> | 2015-09-18 14:56:13 -0400 |
---|---|---|
committer | Ian Romanick <[email protected]> | 2015-10-06 10:44:00 -0700 |
commit | 5ca00e0b8dff529f33c8b1685a9109a78090987c (patch) | |
tree | 87284525bcf02de56e605cbd84ec84ed48b82eee /src/mesa | |
parent | 46b13666d8c045acf066f2982cc0a89b6584f09d (diff) |
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 <[email protected]>
Suggested-by: Ville Syrjälä <[email protected]>
Reviewed-by: Iago Toral Quiroga <[email protected]>
Diffstat (limited to 'src/mesa')
-rw-r--r-- | src/mesa/tnl_dd/t_dd_dmatmp.h | 21 |
1 files 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 e7e19a03597..181cf6701dd 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"); } } |