summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/gallium/auxiliary/util/u_debug_flush.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/gallium/auxiliary/util/u_debug_flush.c b/src/gallium/auxiliary/util/u_debug_flush.c
index 06d0cfafa822..fe96e09aadfd 100644
--- a/src/gallium/auxiliary/util/u_debug_flush.c
+++ b/src/gallium/auxiliary/util/u_debug_flush.c
@@ -266,6 +266,12 @@ debug_flush_unmap(struct debug_flush_buf *fbuf)
mtx_unlock(&fbuf->mutex);
}
+
+/**
+ * Add the given buffer to the list of active buffers. Active buffers
+ * are those which are referenced by the command buffer currently being
+ * constructed.
+ */
void
debug_flush_cb_reference(struct debug_flush_ctx *fctx,
struct debug_flush_buf *fbuf)
@@ -333,6 +339,10 @@ debug_flush_might_flush_cb(void *key, void *value, void *data)
return PIPE_OK;
}
+/**
+ * Called when we're about to possibly flush a command buffer.
+ * We check if any active buffers are in a mapped state. If so, print an alert.
+ */
void
debug_flush_might_flush(struct debug_flush_ctx *fctx)
{
@@ -356,6 +366,11 @@ debug_flush_flush_cb(void *key, void *value, void *data)
}
+/**
+ * Called when we flush a command buffer. Two things are done:
+ * 1. Check if any of the active buffers are currently mapped (alert if so).
+ * 2. Discard/unreference all the active buffers.
+ */
void
debug_flush_flush(struct debug_flush_ctx *fctx)
{