Mesa (master): mesa: Add a function to query whether a meta-op is in progress.

Paul Berry stereotype441 at kemper.freedesktop.org
Tue Dec 20 23:41:22 UTC 2011


Module: Mesa
Branch: master
Commit: 163611d7b21670de6074c09d37bdf93bad494036
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=163611d7b21670de6074c09d37bdf93bad494036

Author: Paul Berry <stereotype441 at gmail.com>
Date:   Mon Dec 19 14:28:32 2011 -0800

mesa: Add a function to query whether a meta-op is in progress.

This is needed by i965 to ensure that transform feedback counters are
not incremented during meta-ops.

Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

---

 src/mesa/drivers/common/meta.c |   10 ++++++++++
 src/mesa/drivers/common/meta.h |    3 +++
 2 files changed, 13 insertions(+), 0 deletions(-)

diff --git a/src/mesa/drivers/common/meta.c b/src/mesa/drivers/common/meta.c
index 1683c85..c5c59eb 100644
--- a/src/mesa/drivers/common/meta.c
+++ b/src/mesa/drivers/common/meta.c
@@ -985,6 +985,16 @@ _mesa_meta_end(struct gl_context *ctx)
 
 
 /**
+ * Determine whether Mesa is currently in a meta state.
+ */
+GLboolean
+_mesa_meta_in_progress(struct gl_context *ctx)
+{
+   return ctx->Meta->SaveStackDepth != 0;
+}
+
+
+/**
  * Convert Z from a normalized value in the range [0, 1] to an object-space
  * Z coordinate in [-1, +1] so that drawing at the new Z position with the
  * default/identity ortho projection results in the original Z value.
diff --git a/src/mesa/drivers/common/meta.h b/src/mesa/drivers/common/meta.h
index 7198139..d13796e 100644
--- a/src/mesa/drivers/common/meta.h
+++ b/src/mesa/drivers/common/meta.h
@@ -69,6 +69,9 @@ _mesa_meta_begin(struct gl_context *ctx, GLbitfield state);
 extern void
 _mesa_meta_end(struct gl_context *ctx);
 
+extern GLboolean
+_mesa_meta_in_progress(struct gl_context *ctx);
+
 extern void
 _mesa_meta_BlitFramebuffer(struct gl_context *ctx,
                            GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1,




More information about the mesa-commit mailing list