[Mesa-dev] [PATCH] i965: Actually check every primitive for cut index support.

Ian Romanick idr at freedesktop.org
Mon Sep 2 16:47:19 PDT 2013


On 09/01/2013 07:05 PM, Kenneth Graunke wrote:
> can_cut_index_handle_prims() was passed an array of _mesa_prim objects
> and a count, and ran a loop for that many iterations.  However, it
> treated the array like a pointer, repeatedly checking the first element.

Blarg.  How would an application be able to observe the old bug
behavior?  Can we come up with a test case that might tickle it?

> This patch makes it actually check every primitive.
> 
> Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>

Either way, the patch is obviously correct.

Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

> ---
>  src/mesa/drivers/dri/i965/brw_primitive_restart.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/src/mesa/drivers/dri/i965/brw_primitive_restart.c b/src/mesa/drivers/dri/i965/brw_primitive_restart.c
> index 0dbc48f..b305dca 100644
> --- a/src/mesa/drivers/dri/i965/brw_primitive_restart.c
> +++ b/src/mesa/drivers/dri/i965/brw_primitive_restart.c
> @@ -92,8 +92,8 @@ can_cut_index_handle_prims(struct gl_context *ctx,
>        return false;
>     }
>  
> -   for ( ; nr_prims > 0; nr_prims--) {
> -      switch(prim->mode) {
> +   for (int i = 0; i < nr_prims; i++) {
> +      switch (prim[i].mode) {
>        case GL_POINTS:
>        case GL_LINES:
>        case GL_LINE_STRIP:
> 



More information about the mesa-dev mailing list