diff --git a/src/gallium/drivers/i915/i915_prim_emit.c b/src/gallium/drivers/i915/i915_prim_emit.c index 787c38cbd9a..1d704b7c667 100644 --- a/src/gallium/drivers/i915/i915_prim_emit.c +++ b/src/gallium/drivers/i915/i915_prim_emit.c @@ -70,8 +70,10 @@ emit_hw_vertex(struct i915_context *i915, const struct vertex_header *vertex) assert(!i915->dirty); for (i = 0; i < vinfo->num_attribs; i++) { + static const float zeros[4] = {0., 0., 0., 0.}; const uint32_t j = vinfo->attrib[i].src_index; - const float *attrib = vertex->data[j]; + const float *attrib = + likely(j != DRAW_ATTR_NONEXIST) ? vertex->data[j] : zeros; switch (vinfo->attrib[i].emit) { case EMIT_1F: OUT_BATCH(fui(attrib[0]));