Mesa (master): r300g/swtcl: update PSC only once when a shader is changed

Marek Olšák mareko at kemper.freedesktop.org
Sun May 16 02:11:25 UTC 2010


Module: Mesa
Branch: master
Commit: 01e5a73b57fc262b0cd8b829d81b52af5a063751
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=01e5a73b57fc262b0cd8b829d81b52af5a063751

Author: Marek Olšák <maraeo at gmail.com>
Date:   Sun May 16 03:53:45 2010 +0200

r300g/swtcl: update PSC only once when a shader is changed

---

 src/gallium/drivers/r300/r300_state_derived.c |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/gallium/drivers/r300/r300_state_derived.c b/src/gallium/drivers/r300/r300_state_derived.c
index acffbd9..7583862 100644
--- a/src/gallium/drivers/r300/r300_state_derived.c
+++ b/src/gallium/drivers/r300/r300_state_derived.c
@@ -614,13 +614,13 @@ void r300_update_derived_state(struct r300_context* r300)
 
     if (r300->rs_block_state.dirty) {
         r300_update_rs_block(r300);
-    }
 
-    if (r300->draw) {
-        memset(&r300->vertex_info, 0, sizeof(struct vertex_info));
-        r300_draw_emit_all_attribs(r300);
-        draw_compute_vertex_size(&r300->vertex_info);
-        r300_swtcl_vertex_psc(r300);
+        if (r300->draw) {
+            memset(&r300->vertex_info, 0, sizeof(struct vertex_info));
+            r300_draw_emit_all_attribs(r300);
+            draw_compute_vertex_size(&r300->vertex_info);
+            r300_swtcl_vertex_psc(r300);
+        }
     }
 
     r300_update_hyperz_state(r300);




More information about the mesa-commit mailing list