Update ClspvReflection non-semantic instruction set (#308)

Add support for:
* Printf builtin
* Device address push constants for module-scope constants and program-scope variables
* NumArguments, Flags, and Attributes for the Kernel instruction
diff --git a/include/spirv/unified1/NonSemanticClspvReflection.h b/include/spirv/unified1/NonSemanticClspvReflection.h
index 0cdf29d..1a31549 100644
--- a/include/spirv/unified1/NonSemanticClspvReflection.h
+++ b/include/spirv/unified1/NonSemanticClspvReflection.h
@@ -33,7 +33,7 @@
 #endif
 
 enum {
-    NonSemanticClspvReflectionRevision = 4,
+    NonSemanticClspvReflectionRevision = 5,
     NonSemanticClspvReflectionRevision_BitWidthPadding = 0x7fffffff
 };
 
@@ -73,10 +73,22 @@
     NonSemanticClspvReflectionImageArgumentInfoChannelDataTypeUniform = 33,
     NonSemanticClspvReflectionArgumentStorageTexelBuffer = 34,
     NonSemanticClspvReflectionArgumentUniformTexelBuffer = 35,
+    NonSemanticClspvReflectionConstantDataPointerPushConstant = 36,
+    NonSemanticClspvReflectionProgramScopeVariablePointerPushConstant = 37,
+    NonSemanticClspvReflectionPrintfInfo = 38,
+    NonSemanticClspvReflectionPrintfBufferStorageBuffer = 39,
+    NonSemanticClspvReflectionPrintfBufferPointerPushConstant = 40,
     NonSemanticClspvReflectionInstructionsMax = 0x7fffffff
 };
 
 
+enum NonSemanticClspvReflectionKernelPropertyFlags {
+    NonSemanticClspvReflectionNone = 0x0,
+    NonSemanticClspvReflectionMayUsePrintf = 0x1,
+    NonSemanticClspvReflectionKernelPropertyFlagsMax = 0x7fffffff
+};
+
+
 #ifdef __cplusplus
 }
 #endif
diff --git a/include/spirv/unified1/extinst.nonsemantic.clspvreflection.grammar.json b/include/spirv/unified1/extinst.nonsemantic.clspvreflection.grammar.json
index b5a6637..d47e502 100644
--- a/include/spirv/unified1/extinst.nonsemantic.clspvreflection.grammar.json
+++ b/include/spirv/unified1/extinst.nonsemantic.clspvreflection.grammar.json
@@ -1,12 +1,15 @@
 {
-  "revision" : 4,
+  "revision" : 5,
   "instructions" : [
     {
       "opname" : "Kernel",
       "opcode" : 1,
       "operands" : [
         { "kind" : "IdRef", "name" : "Kernel" },
-        { "kind" : "IdRef", "name" : "Name" }
+        { "kind" : "IdRef", "name" : "Name" },
+        { "kind" : "IdRef", "name" : "NumArguments"},
+        { "kind" : "IdRef", "name" : "Flags" },
+        { "kind" : "IdRef", "name" : "Attributes" }
       ]
     },
     {
@@ -347,6 +350,67 @@
         { "kind" : "IdRef", "name" : "Binding" },
         { "kind" : "IdRef", "name" : "ArgInfo", "quantifier" : "?" }
       ]
+    },
+    {
+      "opname" : "ConstantDataPointerPushConstant",
+      "opcode" : 36,
+      "operands" : [
+        { "kind" : "IdRef", "name" : "Offset"},
+        { "kind" : "IdRef", "name" : "Size"},
+        { "kind" : "IdRef", "name" : "Data" }
+      ]
+    },
+    {
+      "opname" : "ProgramScopeVariablePointerPushConstant",
+      "opcode" : 37,
+      "operands" : [
+        { "kind" : "IdRef", "name" : "Offset"},
+        { "kind" : "IdRef", "name" : "Size"},
+        { "kind" : "IdRef", "name" : "Data" }
+      ]
+    },
+    {
+      "opname" : "PrintfInfo",
+      "opcode" : 38,
+      "operands" : [
+        { "kind" : "IdRef", "name" : "PrintfID" },
+        { "kind" : "IdRef", "name" : "FormatString" },
+        { "kind" : "IdRef", "quantifier" : "*", "name" : "ArgumentSizes"}
+      ]
+    },
+    {
+      "opname" : "PrintfBufferStorageBuffer",
+      "opcode" : 39,
+      "operands" : [
+        { "kind" : "IdRef", "name" : "DescriptorSet" },
+        { "kind" : "IdRef", "name" : "Binding" },
+        { "kind" : "IdRef", "name" : "BufferSize"}
+      ]
+    },
+    {
+    "opname" : "PrintfBufferPointerPushConstant",
+    "opcode" : 40,
+    "operands" : [
+      { "kind" : "IdRef", "name" : "Offset" },
+      { "kind" : "IdRef", "name" : "Size"},
+      { "kind" : "IdRef", "name" : "BufferSize"}
+      ]
+    }
+  ],
+  "operand_kinds" : [
+    {
+      "category" : "BitEnum",
+      "kind" : "KernelPropertyFlags",
+      "enumerants" : [
+        {
+          "enumerant" : "None",
+          "value" : "0x0"
+        },
+        {
+          "enumerant" : "MayUsePrintf",
+          "value" : "0x1"
+        }
+      ]
     }
   ]
 }