iris: set EXEC_OBJECT_CAPTURE on all driver internal buffers
authorKenneth Graunke <kenneth@whitecape.org>
Sat, 8 Sep 2018 06:39:30 +0000 (23:39 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Thu, 21 Feb 2019 18:26:08 +0000 (10:26 -0800)
src/gallium/drivers/iris/iris_bufmgr.c

index e16226910b3a86c951bbcf321093bf0346ac2943..058ae15ab81cfadd94af9d2f62593aab129adf81 100644 (file)
@@ -619,6 +619,12 @@ retry:
    bo->index = -1;
    bo->kflags = EXEC_OBJECT_SUPPORTS_48B_ADDRESS | EXEC_OBJECT_PINNED;
 
+   /* By default, capture all driver-internal buffers like shader kernels,
+    * surface states, dynamic states, border colors, and so on.
+    */
+   if (memzone < IRIS_MEMZONE_OTHER)
+      bo->kflags |= EXEC_OBJECT_CAPTURE;
+
    if (bo->gtt_offset == 0ull) {
       bo->gtt_offset = vma_alloc(bufmgr, memzone, bo->size, 1);