summaryrefslogtreecommitdiff
path: root/freedreno/freedreno_ringbuffer.c
diff options
context:
space:
mode:
Diffstat (limited to 'freedreno/freedreno_ringbuffer.c')
-rw-r--r--freedreno/freedreno_ringbuffer.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/freedreno/freedreno_ringbuffer.c b/freedreno/freedreno_ringbuffer.c
index de666865..44437906 100644
--- a/freedreno/freedreno_ringbuffer.c
+++ b/freedreno/freedreno_ringbuffer.c
@@ -56,6 +56,16 @@ void fd_ringbuffer_del(struct fd_ringbuffer *ring)
ring->funcs->destroy(ring);
}
+/* ringbuffers which are IB targets should set the toplevel rb (ie.
+ * the IB source) as it's parent before emitting reloc's, to ensure
+ * the bookkeeping works out properly.
+ */
+void fd_ringbuffer_set_parent(struct fd_ringbuffer *ring,
+ struct fd_ringbuffer *parent)
+{
+ ring->parent = parent;
+}
+
void fd_ringbuffer_reset(struct fd_ringbuffer *ring)
{
uint32_t *start = ring->start;