v3d: Print CLIF fixed-point values as just their decimal value.

The parser doesn't handle float input, so we have to dump the raw value.
This commit is contained in:
Eric Anholt 2018-06-27 15:16:05 -07:00
parent 8da47b7648
commit 6237c64049

View file

@ -925,14 +925,24 @@ v3d_field_iterator_next(struct clif_dump *clif, struct v3d_field_iterator *iter)
iter->field->type.v3d_struct->name);
break;
case V3D_TYPE_SFIXED:
snprintf(iter->value, sizeof(iter->value), "%f",
__gen_unpack_sfixed(iter->p, s, e,
iter->field->type.f));
if (clif->pretty) {
snprintf(iter->value, sizeof(iter->value), "%f",
__gen_unpack_sfixed(iter->p, s, e,
iter->field->type.f));
} else {
snprintf(iter->value, sizeof(iter->value), "%u",
(unsigned)__gen_unpack_uint(iter->p, s, e));
}
break;
case V3D_TYPE_UFIXED:
snprintf(iter->value, sizeof(iter->value), "%f",
__gen_unpack_ufixed(iter->p, s, e,
iter->field->type.f));
if (clif->pretty) {
snprintf(iter->value, sizeof(iter->value), "%f",
__gen_unpack_ufixed(iter->p, s, e,
iter->field->type.f));
} else {
snprintf(iter->value, sizeof(iter->value), "%u",
(unsigned)__gen_unpack_uint(iter->p, s, e));
}
break;
case V3D_TYPE_MBO:
break;