summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/r600/r600_buffer.c
diff options
context:
space:
mode:
authorTom Stellard <[email protected]>2012-07-12 19:50:28 +0000
committerMarek Olšák <[email protected]>2012-07-15 02:00:27 +0200
commitc2f444c54db82a53f63fa7a103770ee5eedc3559 (patch)
tree6e97fbe9a7c2d3b4d511fb2c23b1eeafd9b1bde3 /src/gallium/drivers/r600/r600_buffer.c
parent9b76ee70b2ceebb52cc5edc574df9593cbac03b3 (diff)
r600g: Emit vertex buffers using the same method as constant buffers
Signed-off-by: Marek Olšák <[email protected]>
Diffstat (limited to 'src/gallium/drivers/r600/r600_buffer.c')
-rw-r--r--src/gallium/drivers/r600/r600_buffer.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/gallium/drivers/r600/r600_buffer.c b/src/gallium/drivers/r600/r600_buffer.c
index 3d7d1f04739..8e2deb1ea7c 100644
--- a/src/gallium/drivers/r600/r600_buffer.c
+++ b/src/gallium/drivers/r600/r600_buffer.c
@@ -107,8 +107,11 @@ static void *r600_buffer_transfer_map(struct pipe_context *pipe,
/* Vertex buffers. */
for (i = 0; i < rctx->nr_vertex_buffers; i++) {
if (rctx->vertex_buffer[i].buffer == &rbuffer->b.b) {
+ struct r600_vertexbuf_state * state =
+ &rctx->vertex_buffer_state;
+ state->dirty_mask |= 1 << i;
r600_inval_vertex_cache(rctx);
- r600_atom_dirty(rctx, &rctx->vertex_buffer_state);
+ r600_atom_dirty(rctx, &state->atom);
}
}
/* Streamout buffers. */