We don't strictly need this, but because we setup the engine in aub_write, it might be worth parsing it correctly for the sake of completeness.
Signed-off-by: Lionel Landwerlin <[email protected]> --- src/intel/tools/aub_read.c | 23 +++++++++++++++++++++++ src/intel/tools/aub_read.h | 3 +++ 2 files changed, 26 insertions(+) diff --git a/src/intel/tools/aub_read.c b/src/intel/tools/aub_read.c index d85f6f375f5..ee2fe7f7882 100644 --- a/src/intel/tools/aub_read.c +++ b/src/intel/tools/aub_read.c @@ -204,6 +204,16 @@ handle_memtrace_reg_write(struct aub_read *read, const uint32_t *p) context_descriptor = (uint64_t)read->blitter_elsp[2] << 32 | read->blitter_elsp[3]; break; + case EXECLIST_SUBMITPORT_VCSUNIT0: /* video elsp */ + read->video_elsp[read->video_elsp_index++] = value; + if (read->video_elsp_index < 4) + return; + + read->video_elsp_index = 0; + engine = GEN_ENGINE_VIDEO; + context_descriptor = (uint64_t)read->video_elsp[2] << 32 | + read->video_elsp[3]; + break; case EXECLIST_SQ_CONTENTS0_RCSUNIT: /* render elsq0 lo */ read->render_elsp[3] = value; return; @@ -220,6 +230,14 @@ handle_memtrace_reg_write(struct aub_read *read, const uint32_t *p) read->blitter_elsp[2] = value; return; break; + case EXECLIST_SQ_CONTENTS0_VCSUNIT0: /* video elsq0 lo */ + read->video_elsp[3] = value; + return; + break; + case (EXECLIST_SQ_CONTENTS0_VCSUNIT0 + 4): /* video elsq0 hi */ + read->video_elsp[2] = value; + return; + break; case EXECLIST_CONTROL_RCSUNIT: /* render elsc */ engine = GEN_ENGINE_RENDER; context_descriptor = (uint64_t)read->render_elsp[2] << 32 | @@ -230,6 +248,11 @@ handle_memtrace_reg_write(struct aub_read *read, const uint32_t *p) context_descriptor = (uint64_t)read->blitter_elsp[2] << 32 | read->blitter_elsp[3]; break; + case EXECLIST_CONTROL_VCSUNIT0: /* video elsc */ + engine = GEN_ENGINE_VIDEO; + context_descriptor = (uint64_t)read->video_elsp[2] << 32 | + read->video_elsp[3]; + break; default: return; } diff --git a/src/intel/tools/aub_read.h b/src/intel/tools/aub_read.h index 3502c0887bb..700d74990e4 100644 --- a/src/intel/tools/aub_read.h +++ b/src/intel/tools/aub_read.h @@ -36,6 +36,7 @@ extern "C" { enum gen_engine { GEN_ENGINE_RENDER = 1, GEN_ENGINE_BLITTER = 2, + GEN_ENGINE_VIDEO = 3, }; struct aub_read { @@ -64,6 +65,8 @@ struct aub_read { int render_elsp_index; uint32_t blitter_elsp[4]; int blitter_elsp_index; + uint32_t video_elsp[4]; + int video_elsp_index; struct gen_device_info devinfo; }; -- 2.19.0 _______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
