aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Hellstrom <[email protected]>2011-03-07 11:24:43 +0100
committerMarek Olšák <[email protected]>2011-03-08 22:15:50 +0100
commit12fa91b6753dccbd3aa12c570d1f1e55c7dc0582 (patch)
tree099029fb9de77b054af9d05a96055a472c8891f6
parentef58598c1cf2ac689f67c75b2f477f2c404fce98 (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]>
-rw-r--r--src/mesa/state_tracker/st_draw.c6
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);