void r600_preflush_suspend_features(struct r600_common_context *ctx)
{
- /* Disable render condition. */
- ctx->saved_render_cond = NULL;
- ctx->saved_render_cond_cond = FALSE;
- ctx->saved_render_cond_mode = 0;
- if (ctx->current_render_cond) {
- ctx->saved_render_cond = ctx->current_render_cond;
- ctx->saved_render_cond_cond = ctx->current_render_cond_cond;
- ctx->saved_render_cond_mode = ctx->current_render_cond_mode;
- ctx->b.render_condition(&ctx->b, NULL, FALSE, 0);
- }
-
/* suspend queries */
ctx->queries_suspended_for_flush = false;
if (ctx->num_cs_dw_nontimer_queries_suspend) {
r600_resume_timer_queries(ctx);
}
- /* Re-enable render condition. */
- if (ctx->saved_render_cond) {
- ctx->b.render_condition(&ctx->b, ctx->saved_render_cond,
- ctx->saved_render_cond_cond,
- ctx->saved_render_cond_mode);
- }
+ /* Re-emit PKT3_SET_PREDICATION. */
+ if (ctx->current_render_cond)
+ ctx->b.render_condition(&ctx->b, ctx->current_render_cond,
+ ctx->current_render_cond_cond,
+ ctx->current_render_cond_mode);
}
static void r600_flush_from_st(struct pipe_context *ctx,
boolean current_render_cond_cond;
bool predicate_drawing;
bool render_cond_force_off; /* for u_blitter */
- /* For context flushing. */
- struct pipe_query *saved_render_cond;
- boolean saved_render_cond_cond;
- unsigned saved_render_cond_mode;
/* MSAA sample locations.
* The first index is the sample index.