add names to tracked state atoms to improve debug
authorkeithw <keithw@keithw-laptop.(none)>
Sat, 25 Aug 2007 21:00:36 +0000 (22:00 +0100)
committerKeith Whitwell <keith@tungstengraphics.com>
Sat, 25 Aug 2007 21:01:32 +0000 (22:01 +0100)
17 files changed:
src/mesa/state_tracker/st_atom.c
src/mesa/state_tracker/st_atom_alphatest.c
src/mesa/state_tracker/st_atom_blend.c
src/mesa/state_tracker/st_atom_clear_color.c
src/mesa/state_tracker/st_atom_clip.c
src/mesa/state_tracker/st_atom_depth.c
src/mesa/state_tracker/st_atom_framebuffer.c
src/mesa/state_tracker/st_atom_fs.c
src/mesa/state_tracker/st_atom_sampler.c
src/mesa/state_tracker/st_atom_scissor.c
src/mesa/state_tracker/st_atom_setup.c
src/mesa/state_tracker/st_atom_stencil.c
src/mesa/state_tracker/st_atom_stipple.c
src/mesa/state_tracker/st_atom_texture.c
src/mesa/state_tracker/st_atom_viewport.c
src/mesa/state_tracker/st_atom_vs.c
src/mesa/state_tracker/st_context.h

index 99fcbdfda7b0ed297ca0a32d344526b68667f36a..66ab5d7c3a7ff8d024a97e589b79381b8528e8c4 100644 (file)
@@ -155,6 +155,8 @@ void st_validate_state( struct st_context *st )
    if (state->st == 0)
       return;
 
+//   _mesa_printf("%s %x/%x\n", __FUNCTION__, state->mesa, state->st);
+
    if (1) {
       /* Debug version which enforces various sanity checks on the
        * state flags which are generated and checked to help ensure
@@ -168,14 +170,17 @@ void st_validate_state( struct st_context *st )
         const struct st_tracked_state *atom = st->atoms[i];
         struct st_state_flags generated;
         
+//      _mesa_printf("atom %s %x/%x\n", atom->name, atom->dirty.mesa, atom->dirty.st);
+
         if (!(atom->dirty.mesa || atom->dirty.st) ||
             !atom->update) {
-           _mesa_printf("malformed atom %d\n", i);
+           _mesa_printf("malformed atom %s\n", atom->name);
            assert(0);
         }
 
         if (check_state(state, &atom->dirty)) {
            st->atoms[i]->update( st );
+//         _mesa_printf("after: %x\n", atom->dirty.mesa);
         }
 
         accumulate_state(&examined, &atom->dirty);
@@ -188,6 +193,8 @@ void st_validate_state( struct st_context *st )
         assert(!check_state(&examined, &generated));
         prev = *state;
       }
+//      _mesa_printf("\n");
+
    }
    else {
       const GLuint nr = st->nr_atoms;
index 1e2e4497951e7bd19800b0cceb9853e6cb3af55b..4378154053d78f346f3f7012c70b22eb1bfda003 100644 (file)
@@ -81,6 +81,7 @@ update_alpha_test( struct st_context *st )
 
 
 const struct st_tracked_state st_update_alpha_test = {
+   .name = "st_update_alpha_test",
    .dirty = {
       .mesa = (_NEW_COLOR),
       .st  = 0,
index 256f13471a27add9a80f74b3ed5fbc8ead7919ed..afd21a6141c76a980215a46f667094bf2bcb0a56 100644 (file)
@@ -227,6 +227,7 @@ update_blend( struct st_context *st )
 
 
 const struct st_tracked_state st_update_blend = {
+   .name = "st_update_blend",
    .dirty = {
       .mesa = (_NEW_COLOR),  /* XXX _NEW_BLEND someday? */
       .st  = 0,
index adf730cd8ccc9c2ad092329c536323e182a061e6..ce3431c5d3738d7ba0f731cebf6be9175d70a7fc 100644 (file)
@@ -54,6 +54,7 @@ update_clear_color_state( struct st_context *st )
 
 
 const struct st_tracked_state st_update_clear_color = {
+   .name = "st_update_clear_color",
    .dirty = {
       .mesa = _NEW_COLOR,
       .st  = 0,
index 8ccad637d5f83a26a7e56488bf4df106fa07c65a..a6f05686608884daf35ee26590b431209c77a766 100644 (file)
@@ -62,6 +62,7 @@ static void update_clip( struct st_context *st )
 
 
 const struct st_tracked_state st_update_clip = {
+   .name = "st_update_clip",
    .dirty = {
       .mesa = (_NEW_TRANSFORM),
       .st  = 0,
index 7fc51953dc69e1027ab8c46c9412dc072cab588c..df05c79e365446683ed46fc953ca6f03bb133e25 100644 (file)
@@ -84,6 +84,7 @@ update_depth( struct st_context *st )
 
 
 const struct st_tracked_state st_update_depth = {
+   .name = "st_update_depth",
    .dirty = {
       .mesa = (_NEW_DEPTH),
       .st  = 0,
index f054eb8f211896c2792bc9f3312b071e5fc1fbcc..3c4b37e7c5a3a1eb9fc76d386780fdecfe393ab6 100644 (file)
@@ -82,6 +82,7 @@ update_framebuffer_state( struct st_context *st )
 
 
 const struct st_tracked_state st_update_framebuffer = {
+   .name = "st_update_framebuffer",
    .dirty = {
       .mesa = _NEW_BUFFERS,
       .st  = 0,
index f706761198c3f47ef5a0e297581afbf16baed6fb..767816bf23153d91a92a32b3ec8803dc81a5b8cc 100644 (file)
@@ -99,6 +99,7 @@ static void update_fs( struct st_context *st )
 
 
 const struct st_tracked_state st_update_fs = {
+   .name = "st_update_fs",
    .dirty = {
       .mesa  = 0,
       .st   = ST_NEW_FRAGMENT_PROGRAM,
index 7d568baf9e69bb21e2a1a48ca1d513db9037b57a..d65565f991d8cf32915392b21808cae82f3f49dc 100644 (file)
@@ -152,6 +152,7 @@ update_samplers(struct st_context *st)
 
 
 const struct st_tracked_state st_update_sampler = {
+   .name = "st_update_sampler",
    .dirty = {
       .mesa = _NEW_TEXTURE,
       .st  = 0,
index 2bf633828e1a7f234f5cd03fde5d5cb046f5e722..59601e91a11f90fa2e77b00a21c0e7e784e52cb9 100644 (file)
@@ -83,6 +83,7 @@ update_scissor( struct st_context *st )
 
 
 const struct st_tracked_state st_update_scissor = {
+   .name = "st_update_scissor",
    .dirty = {
       .mesa = (_NEW_SCISSOR | _NEW_BUFFERS),
       .st  = 0,
index 3eac2588df25feabd307597fb1e39e5eb68a4240..09d921560d288843a58dc6280b643da945017e11 100644 (file)
@@ -211,6 +211,7 @@ static void update_setup_state( struct st_context *st )
 }
 
 const struct st_tracked_state st_update_setup = {
+   .name = "st_update_setup",
    .dirty = {
       .mesa = (_NEW_LIGHT | _NEW_POLYGON | _NEW_LINE | _NEW_SCISSOR |
                _NEW_POINT | _NEW_BUFFERS | _NEW_MULTISAMPLE),
index d037335e9e2860ed7bfb602ea08f09537e773956..b8aec0b3b65f386553eee067a59a14d651b943d6 100644 (file)
@@ -127,6 +127,7 @@ update_stencil( struct st_context *st )
 
 
 const struct st_tracked_state st_update_stencil = {
+   .name = "st_update_stencil",
    .dirty = {
       .mesa = (_NEW_STENCIL),
       .st  = 0,
index dd04d2158c7867f186b125f63ef9a409866d9ca0..c91214059a72c554508c8d04c4613e28afb07d9a 100644 (file)
@@ -54,6 +54,7 @@ update_stipple( struct st_context *st )
 
 
 const struct st_tracked_state st_update_polygon_stipple = {
+   .name = "st_update_polygon_stipple",
    .dirty = {
       .mesa = (_NEW_POLYGONSTIPPLE),
       .st  = 0,
index bafd38695f621ff48183c2df02a94a31f04b99f9..7970bcf2b8b8dc2bee52e7e8efbb318c1631c8fb 100644 (file)
@@ -72,6 +72,7 @@ update_textures(struct st_context *st)
 
 
 const struct st_tracked_state st_update_texture = {
+   .name = "st_update_texture",
    .dirty = {
       .mesa = _NEW_TEXTURE,
       .st  = 0,
index a70f4c7434e3d89cf9632099d1c8bdb7c791ec3b..147aa3c51a76517e30319750da4c55e745af5c08 100644 (file)
@@ -86,6 +86,7 @@ update_viewport( struct st_context *st )
 
 
 const struct st_tracked_state st_update_viewport = {
+   .name = "st_update_viewport",
    .dirty = {
       .mesa = _NEW_BUFFERS | _NEW_VIEWPORT,
       .st = 0,
index ab7e2ae4bea5997f7a7010717bb285261452ae0c..a1e6117bde3434f9a9cb5bb34a05b4b69203284b 100644 (file)
@@ -116,6 +116,7 @@ static void update_vs( struct st_context *st )
 
 
 const struct st_tracked_state st_update_vs = {
+   .name = "st_update_vs",
    .dirty = {
       .mesa  = 0, 
       .st   = ST_NEW_VERTEX_PROGRAM,
index 9e8015d4c7f729e6e7f5b5dceadf942baaab81cf..cb34994d778263218f8318adc10c2fc54b92de15 100644 (file)
@@ -48,6 +48,7 @@ struct st_state_flags {
 };
 
 struct st_tracked_state {
+   const char *name;
    struct st_state_flags dirty;
    void (*update)( struct st_context *st );
 };