summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/llvmpipe/lp_rast.c
diff options
context:
space:
mode:
authorRoland Scheidegger <[email protected]>2013-06-18 00:42:31 +0200
committerRoland Scheidegger <[email protected]>2013-06-18 18:01:24 +0200
commit8975dc798d6b7790de7a788c8263b636cfd02184 (patch)
tree5dd6993f4d00ac6d6d7fb846e31bd317ca3e390c /src/gallium/drivers/llvmpipe/lp_rast.c
parent793e8e3d7ed816cc9a066245dde798afdcf8b581 (diff)
llvmpipe: fixes for conditional rendering
honor render_condition for clear_render_target and clear_depth_stencil. Also add minimal support for occlusion predicate, though it can't be active at the same time as an occlusion query yet. While here also switchify some large if-else (actually just mutually exclusive if-if-if...) constructs. Reviewed-by: Jose Fonseca <[email protected]>
Diffstat (limited to 'src/gallium/drivers/llvmpipe/lp_rast.c')
-rw-r--r--src/gallium/drivers/llvmpipe/lp_rast.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/gallium/drivers/llvmpipe/lp_rast.c b/src/gallium/drivers/llvmpipe/lp_rast.c
index 79d4c588d12..d802d53f7ca 100644
--- a/src/gallium/drivers/llvmpipe/lp_rast.c
+++ b/src/gallium/drivers/llvmpipe/lp_rast.c
@@ -490,6 +490,7 @@ lp_rast_begin_query(struct lp_rasterizer_task *task,
switch (pq->type) {
case PIPE_QUERY_OCCLUSION_COUNTER:
+ case PIPE_QUERY_OCCLUSION_PREDICATE:
task->thread_data.vis_counter = 0;
break;
case PIPE_QUERY_PRIMITIVES_GENERATED:
@@ -521,6 +522,7 @@ lp_rast_end_query(struct lp_rasterizer_task *task,
switch (pq->type) {
case PIPE_QUERY_OCCLUSION_COUNTER:
+ case PIPE_QUERY_OCCLUSION_PREDICATE:
pq->count[task->thread_index] += task->thread_data.vis_counter;
break;
case PIPE_QUERY_TIMESTAMP: