[Mesa-dev] [PATCH] draw: fix slot detection

Brian Paul brianp at vmware.com
Tue Aug 6 09:27:33 PDT 2013


On 08/06/2013 12:56 AM, Zack Rusin wrote:
> Nowadays -1 for slots means that the semantic is not present, so
> we need to store it in a signed variables, otherwise <0 comparisons
> are pointless. Fixes
> http://bugzilla.eng.vmware.com/show_bug.cgi?id=67811 (at least
> with softpipe, edgeflags don't work wit llvmpipe)
>
> Signed-off-by: Zack Rusin <zackr at vmware.com>
> ---
>   src/gallium/auxiliary/draw/draw_pipe_unfilled.c |    2 +-
>   src/gallium/drivers/llvmpipe/lp_setup_context.h |    2 +-
>   src/gallium/drivers/llvmpipe/lp_setup_line.c    |    1 -
>   3 files changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/src/gallium/auxiliary/draw/draw_pipe_unfilled.c b/src/gallium/auxiliary/draw/draw_pipe_unfilled.c
> index c6ee95c..68bab72 100644
> --- a/src/gallium/auxiliary/draw/draw_pipe_unfilled.c
> +++ b/src/gallium/auxiliary/draw/draw_pipe_unfilled.c
> @@ -67,7 +67,7 @@ inject_front_face_info(struct draw_stage *stage,
>      boolean is_front_face = (
>         (stage->draw->rasterizer->front_ccw && ccw) ||
>         (!stage->draw->rasterizer->front_ccw && !ccw));
> -   unsigned slot = unfilled->face_slot;
> +   int slot = unfilled->face_slot;
>      unsigned i;
>
>      /* In case the backend doesn't care about it */
> diff --git a/src/gallium/drivers/llvmpipe/lp_setup_context.h b/src/gallium/drivers/llvmpipe/lp_setup_context.h
> index ea1d0d6..44be85f 100644
> --- a/src/gallium/drivers/llvmpipe/lp_setup_context.h
> +++ b/src/gallium/drivers/llvmpipe/lp_setup_context.h
> @@ -106,7 +106,7 @@ struct lp_setup_context
>      float psize;
>      unsigned viewport_index_slot;
>      unsigned layer_slot;
> -   unsigned face_slot;
> +   int face_slot;
>
>      struct pipe_framebuffer_state fb;
>      struct u_rect framebuffer;
> diff --git a/src/gallium/drivers/llvmpipe/lp_setup_line.c b/src/gallium/drivers/llvmpipe/lp_setup_line.c
> index 3b16163..a25a6b0 100644
> --- a/src/gallium/drivers/llvmpipe/lp_setup_line.c
> +++ b/src/gallium/drivers/llvmpipe/lp_setup_line.c
> @@ -622,7 +622,6 @@ try_setup_line( struct lp_setup_context *setup,
>      } else {
>         line->inputs.frontfacing = TRUE;
>      }
> -
>
>      /* Setup parameter interpolants:
>       */
>

Reviewed-by: Brian Paul <brianp at vmware.com>



More information about the mesa-dev mailing list