Mesa (master): r300g/swtcl: call update_derived_state only once per draw-call
Marek Olšák
mareko at kemper.freedesktop.org
Sun May 16 02:11:24 UTC 2010
Module: Mesa
Branch: master
Commit: dca9624201319950aa4c78ad5cc7dd7121e2b347
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=dca9624201319950aa4c78ad5cc7dd7121e2b347
Author: Marek Olšák <maraeo at gmail.com>
Date: Sun May 16 03:36:50 2010 +0200
r300g/swtcl: call update_derived_state only once per draw-call
---
src/gallium/drivers/r300/r300_render.c | 8 +++++---
1 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/src/gallium/drivers/r300/r300_render.c b/src/gallium/drivers/r300/r300_render.c
index 079cf26..667f813 100644
--- a/src/gallium/drivers/r300/r300_render.c
+++ b/src/gallium/drivers/r300/r300_render.c
@@ -735,6 +735,8 @@ void r300_swtcl_draw_arrays(struct pipe_context* pipe,
return;
}
+ r300_update_derived_state(r300);
+
for (i = 0; i < r300->vertex_buffer_count; i++) {
void* buf = pipe_buffer_map(pipe,
r300->vertex_buffer[i].buffer,
@@ -779,6 +781,8 @@ void r300_swtcl_draw_range_elements(struct pipe_context* pipe,
return;
}
+ r300_update_derived_state(r300);
+
for (i = 0; i < r300->vertex_buffer_count; i++) {
void* buf = pipe_buffer_map(pipe,
r300->vertex_buffer[i].buffer,
@@ -827,7 +831,7 @@ struct r300_render {
size_t vbo_max_used;
void * vbo_ptr;
- struct pipe_transfer *vbo_transfer;
+ struct pipe_transfer *vbo_transfer;
};
static INLINE struct r300_render*
@@ -842,8 +846,6 @@ r300_render_get_vertex_info(struct vbuf_render* render)
struct r300_render* r300render = r300_render(render);
struct r300_context* r300 = r300render->r300;
- r300_update_derived_state(r300);
-
return &r300->vertex_info;
}
More information about the mesa-commit
mailing list