summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/ilo/ilo_3d.c
diff options
context:
space:
mode:
authorChia-I Wu <[email protected]>2013-06-25 15:36:15 +0800
committerChia-I Wu <[email protected]>2013-06-25 15:38:07 +0800
commitc8240c9dea7f0061a6a24cb5d234f0a639170515 (patch)
tree27a9905447998d1302820d8ba3c392de55da6764 /src/gallium/drivers/ilo/ilo_3d.c
parent5f4b769127217c72a016becd31396b1c1d1f5e56 (diff)
ilo: honor render condition in blitter
Make pass_render_condition() available for blitter, and check for render condition in (and only in) clear(), clear_render_target(), and clear_depth_stencil().
Diffstat (limited to 'src/gallium/drivers/ilo/ilo_3d.c')
-rw-r--r--src/gallium/drivers/ilo/ilo_3d.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/src/gallium/drivers/ilo/ilo_3d.c b/src/gallium/drivers/ilo/ilo_3d.c
index 6223de98c0f..9ce6b75f978 100644
--- a/src/gallium/drivers/ilo/ilo_3d.c
+++ b/src/gallium/drivers/ilo/ilo_3d.c
@@ -426,9 +426,10 @@ update_prim_count(struct ilo_3d *hw3d, int generated, int emitted)
q->data.u64 += emitted;
}
-static bool
-pass_render_condition(struct ilo_3d *hw3d, struct pipe_context *pipe)
+bool
+ilo_3d_pass_render_condition(struct ilo_context *ilo)
{
+ struct ilo_3d *hw3d = ilo->hw3d;
uint64_t result;
bool wait;
@@ -447,13 +448,11 @@ pass_render_condition(struct ilo_3d *hw3d, struct pipe_context *pipe)
break;
}
- if (pipe->get_query_result(pipe, hw3d->render_condition.query,
- wait, (union pipe_query_result *) &result)) {
+ if (ilo->base.get_query_result(&ilo->base, hw3d->render_condition.query,
+ wait, (union pipe_query_result *) &result))
return (!result == hw3d->render_condition.cond);
- }
- else {
+ else
return true;
- }
}
#define UPDATE_MIN2(a, b) (a) = MIN2((a), (b))
@@ -698,7 +697,7 @@ ilo_draw_vbo(struct pipe_context *pipe, const struct pipe_draw_info *info)
struct ilo_3d *hw3d = ilo->hw3d;
int prim_generated, prim_emitted;
- if (!pass_render_condition(hw3d, pipe))
+ if (!ilo_3d_pass_render_condition(ilo))
return;
if (info->primitive_restart && info->indexed) {