diff options
Diffstat (limited to 'src/broadcom/clif/clif_dump.c')
-rw-r--r-- | src/broadcom/clif/clif_dump.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/broadcom/clif/clif_dump.c b/src/broadcom/clif/clif_dump.c index af72834e5dc..ca5d5592779 100644 --- a/src/broadcom/clif/clif_dump.c +++ b/src/broadcom/clif/clif_dump.c @@ -38,6 +38,7 @@ enum reloc_worklist_type { reloc_gl_shader_state, + reloc_generic_tile_list, }; struct reloc_worklist_entry { @@ -50,6 +51,9 @@ struct reloc_worklist_entry { struct { uint32_t num_attrs; } shader_state; + struct { + uint32_t end; + } generic_tile_list; }; }; @@ -190,6 +194,17 @@ clif_dump_packet(struct clif_dump *clif, uint32_t offset, const uint8_t *cl, break; } + case V3D33_START_ADDRESS_OF_GENERIC_TILE_LIST_opcode: { + struct V3D33_START_ADDRESS_OF_GENERIC_TILE_LIST values; + V3D33_START_ADDRESS_OF_GENERIC_TILE_LIST_unpack(cl, &values); + struct reloc_worklist_entry *reloc = + clif_dump_add_address_to_worklist(clif, + reloc_generic_tile_list, + values.start); + reloc->generic_tile_list.end = values.end; + break; + } + case V3D33_HALT_opcode: return false; } @@ -270,6 +285,10 @@ clif_process_worklist(struct clif_dump *clif) case reloc_gl_shader_state: clif_dump_gl_shader_state_record(clif, reloc, vaddr); break; + case reloc_generic_tile_list: + clif_dump_cl(clif, reloc->addr, + reloc->generic_tile_list.end); + break; } out(clif, "\n"); } |