radeon: Add debug output to radeonCountStateEmitSize.
authorPauli Nieminen <suokkos@gmail.com>
Mon, 24 Aug 2009 15:44:53 +0000 (18:44 +0300)
committerPauli Nieminen <suokkos@gmail.com>
Mon, 24 Aug 2009 15:45:30 +0000 (18:45 +0300)
src/mesa/drivers/dri/radeon/radeon_common.c

index 9f901d2c0afce7f1e54c726873dffbbfc068608d..8f34fbf6bc48ab09b914d687103679a1977e59b1 100644 (file)
@@ -966,18 +966,31 @@ static void radeon_print_state_atom(radeonContextPtr radeon, struct radeon_state
 GLuint radeonCountStateEmitSize(radeonContextPtr radeon)
 {
        struct radeon_state_atom *atom;
-       int dwords = 0;
+       GLuint dwords = 0;
        /* check if we are going to emit full state */
+       if (DEBUG_CMDBUF && RADEON_DEBUG & DEBUG_VERBOSE)
+               fprintf(stderr, "%s\n", __func__);
+
        if (radeon->cmdbuf.cs->cdw && !radeon->hw.all_dirty) {
                if (!radeon->hw.is_dirty)
                        return dwords;
                foreach(atom, &radeon->hw.atomlist) {
-                       if (atom->dirty)
-                               dwords += atom->check(radeon->glCtx, atom);
+                       if (atom->dirty) {
+                               const GLuint atom_size = atom->check(radeon->glCtx, atom);
+                               dwords += atom_size;
+                               if (DEBUG_CMDBUF && atom_size) {
+                                       radeon_print_state_atom(radeon, atom);
+                               }
+                       }
                }
        } else {
                foreach(atom, &radeon->hw.atomlist) {
-                       dwords += atom->check(radeon->glCtx, atom);
+                       const GLuint atom_size = atom->check(radeon->glCtx, atom);
+                       dwords += atom_size;
+                       if (DEBUG_CMDBUF && atom_size) {
+                               radeon_print_state_atom(radeon, atom);
+                       }
+
                }
        }
        return dwords;