From 1887d15eede63927152f7f664061e7efe7d16185 Mon Sep 17 00:00:00 2001 From: Chia-I Wu Date: Fri, 19 Sep 2014 14:37:56 +0800 Subject: [PATCH] ilo: remove ilo_cp_empty() Call ilo_builder_batch_used() directly. --- src/gallium/drivers/ilo/ilo_3d_pipeline.c | 23 +++++++++++------------ src/gallium/drivers/ilo/ilo_blitter_rectlist.c | 2 +- src/gallium/drivers/ilo/ilo_cp.h | 9 --------- 3 files changed, 12 insertions(+), 22 deletions(-) diff --git a/src/gallium/drivers/ilo/ilo_3d_pipeline.c b/src/gallium/drivers/ilo/ilo_3d_pipeline.c index bbac8ce..baadfa7 100644 --- a/src/gallium/drivers/ilo/ilo_3d_pipeline.c +++ b/src/gallium/drivers/ilo/ilo_3d_pipeline.c @@ -170,7 +170,6 @@ ilo_3d_pipeline_emit_draw(struct ilo_3d_pipeline *p, ilo_cp_set_one_off_flags(p->cp, INTEL_EXEC_GEN7_SOL_RESET); } - while (true) { struct ilo_builder_snapshot snapshot; @@ -184,20 +183,20 @@ ilo_3d_pipeline_emit_draw(struct ilo_3d_pipeline *p, if (ilo_builder_validate(&ilo->cp->builder, 0, NULL)) { success = true; - break; - } + } else { + /* rewind */ + ilo_builder_batch_restore(&p->cp->builder, &snapshot); - /* rewind */ - ilo_builder_batch_restore(&p->cp->builder, &snapshot); + /* flush and try again */ + if (ilo_builder_batch_used(&p->cp->builder)) { + ilo_cp_flush(p->cp, "out of aperture"); + continue; + } - if (ilo_cp_empty(p->cp)) { success = false; - break; - } - else { - /* flush and try again */ - ilo_cp_flush(p->cp, "out of aperture"); } + + break; } if (success) { @@ -291,7 +290,7 @@ ilo_3d_pipeline_emit_rectlist(struct ilo_3d_pipeline *p, ilo_builder_batch_restore(&p->cp->builder, &snapshot); /* flush and try again */ - if (!ilo_cp_empty(p->cp)) { + if (ilo_builder_batch_used(&p->cp->builder)) { ilo_cp_flush(p->cp, "out of aperture"); continue; } diff --git a/src/gallium/drivers/ilo/ilo_blitter_rectlist.c b/src/gallium/drivers/ilo/ilo_blitter_rectlist.c index c77b8e1..c77eac3 100644 --- a/src/gallium/drivers/ilo/ilo_blitter_rectlist.c +++ b/src/gallium/drivers/ilo/ilo_blitter_rectlist.c @@ -334,7 +334,7 @@ hiz_emit_rectlist(struct ilo_blitter *blitter) * - we may sample from a texture that was rendered to * - we may sample from the fb shortly after */ - if (!ilo_cp_empty(p->cp)) + if (ilo_builder_batch_used(&p->cp->builder)) ilo_3d_pipeline_emit_flush(p); ilo_3d_pipeline_emit_rectlist(p, blitter); diff --git a/src/gallium/drivers/ilo/ilo_cp.h b/src/gallium/drivers/ilo/ilo_cp.h index 0f27e8e..c313745 100644 --- a/src/gallium/drivers/ilo/ilo_cp.h +++ b/src/gallium/drivers/ilo/ilo_cp.h @@ -102,15 +102,6 @@ ilo_cp_set_owner(struct ilo_cp *cp, enum intel_ring_type ring, const struct ilo_cp_owner *owner); /** - * Return true if the parser buffer is empty. - */ -static inline bool -ilo_cp_empty(struct ilo_cp *cp) -{ - return !ilo_builder_batch_used(&cp->builder); -} - -/** * Return the remaining space (in dwords) in the parser buffer. */ static inline int -- 2.7.4