From d1c4a62bf86372142316925e918e2138c2aad596 Mon Sep 17 00:00:00 2001 From: Lionel Landwerlin Date: Fri, 3 Aug 2018 10:40:43 +0100 Subject: intel: aubinator_viewer: store urb state during decoding Signed-off-by: Lionel Landwerlin Reviewed-by: Rafael Antognolli --- src/intel/tools/aubinator_viewer.h | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'src/intel/tools/aubinator_viewer.h') diff --git a/src/intel/tools/aubinator_viewer.h b/src/intel/tools/aubinator_viewer.h index 2d89d9cf658..4a030efc0d0 100644 --- a/src/intel/tools/aubinator_viewer.h +++ b/src/intel/tools/aubinator_viewer.h @@ -33,12 +33,35 @@ struct aub_viewer_decode_cfg { show_dwords(true) {} }; +enum aub_decode_stage { + AUB_DECODE_STAGE_VS, + AUB_DECODE_STAGE_HS, + AUB_DECODE_STAGE_DS, + AUB_DECODE_STAGE_GS, + AUB_DECODE_STAGE_PS, + AUB_DECODE_STAGE_CS, + AUB_DECODE_N_STAGE, +}; + +struct aub_decode_urb_stage_state { + uint32_t start; + uint32_t size; + uint32_t n_entries; + + uint32_t const_rd_length; + uint32_t rd_offset; + uint32_t rd_length; + uint32_t wr_offset; + uint32_t wr_length; +}; + struct aub_viewer_decode_ctx { struct gen_batch_decode_bo (*get_bo)(void *user_data, uint64_t address); unsigned (*get_state_size)(void *user_data, uint32_t offset_from_dynamic_state_base_addr); void (*display_shader)(void *user_data, const char *shader_desc, uint64_t address); + void (*display_urb)(void *user_data, const struct aub_decode_urb_stage_state *stages); void (*edit_address)(void *user_data, uint64_t address, uint32_t length); void *user_data; @@ -53,6 +76,9 @@ struct aub_viewer_decode_ctx { uint64_t dynamic_base; uint64_t instruction_base; + enum aub_decode_stage stage; + uint32_t end_urb_offset; + struct aub_decode_urb_stage_state urb_stages[AUB_DECODE_N_STAGE]; }; void aub_viewer_decode_ctx_init(struct aub_viewer_decode_ctx *ctx, -- cgit v1.2.3