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