summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/softpipe/sp_query.c
diff options
context:
space:
mode:
authorKeith Whitwell <keith@tungstengraphics.com>2009-05-16 17:25:26 +0100
committerKeith Whitwell <keith@tungstengraphics.com>2009-05-16 17:26:39 +0100
commit57fd20237541c34ed06587bca9f5a58c8a63fbf4 (patch)
tree8e36e59d8c8f3cd21df42156166c8c6724936663 /src/gallium/drivers/softpipe/sp_query.c
parent3259f52a9296c1b82cd18f405735e65d2b727144 (diff)
gallium: remove occlusion_count flag from depth-stencil state
Drivers can just keep track of whether they are within a query by monitoring the begin/end query callbacks. The flag adds no information beyond that. Only softpipe was examining this flag -- it has been fixed up and retested with demos/arbocclude.
Diffstat (limited to 'src/gallium/drivers/softpipe/sp_query.c')
-rw-r--r--src/gallium/drivers/softpipe/sp_query.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/gallium/drivers/softpipe/sp_query.c b/src/gallium/drivers/softpipe/sp_query.c
index 93dab236d6..379cf4ad06 100644
--- a/src/gallium/drivers/softpipe/sp_query.c
+++ b/src/gallium/drivers/softpipe/sp_query.c
@@ -34,6 +34,7 @@
#include "util/u_memory.h"
#include "sp_context.h"
#include "sp_query.h"
+#include "sp_state.h"
struct softpipe_query {
uint64_t start;
@@ -69,6 +70,8 @@ softpipe_begin_query(struct pipe_context *pipe, struct pipe_query *q)
struct softpipe_query *sq = softpipe_query(q);
sq->start = softpipe->occlusion_count;
+ softpipe->active_query_count++;
+ softpipe->dirty |= SP_NEW_QUERY;
}
@@ -78,7 +81,9 @@ softpipe_end_query(struct pipe_context *pipe, struct pipe_query *q)
struct softpipe_context *softpipe = softpipe_context( pipe );
struct softpipe_query *sq = softpipe_query(q);
+ softpipe->active_query_count--;
sq->end = softpipe->occlusion_count;
+ softpipe->dirty |= SP_NEW_QUERY;
}