diff options
author | Thomas Hellstrom <[email protected]> | 2011-03-07 11:24:43 +0100 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2011-03-08 22:15:50 +0100 |
commit | 12fa91b6753dccbd3aa12c570d1f1e55c7dc0582 (patch) | |
tree | 099029fb9de77b054af9d05a96055a472c8891f6 /src | |
parent | ef58598c1cf2ac689f67c75b2f477f2c404fce98 (diff) |
st/mesa: Fix an incorrect user vertex buffer reference
st->user_vb[attr] was always pointing to the same user vb, regardless
of the value of attr. Together with reverting the temporary workaround
for bug 34378, and a fix in the svga driver, this fixes googleearth on svga.
Signed-off-by: Thomas Hellstrom <[email protected]>
Diffstat (limited to 'src')
-rw-r--r-- | src/mesa/state_tracker/st_draw.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/src/mesa/state_tracker/st_draw.c b/src/mesa/state_tracker/st_draw.c index d6e67b7fb85..40afa436292 100644 --- a/src/mesa/state_tracker/st_draw.c +++ b/src/mesa/state_tracker/st_draw.c @@ -429,7 +429,7 @@ setup_non_interleaved_attribs(struct gl_context *ctx, vbuffer[attr].buffer_offset = 0; /* Track user vertex buffers. */ - pipe_resource_reference(&st->user_vb[attr], vbuffer->buffer); + pipe_resource_reference(&st->user_vb[attr], vbuffer[attr].buffer); st->user_vb_stride[attr] = stride; st->num_user_vbs = MAX2(st->num_user_vbs, attr+1); } @@ -632,10 +632,8 @@ st_draw_vbo(struct gl_context *ctx, struct pipe_index_buffer ibuffer; struct pipe_draw_info info; unsigned i, num_instances = 1; - GLboolean new_array = GL_TRUE; - /* Fix this (Bug 34378): GLboolean new_array = - st->dirty.st && (st->dirty.mesa & (_NEW_ARRAY | _NEW_PROGRAM)) != 0;*/ + st->dirty.st && (st->dirty.mesa & (_NEW_ARRAY | _NEW_PROGRAM)) != 0; /* Mesa core state should have been validated already */ assert(ctx->NewState == 0x0); |