Mesa (master): st: use the static atoms[] array directly

Brian Paul brianp at kemper.freedesktop.org
Tue Apr 21 23:02:01 UTC 2009


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

Author: Brian Paul <brianp at vmware.com>
Date:   Tue Apr 21 16:50:34 2009 -0600

st: use the static atoms[] array directly

We can simplify this now that we no longer have any dynamic atoms.

---

 src/mesa/state_tracker/st_atom.c    |   23 ++++++++---------------
 src/mesa/state_tracker/st_context.h |    5 -----
 2 files changed, 8 insertions(+), 20 deletions(-)

diff --git a/src/mesa/state_tracker/st_atom.c b/src/mesa/state_tracker/st_atom.c
index ff7d388..ca15ce1 100644
--- a/src/mesa/state_tracker/st_atom.c
+++ b/src/mesa/state_tracker/st_atom.c
@@ -64,18 +64,13 @@ static const struct st_tracked_state *atoms[] =
 
 void st_init_atoms( struct st_context *st )
 {
-   st->atoms = _mesa_malloc(sizeof(atoms));
-   st->nr_atoms = sizeof(atoms)/sizeof(*atoms);
-   memcpy(st->atoms, atoms, sizeof(atoms));
+   /* no-op */
 }
 
 
 void st_destroy_atoms( struct st_context *st )
 {
-   if (st->atoms) {
-      _mesa_free(st->atoms);
-      st->atoms = NULL;
-   }
+   /* no-op */
 }
 
 
@@ -153,8 +148,8 @@ void st_validate_state( struct st_context *st )
       memset(&examined, 0, sizeof(examined));
       prev = *state;
 
-      for (i = 0; i < st->nr_atoms; i++) {	 
-	 const struct st_tracked_state *atom = st->atoms[i];
+      for (i = 0; i < Elements(atoms); i++) {	 
+	 const struct st_tracked_state *atom = atoms[i];
 	 struct st_state_flags generated;
 	 
 //	 _mesa_printf("atom %s %x/%x\n", atom->name, atom->dirty.mesa, atom->dirty.st);
@@ -166,7 +161,7 @@ void st_validate_state( struct st_context *st )
 	 }
 
 	 if (check_state(state, &atom->dirty)) {
-	    st->atoms[i]->update( st );
+	    atoms[i]->update( st );
 //	    _mesa_printf("after: %x\n", atom->dirty.mesa);
 	 }
 
@@ -184,11 +179,9 @@ void st_validate_state( struct st_context *st )
 
    }
    else {
-      const GLuint nr = st->nr_atoms;
-
-      for (i = 0; i < nr; i++) {	 
-	 if (check_state(state, &st->atoms[i]->dirty))
-	    st->atoms[i]->update( st );
+      for (i = 0; i < Elements(atoms); i++) {	 
+	 if (check_state(state, &atoms[i]->dirty))
+	    atoms[i]->update( st );
       }
    }
 
diff --git a/src/mesa/state_tracker/st_context.h b/src/mesa/state_tracker/st_context.h
index ae8c297..f840579 100644
--- a/src/mesa/state_tracker/st_context.h
+++ b/src/mesa/state_tracker/st_context.h
@@ -116,11 +116,6 @@ struct st_context
    char vendor[100];
    char renderer[100];
 
-   /* State to be validated:
-    */
-   struct st_tracked_state **atoms;
-   GLuint nr_atoms;
-
    struct st_state_flags dirty;
 
    GLboolean missing_textures;




More information about the mesa-commit mailing list