Mesa (master): spirv/info: Add spirv_op_to_string

Jason Ekstrand jekstrand at kemper.freedesktop.org
Mon Jan 8 23:16:06 UTC 2018


Module: Mesa
Branch: master
Commit: 0bb18858fb67558ed8f9173de33c0ea31edf6530
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0bb18858fb67558ed8f9173de33c0ea31edf6530

Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Mon Dec 11 22:04:04 2017 -0800

spirv/info: Add spirv_op_to_string

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>

---

 src/compiler/spirv/spirv_info.h    |  1 +
 src/compiler/spirv/spirv_info_c.py | 10 ++++++++++
 2 files changed, 11 insertions(+)

diff --git a/src/compiler/spirv/spirv_info.h b/src/compiler/spirv/spirv_info.h
index 81d43ec925..121ffd2feb 100644
--- a/src/compiler/spirv/spirv_info.h
+++ b/src/compiler/spirv/spirv_info.h
@@ -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 */
diff --git a/src/compiler/spirv/spirv_info_c.py b/src/compiler/spirv/spirv_info_c.py
index 4a6a81524b..ff7942bcd3 100644
--- a/src/compiler/spirv/spirv_info_c.py
+++ b/src/compiler/spirv/spirv_info_c.py
@@ -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:




More information about the mesa-commit mailing list