v3d: Move GL shader state dumping out of per-version compilation.

It doesn't depend on V3D_VER, since it's just calling v3d_print_group.
This commit is contained in:
Eric Anholt
2018-06-28 12:33:43 -07:00
parent c2901ff80f
commit a77cb724da
3 changed files with 26 additions and 41 deletions
+26 -9
View File
@@ -118,6 +118,29 @@ clif_dump_cl(struct clif_dump *clif, uint32_t start, uint32_t end)
}
}
static void
clif_dump_gl_shader_state_record(struct clif_dump *clif,
struct reloc_worklist_entry *reloc,
void *vaddr)
{
struct v3d_group *state = v3d_spec_find_struct(clif->spec,
"GL Shader State Record");
struct v3d_group *attr = v3d_spec_find_struct(clif->spec,
"GL Shader State Attribute Record");
assert(state);
assert(attr);
out(clif, "GL Shader State Record at 0x%08x\n", reloc->addr);
v3d_print_group(clif->out, state, 0, vaddr, "");
vaddr += v3d_group_get_length(state);
for (int i = 0; i < reloc->shader_state.num_attrs; i++) {
out(clif, " Attribute %d\n", i);
v3d_print_group(clif->out, attr, 0, vaddr, "");
vaddr += v3d_group_get_length(attr);
}
}
static void
clif_process_worklist(struct clif_dump *clif)
{
@@ -136,15 +159,9 @@ clif_process_worklist(struct clif_dump *clif)
switch (reloc->type) {
case reloc_gl_shader_state:
if (clif->devinfo->ver >= 41) {
v3d41_clif_dump_gl_shader_state_record(clif,
reloc,
vaddr);
} else {
v3d33_clif_dump_gl_shader_state_record(clif,
reloc,
vaddr);
}
clif_dump_gl_shader_state_record(clif,
reloc,
vaddr);
break;
case reloc_generic_tile_list:
clif_dump_cl(clif, reloc->addr,
-9
View File
@@ -69,19 +69,10 @@ clif_dump_add_address_to_worklist(struct clif_dump *clif,
bool v3d33_clif_dump_packet(struct clif_dump *clif, uint32_t offset,
const uint8_t *cl, uint32_t *size);
void v3d33_clif_dump_gl_shader_state_record(struct clif_dump *clif,
struct reloc_worklist_entry *reloc,
void *vaddr);
bool v3d41_clif_dump_packet(struct clif_dump *clif, uint32_t offset,
const uint8_t *cl, uint32_t *size);
void v3d41_clif_dump_gl_shader_state_record(struct clif_dump *clif,
struct reloc_worklist_entry *reloc,
void *vaddr);
bool v3d42_clif_dump_packet(struct clif_dump *clif, uint32_t offset,
const uint8_t *cl, uint32_t *size);
void v3d42_clif_dump_gl_shader_state_record(struct clif_dump *clif,
struct reloc_worklist_entry *reloc,
void *vaddr);
static inline void
out(struct clif_dump *clif, const char *fmt, ...)
-23
View File
@@ -138,26 +138,3 @@ v3dX(clif_dump_packet)(struct clif_dump *clif, uint32_t offset,
return true;
}
void
v3dX(clif_dump_gl_shader_state_record)(struct clif_dump *clif,
struct reloc_worklist_entry *reloc,
void *vaddr)
{
struct v3d_group *state = v3d_spec_find_struct(clif->spec,
"GL Shader State Record");
struct v3d_group *attr = v3d_spec_find_struct(clif->spec,
"GL Shader State Attribute Record");
assert(state);
assert(attr);
out(clif, "GL Shader State Record at 0x%08x\n", reloc->addr);
v3d_print_group(clif->out, state, 0, vaddr, "");
vaddr += v3d_group_get_length(state);
for (int i = 0; i < reloc->shader_state.num_attrs; i++) {
out(clif, " Attribute %d\n", i);
v3d_print_group(clif->out, attr, 0, vaddr, "");
vaddr += v3d_group_get_length(attr);
}
}