st: use the static atoms[] array directly

We can simplify this now that we no longer have any dynamic atoms.
This commit is contained in:
Brian Paul
2009-04-21 16:50:34 -06:00
parent f4f39902fd
commit 3eeefa47d0
2 changed files with 8 additions and 20 deletions

View File

@@ -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 );
}
}

View File

@@ -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;