From d42b7f9189680de4f137cae248ddb67f2310a26f Mon Sep 17 00:00:00 2001 From: Daniel Vetter Date: Wed, 7 Sep 2011 09:20:36 +0200 Subject: [PATCH] lib/batch: hackish interface to run batches on specific rings Signed-off-by: Daniel Vetter --- lib/intel_batchbuffer.c | 15 ++++++++++----- lib/intel_batchbuffer.h | 1 + 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/lib/intel_batchbuffer.c b/lib/intel_batchbuffer.c index ffdc36c2..518435cd 100644 --- a/lib/intel_batchbuffer.c +++ b/lib/intel_batchbuffer.c @@ -75,10 +75,9 @@ intel_batchbuffer_free(struct intel_batchbuffer *batch) #define CMD_POLY_STIPPLE_OFFSET 0x7906 void -intel_batchbuffer_flush(struct intel_batchbuffer *batch) +intel_batchbuffer_flush_on_ring(struct intel_batchbuffer *batch, int ring) { unsigned int used = batch->ptr - batch->buffer; - int ring; int ret; if (used == 0) @@ -107,15 +106,21 @@ intel_batchbuffer_flush(struct intel_batchbuffer *batch) batch->ptr = NULL; - ring = 0; - if (HAS_BLT_RING(batch->devid)) - ring = I915_EXEC_BLT; ret = drm_intel_bo_mrb_exec(batch->bo, used, NULL, 0, 0, ring); assert(ret == 0); intel_batchbuffer_reset(batch); } +void +intel_batchbuffer_flush(struct intel_batchbuffer *batch) +{ + int ring = 0; + if (HAS_BLT_RING(batch->devid)) + ring = I915_EXEC_BLT; + intel_batchbuffer_flush_on_ring(batch, ring); +} + /* This is the only way buffers get added to the validate list. */ diff --git a/lib/intel_batchbuffer.h b/lib/intel_batchbuffer.h index 2beccc4e..4b0ae427 100644 --- a/lib/intel_batchbuffer.h +++ b/lib/intel_batchbuffer.h @@ -24,6 +24,7 @@ void intel_batchbuffer_free(struct intel_batchbuffer *batch); void intel_batchbuffer_flush(struct intel_batchbuffer *batch); +void intel_batchbuffer_flush_on_ring(struct intel_batchbuffer *batch, int ring); void intel_batchbuffer_reset(struct intel_batchbuffer *batch);