浏览代码

draw: fix assertion failure in draw_emit_vertex_attr

This is a regression since b3921e1f53.

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 <brianp@vmware.com>
tags/gles3-fmt-v1
Marek Olšák 13 年前
父节点
当前提交
183e122bdf
共有 1 个文件被更改,包括 3 次插入2 次删除
  1. 3
    2
      src/gallium/auxiliary/draw/draw_vertex.h

+ 3
- 2
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;

正在加载...
取消
保存