[Mesa-dev] [PATCH] draw: fix assertion failure in draw_emit_vertex_attr

Brian Paul brianp at vmware.com
Tue Oct 30 07:29:10 PDT 2012


On 10/29/2012 06:29 PM, Marek Olšák wrote:
> This is a regression since b3921e1f53833420e0a0fd581f7417.
>
> The array stores VS outputs, not FS inputs.
> Now llvmpipe can do 32 varyings too.
>
> NOTE: This is a candidate for the stable branches.
> ---
>   src/gallium/auxiliary/draw/draw_vertex.h |    5 +++--
>   1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/src/gallium/auxiliary/draw/draw_vertex.h b/src/gallium/auxiliary/draw/draw_vertex.h
> index e63cf5f..c87c3d8 100644
> --- a/src/gallium/auxiliary/draw/draw_vertex.h
> +++ b/src/gallium/auxiliary/draw/draw_vertex.h
> @@ -42,6 +42,7 @@
>   #include "pipe/p_compiler.h"
>   #include "pipe/p_state.h"
>   #include "util/u_debug.h"
> +#include "util/u_memory.h"
>
>
>   /**
> @@ -87,7 +88,7 @@ struct vertex_info
>         unsigned interp_mode:4;      /**<  INTERP_x */
>         unsigned emit:4;             /**<  EMIT_x */
>         unsigned src_index:8;          /**<  map to post-xform attribs */
> -   } attrib[PIPE_MAX_SHADER_INPUTS];
> +   } attrib[PIPE_MAX_SHADER_OUTPUTS];
>   };
>
>   static INLINE size_t
> @@ -127,7 +128,7 @@ draw_emit_vertex_attr(struct vertex_info *vinfo,
>                         uint src_index)
>   {
>      const uint n = vinfo->num_attribs;
> -   assert(n<  PIPE_MAX_SHADER_INPUTS);
> +   assert(n<  Elements(vinfo->attrib));
>      vinfo->attrib[n].emit = emit;
>      vinfo->attrib[n].interp_mode = interp;
>      vinfo->attrib[n].src_index = src_index;

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


More information about the mesa-dev mailing list