Explorar el Código

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 hace 13 años
padre
commit
183e122bdf
Se han modificado 1 ficheros con 3 adiciones y 2 borrados
  1. 3
    2
      src/gallium/auxiliary/draw/draw_vertex.h

+ 3
- 2
src/gallium/auxiliary/draw/draw_vertex.h Ver fichero

@@ -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;

Cargando…
Cancelar
Guardar