Mesa (master): gallium: pipe_context::render_condition() and mode flags
Brian Paul
brianp at kemper.freedesktop.org
Mon Jan 4 18:50:03 UTC 2010
Module: Mesa
Branch: master
Commit: c0b4fb06b8b570b1999a0849797d3cb77f6ee5cd
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c0b4fb06b8b570b1999a0849797d3cb77f6ee5cd
Author: Brian Paul <brianp at vmware.com>
Date: Thu Dec 31 14:44:40 2009 -0700
gallium: pipe_context::render_condition() and mode flags
For conditional rendering predicated on results of an occlusion query.
If this driver function is NULL, conditional rendering is not supported by
the driver.
---
src/gallium/include/pipe/p_context.h | 8 ++++++++
src/gallium/include/pipe/p_defines.h | 9 +++++++++
2 files changed, 17 insertions(+), 0 deletions(-)
diff --git a/src/gallium/include/pipe/p_context.h b/src/gallium/include/pipe/p_context.h
index 6c06fb9..60fa9ce 100644
--- a/src/gallium/include/pipe/p_context.h
+++ b/src/gallium/include/pipe/p_context.h
@@ -84,6 +84,14 @@ struct pipe_context {
unsigned count);
/*@}*/
+ /**
+ * Predicate subsequent rendering on occlusion query result
+ * \param query the query predicate, or NULL if no predicate
+ * \param mode one of PIPE_COND_RENDER_x
+ */
+ void (*render_condition)( struct pipe_context *pipe,
+ struct pipe_query *query,
+ uint mode );
/**
* Query objects
diff --git a/src/gallium/include/pipe/p_defines.h b/src/gallium/include/pipe/p_defines.h
index 2cda408..c3b1e63 100644
--- a/src/gallium/include/pipe/p_defines.h
+++ b/src/gallium/include/pipe/p_defines.h
@@ -355,6 +355,15 @@ enum pipe_transfer_usage {
/**
+ * Conditional rendering modes
+ */
+#define PIPE_RENDER_COND_WAIT 0
+#define PIPE_RENDER_COND_NO_WAIT 1
+#define PIPE_RENDER_COND_BY_REGION_WAIT 2
+#define PIPE_RENDER_COND_BY_REGION_NO_WAIT 3
+
+
+/**
* Point sprite coord modes
*/
#define PIPE_SPRITE_COORD_NONE 0
More information about the mesa-commit
mailing list