[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