v3d: Stop doing pretty-printed colorful booleans in CLIF output.

The parser wants to see a 1 or 0.  We can put "true" and "false" in a
comment to clarify that it's a boolean and the parser will skip it.
This commit is contained in:
Eric Anholt 2018-06-25 15:18:51 -07:00
parent 422910d2e7
commit 3c02838d29
5 changed files with 15 additions and 23 deletions

View File

@ -742,14 +742,12 @@ v3d_group_get_length(struct v3d_group *group)
void
v3d_field_iterator_init(struct v3d_field_iterator *iter,
struct v3d_group *group,
const uint8_t *p,
bool print_colors)
const uint8_t *p)
{
memset(iter, 0, sizeof(*iter));
iter->group = group;
iter->p = p;
iter->print_colors = print_colors;
}
static const char *
@ -865,14 +863,11 @@ v3d_field_iterator_next(struct v3d_field_iterator *iter)
enum_name = v3d_get_enum_name(&iter->field->inline_enum, value);
break;
}
case V3D_TYPE_BOOL: {
const char *true_string =
iter->print_colors ? "\e[0;35mtrue\e[0m" : "true";
case V3D_TYPE_BOOL:
snprintf(iter->value, sizeof(iter->value), "%s",
__gen_unpack_uint(iter->p, s, e) ?
true_string : "false");
"1 /* true */" : "0 /* false */");
break;
}
case V3D_TYPE_FLOAT:
snprintf(iter->value, sizeof(iter->value), "%f",
__gen_unpack_float(iter->p, s, e));
@ -926,18 +921,18 @@ v3d_field_iterator_next(struct v3d_field_iterator *iter)
void
v3d_print_group(struct clif_dump *clif, struct v3d_group *group,
uint64_t offset, const uint8_t *p, bool color)
uint64_t offset, const uint8_t *p)
{
struct v3d_field_iterator iter;
v3d_field_iterator_init(&iter, group, p, color);
v3d_field_iterator_init(&iter, group, p);
while (v3d_field_iterator_next(&iter)) {
fprintf(clif->out, " %s: %s\n", iter.name, iter.value);
if (iter.struct_desc) {
uint64_t struct_offset = offset + iter.offset;
v3d_print_group(clif, iter.struct_desc,
struct_offset,
&p[iter.offset], color);
&p[iter.offset]);
}
}
}

View File

@ -58,7 +58,6 @@ struct v3d_field_iterator {
int group_iter;
struct v3d_field *field;
bool print_colors;
};
struct v3d_group {
@ -135,14 +134,12 @@ struct v3d_field {
void v3d_field_iterator_init(struct v3d_field_iterator *iter,
struct v3d_group *group,
const uint8_t *p,
bool print_colors);
const uint8_t *p);
bool v3d_field_iterator_next(struct v3d_field_iterator *iter);
void v3d_print_group(struct clif_dump *clif,
struct v3d_group *group,
uint64_t offset, const uint8_t *p,
bool color);
uint64_t offset, const uint8_t *p);
#endif /* V3D_DECODER_H */

View File

@ -143,12 +143,12 @@ clif_dump_gl_shader_state_record(struct clif_dump *clif,
assert(attr);
out(clif, "GL Shader State Record at 0x%08x\n", reloc->addr);
v3d_print_group(clif, state, 0, vaddr, "");
v3d_print_group(clif, 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, attr, 0, vaddr, "");
v3d_print_group(clif, attr, 0, vaddr);
vaddr += v3d_group_get_length(attr);
}
}

View File

@ -47,7 +47,7 @@ v3dX(clif_dump_packet)(struct clif_dump *clif, uint32_t offset,
*size = v3d_group_get_length(inst);
out(clif, "%s\n", v3d_group_get_name(inst));
v3d_print_group(clif, inst, 0, cl, "");
v3d_print_group(clif, inst, 0, cl);
switch (*cl) {
case V3DX(GL_SHADER_STATE_opcode): {
@ -87,7 +87,7 @@ v3dX(clif_dump_packet)(struct clif_dump *clif, uint32_t offset,
cl += *size;
for (int i = 0; i < values.number_of_16_bit_output_data_specs_following; i++) {
v3d_print_group(clif, spec, 0, cl, "");
v3d_print_group(clif, spec, 0, cl);
cl += v3d_group_get_length(spec);
*size += v3d_group_get_length(spec);
}
@ -107,13 +107,13 @@ v3dX(clif_dump_packet)(struct clif_dump *clif, uint32_t offset,
cl += *size;
for (int i = 0; i < values.number_of_16_bit_output_data_specs_following; i++) {
v3d_print_group(clif, spec, 0, cl, "");
v3d_print_group(clif, spec, 0, cl);
cl += v3d_group_get_length(spec);
*size += v3d_group_get_length(spec);
}
for (int i = 0; i < values.number_of_32_bit_output_buffer_address_following; i++) {
v3d_print_group(clif, addr, 0, cl, "");
v3d_print_group(clif, addr, 0, cl);
cl += v3d_group_get_length(addr);
*size += v3d_group_get_length(addr);
}

View File

@ -63,7 +63,7 @@ vc4_dump_cl(void *cl, uint32_t size, bool is_render)
fprintf(stderr, "0x%08x 0x%08x: 0x%02x %s\n",
offset, hw_offset, header, v3d_group_get_name(inst));
v3d_print_group(clif, inst, offset, p, "");
v3d_print_group(clif, inst, offset, p);
switch (header) {
case VC4_PACKET_HALT: