iris: Make an iris_batch_get_signal_syncpt() helper.
authorKenneth Graunke <kenneth@whitecape.org>
Wed, 26 Jun 2019 04:11:52 +0000 (21:11 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Wed, 26 Jun 2019 16:49:01 +0000 (09:49 -0700)
This returns a pointer to the signalling syncpt, without incrementing
the reference count.  This can be useful for comparisons.

Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
src/gallium/drivers/iris/iris_batch.h

index 0038641..64a047d 100644 (file)
@@ -203,6 +203,19 @@ iris_batch_emit(struct iris_batch *batch, const void *data, unsigned size)
 }
 
 /**
+ * Get a pointer to the batch's signalling syncpt.  Does not refcount.
+ */
+static inline struct iris_syncpt *
+iris_batch_get_signal_syncpt(struct iris_batch *batch)
+{
+   /* The signalling syncpt is the first one in the list. */
+   struct iris_syncpt *syncpt =
+      ((struct iris_syncpt **) util_dynarray_begin(&batch->syncpts))[0];
+   return syncpt;
+}
+
+
+/**
  * Take a reference to the batch's signalling syncpt.
  *
  * Callers can use this to wait for the the current batch under construction
@@ -212,9 +225,7 @@ static inline void
 iris_batch_reference_signal_syncpt(struct iris_batch *batch,
                                    struct iris_syncpt **out_syncpt)
 {
-   /* The signalling syncpt is the first one in the list. */
-   struct iris_syncpt *syncpt =
-      ((struct iris_syncpt **) util_dynarray_begin(&batch->syncpts))[0];
+   struct iris_syncpt *syncpt = iris_batch_get_signal_syncpt(batch);
    iris_syncpt_reference(batch->screen, out_syncpt, syncpt);
 }