aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/virgl/virgl_transfer_queue.h
diff options
context:
space:
mode:
authorDavid Riley <[email protected]>2019-04-24 16:11:37 -0700
committerGurchetan Singh <[email protected]>2019-05-01 15:48:46 -0700
commita54c231b56005f172cbd744fb7c592922b077526 (patch)
treed340c4868716b43269ad6bea6a94f3e490055728 /src/gallium/drivers/virgl/virgl_transfer_queue.h
parente94a9a7f38de13230d1fb8767c45e6c8f4e59c64 (diff)
virgl: Allow transfer queue entries to be found and extended.
Intersecting transfer queue entries allow for the possibility of extending an existing transfer instead of creating a new one (and all the associated mappign/unmapping). Signed-off-by: David Riley <[email protected]> Reviewed-by: Gurchetan Singh <[email protected]>
Diffstat (limited to 'src/gallium/drivers/virgl/virgl_transfer_queue.h')
-rw-r--r--src/gallium/drivers/virgl/virgl_transfer_queue.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/gallium/drivers/virgl/virgl_transfer_queue.h b/src/gallium/drivers/virgl/virgl_transfer_queue.h
index 3aebae0620b..403a0f1f4d7 100644
--- a/src/gallium/drivers/virgl/virgl_transfer_queue.h
+++ b/src/gallium/drivers/virgl/virgl_transfer_queue.h
@@ -51,3 +51,10 @@ int virgl_transfer_queue_clear(struct virgl_transfer_queue *queue,
bool virgl_transfer_queue_is_queued(struct virgl_transfer_queue *queue,
struct virgl_transfer *transfer);
+
+/*
+ * Search the transfer queue for a transfer suitable for extension and
+ * extend it to include the new transfer.
+ */
+struct virgl_transfer * virgl_transfer_queue_extend(
+ struct virgl_transfer_queue *queue, struct virgl_transfer *transfer);