summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers
diff options
context:
space:
mode:
authorKenneth Graunke <[email protected]>2018-09-07 23:39:30 -0700
committerKenneth Graunke <[email protected]>2019-02-21 10:26:08 -0800
commitf838400a59dc18b9994d5dfde6681998bd05ad25 (patch)
tree71ac27330782909bfeccf248fa086d2cb1e0134e /src/gallium/drivers
parent938afd484a5f9cb003eb4a2406be8ea1894e2cd6 (diff)
iris: set EXEC_OBJECT_CAPTURE on all driver internal buffers
Diffstat (limited to 'src/gallium/drivers')
-rw-r--r--src/gallium/drivers/iris/iris_bufmgr.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/gallium/drivers/iris/iris_bufmgr.c b/src/gallium/drivers/iris/iris_bufmgr.c
index e16226910b3..058ae15ab81 100644
--- a/src/gallium/drivers/iris/iris_bufmgr.c
+++ b/src/gallium/drivers/iris/iris_bufmgr.c
@@ -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);