summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrancisco Jerez <currojerez@riseup.net>2020-02-06 21:00:14 -0800
committerFrancisco Jerez <currojerez@riseup.net>2020-02-06 22:21:55 -0800
commit1d2af25cdb72b515e12e6db61d7f9ecef933ca96 (patch)
tree611258c8cc0e668443c9a1616b965802086b1c1a
parentc2f792d685bd5781c09b16ab06e9b3b9c577dbcf (diff)
HACK: iris: Dump stack when pinning memory outside of sync region.iris-cache-tracker
-rw-r--r--src/gallium/drivers/iris/iris_batch.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/gallium/drivers/iris/iris_batch.c b/src/gallium/drivers/iris/iris_batch.c
index e77c8e25f0e..1e2e41eb1d8 100644
--- a/src/gallium/drivers/iris/iris_batch.c
+++ b/src/gallium/drivers/iris/iris_batch.c
@@ -48,6 +48,7 @@
#include "intel/common/gen_gem.h"
#include "util/hash_table.h"
#include "util/set.h"
+#include "util/u_debug_stack.h"
#include "main/macros.h"
#include <errno.h>
@@ -286,7 +287,13 @@ iris_use_pinned_bo(struct iris_batch *batch,
writable = false;
if (access < NUM_IRIS_DOMAINS) {
- assert(batch->sync_region_depth);
+ if (!batch->sync_region_depth) {
+ static struct debug_stack_frame backtrace[16];
+ debug_backtrace_capture(backtrace, 0, ARRAY_SIZE(backtrace));
+ debug_backtrace_dump(backtrace, ARRAY_SIZE(backtrace));
+ assert(batch->sync_region_depth);
+ }
+
iris_bo_bump_seqno(bo, batch->next_seqno, access);
}