summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/r300/r300_context.h
diff options
context:
space:
mode:
authorMaciej Cencora <m.cencora@gmail.com>2009-06-11 16:13:23 +0200
committerMaciej Cencora <m.cencora@gmail.com>2009-08-15 15:14:11 +0200
commit0d0f01e2e0b37ed5152614ceeff34da8e46b5e37 (patch)
tree1715aa1909a08c260bc925fc56af69af51b321d9 /src/mesa/drivers/dri/r300/r300_context.h
parentf2daded8123c0d82e4cd29710a5b2dfcc99068a1 (diff)
r300: add occlusion queries support
TODO: - use proper interface for checking if bo is idle when it's available - disable ZTOP only when needed - make it work under KMS
Diffstat (limited to 'src/mesa/drivers/dri/r300/r300_context.h')
-rw-r--r--src/mesa/drivers/dri/r300/r300_context.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/r300/r300_context.h b/src/mesa/drivers/dri/r300/r300_context.h
index d620417422..3ba3426608 100644
--- a/src/mesa/drivers/dri/r300/r300_context.h
+++ b/src/mesa/drivers/dri/r300/r300_context.h
@@ -505,6 +505,16 @@ struct r300_index_buffer {
GLuint count;
};
+struct r300_query_object {
+ struct gl_query_object Base;
+ struct radeon_bo *bo;
+ int curr_offset;
+ GLboolean emitted_begin;
+
+ /* Double linked list of not flushed query objects */
+ struct r300_query_object *prev, *next;
+};
+
/**
* \brief R300 context structure.
*/
@@ -539,6 +549,13 @@ struct r300_context {
uint32_t fallback;
DECLARE_RENDERINPUTS(render_inputs_bitset);
+
+ struct {
+ struct r300_query_object *current;
+ struct r300_query_object not_flushed_head;
+ } query;
+
+ int num_z_pipes;
};
#define R300_CONTEXT(ctx) ((r300ContextPtr)(ctx->DriverCtx))