spirv/info: Add spirv_op_to_string

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
This commit is contained in:
Jason Ekstrand 2017-12-11 22:04:04 -08:00
parent ab85fd02d5
commit 0bb18858fb
2 changed files with 11 additions and 0 deletions

View file

@ -28,5 +28,6 @@
const char *spirv_capability_to_string(SpvCapability cap);
const char *spirv_decoration_to_string(SpvDecoration dec);
const char *spirv_op_to_string(SpvOp op);
#endif /* SPIRV_INFO_H */

View file

@ -45,6 +45,15 @@ def collect_data(spirv, kind):
return (kind, values)
def collect_opcodes(spirv):
values = []
for x in spirv["instructions"]:
name = x["opname"]
assert name.startswith("Op")
values.append(name[2:])
return ("Op", values)
def parse_args():
p = argparse.ArgumentParser()
p.add_argument("json")
@ -81,6 +90,7 @@ if __name__ == "__main__":
info = [
collect_data(spirv_info, "Capability"),
collect_data(spirv_info, "Decoration"),
collect_opcodes(spirv_info),
]
with open(pargs.out, 'w') as f: