iris: iris - fix QWord aligned endings after batch chaining rework
authorKenneth Graunke <kenneth@whitecape.org>
Sat, 23 Jun 2018 19:48:37 +0000 (12:48 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Thu, 21 Feb 2019 18:26:07 +0000 (10:26 -0800)
I need to save the primary batch size after expanding it to include
MI_BATCH_BUFFER_END and the QWord padding NOP

src/gallium/drivers/iris/iris_batch.c

index aaf2e04f049b668ff2d0ab102f082dd1b096da80..a7fc7f710ef0342ed63042b2cb96cbf8ad3f8843 100644 (file)
@@ -328,9 +328,6 @@ iris_batch_emit(struct iris_batch *batch, const void *data, unsigned size)
 static void
 iris_finish_batch(struct iris_batch *batch)
 {
-   if (batch->bo == batch->exec_bos[0])
-      batch->primary_batch_size = batch_bytes_used(batch);
-
    // XXX: ISP DIS
 
    /* Emit MI_BATCH_BUFFER_END to finish our batch.  Note that execbuf2
@@ -344,6 +341,9 @@ iris_finish_batch(struct iris_batch *batch)
    map[1] = 0;
 
    batch->map_next += qword_aligned ? 8 : 4;
+
+   if (batch->bo == batch->exec_bos[0])
+      batch->primary_batch_size = batch_bytes_used(batch);
 }
 
 static int