From 6bc40f9af5b35724caff9fa7ced47b2ca6183f22 Mon Sep 17 00:00:00 2001 From: Kenneth Graunke Date: Mon, 28 Oct 2013 16:06:10 -0700 Subject: i965: Convert brw->batch.is_blit to a BLT_RING/RENDER_RING enum. Passing BLT_RING or RENDER_RING to batchbuffer functions is a lot more obvious than passing true or false. Signed-off-by: Kenneth Graunke Reviewed-by: Eric Anholt --- src/mesa/drivers/dri/i965/intel_batchbuffer.c | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) (limited to 'src/mesa/drivers/dri/i965/intel_batchbuffer.c') diff --git a/src/mesa/drivers/dri/i965/intel_batchbuffer.c b/src/mesa/drivers/dri/i965/intel_batchbuffer.c index babe9ea..672bc02 100644 --- a/src/mesa/drivers/dri/i965/intel_batchbuffer.c +++ b/src/mesa/drivers/dri/i965/intel_batchbuffer.c @@ -260,19 +260,18 @@ do_flush_locked(struct brw_context *brw) if (!brw->intelScreen->no_hw) { int flags; - if (brw->gen < 6 || !batch->is_blit) { - flags = I915_EXEC_RENDER; + if (brw->gen >= 6 && batch->ring == BLT_RING) { + flags = I915_EXEC_BLT; } else { - flags = I915_EXEC_BLT; + flags = I915_EXEC_RENDER; } - if (batch->needs_sol_reset) flags |= I915_EXEC_GEN7_SOL_RESET; if (ret == 0) { if (unlikely(INTEL_DEBUG & DEBUG_AUB)) brw_annotate_aub(brw); - if (brw->hw_ctx == NULL || batch->is_blit) { + if (brw->hw_ctx == NULL || batch->ring != RENDER_RING) { ret = drm_intel_bo_mrb_exec(batch->bo, 4 * batch->used, NULL, 0, 0, flags); } else { @@ -401,10 +400,10 @@ intel_batchbuffer_emit_reloc_fenced(struct brw_context *brw, void intel_batchbuffer_data(struct brw_context *brw, - const void *data, GLuint bytes, bool is_blit) + const void *data, GLuint bytes, enum brw_gpu_ring ring) { assert((bytes & 3) == 0); - intel_batchbuffer_require_space(brw, bytes, is_blit); + intel_batchbuffer_require_space(brw, bytes, ring); __memcpy(brw->batch.map + brw->batch.used, data, bytes); brw->batch.used += bytes >> 2; } @@ -613,7 +612,7 @@ void intel_batchbuffer_emit_mi_flush(struct brw_context *brw) { if (brw->gen >= 6) { - if (brw->batch.is_blit) { + if (brw->batch.ring == BLT_RING) { BEGIN_BATCH_BLT(4); OUT_BATCH(MI_FLUSH_DW); OUT_BATCH(0); -- cgit v1.1