aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/iris/iris_pipe_control.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/drivers/iris/iris_pipe_control.c')
-rw-r--r--src/gallium/drivers/iris/iris_pipe_control.c20
1 files changed, 10 insertions, 10 deletions
diff --git a/src/gallium/drivers/iris/iris_pipe_control.c b/src/gallium/drivers/iris/iris_pipe_control.c
index 3face134def..5e5a996e40b 100644
--- a/src/gallium/drivers/iris/iris_pipe_control.c
+++ b/src/gallium/drivers/iris/iris_pipe_control.c
@@ -150,19 +150,19 @@ iris_texture_barrier(struct pipe_context *ctx, unsigned flags)
{
struct iris_context *ice = (void *) ctx;
- if (ice->render_batch.contains_draw) {
- iris_emit_pipe_control_flush(&ice->render_batch,
+ if (ice->batches[IRIS_BATCH_RENDER].contains_draw) {
+ iris_emit_pipe_control_flush(&ice->batches[IRIS_BATCH_RENDER],
PIPE_CONTROL_DEPTH_CACHE_FLUSH |
PIPE_CONTROL_RENDER_TARGET_FLUSH |
PIPE_CONTROL_CS_STALL);
- iris_emit_pipe_control_flush(&ice->render_batch,
+ iris_emit_pipe_control_flush(&ice->batches[IRIS_BATCH_RENDER],
PIPE_CONTROL_TEXTURE_CACHE_INVALIDATE);
}
- if (ice->compute_batch.contains_draw) {
- iris_emit_pipe_control_flush(&ice->compute_batch,
+ if (ice->batches[IRIS_BATCH_COMPUTE].contains_draw) {
+ iris_emit_pipe_control_flush(&ice->batches[IRIS_BATCH_COMPUTE],
PIPE_CONTROL_CS_STALL);
- iris_emit_pipe_control_flush(&ice->compute_batch,
+ iris_emit_pipe_control_flush(&ice->batches[IRIS_BATCH_COMPUTE],
PIPE_CONTROL_TEXTURE_CACHE_INVALIDATE);
}
}
@@ -198,10 +198,10 @@ iris_memory_barrier(struct pipe_context *ctx, unsigned flags)
// 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);
+ for (int i = 0; i < IRIS_BATCH_COUNT; i++) {
+ if (ice->batches[i].contains_draw)
+ iris_emit_pipe_control_flush(&ice->batches[i], bits);
+ }
}
void