iris: hack to avoid memorybarriers out the wazoo

we don't want to emit piles of pipe controls to a compute batch if
it isn't necessary...

prevents double-batch-wraps in cs-op-selection-bool-bvec4-bvec4
(but it's still kinda a big ol' hack...)
This commit is contained in:
Kenneth Graunke 2018-10-19 01:40:06 -07:00
parent b3a40c27a2
commit b2d223b6bf

View file

@ -182,10 +182,14 @@ iris_memory_barrier(struct pipe_context *ctx, unsigned flags)
}
// XXX: MAPPED_BUFFER, QUERY_BUFFER, STREAMOUT_BUFFER, GLOBAL_BUFFER?
// XXX: compute batch?
iris_emit_pipe_control_flush(&ice->render_batch, bits);
iris_emit_pipe_control_flush(&ice->compute_batch, bits);
// XXX: don't unconditionally emit flushes in both engines, we don't
// even know if we're even using e.g. the compute engine...
if (ice->render_batch.contains_draw)
iris_emit_pipe_control_flush(&ice->render_batch, bits);
if (ice->compute_batch.contains_draw)
iris_emit_pipe_control_flush(&ice->compute_batch, bits);
}
void