diff options
author | Lionel Landwerlin <[email protected]> | 2018-08-03 10:40:43 +0100 |
---|---|---|
committer | Lionel Landwerlin <[email protected]> | 2018-08-22 18:02:11 +0100 |
commit | d1c4a62bf86372142316925e918e2138c2aad596 (patch) | |
tree | deecd5a02270d2568a21d07d098be15c4e231a7d /src/intel/tools/aubinator_viewer.h | |
parent | 38f10d5a03542c60a589ff6a347df86790de00b7 (diff) |
intel: aubinator_viewer: store urb state during decoding
Signed-off-by: Lionel Landwerlin <[email protected]>
Reviewed-by: Rafael Antognolli <[email protected]>
Diffstat (limited to 'src/intel/tools/aubinator_viewer.h')
-rw-r--r-- | src/intel/tools/aubinator_viewer.h | 26 |
1 files changed, 26 insertions, 0 deletions
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, |