asahi: Print unknown enum values

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11086>
This commit is contained in:
Alyssa Rosenzweig 2021-05-31 14:36:56 -04:00 committed by Marge Bot
parent 963f07cb6e
commit eb5983b48e

View file

@ -513,7 +513,10 @@ class Group(object):
# TODO resolve to name
print(' fprintf(fp, "%*s{}: 0x%" PRIx64 "\\n", indent, "", {});'.format(name, val))
elif field.type in self.parser.enums:
print(' fprintf(fp, "%*s{}: %s\\n", indent, "", {}_as_str({}));'.format(name, enum_name(field.type), val))
print(' if ({}_as_str({}))'.format(enum_name(field.type), val))
print(' fprintf(fp, "%*s{}: %s\\n", indent, "", {}_as_str({}));'.format(name, enum_name(field.type), val))
print(' else')
print(' fprintf(fp, "%*s{}: unknown %X (XXX)\\n", indent, "", {});'.format(name, val))
elif field.type == "int":
print(' fprintf(fp, "%*s{}: %d\\n", indent, "", {});'.format(name, val))
elif field.type == "bool":
@ -672,8 +675,9 @@ class Parser(object):
name = '{}_{}'.format(prefix, value.name)
name = safe_name(name).upper()
print(' case {}: return "{}";'.format(name, value.name))
print(' default: return "XXX: INVALID";')
print(' default: break;')
print(" }")
print(" return NULL;")
print("}\n")
def parse(self, filename):