Mesa (master): r300g: Don't use the hashtable internally.

Corbin Simpson csimpson at kemper.freedesktop.org
Wed Oct 21 13:53:23 UTC 2009


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

Author: Corbin Simpson <MostAwesomeDude at gmail.com>
Date:   Wed Oct 21 05:48:45 2009 -0700

r300g: Don't use the hashtable internally.

As osiris pointed out, glxgears slowly gets slower for some reason
when it's enabled, and it's not helping at the moment, so just turn
it off.

---

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

diff --git a/src/gallium/drivers/r300/r300_state_derived.c b/src/gallium/drivers/r300/r300_state_derived.c
index 7297f9c..6e7679c 100644
--- a/src/gallium/drivers/r300/r300_state_derived.c
+++ b/src/gallium/drivers/r300/r300_state_derived.c
@@ -451,6 +451,7 @@ static void r300_update_derived_shader_state(struct r300_context* r300)
     struct r300_shader_derived_value* value;
     int i;
 
+    /*
     key = CALLOC_STRUCT(r300_shader_key);
     key->vs = r300->vs;
     key->fs = r300->fs;
@@ -472,10 +473,11 @@ static void r300_update_derived_shader_state(struct r300_context* r300)
         value->rs_block = rs_block;
         util_hash_table_set(r300->shader_hash_table,
             (void*)key, (void*)value);
-    }
+    } */
 
     /* XXX This will be refactored ASAP. */
     vformat = CALLOC_STRUCT(r300_vertex_format);
+    rs_block = CALLOC_STRUCT(r300_rs_block);
 
     for (i = 0; i < 16; i++) {
         vformat->vs_tab[i] = -1;
@@ -486,7 +488,10 @@ static void r300_update_derived_shader_state(struct r300_context* r300)
     r300_vertex_psc(r300, vformat);
     r300_update_fs_tab(r300, vformat);
 
+    r300_update_rs_block(r300, rs_block);
+
     FREE(r300->vertex_info);
+    FREE(r300->rs_block);
 
     r300->vertex_info = vformat;
     r300->rs_block = rs_block;




More information about the mesa-commit mailing list