diff options
author | Marek Olšák <[email protected]> | 2012-10-30 01:07:17 +0100 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2012-10-31 02:06:11 +0100 |
commit | 183e122bdfe27f875c3c121964484dae9587c051 (patch) | |
tree | 909319399f333d06ce951a90df01388d3ff390cb /src | |
parent | 91107a3522459488491007c360f53c7b5020b857 (diff) |
draw: fix assertion failure in draw_emit_vertex_attr
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.
Reviewed-by: Brian Paul <[email protected]>
Diffstat (limited to 'src')
-rw-r--r-- | src/gallium/auxiliary/draw/draw_vertex.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/gallium/auxiliary/draw/draw_vertex.h b/src/gallium/auxiliary/draw/draw_vertex.h index e63cf5f4f98..c87c3d84ce2 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; |