[Mesa-dev] [PATCH 03/20] t_dd_dmatmp: Disallow flat shading when rendering quad strips via tri strips

Ian Romanick idr at freedesktop.org
Fri May 15 12:08:33 PDT 2015


On 03/23/2015 05:47 AM, ville.syrjala at linux.intel.com wrote:
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
> 
> When rendering quad strips via tri strips we can't get the provoking
> vertex right, so disallow flat shading.

Same comments as for patch 2.

> Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
> ---
>  src/mesa/tnl_dd/t_dd_dmatmp.h | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/src/mesa/tnl_dd/t_dd_dmatmp.h b/src/mesa/tnl_dd/t_dd_dmatmp.h
> index 3ed4a98..f56b0aa 100644
> --- a/src/mesa/tnl_dd/t_dd_dmatmp.h
> +++ b/src/mesa/tnl_dd/t_dd_dmatmp.h
> @@ -447,7 +447,7 @@ static void TAG(render_quad_strip_verts)( struct gl_context *ctx,
>  
>        FLUSH();
>     }
> -   else if (HAVE_TRI_STRIPS) {
> +   else if (HAVE_TRI_STRIPS && ctx->Light.ShadeModel == GL_SMOOTH) {
>        LOCAL_VARS;
>        int dmasz = GET_SUBSEQUENT_VB_MAX_VERTS();
>        int currentsz;
> @@ -1124,7 +1124,7 @@ static GLboolean TAG(validate_render)( struct gl_context *ctx,
>  	 } else if (HAVE_QUAD_STRIPS) {
>  	    ok = GL_TRUE;
>  	 } else {
> -	    ok = HAVE_TRI_STRIPS;
> +	    ok = (HAVE_TRI_STRIPS && ctx->Light.ShadeModel == GL_SMOOTH);
>  	 }
>  	 break;
>        case GL_QUADS:
> 



More information about the mesa-dev mailing list