ilo_cp_set_one_off_flags(p->cp, INTEL_EXEC_GEN7_SOL_RESET);
}
-
while (true) {
struct ilo_builder_snapshot snapshot;
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) {
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;
}
* - 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);
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