mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-06-09 10:08:17 +02:00
gallium/radeon: simplify restoring render condition after flush
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
This commit is contained in:
parent
600e212d87
commit
3521907622
3 changed files with 5 additions and 26 deletions
|
|
@ -80,11 +80,6 @@ void r600_need_cs_space(struct r600_context *ctx, unsigned num_dw,
|
|||
num_dw += ctx->b.streamout.num_dw_for_end;
|
||||
}
|
||||
|
||||
/* Count in render_condition(NULL) at the end of CS. */
|
||||
if (ctx->b.predicate_drawing) {
|
||||
num_dw += 3;
|
||||
}
|
||||
|
||||
/* SX_MISC */
|
||||
if (ctx->b.chip_class == R600) {
|
||||
num_dw += 3;
|
||||
|
|
|
|||
|
|
@ -134,17 +134,6 @@ static void r600_memory_barrier(struct pipe_context *ctx, unsigned flags)
|
|||
|
||||
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) {
|
||||
|
|
@ -173,12 +162,11 @@ void r600_postflush_resume_features(struct r600_common_context *ctx)
|
|||
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,
|
||||
|
|
|
|||
|
|
@ -422,10 +422,6 @@ struct r600_common_context {
|
|||
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.
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue