Mesa (lp-binning): llvmpipe: added lp_scene_is_empty()

Brian Paul brianp at kemper.freedesktop.org
Wed Jan 13 00:17:08 UTC 2010


Module: Mesa
Branch: lp-binning
Commit: de10168a462f57ead41800ea135476bb5ae8c678
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=de10168a462f57ead41800ea135476bb5ae8c678

Author: Brian Paul <brianp at vmware.com>
Date:   Tue Jan 12 17:06:19 2010 -0700

llvmpipe: added lp_scene_is_empty()

---

 src/gallium/drivers/llvmpipe/lp_scene.c |   22 ++++++++++++++++++++++
 src/gallium/drivers/llvmpipe/lp_scene.h |    2 ++
 2 files changed, 24 insertions(+), 0 deletions(-)

diff --git a/src/gallium/drivers/llvmpipe/lp_scene.c b/src/gallium/drivers/llvmpipe/lp_scene.c
index 774a1fe..70d5847 100644
--- a/src/gallium/drivers/llvmpipe/lp_scene.c
+++ b/src/gallium/drivers/llvmpipe/lp_scene.c
@@ -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
diff --git a/src/gallium/drivers/llvmpipe/lp_scene.h b/src/gallium/drivers/llvmpipe/lp_scene.h
index 796fc51..7255727 100644
--- a/src/gallium/drivers/llvmpipe/lp_scene.h
+++ b/src/gallium/drivers/llvmpipe/lp_scene.h
@@ -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);




More information about the mesa-commit mailing list