llvmpipe: added lp_scene_is_empty()
authorBrian Paul <brianp@vmware.com>
Wed, 13 Jan 2010 00:06:19 +0000 (17:06 -0700)
committerBrian Paul <brianp@vmware.com>
Wed, 13 Jan 2010 00:06:19 +0000 (17:06 -0700)
src/gallium/drivers/llvmpipe/lp_scene.c
src/gallium/drivers/llvmpipe/lp_scene.h

index 774a1fe..70d5847 100644 (file)
@@ -67,6 +67,28 @@ lp_scene_init(struct lp_scene *scene)
 
 
 /**
+ * Check if the scene's bins are all empty.
+ * For debugging purposes.
+ */
+boolean
+lp_scene_is_empty(struct lp_scene *scene )
+{
+   unsigned x, y;
+
+   for (y = 0; y < TILES_Y; y++) {
+      for (x = 0; x < TILES_X; x++) {
+         const struct cmd_bin *bin = lp_scene_get_bin(scene, x, y);
+         const struct cmd_block_list *list = &bin->commands;
+         if (list->head != list->tail || list->head->count > 0) {
+            return FALSE;
+         }
+      }
+   }
+   return TRUE;
+}
+
+
+/**
  * Set scene to empty state.
  */
 void
index 796fc51..7255727 100644 (file)
@@ -133,6 +133,8 @@ void lp_scene_destroy(struct lp_scene *scene);
 
 void lp_scene_init(struct lp_scene *scene);
 
+boolean lp_scene_is_empty(struct lp_scene *scene );
+
 void lp_scene_reset(struct lp_scene *scene );
 
 void lp_scene_free_bin_data(struct lp_scene *scene);