Different registers are used for execlist submission in gen11, so
also watch those. This code only watches element zero of the
submit queue, which is all aubdump currently writes.
---
 src/intel/tools/aubinator.c | 26 ++++++++++++++++++++------
 1 file changed, 20 insertions(+), 6 deletions(-)

diff --git a/src/intel/tools/aubinator.c b/src/intel/tools/aubinator.c
index 77bad29051e..8029dc12155 100644
--- a/src/intel/tools/aubinator.c
+++ b/src/intel/tools/aubinator.c
@@ -248,6 +248,9 @@ handle_memtrace_reg_write(uint32_t *p)
    int engine;
    static int render_elsp_writes = 0;
    static int blitter_elsp_writes = 0;
+   static int render_elsq0 = 0;
+   static int blitter_elsq0 = 0;
+   uint8_t *pphwsp;
 
    if (offset == 0x2230) {
       render_elsp_writes++;
@@ -255,18 +258,29 @@ handle_memtrace_reg_write(uint32_t *p)
    } else if (offset == 0x22230) {
       blitter_elsp_writes++;
       engine = GEN_ENGINE_BLITTER;
+   } else if (offset == 0x2510) {
+      render_elsq0 = value;
+   } else if (offset == 0x22510) {
+      blitter_elsq0 = value;
+   } else if (offset == 0x2550 || offset == 0x22550) {
+      /* nothing */;
    } else {
       return;
    }
 
-   if (render_elsp_writes > 3)
-      render_elsp_writes = 0;
-   else if (blitter_elsp_writes > 3)
-      blitter_elsp_writes = 0;
-   else
+   if (render_elsp_writes > 3 || blitter_elsp_writes > 3) {
+      render_elsp_writes = blitter_elsp_writes = 0;
+      pphwsp = (uint8_t*)gtt + (value & 0xfffff000);
+   } else if (offset == 0x2550) {
+      engine = GEN_ENGINE_RENDER;
+      pphwsp = (uint8_t*)gtt + (render_elsq0 & 0xfffff000);
+   } else if (offset == 0x22550) {
+      engine = GEN_ENGINE_BLITTER;
+      pphwsp = (uint8_t*)gtt + (blitter_elsq0 & 0xfffff000);
+   } else {
       return;
+   }
 
-   uint8_t *pphwsp = (uint8_t*)gtt + (value & 0xfffff000);
    const uint32_t pphwsp_size = 4096;
    uint32_t *context = (uint32_t*)(pphwsp + pphwsp_size);
    uint32_t ring_buffer_head = context[5];
-- 
2.14.3

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to