iris: Tag each submitted batch with a syncobj
[mesa.git] / src / gallium / drivers / iris / iris_batch.h
index f79c300b4a063df8bac564d0e0c6dc15324e9548..daa57fce6b5376a9f6e33c0443128c050fada5ea 100644 (file)
@@ -62,9 +62,6 @@ struct iris_batch {
    /** Size of the primary batch if we've moved on to a secondary. */
    unsigned primary_batch_size;
 
-   /** Last BO submitted to the hardware.  Used for glFinish(). */
-   struct iris_bo *last_bo;
-
    /** Last Surface State Base Address set in this hardware context. */
    uint64_t last_surface_base_address;
 
@@ -79,6 +76,15 @@ struct iris_batch {
    int exec_count;
    int exec_array_size;
 
+   /**
+    * A list of iris_syncpts associated with this batch.
+    *
+    * The first list entry will always be a signalling sync-point, indicating
+    * that this batch has completed.  The others are likely to be sync-points
+    * to wait on before executing the batch.
+    */
+   struct util_dynarray syncpts;
+
    /** A list of drm_i915_exec_fences to have execbuf signal or wait on */
    struct util_dynarray exec_fences;