mirror of
https://github.com/tiagovignatti/intel-gpu-tools.git
synced 2025-06-12 02:16:17 +00:00
lib/batch: hackish interface to run batches on specific rings
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:
parent
49cd753a77
commit
d42b7f9189
@ -75,10 +75,9 @@ intel_batchbuffer_free(struct intel_batchbuffer *batch)
|
|||||||
#define CMD_POLY_STIPPLE_OFFSET 0x7906
|
#define CMD_POLY_STIPPLE_OFFSET 0x7906
|
||||||
|
|
||||||
void
|
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;
|
unsigned int used = batch->ptr - batch->buffer;
|
||||||
int ring;
|
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
if (used == 0)
|
if (used == 0)
|
||||||
@ -107,15 +106,21 @@ intel_batchbuffer_flush(struct intel_batchbuffer *batch)
|
|||||||
|
|
||||||
batch->ptr = NULL;
|
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);
|
ret = drm_intel_bo_mrb_exec(batch->bo, used, NULL, 0, 0, ring);
|
||||||
assert(ret == 0);
|
assert(ret == 0);
|
||||||
|
|
||||||
intel_batchbuffer_reset(batch);
|
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.
|
/* This is the only way buffers get added to the validate list.
|
||||||
*/
|
*/
|
||||||
|
@ -24,6 +24,7 @@ void intel_batchbuffer_free(struct intel_batchbuffer *batch);
|
|||||||
|
|
||||||
|
|
||||||
void intel_batchbuffer_flush(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);
|
void intel_batchbuffer_reset(struct intel_batchbuffer *batch);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user