[Mesa-dev] [PATCH 15/20] intel/error2aub: store engine last ring buffer head/tail pointers
Lionel Landwerlin
lionel.g.landwerlin at intel.com
Tue Sep 25 08:23:54 UTC 2018
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
---
src/intel/tools/error2aub.c | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/src/intel/tools/error2aub.c b/src/intel/tools/error2aub.c
index 0400da53470..72531a97b18 100644
--- a/src/intel/tools/error2aub.c
+++ b/src/intel/tools/error2aub.c
@@ -279,6 +279,14 @@ main(int argc, char *argv[])
enum address_space active_gtt = PPGTT;
+ struct {
+ struct {
+ uint32_t ring_buffer_head;
+ uint32_t ring_buffer_tail;
+ } instances[3];
+ } engines[I915_ENGINE_CLASS_VIDEO_ENHANCE + 1];
+ memset(engines, 0, sizeof(engines));
+
int num_ring_bos = 0;
struct list_head bo_list;
@@ -309,6 +317,20 @@ main(int argc, char *argv[])
continue;
}
+ if (sscanf(line, " ring->head: 0x%x\n",
+ &engines[
+ active_engine_class].instances[
+ active_engine_instance].ring_buffer_head) == 1) {
+ continue;
+ }
+
+ if (sscanf(line, " ring->tail: 0x%x\n",
+ &engines[
+ active_engine_class].instances[
+ active_engine_instance].ring_buffer_tail) == 1) {
+ continue;
+ }
+
const char *active_start = "Active (";
if (strncmp(line, active_start, strlen(active_start)) == 0) {
char *ring = line + strlen(active_start);
--
2.19.0
More information about the mesa-dev
mailing list