Merge pull request #681 from VPeruS/missing-xml
authorvaron <varon-github@outlook.com>
Wed, 6 Dec 2017 14:51:48 +0000 (16:51 +0200)
committerGitHub <noreply@github.com>
Wed, 6 Dec 2017 14:51:48 +0000 (16:51 +0200)
Add xml docs based on HelpText

src/Generator.Bind/Specifications/GL2/overrides.xml
src/Generator.Rewrite/Program.cs
src/OpenTK/Graphics/ES11/ES11.cs
src/OpenTK/Graphics/ES20/ES20.cs
src/OpenTK/Graphics/ES30/ES30.cs
src/OpenTK/Graphics/ES31/ES31.cs
src/OpenTK/Graphics/OpenGL/GL.cs
src/OpenTK/Graphics/OpenGL4/GL4.cs

index fe4dd4b..b57df4a 100644 (file)
     <function name="GetProgramPipelineInfoLog" extension="EXT">
       <param name="length" legacyArrayParameter="true" />
     </function>
+    <!-- GetTranslatedShaderSource is missing count attributes -->
     <function name="GetTranslatedShaderSource" extension="ANGLE">
       <param name="length" legacyArrayParameter="true" />
+      <param name="source">
+        <count>bufsize</count>
+      </param>
     </function>
     <function name="GetProgramBinary" extension="OES">
       <param name="length" legacyArrayParameter="true" />
 
   </add>
 
-</signatures>
+  <!-- INTEL_performance_query -->
+  <replace name="gl|glcore|gles1|gles2">
+    <!-- GetPerfQueryIdByNameINTEL is not const-correct -->
+    <function name="GetPerfQueryIdByNameINTEL" extension="INTEL">
+      <param name="queryName">
+        <flow>in</flow>
+      </param>
+    </function>
+
+    <!-- GetPerfCounterInfoINTEL is missing count attributes -->
+    <function name="GetPerfCounterInfoINTEL" extension="INTEL">
+      <param name="counterName">
+        <count>counterNameLength</count>
+      </param>
+      <param name="counterDesc">
+        <count>counterDescLength</count>
+      </param>
+    </function>
+
+    <!-- GetPerfQueryInfoINTEL is missing count attributes -->
+    <function name="GetPerfQueryInfoINTEL" extension="INTEL">
+      <param name="queryName">
+        <count>queryNameLength</count>
+      </param>
+    </function>
+  </replace>
+
+  <!-- ExtGetProgramBinarySourceQCOM -->
+  <replace name="gl|glcore|gles1|gles2">
+    <!-- ExtGetProgramBinarySourceQCOM is missing count attributes -->
+    <function name="ExtGetProgramBinarySourceQCOM" extension="QCOM">
+      <param name="source">
+        <count>*length</count>
+      </param>
+    </function>
+  </replace>
+</signatures>
\ No newline at end of file
index f3a809b..c662088 100644 (file)
@@ -863,9 +863,10 @@ namespace OpenTK.Rewrite
             var attribute = parameter.CustomAttributes
                         .FirstOrDefault(a => a.AttributeType.Name == "CountAttribute");
 
-            var count = new CountAttribute();
+            CountAttribute count = null;
             if (attribute != null)
             {
+                count = new CountAttribute();
                 count.Count = (int)(GetAttributeField(attribute, "Count") ?? 0);
                 count.Parameter = (string)(GetAttributeField(attribute, "Parameter"));
                 count.Computed = (string)(GetAttributeField(attribute, "Computed"));
@@ -879,8 +880,8 @@ namespace OpenTK.Rewrite
             var countVariable = new VariableDefinition(TypeInt32);
             body.Variables.Add(countVariable);
 
-            // Parameter will either by a simple name or an
-            // expression like "name*5"
+            // Parameter will either by a simple name, a dereference of a name
+            // like "*name" or an expression like "name*5"
             var parameter = method.Parameters.FirstOrDefault(
                 param => param.Name == countParameter);
             if (parameter != null)
@@ -888,6 +889,14 @@ namespace OpenTK.Rewrite
                 il.Emit(OpCodes.Ldarg, parameter.Index);
                 il.Emit(OpCodes.Stloc, countVariable.Index);
             }
+            else if (countParameter[0] == '*')
+            {
+                var pointerParam = method.Parameters.FirstOrDefault(
+                    param => param.Name == countParameter.Substring(1));
+
+                il.Emit(OpCodes.Ldarg, pointerParam.Index);
+                il.Emit(OpCodes.Ldind_I4);
+            }
             else
             {
                 var operands = countParameter.Split('*');
index 36c8e8f..53dc2a5 100644 (file)
@@ -14542,56 +14542,56 @@ namespace OpenTK.Graphics.ES11
             /// <summary>[requires: QCOM_extended_get2]</summary>
             /// <param name="program"></param>
             /// <param name="shadertype"></param>
-            /// <param name="source"></param>
+            /// <param name="source">[length: *length]</param>
             /// <param name="length"></param>
             [AutoGenerated(Category = "QCOM_extended_get2", Version = "", EntryPoint = "glExtGetProgramBinarySourceQCOM")]
             [CLSCompliant(false)]
-            public static void ExtGetProgramBinarySource(Int32 program, OpenTK.Graphics.ES11.All shadertype, [OutAttribute] out String source, [OutAttribute] Int32[] length) { throw new BindingsNotRewrittenException(); }
+            public static void ExtGetProgramBinarySource(Int32 program, OpenTK.Graphics.ES11.All shadertype, [OutAttribute, CountAttribute(Parameter = "*length")] out String source, [OutAttribute] Int32[] length) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: QCOM_extended_get2]</summary>
             /// <param name="program"></param>
             /// <param name="shadertype"></param>
-            /// <param name="source"></param>
+            /// <param name="source">[length: *length]</param>
             /// <param name="length"></param>
             [AutoGenerated(Category = "QCOM_extended_get2", Version = "", EntryPoint = "glExtGetProgramBinarySourceQCOM")]
             [CLSCompliant(false)]
-            public static void ExtGetProgramBinarySource(Int32 program, OpenTK.Graphics.ES11.All shadertype, [OutAttribute] out String source, [OutAttribute] out Int32 length) { throw new BindingsNotRewrittenException(); }
+            public static void ExtGetProgramBinarySource(Int32 program, OpenTK.Graphics.ES11.All shadertype, [OutAttribute, CountAttribute(Parameter = "*length")] out String source, [OutAttribute] out Int32 length) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: QCOM_extended_get2]</summary>
             /// <param name="program"></param>
             /// <param name="shadertype"></param>
-            /// <param name="source"></param>
+            /// <param name="source">[length: *length]</param>
             /// <param name="length"></param>
             [AutoGenerated(Category = "QCOM_extended_get2", Version = "", EntryPoint = "glExtGetProgramBinarySourceQCOM")]
             [CLSCompliant(false)]
-            public static unsafe void ExtGetProgramBinarySource(Int32 program, OpenTK.Graphics.ES11.All shadertype, [OutAttribute] out String source, [OutAttribute] Int32* length) { throw new BindingsNotRewrittenException(); }
+            public static unsafe void ExtGetProgramBinarySource(Int32 program, OpenTK.Graphics.ES11.All shadertype, [OutAttribute, CountAttribute(Parameter = "*length")] out String source, [OutAttribute] Int32* length) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: QCOM_extended_get2]</summary>
             /// <param name="program"></param>
             /// <param name="shadertype"></param>
-            /// <param name="source"></param>
+            /// <param name="source">[length: *length]</param>
             /// <param name="length"></param>
             [AutoGenerated(Category = "QCOM_extended_get2", Version = "", EntryPoint = "glExtGetProgramBinarySourceQCOM")]
             [CLSCompliant(false)]
-            public static void ExtGetProgramBinarySource(UInt32 program, OpenTK.Graphics.ES11.All shadertype, [OutAttribute] out String source, [OutAttribute] Int32[] length) { throw new BindingsNotRewrittenException(); }
+            public static void ExtGetProgramBinarySource(UInt32 program, OpenTK.Graphics.ES11.All shadertype, [OutAttribute, CountAttribute(Parameter = "*length")] out String source, [OutAttribute] Int32[] length) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: QCOM_extended_get2]</summary>
             /// <param name="program"></param>
             /// <param name="shadertype"></param>
-            /// <param name="source"></param>
+            /// <param name="source">[length: *length]</param>
             /// <param name="length"></param>
             [AutoGenerated(Category = "QCOM_extended_get2", Version = "", EntryPoint = "glExtGetProgramBinarySourceQCOM")]
             [CLSCompliant(false)]
-            public static void ExtGetProgramBinarySource(UInt32 program, OpenTK.Graphics.ES11.All shadertype, [OutAttribute] out String source, [OutAttribute] out Int32 length) { throw new BindingsNotRewrittenException(); }
+            public static void ExtGetProgramBinarySource(UInt32 program, OpenTK.Graphics.ES11.All shadertype, [OutAttribute, CountAttribute(Parameter = "*length")] out String source, [OutAttribute] out Int32 length) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: QCOM_extended_get2]</summary>
             /// <param name="program"></param>
             /// <param name="shadertype"></param>
-            /// <param name="source"></param>
+            /// <param name="source">[length: *length]</param>
             /// <param name="length"></param>
             [AutoGenerated(Category = "QCOM_extended_get2", Version = "", EntryPoint = "glExtGetProgramBinarySourceQCOM")]
             [CLSCompliant(false)]
-            public static unsafe void ExtGetProgramBinarySource(UInt32 program, OpenTK.Graphics.ES11.All shadertype, [OutAttribute] out String source, [OutAttribute] Int32* length) { throw new BindingsNotRewrittenException(); }
+            public static unsafe void ExtGetProgramBinarySource(UInt32 program, OpenTK.Graphics.ES11.All shadertype, [OutAttribute, CountAttribute(Parameter = "*length")] out String source, [OutAttribute] Int32* length) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: QCOM_extended_get2]</summary>
             /// <param name="programs">[length: maxPrograms]</param>
@@ -16240,7 +16240,7 @@ namespace OpenTK.Graphics.ES11
         private static extern unsafe void glExtGetFramebuffersQCOM([OutAttribute, CountAttribute(Parameter = "maxFramebuffers")] UInt32* framebuffers, Int32 maxFramebuffers, [OutAttribute, CountAttribute(Count = 1)] Int32* numFramebuffers);
         [Slot(96)]
         [DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
-        private static extern unsafe void glExtGetProgramBinarySourceQCOM(UInt32 program, System.Int32 shadertype, [OutAttribute] IntPtr source, [OutAttribute] Int32* length);
+        private static extern unsafe void glExtGetProgramBinarySourceQCOM(UInt32 program, System.Int32 shadertype, [OutAttribute, CountAttribute(Parameter = "*length")] IntPtr source, [OutAttribute] Int32* length);
         [Slot(97)]
         [DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
         private static extern unsafe void glExtGetProgramsQCOM([OutAttribute, CountAttribute(Parameter = "maxPrograms")] UInt32* programs, Int32 maxPrograms, [OutAttribute, CountAttribute(Count = 1)] Int32* numPrograms);
index 815f14e..84a9438 100644 (file)
@@ -2219,57 +2219,57 @@ namespace OpenTK.Graphics.ES20
             /// <param name="shader"></param>
             /// <param name="bufsize"></param>
             /// <param name="length">[length: 1]</param>
-            /// <param name="source"></param>
+            /// <param name="source">[length: bufsize]</param>
             [Obsolete("Use out overload instead")]
             [AutoGenerated(Category = "ANGLE_translated_shader_source", Version = "", EntryPoint = "glGetTranslatedShaderSourceANGLE")]
             [CLSCompliant(false)]
-            public static void GetTranslatedShaderSource(Int32 shader, Int32 bufsize, [OutAttribute, CountAttribute(Count = 1)] Int32[] length, [OutAttribute] out String source) { throw new BindingsNotRewrittenException(); }
+            public static void GetTranslatedShaderSource(Int32 shader, Int32 bufsize, [OutAttribute, CountAttribute(Count = 1)] Int32[] length, [OutAttribute, CountAttribute(Parameter = "bufsize")] out String source) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: ANGLE_translated_shader_source]</summary>
             /// <param name="shader"></param>
             /// <param name="bufsize"></param>
             /// <param name="length">[length: 1]</param>
-            /// <param name="source"></param>
+            /// <param name="source">[length: bufsize]</param>
             [AutoGenerated(Category = "ANGLE_translated_shader_source", Version = "", EntryPoint = "glGetTranslatedShaderSourceANGLE")]
             [CLSCompliant(false)]
-            public static void GetTranslatedShaderSource(Int32 shader, Int32 bufsize, [OutAttribute, CountAttribute(Count = 1)] out Int32 length, [OutAttribute] out String source) { throw new BindingsNotRewrittenException(); }
+            public static void GetTranslatedShaderSource(Int32 shader, Int32 bufsize, [OutAttribute, CountAttribute(Count = 1)] out Int32 length, [OutAttribute, CountAttribute(Parameter = "bufsize")] out String source) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: ANGLE_translated_shader_source]</summary>
             /// <param name="shader"></param>
             /// <param name="bufsize"></param>
             /// <param name="length">[length: 1]</param>
-            /// <param name="source"></param>
+            /// <param name="source">[length: bufsize]</param>
             [AutoGenerated(Category = "ANGLE_translated_shader_source", Version = "", EntryPoint = "glGetTranslatedShaderSourceANGLE")]
             [CLSCompliant(false)]
-            public static unsafe void GetTranslatedShaderSource(Int32 shader, Int32 bufsize, [OutAttribute, CountAttribute(Count = 1)] Int32* length, [OutAttribute] out String source) { throw new BindingsNotRewrittenException(); }
+            public static unsafe void GetTranslatedShaderSource(Int32 shader, Int32 bufsize, [OutAttribute, CountAttribute(Count = 1)] Int32* length, [OutAttribute, CountAttribute(Parameter = "bufsize")] out String source) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: ANGLE_translated_shader_source]</summary>
             /// <param name="shader"></param>
             /// <param name="bufsize"></param>
             /// <param name="length">[length: 1]</param>
-            /// <param name="source"></param>
+            /// <param name="source">[length: bufsize]</param>
             [Obsolete("Use out overload instead")]
             [AutoGenerated(Category = "ANGLE_translated_shader_source", Version = "", EntryPoint = "glGetTranslatedShaderSourceANGLE")]
             [CLSCompliant(false)]
-            public static void GetTranslatedShaderSource(UInt32 shader, Int32 bufsize, [OutAttribute, CountAttribute(Count = 1)] Int32[] length, [OutAttribute] out String source) { throw new BindingsNotRewrittenException(); }
+            public static void GetTranslatedShaderSource(UInt32 shader, Int32 bufsize, [OutAttribute, CountAttribute(Count = 1)] Int32[] length, [OutAttribute, CountAttribute(Parameter = "bufsize")] out String source) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: ANGLE_translated_shader_source]</summary>
             /// <param name="shader"></param>
             /// <param name="bufsize"></param>
             /// <param name="length">[length: 1]</param>
-            /// <param name="source"></param>
+            /// <param name="source">[length: bufsize]</param>
             [AutoGenerated(Category = "ANGLE_translated_shader_source", Version = "", EntryPoint = "glGetTranslatedShaderSourceANGLE")]
             [CLSCompliant(false)]
-            public static void GetTranslatedShaderSource(UInt32 shader, Int32 bufsize, [OutAttribute, CountAttribute(Count = 1)] out Int32 length, [OutAttribute] out String source) { throw new BindingsNotRewrittenException(); }
+            public static void GetTranslatedShaderSource(UInt32 shader, Int32 bufsize, [OutAttribute, CountAttribute(Count = 1)] out Int32 length, [OutAttribute, CountAttribute(Parameter = "bufsize")] out String source) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: ANGLE_translated_shader_source]</summary>
             /// <param name="shader"></param>
             /// <param name="bufsize"></param>
             /// <param name="length">[length: 1]</param>
-            /// <param name="source"></param>
+            /// <param name="source">[length: bufsize]</param>
             [AutoGenerated(Category = "ANGLE_translated_shader_source", Version = "", EntryPoint = "glGetTranslatedShaderSourceANGLE")]
             [CLSCompliant(false)]
-            public static unsafe void GetTranslatedShaderSource(UInt32 shader, Int32 bufsize, [OutAttribute, CountAttribute(Count = 1)] Int32* length, [OutAttribute] out String source) { throw new BindingsNotRewrittenException(); }
+            public static unsafe void GetTranslatedShaderSource(UInt32 shader, Int32 bufsize, [OutAttribute, CountAttribute(Count = 1)] Int32* length, [OutAttribute, CountAttribute(Parameter = "bufsize")] out String source) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: ANGLE_framebuffer_multisample]
             /// Establish data storage, format, dimensions and sample count of a renderbuffer object's image
@@ -33041,9 +33041,9 @@ namespace OpenTK.Graphics.ES20
             /// <param name="queryId"></param>
             /// <param name="counterId"></param>
             /// <param name="counterNameLength"></param>
-            /// <param name="counterName"></param>
+            /// <param name="counterName">[length: counterNameLength]</param>
             /// <param name="counterDescLength"></param>
-            /// <param name="counterDesc"></param>
+            /// <param name="counterDesc">[length: counterDescLength]</param>
             /// <param name="counterOffset"></param>
             /// <param name="counterDataSize"></param>
             /// <param name="counterTypeEnum"></param>
@@ -33051,15 +33051,15 @@ namespace OpenTK.Graphics.ES20
             /// <param name="rawCounterMaxValue"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfCounterInfoINTEL")]
             [CLSCompliant(false)]
-            public static void GetPerfCounterInfo(Int32 queryId, Int32 counterId, Int32 counterNameLength, [OutAttribute] out String counterName, Int32 counterDescLength, [OutAttribute] out String counterDesc, [OutAttribute] Int32[] counterOffset, [OutAttribute] Int32[] counterDataSize, [OutAttribute] Int32[] counterTypeEnum, [OutAttribute] Int32[] counterDataTypeEnum, [OutAttribute] Int64[] rawCounterMaxValue) { throw new BindingsNotRewrittenException(); }
+            public static void GetPerfCounterInfo(Int32 queryId, Int32 counterId, Int32 counterNameLength, [OutAttribute, CountAttribute(Parameter = "counterNameLength")] out String counterName, Int32 counterDescLength, [OutAttribute, CountAttribute(Parameter = "counterDescLength")] out String counterDesc, [OutAttribute] Int32[] counterOffset, [OutAttribute] Int32[] counterDataSize, [OutAttribute] Int32[] counterTypeEnum, [OutAttribute] Int32[] counterDataTypeEnum, [OutAttribute] Int64[] rawCounterMaxValue) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryId"></param>
             /// <param name="counterId"></param>
             /// <param name="counterNameLength"></param>
-            /// <param name="counterName"></param>
+            /// <param name="counterName">[length: counterNameLength]</param>
             /// <param name="counterDescLength"></param>
-            /// <param name="counterDesc"></param>
+            /// <param name="counterDesc">[length: counterDescLength]</param>
             /// <param name="counterOffset"></param>
             /// <param name="counterDataSize"></param>
             /// <param name="counterTypeEnum"></param>
@@ -33067,15 +33067,15 @@ namespace OpenTK.Graphics.ES20
             /// <param name="rawCounterMaxValue"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfCounterInfoINTEL")]
             [CLSCompliant(false)]
-            public static void GetPerfCounterInfo(Int32 queryId, Int32 counterId, Int32 counterNameLength, [OutAttribute] out String counterName, Int32 counterDescLength, [OutAttribute] out String counterDesc, [OutAttribute] out Int32 counterOffset, [OutAttribute] out Int32 counterDataSize, [OutAttribute] out Int32 counterTypeEnum, [OutAttribute] out Int32 counterDataTypeEnum, [OutAttribute] out Int64 rawCounterMaxValue) { throw new BindingsNotRewrittenException(); }
+            public static void GetPerfCounterInfo(Int32 queryId, Int32 counterId, Int32 counterNameLength, [OutAttribute, CountAttribute(Parameter = "counterNameLength")] out String counterName, Int32 counterDescLength, [OutAttribute, CountAttribute(Parameter = "counterDescLength")] out String counterDesc, [OutAttribute] out Int32 counterOffset, [OutAttribute] out Int32 counterDataSize, [OutAttribute] out Int32 counterTypeEnum, [OutAttribute] out Int32 counterDataTypeEnum, [OutAttribute] out Int64 rawCounterMaxValue) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryId"></param>
             /// <param name="counterId"></param>
             /// <param name="counterNameLength"></param>
-            /// <param name="counterName"></param>
+            /// <param name="counterName">[length: counterNameLength]</param>
             /// <param name="counterDescLength"></param>
-            /// <param name="counterDesc"></param>
+            /// <param name="counterDesc">[length: counterDescLength]</param>
             /// <param name="counterOffset"></param>
             /// <param name="counterDataSize"></param>
             /// <param name="counterTypeEnum"></param>
@@ -33083,15 +33083,15 @@ namespace OpenTK.Graphics.ES20
             /// <param name="rawCounterMaxValue"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfCounterInfoINTEL")]
             [CLSCompliant(false)]
-            public static unsafe void GetPerfCounterInfo(Int32 queryId, Int32 counterId, Int32 counterNameLength, [OutAttribute] out String counterName, Int32 counterDescLength, [OutAttribute] out String counterDesc, [OutAttribute] Int32* counterOffset, [OutAttribute] Int32* counterDataSize, [OutAttribute] Int32* counterTypeEnum, [OutAttribute] Int32* counterDataTypeEnum, [OutAttribute] Int64* rawCounterMaxValue) { throw new BindingsNotRewrittenException(); }
+            public static unsafe void GetPerfCounterInfo(Int32 queryId, Int32 counterId, Int32 counterNameLength, [OutAttribute, CountAttribute(Parameter = "counterNameLength")] out String counterName, Int32 counterDescLength, [OutAttribute, CountAttribute(Parameter = "counterDescLength")] out String counterDesc, [OutAttribute] Int32* counterOffset, [OutAttribute] Int32* counterDataSize, [OutAttribute] Int32* counterTypeEnum, [OutAttribute] Int32* counterDataTypeEnum, [OutAttribute] Int64* rawCounterMaxValue) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryId"></param>
             /// <param name="counterId"></param>
             /// <param name="counterNameLength"></param>
-            /// <param name="counterName"></param>
+            /// <param name="counterName">[length: counterNameLength]</param>
             /// <param name="counterDescLength"></param>
-            /// <param name="counterDesc"></param>
+            /// <param name="counterDesc">[length: counterDescLength]</param>
             /// <param name="counterOffset"></param>
             /// <param name="counterDataSize"></param>
             /// <param name="counterTypeEnum"></param>
@@ -33099,15 +33099,15 @@ namespace OpenTK.Graphics.ES20
             /// <param name="rawCounterMaxValue"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfCounterInfoINTEL")]
             [CLSCompliant(false)]
-            public static void GetPerfCounterInfo(UInt32 queryId, UInt32 counterId, UInt32 counterNameLength, [OutAttribute] out String counterName, UInt32 counterDescLength, [OutAttribute] out String counterDesc, [OutAttribute] UInt32[] counterOffset, [OutAttribute] UInt32[] counterDataSize, [OutAttribute] UInt32[] counterTypeEnum, [OutAttribute] UInt32[] counterDataTypeEnum, [OutAttribute] UInt64[] rawCounterMaxValue) { throw new BindingsNotRewrittenException(); }
+            public static void GetPerfCounterInfo(UInt32 queryId, UInt32 counterId, UInt32 counterNameLength, [OutAttribute, CountAttribute(Parameter = "counterNameLength")] out String counterName, UInt32 counterDescLength, [OutAttribute, CountAttribute(Parameter = "counterDescLength")] out String counterDesc, [OutAttribute] UInt32[] counterOffset, [OutAttribute] UInt32[] counterDataSize, [OutAttribute] UInt32[] counterTypeEnum, [OutAttribute] UInt32[] counterDataTypeEnum, [OutAttribute] UInt64[] rawCounterMaxValue) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryId"></param>
             /// <param name="counterId"></param>
             /// <param name="counterNameLength"></param>
-            /// <param name="counterName"></param>
+            /// <param name="counterName">[length: counterNameLength]</param>
             /// <param name="counterDescLength"></param>
-            /// <param name="counterDesc"></param>
+            /// <param name="counterDesc">[length: counterDescLength]</param>
             /// <param name="counterOffset"></param>
             /// <param name="counterDataSize"></param>
             /// <param name="counterTypeEnum"></param>
@@ -33115,15 +33115,15 @@ namespace OpenTK.Graphics.ES20
             /// <param name="rawCounterMaxValue"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfCounterInfoINTEL")]
             [CLSCompliant(false)]
-            public static void GetPerfCounterInfo(UInt32 queryId, UInt32 counterId, UInt32 counterNameLength, [OutAttribute] out String counterName, UInt32 counterDescLength, [OutAttribute] out String counterDesc, [OutAttribute] out UInt32 counterOffset, [OutAttribute] out UInt32 counterDataSize, [OutAttribute] out UInt32 counterTypeEnum, [OutAttribute] out UInt32 counterDataTypeEnum, [OutAttribute] out UInt64 rawCounterMaxValue) { throw new BindingsNotRewrittenException(); }
+            public static void GetPerfCounterInfo(UInt32 queryId, UInt32 counterId, UInt32 counterNameLength, [OutAttribute, CountAttribute(Parameter = "counterNameLength")] out String counterName, UInt32 counterDescLength, [OutAttribute, CountAttribute(Parameter = "counterDescLength")] out String counterDesc, [OutAttribute] out UInt32 counterOffset, [OutAttribute] out UInt32 counterDataSize, [OutAttribute] out UInt32 counterTypeEnum, [OutAttribute] out UInt32 counterDataTypeEnum, [OutAttribute] out UInt64 rawCounterMaxValue) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryId"></param>
             /// <param name="counterId"></param>
             /// <param name="counterNameLength"></param>
-            /// <param name="counterName"></param>
+            /// <param name="counterName">[length: counterNameLength]</param>
             /// <param name="counterDescLength"></param>
-            /// <param name="counterDesc"></param>
+            /// <param name="counterDesc">[length: counterDescLength]</param>
             /// <param name="counterOffset"></param>
             /// <param name="counterDataSize"></param>
             /// <param name="counterTypeEnum"></param>
@@ -33131,7 +33131,7 @@ namespace OpenTK.Graphics.ES20
             /// <param name="rawCounterMaxValue"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfCounterInfoINTEL")]
             [CLSCompliant(false)]
-            public static unsafe void GetPerfCounterInfo(UInt32 queryId, UInt32 counterId, UInt32 counterNameLength, [OutAttribute] out String counterName, UInt32 counterDescLength, [OutAttribute] out String counterDesc, [OutAttribute] UInt32* counterOffset, [OutAttribute] UInt32* counterDataSize, [OutAttribute] UInt32* counterTypeEnum, [OutAttribute] UInt32* counterDataTypeEnum, [OutAttribute] UInt64* rawCounterMaxValue) { throw new BindingsNotRewrittenException(); }
+            public static unsafe void GetPerfCounterInfo(UInt32 queryId, UInt32 counterId, UInt32 counterNameLength, [OutAttribute, CountAttribute(Parameter = "counterNameLength")] out String counterName, UInt32 counterDescLength, [OutAttribute, CountAttribute(Parameter = "counterDescLength")] out String counterDesc, [OutAttribute] UInt32* counterOffset, [OutAttribute] UInt32* counterDataSize, [OutAttribute] UInt32* counterTypeEnum, [OutAttribute] UInt32* counterDataTypeEnum, [OutAttribute] UInt64* rawCounterMaxValue) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryHandle"></param>
@@ -33485,121 +33485,121 @@ namespace OpenTK.Graphics.ES20
             /// <param name="queryName"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfQueryIdByNameINTEL")]
             [CLSCompliant(false)]
-            public static Int32 GetPerfQueryIdByName([OutAttribute] out String queryName) { throw new BindingsNotRewrittenException(); }
+            public static Int32 GetPerfQueryIdByName(String queryName) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryName"></param>
             /// <param name="queryId"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfQueryIdByNameINTEL")]
             [CLSCompliant(false)]
-            public static void GetPerfQueryIdByName([OutAttribute] out String queryName, [OutAttribute] Int32[] queryId) { throw new BindingsNotRewrittenException(); }
+            public static void GetPerfQueryIdByName(String queryName, [OutAttribute] Int32[] queryId) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryName"></param>
             /// <param name="queryId"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfQueryIdByNameINTEL")]
             [CLSCompliant(false)]
-            public static void GetPerfQueryIdByName([OutAttribute] out String queryName, [OutAttribute] out Int32 queryId) { throw new BindingsNotRewrittenException(); }
+            public static void GetPerfQueryIdByName(String queryName, [OutAttribute] out Int32 queryId) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryName"></param>
             /// <param name="queryId"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfQueryIdByNameINTEL")]
             [CLSCompliant(false)]
-            public static unsafe void GetPerfQueryIdByName([OutAttribute] out String queryName, [OutAttribute] Int32* queryId) { throw new BindingsNotRewrittenException(); }
+            public static unsafe void GetPerfQueryIdByName(String queryName, [OutAttribute] Int32* queryId) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryName"></param>
             /// <param name="queryId"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfQueryIdByNameINTEL")]
             [CLSCompliant(false)]
-            public static void GetPerfQueryIdByName([OutAttribute] out String queryName, [OutAttribute] UInt32[] queryId) { throw new BindingsNotRewrittenException(); }
+            public static void GetPerfQueryIdByName(String queryName, [OutAttribute] UInt32[] queryId) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryName"></param>
             /// <param name="queryId"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfQueryIdByNameINTEL")]
             [CLSCompliant(false)]
-            public static void GetPerfQueryIdByName([OutAttribute] out String queryName, [OutAttribute] out UInt32 queryId) { throw new BindingsNotRewrittenException(); }
+            public static void GetPerfQueryIdByName(String queryName, [OutAttribute] out UInt32 queryId) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryName"></param>
             /// <param name="queryId"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfQueryIdByNameINTEL")]
             [CLSCompliant(false)]
-            public static unsafe void GetPerfQueryIdByName([OutAttribute] out String queryName, [OutAttribute] UInt32* queryId) { throw new BindingsNotRewrittenException(); }
+            public static unsafe void GetPerfQueryIdByName(String queryName, [OutAttribute] UInt32* queryId) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryId"></param>
             /// <param name="queryNameLength"></param>
-            /// <param name="queryName"></param>
+            /// <param name="queryName">[length: queryNameLength]</param>
             /// <param name="dataSize"></param>
             /// <param name="noCounters"></param>
             /// <param name="noInstances"></param>
             /// <param name="capsMask"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfQueryInfoINTEL")]
             [CLSCompliant(false)]
-            public static void GetPerfQueryInfo(Int32 queryId, Int32 queryNameLength, [OutAttribute] out String queryName, [OutAttribute] Int32[] dataSize, [OutAttribute] Int32[] noCounters, [OutAttribute] Int32[] noInstances, [OutAttribute] Int32[] capsMask) { throw new BindingsNotRewrittenException(); }
+            public static void GetPerfQueryInfo(Int32 queryId, Int32 queryNameLength, [OutAttribute, CountAttribute(Parameter = "queryNameLength")] out String queryName, [OutAttribute] Int32[] dataSize, [OutAttribute] Int32[] noCounters, [OutAttribute] Int32[] noInstances, [OutAttribute] Int32[] capsMask) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryId"></param>
             /// <param name="queryNameLength"></param>
-            /// <param name="queryName"></param>
+            /// <param name="queryName">[length: queryNameLength]</param>
             /// <param name="dataSize"></param>
             /// <param name="noCounters"></param>
             /// <param name="noInstances"></param>
             /// <param name="capsMask"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfQueryInfoINTEL")]
             [CLSCompliant(false)]
-            public static void GetPerfQueryInfo(Int32 queryId, Int32 queryNameLength, [OutAttribute] out String queryName, [OutAttribute] out Int32 dataSize, [OutAttribute] out Int32 noCounters, [OutAttribute] out Int32 noInstances, [OutAttribute] out Int32 capsMask) { throw new BindingsNotRewrittenException(); }
+            public static void GetPerfQueryInfo(Int32 queryId, Int32 queryNameLength, [OutAttribute, CountAttribute(Parameter = "queryNameLength")] out String queryName, [OutAttribute] out Int32 dataSize, [OutAttribute] out Int32 noCounters, [OutAttribute] out Int32 noInstances, [OutAttribute] out Int32 capsMask) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryId"></param>
             /// <param name="queryNameLength"></param>
-            /// <param name="queryName"></param>
+            /// <param name="queryName">[length: queryNameLength]</param>
             /// <param name="dataSize"></param>
             /// <param name="noCounters"></param>
             /// <param name="noInstances"></param>
             /// <param name="capsMask"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfQueryInfoINTEL")]
             [CLSCompliant(false)]
-            public static unsafe void GetPerfQueryInfo(Int32 queryId, Int32 queryNameLength, [OutAttribute] out String queryName, [OutAttribute] Int32* dataSize, [OutAttribute] Int32* noCounters, [OutAttribute] Int32* noInstances, [OutAttribute] Int32* capsMask) { throw new BindingsNotRewrittenException(); }
+            public static unsafe void GetPerfQueryInfo(Int32 queryId, Int32 queryNameLength, [OutAttribute, CountAttribute(Parameter = "queryNameLength")] out String queryName, [OutAttribute] Int32* dataSize, [OutAttribute] Int32* noCounters, [OutAttribute] Int32* noInstances, [OutAttribute] Int32* capsMask) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryId"></param>
             /// <param name="queryNameLength"></param>
-            /// <param name="queryName"></param>
+            /// <param name="queryName">[length: queryNameLength]</param>
             /// <param name="dataSize"></param>
             /// <param name="noCounters"></param>
             /// <param name="noInstances"></param>
             /// <param name="capsMask"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfQueryInfoINTEL")]
             [CLSCompliant(false)]
-            public static void GetPerfQueryInfo(UInt32 queryId, UInt32 queryNameLength, [OutAttribute] out String queryName, [OutAttribute] UInt32[] dataSize, [OutAttribute] UInt32[] noCounters, [OutAttribute] UInt32[] noInstances, [OutAttribute] UInt32[] capsMask) { throw new BindingsNotRewrittenException(); }
+            public static void GetPerfQueryInfo(UInt32 queryId, UInt32 queryNameLength, [OutAttribute, CountAttribute(Parameter = "queryNameLength")] out String queryName, [OutAttribute] UInt32[] dataSize, [OutAttribute] UInt32[] noCounters, [OutAttribute] UInt32[] noInstances, [OutAttribute] UInt32[] capsMask) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryId"></param>
             /// <param name="queryNameLength"></param>
-            /// <param name="queryName"></param>
+            /// <param name="queryName">[length: queryNameLength]</param>
             /// <param name="dataSize"></param>
             /// <param name="noCounters"></param>
             /// <param name="noInstances"></param>
             /// <param name="capsMask"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfQueryInfoINTEL")]
             [CLSCompliant(false)]
-            public static void GetPerfQueryInfo(UInt32 queryId, UInt32 queryNameLength, [OutAttribute] out String queryName, [OutAttribute] out UInt32 dataSize, [OutAttribute] out UInt32 noCounters, [OutAttribute] out UInt32 noInstances, [OutAttribute] out UInt32 capsMask) { throw new BindingsNotRewrittenException(); }
+            public static void GetPerfQueryInfo(UInt32 queryId, UInt32 queryNameLength, [OutAttribute, CountAttribute(Parameter = "queryNameLength")] out String queryName, [OutAttribute] out UInt32 dataSize, [OutAttribute] out UInt32 noCounters, [OutAttribute] out UInt32 noInstances, [OutAttribute] out UInt32 capsMask) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryId"></param>
             /// <param name="queryNameLength"></param>
-            /// <param name="queryName"></param>
+            /// <param name="queryName">[length: queryNameLength]</param>
             /// <param name="dataSize"></param>
             /// <param name="noCounters"></param>
             /// <param name="noInstances"></param>
             /// <param name="capsMask"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfQueryInfoINTEL")]
             [CLSCompliant(false)]
-            public static unsafe void GetPerfQueryInfo(UInt32 queryId, UInt32 queryNameLength, [OutAttribute] out String queryName, [OutAttribute] UInt32* dataSize, [OutAttribute] UInt32* noCounters, [OutAttribute] UInt32* noInstances, [OutAttribute] UInt32* capsMask) { throw new BindingsNotRewrittenException(); }
+            public static unsafe void GetPerfQueryInfo(UInt32 queryId, UInt32 queryNameLength, [OutAttribute, CountAttribute(Parameter = "queryNameLength")] out String queryName, [OutAttribute] UInt32* dataSize, [OutAttribute] UInt32* noCounters, [OutAttribute] UInt32* noInstances, [OutAttribute] UInt32* capsMask) { throw new BindingsNotRewrittenException(); }
 
         }
 
@@ -52846,56 +52846,56 @@ namespace OpenTK.Graphics.ES20
             /// <summary>[requires: QCOM_extended_get2]</summary>
             /// <param name="program"></param>
             /// <param name="shadertype"></param>
-            /// <param name="source"></param>
+            /// <param name="source">[length: *length]</param>
             /// <param name="length"></param>
             [AutoGenerated(Category = "QCOM_extended_get2", Version = "", EntryPoint = "glExtGetProgramBinarySourceQCOM")]
             [CLSCompliant(false)]
-            public static void ExtGetProgramBinarySource(Int32 program, OpenTK.Graphics.ES20.All shadertype, [OutAttribute] out String source, [OutAttribute] Int32[] length) { throw new BindingsNotRewrittenException(); }
+            public static void ExtGetProgramBinarySource(Int32 program, OpenTK.Graphics.ES20.All shadertype, [OutAttribute, CountAttribute(Parameter = "*length")] out String source, [OutAttribute] Int32[] length) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: QCOM_extended_get2]</summary>
             /// <param name="program"></param>
             /// <param name="shadertype"></param>
-            /// <param name="source"></param>
+            /// <param name="source">[length: *length]</param>
             /// <param name="length"></param>
             [AutoGenerated(Category = "QCOM_extended_get2", Version = "", EntryPoint = "glExtGetProgramBinarySourceQCOM")]
             [CLSCompliant(false)]
-            public static void ExtGetProgramBinarySource(Int32 program, OpenTK.Graphics.ES20.All shadertype, [OutAttribute] out String source, [OutAttribute] out Int32 length) { throw new BindingsNotRewrittenException(); }
+            public static void ExtGetProgramBinarySource(Int32 program, OpenTK.Graphics.ES20.All shadertype, [OutAttribute, CountAttribute(Parameter = "*length")] out String source, [OutAttribute] out Int32 length) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: QCOM_extended_get2]</summary>
             /// <param name="program"></param>
             /// <param name="shadertype"></param>
-            /// <param name="source"></param>
+            /// <param name="source">[length: *length]</param>
             /// <param name="length"></param>
             [AutoGenerated(Category = "QCOM_extended_get2", Version = "", EntryPoint = "glExtGetProgramBinarySourceQCOM")]
             [CLSCompliant(false)]
-            public static unsafe void ExtGetProgramBinarySource(Int32 program, OpenTK.Graphics.ES20.All shadertype, [OutAttribute] out String source, [OutAttribute] Int32* length) { throw new BindingsNotRewrittenException(); }
+            public static unsafe void ExtGetProgramBinarySource(Int32 program, OpenTK.Graphics.ES20.All shadertype, [OutAttribute, CountAttribute(Parameter = "*length")] out String source, [OutAttribute] Int32* length) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: QCOM_extended_get2]</summary>
             /// <param name="program"></param>
             /// <param name="shadertype"></param>
-            /// <param name="source"></param>
+            /// <param name="source">[length: *length]</param>
             /// <param name="length"></param>
             [AutoGenerated(Category = "QCOM_extended_get2", Version = "", EntryPoint = "glExtGetProgramBinarySourceQCOM")]
             [CLSCompliant(false)]
-            public static void ExtGetProgramBinarySource(UInt32 program, OpenTK.Graphics.ES20.All shadertype, [OutAttribute] out String source, [OutAttribute] Int32[] length) { throw new BindingsNotRewrittenException(); }
+            public static void ExtGetProgramBinarySource(UInt32 program, OpenTK.Graphics.ES20.All shadertype, [OutAttribute, CountAttribute(Parameter = "*length")] out String source, [OutAttribute] Int32[] length) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: QCOM_extended_get2]</summary>
             /// <param name="program"></param>
             /// <param name="shadertype"></param>
-            /// <param name="source"></param>
+            /// <param name="source">[length: *length]</param>
             /// <param name="length"></param>
             [AutoGenerated(Category = "QCOM_extended_get2", Version = "", EntryPoint = "glExtGetProgramBinarySourceQCOM")]
             [CLSCompliant(false)]
-            public static void ExtGetProgramBinarySource(UInt32 program, OpenTK.Graphics.ES20.All shadertype, [OutAttribute] out String source, [OutAttribute] out Int32 length) { throw new BindingsNotRewrittenException(); }
+            public static void ExtGetProgramBinarySource(UInt32 program, OpenTK.Graphics.ES20.All shadertype, [OutAttribute, CountAttribute(Parameter = "*length")] out String source, [OutAttribute] out Int32 length) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: QCOM_extended_get2]</summary>
             /// <param name="program"></param>
             /// <param name="shadertype"></param>
-            /// <param name="source"></param>
+            /// <param name="source">[length: *length]</param>
             /// <param name="length"></param>
             [AutoGenerated(Category = "QCOM_extended_get2", Version = "", EntryPoint = "glExtGetProgramBinarySourceQCOM")]
             [CLSCompliant(false)]
-            public static unsafe void ExtGetProgramBinarySource(UInt32 program, OpenTK.Graphics.ES20.All shadertype, [OutAttribute] out String source, [OutAttribute] Int32* length) { throw new BindingsNotRewrittenException(); }
+            public static unsafe void ExtGetProgramBinarySource(UInt32 program, OpenTK.Graphics.ES20.All shadertype, [OutAttribute, CountAttribute(Parameter = "*length")] out String source, [OutAttribute] Int32* length) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: QCOM_extended_get2]</summary>
             /// <param name="programs">[length: maxPrograms]</param>
@@ -53546,7 +53546,7 @@ namespace OpenTK.Graphics.ES20
         private static extern void glDrawElementsInstancedANGLE(System.Int32 mode, Int32 count, System.Int32 type, [CountAttribute(Computed = "count,type")] IntPtr indices, Int32 primcount);
         [Slot(308)]
         [DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
-        private static extern unsafe void glGetTranslatedShaderSourceANGLE(UInt32 shader, Int32 bufsize, [OutAttribute, CountAttribute(Count = 1)] Int32* length, [OutAttribute] IntPtr source);
+        private static extern unsafe void glGetTranslatedShaderSourceANGLE(UInt32 shader, Int32 bufsize, [OutAttribute, CountAttribute(Count = 1)] Int32* length, [OutAttribute, CountAttribute(Parameter = "bufsize")] IntPtr source);
         [Slot(482)]
         [DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
         private static extern void glRenderbufferStorageMultisampleANGLE(System.Int32 target, Int32 samples, System.Int32 internalformat, Int32 width, Int32 height);
@@ -54626,16 +54626,16 @@ namespace OpenTK.Graphics.ES20
         private static extern unsafe void glGetNextPerfQueryIdINTEL(UInt32 queryId, [OutAttribute] UInt32* nextQueryId);
         [Slot(262)]
         [DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
-        private static extern unsafe void glGetPerfCounterInfoINTEL(UInt32 queryId, UInt32 counterId, UInt32 counterNameLength, [OutAttribute] IntPtr counterName, UInt32 counterDescLength, [OutAttribute] IntPtr counterDesc, [OutAttribute] UInt32* counterOffset, [OutAttribute] UInt32* counterDataSize, [OutAttribute] UInt32* counterTypeEnum, [OutAttribute] UInt32* counterDataTypeEnum, [OutAttribute] UInt64* rawCounterMaxValue);
+        private static extern unsafe void glGetPerfCounterInfoINTEL(UInt32 queryId, UInt32 counterId, UInt32 counterNameLength, [OutAttribute, CountAttribute(Parameter = "counterNameLength")] IntPtr counterName, UInt32 counterDescLength, [OutAttribute, CountAttribute(Parameter = "counterDescLength")] IntPtr counterDesc, [OutAttribute] UInt32* counterOffset, [OutAttribute] UInt32* counterDataSize, [OutAttribute] UInt32* counterTypeEnum, [OutAttribute] UInt32* counterDataTypeEnum, [OutAttribute] UInt64* rawCounterMaxValue);
         [Slot(269)]
         [DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
         private static extern unsafe void glGetPerfQueryDataINTEL(UInt32 queryHandle, UInt32 flags, Int32 dataSize, [OutAttribute] IntPtr data, [OutAttribute] UInt32* bytesWritten);
         [Slot(270)]
         [DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
-        private static extern unsafe void glGetPerfQueryIdByNameINTEL([OutAttribute] IntPtr queryName, [OutAttribute] UInt32* queryId);
+        private static extern unsafe void glGetPerfQueryIdByNameINTEL(IntPtr queryName, [OutAttribute] UInt32* queryId);
         [Slot(271)]
         [DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
-        private static extern unsafe void glGetPerfQueryInfoINTEL(UInt32 queryId, UInt32 queryNameLength, [OutAttribute] IntPtr queryName, [OutAttribute] UInt32* dataSize, [OutAttribute] UInt32* noCounters, [OutAttribute] UInt32* noInstances, [OutAttribute] UInt32* capsMask);
+        private static extern unsafe void glGetPerfQueryInfoINTEL(UInt32 queryId, UInt32 queryNameLength, [OutAttribute, CountAttribute(Parameter = "queryNameLength")] IntPtr queryName, [OutAttribute] UInt32* dataSize, [OutAttribute] UInt32* noCounters, [OutAttribute] UInt32* noInstances, [OutAttribute] UInt32* capsMask);
         [Slot(20)]
         [DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
         private static extern void glBlendBarrierKHR();
@@ -55376,7 +55376,7 @@ namespace OpenTK.Graphics.ES20
         private static extern unsafe void glExtGetFramebuffersQCOM([OutAttribute, CountAttribute(Parameter = "maxFramebuffers")] UInt32* framebuffers, Int32 maxFramebuffers, [OutAttribute, CountAttribute(Count = 1)] Int32* numFramebuffers);
         [Slot(161)]
         [DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
-        private static extern unsafe void glExtGetProgramBinarySourceQCOM(UInt32 program, System.Int32 shadertype, [OutAttribute] IntPtr source, [OutAttribute] Int32* length);
+        private static extern unsafe void glExtGetProgramBinarySourceQCOM(UInt32 program, System.Int32 shadertype, [OutAttribute, CountAttribute(Parameter = "*length")] IntPtr source, [OutAttribute] Int32* length);
         [Slot(162)]
         [DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
         private static extern unsafe void glExtGetProgramsQCOM([OutAttribute, CountAttribute(Parameter = "maxPrograms")] UInt32* programs, Int32 maxPrograms, [OutAttribute, CountAttribute(Count = 1)] Int32* numPrograms);
index 2c0c275..74f0545 100644 (file)
@@ -2427,57 +2427,57 @@ namespace OpenTK.Graphics.ES30
             /// <param name="shader"></param>
             /// <param name="bufsize"></param>
             /// <param name="length">[length: 1]</param>
-            /// <param name="source"></param>
+            /// <param name="source">[length: bufsize]</param>
             [Obsolete("Use out overload instead")]
             [AutoGenerated(Category = "ANGLE_translated_shader_source", Version = "", EntryPoint = "glGetTranslatedShaderSourceANGLE")]
             [CLSCompliant(false)]
-            public static void GetTranslatedShaderSource(Int32 shader, Int32 bufsize, [OutAttribute, CountAttribute(Count = 1)] Int32[] length, [OutAttribute] out String source) { throw new BindingsNotRewrittenException(); }
+            public static void GetTranslatedShaderSource(Int32 shader, Int32 bufsize, [OutAttribute, CountAttribute(Count = 1)] Int32[] length, [OutAttribute, CountAttribute(Parameter = "bufsize")] out String source) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: ANGLE_translated_shader_source]</summary>
             /// <param name="shader"></param>
             /// <param name="bufsize"></param>
             /// <param name="length">[length: 1]</param>
-            /// <param name="source"></param>
+            /// <param name="source">[length: bufsize]</param>
             [AutoGenerated(Category = "ANGLE_translated_shader_source", Version = "", EntryPoint = "glGetTranslatedShaderSourceANGLE")]
             [CLSCompliant(false)]
-            public static void GetTranslatedShaderSource(Int32 shader, Int32 bufsize, [OutAttribute, CountAttribute(Count = 1)] out Int32 length, [OutAttribute] out String source) { throw new BindingsNotRewrittenException(); }
+            public static void GetTranslatedShaderSource(Int32 shader, Int32 bufsize, [OutAttribute, CountAttribute(Count = 1)] out Int32 length, [OutAttribute, CountAttribute(Parameter = "bufsize")] out String source) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: ANGLE_translated_shader_source]</summary>
             /// <param name="shader"></param>
             /// <param name="bufsize"></param>
             /// <param name="length">[length: 1]</param>
-            /// <param name="source"></param>
+            /// <param name="source">[length: bufsize]</param>
             [AutoGenerated(Category = "ANGLE_translated_shader_source", Version = "", EntryPoint = "glGetTranslatedShaderSourceANGLE")]
             [CLSCompliant(false)]
-            public static unsafe void GetTranslatedShaderSource(Int32 shader, Int32 bufsize, [OutAttribute, CountAttribute(Count = 1)] Int32* length, [OutAttribute] out String source) { throw new BindingsNotRewrittenException(); }
+            public static unsafe void GetTranslatedShaderSource(Int32 shader, Int32 bufsize, [OutAttribute, CountAttribute(Count = 1)] Int32* length, [OutAttribute, CountAttribute(Parameter = "bufsize")] out String source) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: ANGLE_translated_shader_source]</summary>
             /// <param name="shader"></param>
             /// <param name="bufsize"></param>
             /// <param name="length">[length: 1]</param>
-            /// <param name="source"></param>
+            /// <param name="source">[length: bufsize]</param>
             [Obsolete("Use out overload instead")]
             [AutoGenerated(Category = "ANGLE_translated_shader_source", Version = "", EntryPoint = "glGetTranslatedShaderSourceANGLE")]
             [CLSCompliant(false)]
-            public static void GetTranslatedShaderSource(UInt32 shader, Int32 bufsize, [OutAttribute, CountAttribute(Count = 1)] Int32[] length, [OutAttribute] out String source) { throw new BindingsNotRewrittenException(); }
+            public static void GetTranslatedShaderSource(UInt32 shader, Int32 bufsize, [OutAttribute, CountAttribute(Count = 1)] Int32[] length, [OutAttribute, CountAttribute(Parameter = "bufsize")] out String source) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: ANGLE_translated_shader_source]</summary>
             /// <param name="shader"></param>
             /// <param name="bufsize"></param>
             /// <param name="length">[length: 1]</param>
-            /// <param name="source"></param>
+            /// <param name="source">[length: bufsize]</param>
             [AutoGenerated(Category = "ANGLE_translated_shader_source", Version = "", EntryPoint = "glGetTranslatedShaderSourceANGLE")]
             [CLSCompliant(false)]
-            public static void GetTranslatedShaderSource(UInt32 shader, Int32 bufsize, [OutAttribute, CountAttribute(Count = 1)] out Int32 length, [OutAttribute] out String source) { throw new BindingsNotRewrittenException(); }
+            public static void GetTranslatedShaderSource(UInt32 shader, Int32 bufsize, [OutAttribute, CountAttribute(Count = 1)] out Int32 length, [OutAttribute, CountAttribute(Parameter = "bufsize")] out String source) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: ANGLE_translated_shader_source]</summary>
             /// <param name="shader"></param>
             /// <param name="bufsize"></param>
             /// <param name="length">[length: 1]</param>
-            /// <param name="source"></param>
+            /// <param name="source">[length: bufsize]</param>
             [AutoGenerated(Category = "ANGLE_translated_shader_source", Version = "", EntryPoint = "glGetTranslatedShaderSourceANGLE")]
             [CLSCompliant(false)]
-            public static unsafe void GetTranslatedShaderSource(UInt32 shader, Int32 bufsize, [OutAttribute, CountAttribute(Count = 1)] Int32* length, [OutAttribute] out String source) { throw new BindingsNotRewrittenException(); }
+            public static unsafe void GetTranslatedShaderSource(UInt32 shader, Int32 bufsize, [OutAttribute, CountAttribute(Count = 1)] Int32* length, [OutAttribute, CountAttribute(Parameter = "bufsize")] out String source) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: ANGLE_framebuffer_multisample]
             /// Establish data storage, format, dimensions and sample count of a renderbuffer object's image
@@ -41438,9 +41438,9 @@ namespace OpenTK.Graphics.ES30
             /// <param name="queryId"></param>
             /// <param name="counterId"></param>
             /// <param name="counterNameLength"></param>
-            /// <param name="counterName"></param>
+            /// <param name="counterName">[length: counterNameLength]</param>
             /// <param name="counterDescLength"></param>
-            /// <param name="counterDesc"></param>
+            /// <param name="counterDesc">[length: counterDescLength]</param>
             /// <param name="counterOffset"></param>
             /// <param name="counterDataSize"></param>
             /// <param name="counterTypeEnum"></param>
@@ -41448,15 +41448,15 @@ namespace OpenTK.Graphics.ES30
             /// <param name="rawCounterMaxValue"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfCounterInfoINTEL")]
             [CLSCompliant(false)]
-            public static void GetPerfCounterInfo(Int32 queryId, Int32 counterId, Int32 counterNameLength, [OutAttribute] out String counterName, Int32 counterDescLength, [OutAttribute] out String counterDesc, [OutAttribute] Int32[] counterOffset, [OutAttribute] Int32[] counterDataSize, [OutAttribute] Int32[] counterTypeEnum, [OutAttribute] Int32[] counterDataTypeEnum, [OutAttribute] Int64[] rawCounterMaxValue) { throw new BindingsNotRewrittenException(); }
+            public static void GetPerfCounterInfo(Int32 queryId, Int32 counterId, Int32 counterNameLength, [OutAttribute, CountAttribute(Parameter = "counterNameLength")] out String counterName, Int32 counterDescLength, [OutAttribute, CountAttribute(Parameter = "counterDescLength")] out String counterDesc, [OutAttribute] Int32[] counterOffset, [OutAttribute] Int32[] counterDataSize, [OutAttribute] Int32[] counterTypeEnum, [OutAttribute] Int32[] counterDataTypeEnum, [OutAttribute] Int64[] rawCounterMaxValue) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryId"></param>
             /// <param name="counterId"></param>
             /// <param name="counterNameLength"></param>
-            /// <param name="counterName"></param>
+            /// <param name="counterName">[length: counterNameLength]</param>
             /// <param name="counterDescLength"></param>
-            /// <param name="counterDesc"></param>
+            /// <param name="counterDesc">[length: counterDescLength]</param>
             /// <param name="counterOffset"></param>
             /// <param name="counterDataSize"></param>
             /// <param name="counterTypeEnum"></param>
@@ -41464,15 +41464,15 @@ namespace OpenTK.Graphics.ES30
             /// <param name="rawCounterMaxValue"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfCounterInfoINTEL")]
             [CLSCompliant(false)]
-            public static void GetPerfCounterInfo(Int32 queryId, Int32 counterId, Int32 counterNameLength, [OutAttribute] out String counterName, Int32 counterDescLength, [OutAttribute] out String counterDesc, [OutAttribute] out Int32 counterOffset, [OutAttribute] out Int32 counterDataSize, [OutAttribute] out Int32 counterTypeEnum, [OutAttribute] out Int32 counterDataTypeEnum, [OutAttribute] out Int64 rawCounterMaxValue) { throw new BindingsNotRewrittenException(); }
+            public static void GetPerfCounterInfo(Int32 queryId, Int32 counterId, Int32 counterNameLength, [OutAttribute, CountAttribute(Parameter = "counterNameLength")] out String counterName, Int32 counterDescLength, [OutAttribute, CountAttribute(Parameter = "counterDescLength")] out String counterDesc, [OutAttribute] out Int32 counterOffset, [OutAttribute] out Int32 counterDataSize, [OutAttribute] out Int32 counterTypeEnum, [OutAttribute] out Int32 counterDataTypeEnum, [OutAttribute] out Int64 rawCounterMaxValue) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryId"></param>
             /// <param name="counterId"></param>
             /// <param name="counterNameLength"></param>
-            /// <param name="counterName"></param>
+            /// <param name="counterName">[length: counterNameLength]</param>
             /// <param name="counterDescLength"></param>
-            /// <param name="counterDesc"></param>
+            /// <param name="counterDesc">[length: counterDescLength]</param>
             /// <param name="counterOffset"></param>
             /// <param name="counterDataSize"></param>
             /// <param name="counterTypeEnum"></param>
@@ -41480,15 +41480,15 @@ namespace OpenTK.Graphics.ES30
             /// <param name="rawCounterMaxValue"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfCounterInfoINTEL")]
             [CLSCompliant(false)]
-            public static unsafe void GetPerfCounterInfo(Int32 queryId, Int32 counterId, Int32 counterNameLength, [OutAttribute] out String counterName, Int32 counterDescLength, [OutAttribute] out String counterDesc, [OutAttribute] Int32* counterOffset, [OutAttribute] Int32* counterDataSize, [OutAttribute] Int32* counterTypeEnum, [OutAttribute] Int32* counterDataTypeEnum, [OutAttribute] Int64* rawCounterMaxValue) { throw new BindingsNotRewrittenException(); }
+            public static unsafe void GetPerfCounterInfo(Int32 queryId, Int32 counterId, Int32 counterNameLength, [OutAttribute, CountAttribute(Parameter = "counterNameLength")] out String counterName, Int32 counterDescLength, [OutAttribute, CountAttribute(Parameter = "counterDescLength")] out String counterDesc, [OutAttribute] Int32* counterOffset, [OutAttribute] Int32* counterDataSize, [OutAttribute] Int32* counterTypeEnum, [OutAttribute] Int32* counterDataTypeEnum, [OutAttribute] Int64* rawCounterMaxValue) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryId"></param>
             /// <param name="counterId"></param>
             /// <param name="counterNameLength"></param>
-            /// <param name="counterName"></param>
+            /// <param name="counterName">[length: counterNameLength]</param>
             /// <param name="counterDescLength"></param>
-            /// <param name="counterDesc"></param>
+            /// <param name="counterDesc">[length: counterDescLength]</param>
             /// <param name="counterOffset"></param>
             /// <param name="counterDataSize"></param>
             /// <param name="counterTypeEnum"></param>
@@ -41496,15 +41496,15 @@ namespace OpenTK.Graphics.ES30
             /// <param name="rawCounterMaxValue"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfCounterInfoINTEL")]
             [CLSCompliant(false)]
-            public static void GetPerfCounterInfo(UInt32 queryId, UInt32 counterId, UInt32 counterNameLength, [OutAttribute] out String counterName, UInt32 counterDescLength, [OutAttribute] out String counterDesc, [OutAttribute] UInt32[] counterOffset, [OutAttribute] UInt32[] counterDataSize, [OutAttribute] UInt32[] counterTypeEnum, [OutAttribute] UInt32[] counterDataTypeEnum, [OutAttribute] UInt64[] rawCounterMaxValue) { throw new BindingsNotRewrittenException(); }
+            public static void GetPerfCounterInfo(UInt32 queryId, UInt32 counterId, UInt32 counterNameLength, [OutAttribute, CountAttribute(Parameter = "counterNameLength")] out String counterName, UInt32 counterDescLength, [OutAttribute, CountAttribute(Parameter = "counterDescLength")] out String counterDesc, [OutAttribute] UInt32[] counterOffset, [OutAttribute] UInt32[] counterDataSize, [OutAttribute] UInt32[] counterTypeEnum, [OutAttribute] UInt32[] counterDataTypeEnum, [OutAttribute] UInt64[] rawCounterMaxValue) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryId"></param>
             /// <param name="counterId"></param>
             /// <param name="counterNameLength"></param>
-            /// <param name="counterName"></param>
+            /// <param name="counterName">[length: counterNameLength]</param>
             /// <param name="counterDescLength"></param>
-            /// <param name="counterDesc"></param>
+            /// <param name="counterDesc">[length: counterDescLength]</param>
             /// <param name="counterOffset"></param>
             /// <param name="counterDataSize"></param>
             /// <param name="counterTypeEnum"></param>
@@ -41512,15 +41512,15 @@ namespace OpenTK.Graphics.ES30
             /// <param name="rawCounterMaxValue"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfCounterInfoINTEL")]
             [CLSCompliant(false)]
-            public static void GetPerfCounterInfo(UInt32 queryId, UInt32 counterId, UInt32 counterNameLength, [OutAttribute] out String counterName, UInt32 counterDescLength, [OutAttribute] out String counterDesc, [OutAttribute] out UInt32 counterOffset, [OutAttribute] out UInt32 counterDataSize, [OutAttribute] out UInt32 counterTypeEnum, [OutAttribute] out UInt32 counterDataTypeEnum, [OutAttribute] out UInt64 rawCounterMaxValue) { throw new BindingsNotRewrittenException(); }
+            public static void GetPerfCounterInfo(UInt32 queryId, UInt32 counterId, UInt32 counterNameLength, [OutAttribute, CountAttribute(Parameter = "counterNameLength")] out String counterName, UInt32 counterDescLength, [OutAttribute, CountAttribute(Parameter = "counterDescLength")] out String counterDesc, [OutAttribute] out UInt32 counterOffset, [OutAttribute] out UInt32 counterDataSize, [OutAttribute] out UInt32 counterTypeEnum, [OutAttribute] out UInt32 counterDataTypeEnum, [OutAttribute] out UInt64 rawCounterMaxValue) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryId"></param>
             /// <param name="counterId"></param>
             /// <param name="counterNameLength"></param>
-            /// <param name="counterName"></param>
+            /// <param name="counterName">[length: counterNameLength]</param>
             /// <param name="counterDescLength"></param>
-            /// <param name="counterDesc"></param>
+            /// <param name="counterDesc">[length: counterDescLength]</param>
             /// <param name="counterOffset"></param>
             /// <param name="counterDataSize"></param>
             /// <param name="counterTypeEnum"></param>
@@ -41528,7 +41528,7 @@ namespace OpenTK.Graphics.ES30
             /// <param name="rawCounterMaxValue"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfCounterInfoINTEL")]
             [CLSCompliant(false)]
-            public static unsafe void GetPerfCounterInfo(UInt32 queryId, UInt32 counterId, UInt32 counterNameLength, [OutAttribute] out String counterName, UInt32 counterDescLength, [OutAttribute] out String counterDesc, [OutAttribute] UInt32* counterOffset, [OutAttribute] UInt32* counterDataSize, [OutAttribute] UInt32* counterTypeEnum, [OutAttribute] UInt32* counterDataTypeEnum, [OutAttribute] UInt64* rawCounterMaxValue) { throw new BindingsNotRewrittenException(); }
+            public static unsafe void GetPerfCounterInfo(UInt32 queryId, UInt32 counterId, UInt32 counterNameLength, [OutAttribute, CountAttribute(Parameter = "counterNameLength")] out String counterName, UInt32 counterDescLength, [OutAttribute, CountAttribute(Parameter = "counterDescLength")] out String counterDesc, [OutAttribute] UInt32* counterOffset, [OutAttribute] UInt32* counterDataSize, [OutAttribute] UInt32* counterTypeEnum, [OutAttribute] UInt32* counterDataTypeEnum, [OutAttribute] UInt64* rawCounterMaxValue) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryHandle"></param>
@@ -41882,121 +41882,121 @@ namespace OpenTK.Graphics.ES30
             /// <param name="queryName"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfQueryIdByNameINTEL")]
             [CLSCompliant(false)]
-            public static Int32 GetPerfQueryIdByName([OutAttribute] out String queryName) { throw new BindingsNotRewrittenException(); }
+            public static Int32 GetPerfQueryIdByName(String queryName) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryName"></param>
             /// <param name="queryId"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfQueryIdByNameINTEL")]
             [CLSCompliant(false)]
-            public static void GetPerfQueryIdByName([OutAttribute] out String queryName, [OutAttribute] Int32[] queryId) { throw new BindingsNotRewrittenException(); }
+            public static void GetPerfQueryIdByName(String queryName, [OutAttribute] Int32[] queryId) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryName"></param>
             /// <param name="queryId"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfQueryIdByNameINTEL")]
             [CLSCompliant(false)]
-            public static void GetPerfQueryIdByName([OutAttribute] out String queryName, [OutAttribute] out Int32 queryId) { throw new BindingsNotRewrittenException(); }
+            public static void GetPerfQueryIdByName(String queryName, [OutAttribute] out Int32 queryId) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryName"></param>
             /// <param name="queryId"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfQueryIdByNameINTEL")]
             [CLSCompliant(false)]
-            public static unsafe void GetPerfQueryIdByName([OutAttribute] out String queryName, [OutAttribute] Int32* queryId) { throw new BindingsNotRewrittenException(); }
+            public static unsafe void GetPerfQueryIdByName(String queryName, [OutAttribute] Int32* queryId) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryName"></param>
             /// <param name="queryId"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfQueryIdByNameINTEL")]
             [CLSCompliant(false)]
-            public static void GetPerfQueryIdByName([OutAttribute] out String queryName, [OutAttribute] UInt32[] queryId) { throw new BindingsNotRewrittenException(); }
+            public static void GetPerfQueryIdByName(String queryName, [OutAttribute] UInt32[] queryId) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryName"></param>
             /// <param name="queryId"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfQueryIdByNameINTEL")]
             [CLSCompliant(false)]
-            public static void GetPerfQueryIdByName([OutAttribute] out String queryName, [OutAttribute] out UInt32 queryId) { throw new BindingsNotRewrittenException(); }
+            public static void GetPerfQueryIdByName(String queryName, [OutAttribute] out UInt32 queryId) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryName"></param>
             /// <param name="queryId"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfQueryIdByNameINTEL")]
             [CLSCompliant(false)]
-            public static unsafe void GetPerfQueryIdByName([OutAttribute] out String queryName, [OutAttribute] UInt32* queryId) { throw new BindingsNotRewrittenException(); }
+            public static unsafe void GetPerfQueryIdByName(String queryName, [OutAttribute] UInt32* queryId) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryId"></param>
             /// <param name="queryNameLength"></param>
-            /// <param name="queryName"></param>
+            /// <param name="queryName">[length: queryNameLength]</param>
             /// <param name="dataSize"></param>
             /// <param name="noCounters"></param>
             /// <param name="noInstances"></param>
             /// <param name="capsMask"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfQueryInfoINTEL")]
             [CLSCompliant(false)]
-            public static void GetPerfQueryInfo(Int32 queryId, Int32 queryNameLength, [OutAttribute] out String queryName, [OutAttribute] Int32[] dataSize, [OutAttribute] Int32[] noCounters, [OutAttribute] Int32[] noInstances, [OutAttribute] Int32[] capsMask) { throw new BindingsNotRewrittenException(); }
+            public static void GetPerfQueryInfo(Int32 queryId, Int32 queryNameLength, [OutAttribute, CountAttribute(Parameter = "queryNameLength")] out String queryName, [OutAttribute] Int32[] dataSize, [OutAttribute] Int32[] noCounters, [OutAttribute] Int32[] noInstances, [OutAttribute] Int32[] capsMask) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryId"></param>
             /// <param name="queryNameLength"></param>
-            /// <param name="queryName"></param>
+            /// <param name="queryName">[length: queryNameLength]</param>
             /// <param name="dataSize"></param>
             /// <param name="noCounters"></param>
             /// <param name="noInstances"></param>
             /// <param name="capsMask"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfQueryInfoINTEL")]
             [CLSCompliant(false)]
-            public static void GetPerfQueryInfo(Int32 queryId, Int32 queryNameLength, [OutAttribute] out String queryName, [OutAttribute] out Int32 dataSize, [OutAttribute] out Int32 noCounters, [OutAttribute] out Int32 noInstances, [OutAttribute] out Int32 capsMask) { throw new BindingsNotRewrittenException(); }
+            public static void GetPerfQueryInfo(Int32 queryId, Int32 queryNameLength, [OutAttribute, CountAttribute(Parameter = "queryNameLength")] out String queryName, [OutAttribute] out Int32 dataSize, [OutAttribute] out Int32 noCounters, [OutAttribute] out Int32 noInstances, [OutAttribute] out Int32 capsMask) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryId"></param>
             /// <param name="queryNameLength"></param>
-            /// <param name="queryName"></param>
+            /// <param name="queryName">[length: queryNameLength]</param>
             /// <param name="dataSize"></param>
             /// <param name="noCounters"></param>
             /// <param name="noInstances"></param>
             /// <param name="capsMask"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfQueryInfoINTEL")]
             [CLSCompliant(false)]
-            public static unsafe void GetPerfQueryInfo(Int32 queryId, Int32 queryNameLength, [OutAttribute] out String queryName, [OutAttribute] Int32* dataSize, [OutAttribute] Int32* noCounters, [OutAttribute] Int32* noInstances, [OutAttribute] Int32* capsMask) { throw new BindingsNotRewrittenException(); }
+            public static unsafe void GetPerfQueryInfo(Int32 queryId, Int32 queryNameLength, [OutAttribute, CountAttribute(Parameter = "queryNameLength")] out String queryName, [OutAttribute] Int32* dataSize, [OutAttribute] Int32* noCounters, [OutAttribute] Int32* noInstances, [OutAttribute] Int32* capsMask) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryId"></param>
             /// <param name="queryNameLength"></param>
-            /// <param name="queryName"></param>
+            /// <param name="queryName">[length: queryNameLength]</param>
             /// <param name="dataSize"></param>
             /// <param name="noCounters"></param>
             /// <param name="noInstances"></param>
             /// <param name="capsMask"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfQueryInfoINTEL")]
             [CLSCompliant(false)]
-            public static void GetPerfQueryInfo(UInt32 queryId, UInt32 queryNameLength, [OutAttribute] out String queryName, [OutAttribute] UInt32[] dataSize, [OutAttribute] UInt32[] noCounters, [OutAttribute] UInt32[] noInstances, [OutAttribute] UInt32[] capsMask) { throw new BindingsNotRewrittenException(); }
+            public static void GetPerfQueryInfo(UInt32 queryId, UInt32 queryNameLength, [OutAttribute, CountAttribute(Parameter = "queryNameLength")] out String queryName, [OutAttribute] UInt32[] dataSize, [OutAttribute] UInt32[] noCounters, [OutAttribute] UInt32[] noInstances, [OutAttribute] UInt32[] capsMask) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryId"></param>
             /// <param name="queryNameLength"></param>
-            /// <param name="queryName"></param>
+            /// <param name="queryName">[length: queryNameLength]</param>
             /// <param name="dataSize"></param>
             /// <param name="noCounters"></param>
             /// <param name="noInstances"></param>
             /// <param name="capsMask"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfQueryInfoINTEL")]
             [CLSCompliant(false)]
-            public static void GetPerfQueryInfo(UInt32 queryId, UInt32 queryNameLength, [OutAttribute] out String queryName, [OutAttribute] out UInt32 dataSize, [OutAttribute] out UInt32 noCounters, [OutAttribute] out UInt32 noInstances, [OutAttribute] out UInt32 capsMask) { throw new BindingsNotRewrittenException(); }
+            public static void GetPerfQueryInfo(UInt32 queryId, UInt32 queryNameLength, [OutAttribute, CountAttribute(Parameter = "queryNameLength")] out String queryName, [OutAttribute] out UInt32 dataSize, [OutAttribute] out UInt32 noCounters, [OutAttribute] out UInt32 noInstances, [OutAttribute] out UInt32 capsMask) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryId"></param>
             /// <param name="queryNameLength"></param>
-            /// <param name="queryName"></param>
+            /// <param name="queryName">[length: queryNameLength]</param>
             /// <param name="dataSize"></param>
             /// <param name="noCounters"></param>
             /// <param name="noInstances"></param>
             /// <param name="capsMask"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfQueryInfoINTEL")]
             [CLSCompliant(false)]
-            public static unsafe void GetPerfQueryInfo(UInt32 queryId, UInt32 queryNameLength, [OutAttribute] out String queryName, [OutAttribute] UInt32* dataSize, [OutAttribute] UInt32* noCounters, [OutAttribute] UInt32* noInstances, [OutAttribute] UInt32* capsMask) { throw new BindingsNotRewrittenException(); }
+            public static unsafe void GetPerfQueryInfo(UInt32 queryId, UInt32 queryNameLength, [OutAttribute, CountAttribute(Parameter = "queryNameLength")] out String queryName, [OutAttribute] UInt32* dataSize, [OutAttribute] UInt32* noCounters, [OutAttribute] UInt32* noInstances, [OutAttribute] UInt32* capsMask) { throw new BindingsNotRewrittenException(); }
 
         }
 
@@ -60859,56 +60859,56 @@ namespace OpenTK.Graphics.ES30
             /// <summary>[requires: QCOM_extended_get2]</summary>
             /// <param name="program"></param>
             /// <param name="shadertype"></param>
-            /// <param name="source"></param>
+            /// <param name="source">[length: *length]</param>
             /// <param name="length"></param>
             [AutoGenerated(Category = "QCOM_extended_get2", Version = "", EntryPoint = "glExtGetProgramBinarySourceQCOM")]
             [CLSCompliant(false)]
-            public static void ExtGetProgramBinarySource(Int32 program, OpenTK.Graphics.ES30.All shadertype, [OutAttribute] out String source, [OutAttribute] Int32[] length) { throw new BindingsNotRewrittenException(); }
+            public static void ExtGetProgramBinarySource(Int32 program, OpenTK.Graphics.ES30.All shadertype, [OutAttribute, CountAttribute(Parameter = "*length")] out String source, [OutAttribute] Int32[] length) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: QCOM_extended_get2]</summary>
             /// <param name="program"></param>
             /// <param name="shadertype"></param>
-            /// <param name="source"></param>
+            /// <param name="source">[length: *length]</param>
             /// <param name="length"></param>
             [AutoGenerated(Category = "QCOM_extended_get2", Version = "", EntryPoint = "glExtGetProgramBinarySourceQCOM")]
             [CLSCompliant(false)]
-            public static void ExtGetProgramBinarySource(Int32 program, OpenTK.Graphics.ES30.All shadertype, [OutAttribute] out String source, [OutAttribute] out Int32 length) { throw new BindingsNotRewrittenException(); }
+            public static void ExtGetProgramBinarySource(Int32 program, OpenTK.Graphics.ES30.All shadertype, [OutAttribute, CountAttribute(Parameter = "*length")] out String source, [OutAttribute] out Int32 length) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: QCOM_extended_get2]</summary>
             /// <param name="program"></param>
             /// <param name="shadertype"></param>
-            /// <param name="source"></param>
+            /// <param name="source">[length: *length]</param>
             /// <param name="length"></param>
             [AutoGenerated(Category = "QCOM_extended_get2", Version = "", EntryPoint = "glExtGetProgramBinarySourceQCOM")]
             [CLSCompliant(false)]
-            public static unsafe void ExtGetProgramBinarySource(Int32 program, OpenTK.Graphics.ES30.All shadertype, [OutAttribute] out String source, [OutAttribute] Int32* length) { throw new BindingsNotRewrittenException(); }
+            public static unsafe void ExtGetProgramBinarySource(Int32 program, OpenTK.Graphics.ES30.All shadertype, [OutAttribute, CountAttribute(Parameter = "*length")] out String source, [OutAttribute] Int32* length) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: QCOM_extended_get2]</summary>
             /// <param name="program"></param>
             /// <param name="shadertype"></param>
-            /// <param name="source"></param>
+            /// <param name="source">[length: *length]</param>
             /// <param name="length"></param>
             [AutoGenerated(Category = "QCOM_extended_get2", Version = "", EntryPoint = "glExtGetProgramBinarySourceQCOM")]
             [CLSCompliant(false)]
-            public static void ExtGetProgramBinarySource(UInt32 program, OpenTK.Graphics.ES30.All shadertype, [OutAttribute] out String source, [OutAttribute] Int32[] length) { throw new BindingsNotRewrittenException(); }
+            public static void ExtGetProgramBinarySource(UInt32 program, OpenTK.Graphics.ES30.All shadertype, [OutAttribute, CountAttribute(Parameter = "*length")] out String source, [OutAttribute] Int32[] length) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: QCOM_extended_get2]</summary>
             /// <param name="program"></param>
             /// <param name="shadertype"></param>
-            /// <param name="source"></param>
+            /// <param name="source">[length: *length]</param>
             /// <param name="length"></param>
             [AutoGenerated(Category = "QCOM_extended_get2", Version = "", EntryPoint = "glExtGetProgramBinarySourceQCOM")]
             [CLSCompliant(false)]
-            public static void ExtGetProgramBinarySource(UInt32 program, OpenTK.Graphics.ES30.All shadertype, [OutAttribute] out String source, [OutAttribute] out Int32 length) { throw new BindingsNotRewrittenException(); }
+            public static void ExtGetProgramBinarySource(UInt32 program, OpenTK.Graphics.ES30.All shadertype, [OutAttribute, CountAttribute(Parameter = "*length")] out String source, [OutAttribute] out Int32 length) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: QCOM_extended_get2]</summary>
             /// <param name="program"></param>
             /// <param name="shadertype"></param>
-            /// <param name="source"></param>
+            /// <param name="source">[length: *length]</param>
             /// <param name="length"></param>
             [AutoGenerated(Category = "QCOM_extended_get2", Version = "", EntryPoint = "glExtGetProgramBinarySourceQCOM")]
             [CLSCompliant(false)]
-            public static unsafe void ExtGetProgramBinarySource(UInt32 program, OpenTK.Graphics.ES30.All shadertype, [OutAttribute] out String source, [OutAttribute] Int32* length) { throw new BindingsNotRewrittenException(); }
+            public static unsafe void ExtGetProgramBinarySource(UInt32 program, OpenTK.Graphics.ES30.All shadertype, [OutAttribute, CountAttribute(Parameter = "*length")] out String source, [OutAttribute] Int32* length) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: QCOM_extended_get2]</summary>
             /// <param name="programs">[length: maxPrograms]</param>
@@ -61559,7 +61559,7 @@ namespace OpenTK.Graphics.ES30
         private static extern void glDrawElementsInstancedANGLE(System.Int32 mode, Int32 count, System.Int32 type, [CountAttribute(Computed = "count,type")] IntPtr indices, Int32 primcount);
         [Slot(361)]
         [DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
-        private static extern unsafe void glGetTranslatedShaderSourceANGLE(UInt32 shader, Int32 bufsize, [OutAttribute, CountAttribute(Count = 1)] Int32* length, [OutAttribute] IntPtr source);
+        private static extern unsafe void glGetTranslatedShaderSourceANGLE(UInt32 shader, Int32 bufsize, [OutAttribute, CountAttribute(Count = 1)] Int32* length, [OutAttribute, CountAttribute(Parameter = "bufsize")] IntPtr source);
         [Slot(553)]
         [DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
         private static extern void glRenderbufferStorageMultisampleANGLE(System.Int32 target, Int32 samples, System.Int32 internalformat, Int32 width, Int32 height);
@@ -62951,16 +62951,16 @@ namespace OpenTK.Graphics.ES30
         private static extern unsafe void glGetNextPerfQueryIdINTEL(UInt32 queryId, [OutAttribute] UInt32* nextQueryId);
         [Slot(307)]
         [DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
-        private static extern unsafe void glGetPerfCounterInfoINTEL(UInt32 queryId, UInt32 counterId, UInt32 counterNameLength, [OutAttribute] IntPtr counterName, UInt32 counterDescLength, [OutAttribute] IntPtr counterDesc, [OutAttribute] UInt32* counterOffset, [OutAttribute] UInt32* counterDataSize, [OutAttribute] UInt32* counterTypeEnum, [OutAttribute] UInt32* counterDataTypeEnum, [OutAttribute] UInt64* rawCounterMaxValue);
+        private static extern unsafe void glGetPerfCounterInfoINTEL(UInt32 queryId, UInt32 counterId, UInt32 counterNameLength, [OutAttribute, CountAttribute(Parameter = "counterNameLength")] IntPtr counterName, UInt32 counterDescLength, [OutAttribute, CountAttribute(Parameter = "counterDescLength")] IntPtr counterDesc, [OutAttribute] UInt32* counterOffset, [OutAttribute] UInt32* counterDataSize, [OutAttribute] UInt32* counterTypeEnum, [OutAttribute] UInt32* counterDataTypeEnum, [OutAttribute] UInt64* rawCounterMaxValue);
         [Slot(314)]
         [DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
         private static extern unsafe void glGetPerfQueryDataINTEL(UInt32 queryHandle, UInt32 flags, Int32 dataSize, [OutAttribute] IntPtr data, [OutAttribute] UInt32* bytesWritten);
         [Slot(315)]
         [DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
-        private static extern unsafe void glGetPerfQueryIdByNameINTEL([OutAttribute] IntPtr queryName, [OutAttribute] UInt32* queryId);
+        private static extern unsafe void glGetPerfQueryIdByNameINTEL(IntPtr queryName, [OutAttribute] UInt32* queryId);
         [Slot(316)]
         [DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
-        private static extern unsafe void glGetPerfQueryInfoINTEL(UInt32 queryId, UInt32 queryNameLength, [OutAttribute] IntPtr queryName, [OutAttribute] UInt32* dataSize, [OutAttribute] UInt32* noCounters, [OutAttribute] UInt32* noInstances, [OutAttribute] UInt32* capsMask);
+        private static extern unsafe void glGetPerfQueryInfoINTEL(UInt32 queryId, UInt32 queryNameLength, [OutAttribute, CountAttribute(Parameter = "queryNameLength")] IntPtr queryName, [OutAttribute] UInt32* dataSize, [OutAttribute] UInt32* noCounters, [OutAttribute] UInt32* noInstances, [OutAttribute] UInt32* capsMask);
         [Slot(27)]
         [DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
         private static extern void glBlendBarrierKHR();
@@ -63701,7 +63701,7 @@ namespace OpenTK.Graphics.ES30
         private static extern unsafe void glExtGetFramebuffersQCOM([OutAttribute, CountAttribute(Parameter = "maxFramebuffers")] UInt32* framebuffers, Int32 maxFramebuffers, [OutAttribute, CountAttribute(Count = 1)] Int32* numFramebuffers);
         [Slot(189)]
         [DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
-        private static extern unsafe void glExtGetProgramBinarySourceQCOM(UInt32 program, System.Int32 shadertype, [OutAttribute] IntPtr source, [OutAttribute] Int32* length);
+        private static extern unsafe void glExtGetProgramBinarySourceQCOM(UInt32 program, System.Int32 shadertype, [OutAttribute, CountAttribute(Parameter = "*length")] IntPtr source, [OutAttribute] Int32* length);
         [Slot(190)]
         [DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
         private static extern unsafe void glExtGetProgramsQCOM([OutAttribute, CountAttribute(Parameter = "maxPrograms")] UInt32* programs, Int32 maxPrograms, [OutAttribute, CountAttribute(Count = 1)] Int32* numPrograms);
index 794ebde..c0eb400 100644 (file)
@@ -2557,57 +2557,57 @@ namespace OpenTK.Graphics.ES31
             /// <param name="shader"></param>
             /// <param name="bufsize"></param>
             /// <param name="length">[length: 1]</param>
-            /// <param name="source"></param>
+            /// <param name="source">[length: bufsize]</param>
             [Obsolete("Use out overload instead")]
             [AutoGenerated(Category = "ANGLE_translated_shader_source", Version = "", EntryPoint = "glGetTranslatedShaderSourceANGLE")]
             [CLSCompliant(false)]
-            public static void GetTranslatedShaderSource(Int32 shader, Int32 bufsize, [OutAttribute, CountAttribute(Count = 1)] Int32[] length, [OutAttribute] out String source) { throw new BindingsNotRewrittenException(); }
+            public static void GetTranslatedShaderSource(Int32 shader, Int32 bufsize, [OutAttribute, CountAttribute(Count = 1)] Int32[] length, [OutAttribute, CountAttribute(Parameter = "bufsize")] out String source) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: ANGLE_translated_shader_source]</summary>
             /// <param name="shader"></param>
             /// <param name="bufsize"></param>
             /// <param name="length">[length: 1]</param>
-            /// <param name="source"></param>
+            /// <param name="source">[length: bufsize]</param>
             [AutoGenerated(Category = "ANGLE_translated_shader_source", Version = "", EntryPoint = "glGetTranslatedShaderSourceANGLE")]
             [CLSCompliant(false)]
-            public static void GetTranslatedShaderSource(Int32 shader, Int32 bufsize, [OutAttribute, CountAttribute(Count = 1)] out Int32 length, [OutAttribute] out String source) { throw new BindingsNotRewrittenException(); }
+            public static void GetTranslatedShaderSource(Int32 shader, Int32 bufsize, [OutAttribute, CountAttribute(Count = 1)] out Int32 length, [OutAttribute, CountAttribute(Parameter = "bufsize")] out String source) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: ANGLE_translated_shader_source]</summary>
             /// <param name="shader"></param>
             /// <param name="bufsize"></param>
             /// <param name="length">[length: 1]</param>
-            /// <param name="source"></param>
+            /// <param name="source">[length: bufsize]</param>
             [AutoGenerated(Category = "ANGLE_translated_shader_source", Version = "", EntryPoint = "glGetTranslatedShaderSourceANGLE")]
             [CLSCompliant(false)]
-            public static unsafe void GetTranslatedShaderSource(Int32 shader, Int32 bufsize, [OutAttribute, CountAttribute(Count = 1)] Int32* length, [OutAttribute] out String source) { throw new BindingsNotRewrittenException(); }
+            public static unsafe void GetTranslatedShaderSource(Int32 shader, Int32 bufsize, [OutAttribute, CountAttribute(Count = 1)] Int32* length, [OutAttribute, CountAttribute(Parameter = "bufsize")] out String source) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: ANGLE_translated_shader_source]</summary>
             /// <param name="shader"></param>
             /// <param name="bufsize"></param>
             /// <param name="length">[length: 1]</param>
-            /// <param name="source"></param>
+            /// <param name="source">[length: bufsize]</param>
             [Obsolete("Use out overload instead")]
             [AutoGenerated(Category = "ANGLE_translated_shader_source", Version = "", EntryPoint = "glGetTranslatedShaderSourceANGLE")]
             [CLSCompliant(false)]
-            public static void GetTranslatedShaderSource(UInt32 shader, Int32 bufsize, [OutAttribute, CountAttribute(Count = 1)] Int32[] length, [OutAttribute] out String source) { throw new BindingsNotRewrittenException(); }
+            public static void GetTranslatedShaderSource(UInt32 shader, Int32 bufsize, [OutAttribute, CountAttribute(Count = 1)] Int32[] length, [OutAttribute, CountAttribute(Parameter = "bufsize")] out String source) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: ANGLE_translated_shader_source]</summary>
             /// <param name="shader"></param>
             /// <param name="bufsize"></param>
             /// <param name="length">[length: 1]</param>
-            /// <param name="source"></param>
+            /// <param name="source">[length: bufsize]</param>
             [AutoGenerated(Category = "ANGLE_translated_shader_source", Version = "", EntryPoint = "glGetTranslatedShaderSourceANGLE")]
             [CLSCompliant(false)]
-            public static void GetTranslatedShaderSource(UInt32 shader, Int32 bufsize, [OutAttribute, CountAttribute(Count = 1)] out Int32 length, [OutAttribute] out String source) { throw new BindingsNotRewrittenException(); }
+            public static void GetTranslatedShaderSource(UInt32 shader, Int32 bufsize, [OutAttribute, CountAttribute(Count = 1)] out Int32 length, [OutAttribute, CountAttribute(Parameter = "bufsize")] out String source) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: ANGLE_translated_shader_source]</summary>
             /// <param name="shader"></param>
             /// <param name="bufsize"></param>
             /// <param name="length">[length: 1]</param>
-            /// <param name="source"></param>
+            /// <param name="source">[length: bufsize]</param>
             [AutoGenerated(Category = "ANGLE_translated_shader_source", Version = "", EntryPoint = "glGetTranslatedShaderSourceANGLE")]
             [CLSCompliant(false)]
-            public static unsafe void GetTranslatedShaderSource(UInt32 shader, Int32 bufsize, [OutAttribute, CountAttribute(Count = 1)] Int32* length, [OutAttribute] out String source) { throw new BindingsNotRewrittenException(); }
+            public static unsafe void GetTranslatedShaderSource(UInt32 shader, Int32 bufsize, [OutAttribute, CountAttribute(Count = 1)] Int32* length, [OutAttribute, CountAttribute(Parameter = "bufsize")] out String source) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: ANGLE_framebuffer_multisample]
             /// Establish data storage, format, dimensions and sample count of a renderbuffer object's image
@@ -40060,9 +40060,9 @@ namespace OpenTK.Graphics.ES31
             /// <param name="queryId"></param>
             /// <param name="counterId"></param>
             /// <param name="counterNameLength"></param>
-            /// <param name="counterName"></param>
+            /// <param name="counterName">[length: counterNameLength]</param>
             /// <param name="counterDescLength"></param>
-            /// <param name="counterDesc"></param>
+            /// <param name="counterDesc">[length: counterDescLength]</param>
             /// <param name="counterOffset"></param>
             /// <param name="counterDataSize"></param>
             /// <param name="counterTypeEnum"></param>
@@ -40070,15 +40070,15 @@ namespace OpenTK.Graphics.ES31
             /// <param name="rawCounterMaxValue"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfCounterInfoINTEL")]
             [CLSCompliant(false)]
-            public static void GetPerfCounterInfo(Int32 queryId, Int32 counterId, Int32 counterNameLength, [OutAttribute] out String counterName, Int32 counterDescLength, [OutAttribute] out String counterDesc, [OutAttribute] Int32[] counterOffset, [OutAttribute] Int32[] counterDataSize, [OutAttribute] Int32[] counterTypeEnum, [OutAttribute] Int32[] counterDataTypeEnum, [OutAttribute] Int64[] rawCounterMaxValue) { throw new BindingsNotRewrittenException(); }
+            public static void GetPerfCounterInfo(Int32 queryId, Int32 counterId, Int32 counterNameLength, [OutAttribute, CountAttribute(Parameter = "counterNameLength")] out String counterName, Int32 counterDescLength, [OutAttribute, CountAttribute(Parameter = "counterDescLength")] out String counterDesc, [OutAttribute] Int32[] counterOffset, [OutAttribute] Int32[] counterDataSize, [OutAttribute] Int32[] counterTypeEnum, [OutAttribute] Int32[] counterDataTypeEnum, [OutAttribute] Int64[] rawCounterMaxValue) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryId"></param>
             /// <param name="counterId"></param>
             /// <param name="counterNameLength"></param>
-            /// <param name="counterName"></param>
+            /// <param name="counterName">[length: counterNameLength]</param>
             /// <param name="counterDescLength"></param>
-            /// <param name="counterDesc"></param>
+            /// <param name="counterDesc">[length: counterDescLength]</param>
             /// <param name="counterOffset"></param>
             /// <param name="counterDataSize"></param>
             /// <param name="counterTypeEnum"></param>
@@ -40086,15 +40086,15 @@ namespace OpenTK.Graphics.ES31
             /// <param name="rawCounterMaxValue"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfCounterInfoINTEL")]
             [CLSCompliant(false)]
-            public static void GetPerfCounterInfo(Int32 queryId, Int32 counterId, Int32 counterNameLength, [OutAttribute] out String counterName, Int32 counterDescLength, [OutAttribute] out String counterDesc, [OutAttribute] out Int32 counterOffset, [OutAttribute] out Int32 counterDataSize, [OutAttribute] out Int32 counterTypeEnum, [OutAttribute] out Int32 counterDataTypeEnum, [OutAttribute] out Int64 rawCounterMaxValue) { throw new BindingsNotRewrittenException(); }
+            public static void GetPerfCounterInfo(Int32 queryId, Int32 counterId, Int32 counterNameLength, [OutAttribute, CountAttribute(Parameter = "counterNameLength")] out String counterName, Int32 counterDescLength, [OutAttribute, CountAttribute(Parameter = "counterDescLength")] out String counterDesc, [OutAttribute] out Int32 counterOffset, [OutAttribute] out Int32 counterDataSize, [OutAttribute] out Int32 counterTypeEnum, [OutAttribute] out Int32 counterDataTypeEnum, [OutAttribute] out Int64 rawCounterMaxValue) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryId"></param>
             /// <param name="counterId"></param>
             /// <param name="counterNameLength"></param>
-            /// <param name="counterName"></param>
+            /// <param name="counterName">[length: counterNameLength]</param>
             /// <param name="counterDescLength"></param>
-            /// <param name="counterDesc"></param>
+            /// <param name="counterDesc">[length: counterDescLength]</param>
             /// <param name="counterOffset"></param>
             /// <param name="counterDataSize"></param>
             /// <param name="counterTypeEnum"></param>
@@ -40102,15 +40102,15 @@ namespace OpenTK.Graphics.ES31
             /// <param name="rawCounterMaxValue"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfCounterInfoINTEL")]
             [CLSCompliant(false)]
-            public static unsafe void GetPerfCounterInfo(Int32 queryId, Int32 counterId, Int32 counterNameLength, [OutAttribute] out String counterName, Int32 counterDescLength, [OutAttribute] out String counterDesc, [OutAttribute] Int32* counterOffset, [OutAttribute] Int32* counterDataSize, [OutAttribute] Int32* counterTypeEnum, [OutAttribute] Int32* counterDataTypeEnum, [OutAttribute] Int64* rawCounterMaxValue) { throw new BindingsNotRewrittenException(); }
+            public static unsafe void GetPerfCounterInfo(Int32 queryId, Int32 counterId, Int32 counterNameLength, [OutAttribute, CountAttribute(Parameter = "counterNameLength")] out String counterName, Int32 counterDescLength, [OutAttribute, CountAttribute(Parameter = "counterDescLength")] out String counterDesc, [OutAttribute] Int32* counterOffset, [OutAttribute] Int32* counterDataSize, [OutAttribute] Int32* counterTypeEnum, [OutAttribute] Int32* counterDataTypeEnum, [OutAttribute] Int64* rawCounterMaxValue) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryId"></param>
             /// <param name="counterId"></param>
             /// <param name="counterNameLength"></param>
-            /// <param name="counterName"></param>
+            /// <param name="counterName">[length: counterNameLength]</param>
             /// <param name="counterDescLength"></param>
-            /// <param name="counterDesc"></param>
+            /// <param name="counterDesc">[length: counterDescLength]</param>
             /// <param name="counterOffset"></param>
             /// <param name="counterDataSize"></param>
             /// <param name="counterTypeEnum"></param>
@@ -40118,15 +40118,15 @@ namespace OpenTK.Graphics.ES31
             /// <param name="rawCounterMaxValue"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfCounterInfoINTEL")]
             [CLSCompliant(false)]
-            public static void GetPerfCounterInfo(UInt32 queryId, UInt32 counterId, UInt32 counterNameLength, [OutAttribute] out String counterName, UInt32 counterDescLength, [OutAttribute] out String counterDesc, [OutAttribute] UInt32[] counterOffset, [OutAttribute] UInt32[] counterDataSize, [OutAttribute] UInt32[] counterTypeEnum, [OutAttribute] UInt32[] counterDataTypeEnum, [OutAttribute] UInt64[] rawCounterMaxValue) { throw new BindingsNotRewrittenException(); }
+            public static void GetPerfCounterInfo(UInt32 queryId, UInt32 counterId, UInt32 counterNameLength, [OutAttribute, CountAttribute(Parameter = "counterNameLength")] out String counterName, UInt32 counterDescLength, [OutAttribute, CountAttribute(Parameter = "counterDescLength")] out String counterDesc, [OutAttribute] UInt32[] counterOffset, [OutAttribute] UInt32[] counterDataSize, [OutAttribute] UInt32[] counterTypeEnum, [OutAttribute] UInt32[] counterDataTypeEnum, [OutAttribute] UInt64[] rawCounterMaxValue) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryId"></param>
             /// <param name="counterId"></param>
             /// <param name="counterNameLength"></param>
-            /// <param name="counterName"></param>
+            /// <param name="counterName">[length: counterNameLength]</param>
             /// <param name="counterDescLength"></param>
-            /// <param name="counterDesc"></param>
+            /// <param name="counterDesc">[length: counterDescLength]</param>
             /// <param name="counterOffset"></param>
             /// <param name="counterDataSize"></param>
             /// <param name="counterTypeEnum"></param>
@@ -40134,15 +40134,15 @@ namespace OpenTK.Graphics.ES31
             /// <param name="rawCounterMaxValue"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfCounterInfoINTEL")]
             [CLSCompliant(false)]
-            public static void GetPerfCounterInfo(UInt32 queryId, UInt32 counterId, UInt32 counterNameLength, [OutAttribute] out String counterName, UInt32 counterDescLength, [OutAttribute] out String counterDesc, [OutAttribute] out UInt32 counterOffset, [OutAttribute] out UInt32 counterDataSize, [OutAttribute] out UInt32 counterTypeEnum, [OutAttribute] out UInt32 counterDataTypeEnum, [OutAttribute] out UInt64 rawCounterMaxValue) { throw new BindingsNotRewrittenException(); }
+            public static void GetPerfCounterInfo(UInt32 queryId, UInt32 counterId, UInt32 counterNameLength, [OutAttribute, CountAttribute(Parameter = "counterNameLength")] out String counterName, UInt32 counterDescLength, [OutAttribute, CountAttribute(Parameter = "counterDescLength")] out String counterDesc, [OutAttribute] out UInt32 counterOffset, [OutAttribute] out UInt32 counterDataSize, [OutAttribute] out UInt32 counterTypeEnum, [OutAttribute] out UInt32 counterDataTypeEnum, [OutAttribute] out UInt64 rawCounterMaxValue) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryId"></param>
             /// <param name="counterId"></param>
             /// <param name="counterNameLength"></param>
-            /// <param name="counterName"></param>
+            /// <param name="counterName">[length: counterNameLength]</param>
             /// <param name="counterDescLength"></param>
-            /// <param name="counterDesc"></param>
+            /// <param name="counterDesc">[length: counterDescLength]</param>
             /// <param name="counterOffset"></param>
             /// <param name="counterDataSize"></param>
             /// <param name="counterTypeEnum"></param>
@@ -40150,7 +40150,7 @@ namespace OpenTK.Graphics.ES31
             /// <param name="rawCounterMaxValue"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfCounterInfoINTEL")]
             [CLSCompliant(false)]
-            public static unsafe void GetPerfCounterInfo(UInt32 queryId, UInt32 counterId, UInt32 counterNameLength, [OutAttribute] out String counterName, UInt32 counterDescLength, [OutAttribute] out String counterDesc, [OutAttribute] UInt32* counterOffset, [OutAttribute] UInt32* counterDataSize, [OutAttribute] UInt32* counterTypeEnum, [OutAttribute] UInt32* counterDataTypeEnum, [OutAttribute] UInt64* rawCounterMaxValue) { throw new BindingsNotRewrittenException(); }
+            public static unsafe void GetPerfCounterInfo(UInt32 queryId, UInt32 counterId, UInt32 counterNameLength, [OutAttribute, CountAttribute(Parameter = "counterNameLength")] out String counterName, UInt32 counterDescLength, [OutAttribute, CountAttribute(Parameter = "counterDescLength")] out String counterDesc, [OutAttribute] UInt32* counterOffset, [OutAttribute] UInt32* counterDataSize, [OutAttribute] UInt32* counterTypeEnum, [OutAttribute] UInt32* counterDataTypeEnum, [OutAttribute] UInt64* rawCounterMaxValue) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryHandle"></param>
@@ -40504,121 +40504,121 @@ namespace OpenTK.Graphics.ES31
             /// <param name="queryName"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfQueryIdByNameINTEL")]
             [CLSCompliant(false)]
-            public static Int32 GetPerfQueryIdByName([OutAttribute] out String queryName) { throw new BindingsNotRewrittenException(); }
+            public static Int32 GetPerfQueryIdByName(String queryName) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryName"></param>
             /// <param name="queryId"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfQueryIdByNameINTEL")]
             [CLSCompliant(false)]
-            public static void GetPerfQueryIdByName([OutAttribute] out String queryName, [OutAttribute] Int32[] queryId) { throw new BindingsNotRewrittenException(); }
+            public static void GetPerfQueryIdByName(String queryName, [OutAttribute] Int32[] queryId) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryName"></param>
             /// <param name="queryId"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfQueryIdByNameINTEL")]
             [CLSCompliant(false)]
-            public static void GetPerfQueryIdByName([OutAttribute] out String queryName, [OutAttribute] out Int32 queryId) { throw new BindingsNotRewrittenException(); }
+            public static void GetPerfQueryIdByName(String queryName, [OutAttribute] out Int32 queryId) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryName"></param>
             /// <param name="queryId"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfQueryIdByNameINTEL")]
             [CLSCompliant(false)]
-            public static unsafe void GetPerfQueryIdByName([OutAttribute] out String queryName, [OutAttribute] Int32* queryId) { throw new BindingsNotRewrittenException(); }
+            public static unsafe void GetPerfQueryIdByName(String queryName, [OutAttribute] Int32* queryId) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryName"></param>
             /// <param name="queryId"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfQueryIdByNameINTEL")]
             [CLSCompliant(false)]
-            public static void GetPerfQueryIdByName([OutAttribute] out String queryName, [OutAttribute] UInt32[] queryId) { throw new BindingsNotRewrittenException(); }
+            public static void GetPerfQueryIdByName(String queryName, [OutAttribute] UInt32[] queryId) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryName"></param>
             /// <param name="queryId"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfQueryIdByNameINTEL")]
             [CLSCompliant(false)]
-            public static void GetPerfQueryIdByName([OutAttribute] out String queryName, [OutAttribute] out UInt32 queryId) { throw new BindingsNotRewrittenException(); }
+            public static void GetPerfQueryIdByName(String queryName, [OutAttribute] out UInt32 queryId) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryName"></param>
             /// <param name="queryId"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfQueryIdByNameINTEL")]
             [CLSCompliant(false)]
-            public static unsafe void GetPerfQueryIdByName([OutAttribute] out String queryName, [OutAttribute] UInt32* queryId) { throw new BindingsNotRewrittenException(); }
+            public static unsafe void GetPerfQueryIdByName(String queryName, [OutAttribute] UInt32* queryId) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryId"></param>
             /// <param name="queryNameLength"></param>
-            /// <param name="queryName"></param>
+            /// <param name="queryName">[length: queryNameLength]</param>
             /// <param name="dataSize"></param>
             /// <param name="noCounters"></param>
             /// <param name="noInstances"></param>
             /// <param name="capsMask"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfQueryInfoINTEL")]
             [CLSCompliant(false)]
-            public static void GetPerfQueryInfo(Int32 queryId, Int32 queryNameLength, [OutAttribute] out String queryName, [OutAttribute] Int32[] dataSize, [OutAttribute] Int32[] noCounters, [OutAttribute] Int32[] noInstances, [OutAttribute] Int32[] capsMask) { throw new BindingsNotRewrittenException(); }
+            public static void GetPerfQueryInfo(Int32 queryId, Int32 queryNameLength, [OutAttribute, CountAttribute(Parameter = "queryNameLength")] out String queryName, [OutAttribute] Int32[] dataSize, [OutAttribute] Int32[] noCounters, [OutAttribute] Int32[] noInstances, [OutAttribute] Int32[] capsMask) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryId"></param>
             /// <param name="queryNameLength"></param>
-            /// <param name="queryName"></param>
+            /// <param name="queryName">[length: queryNameLength]</param>
             /// <param name="dataSize"></param>
             /// <param name="noCounters"></param>
             /// <param name="noInstances"></param>
             /// <param name="capsMask"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfQueryInfoINTEL")]
             [CLSCompliant(false)]
-            public static void GetPerfQueryInfo(Int32 queryId, Int32 queryNameLength, [OutAttribute] out String queryName, [OutAttribute] out Int32 dataSize, [OutAttribute] out Int32 noCounters, [OutAttribute] out Int32 noInstances, [OutAttribute] out Int32 capsMask) { throw new BindingsNotRewrittenException(); }
+            public static void GetPerfQueryInfo(Int32 queryId, Int32 queryNameLength, [OutAttribute, CountAttribute(Parameter = "queryNameLength")] out String queryName, [OutAttribute] out Int32 dataSize, [OutAttribute] out Int32 noCounters, [OutAttribute] out Int32 noInstances, [OutAttribute] out Int32 capsMask) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryId"></param>
             /// <param name="queryNameLength"></param>
-            /// <param name="queryName"></param>
+            /// <param name="queryName">[length: queryNameLength]</param>
             /// <param name="dataSize"></param>
             /// <param name="noCounters"></param>
             /// <param name="noInstances"></param>
             /// <param name="capsMask"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfQueryInfoINTEL")]
             [CLSCompliant(false)]
-            public static unsafe void GetPerfQueryInfo(Int32 queryId, Int32 queryNameLength, [OutAttribute] out String queryName, [OutAttribute] Int32* dataSize, [OutAttribute] Int32* noCounters, [OutAttribute] Int32* noInstances, [OutAttribute] Int32* capsMask) { throw new BindingsNotRewrittenException(); }
+            public static unsafe void GetPerfQueryInfo(Int32 queryId, Int32 queryNameLength, [OutAttribute, CountAttribute(Parameter = "queryNameLength")] out String queryName, [OutAttribute] Int32* dataSize, [OutAttribute] Int32* noCounters, [OutAttribute] Int32* noInstances, [OutAttribute] Int32* capsMask) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryId"></param>
             /// <param name="queryNameLength"></param>
-            /// <param name="queryName"></param>
+            /// <param name="queryName">[length: queryNameLength]</param>
             /// <param name="dataSize"></param>
             /// <param name="noCounters"></param>
             /// <param name="noInstances"></param>
             /// <param name="capsMask"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfQueryInfoINTEL")]
             [CLSCompliant(false)]
-            public static void GetPerfQueryInfo(UInt32 queryId, UInt32 queryNameLength, [OutAttribute] out String queryName, [OutAttribute] UInt32[] dataSize, [OutAttribute] UInt32[] noCounters, [OutAttribute] UInt32[] noInstances, [OutAttribute] UInt32[] capsMask) { throw new BindingsNotRewrittenException(); }
+            public static void GetPerfQueryInfo(UInt32 queryId, UInt32 queryNameLength, [OutAttribute, CountAttribute(Parameter = "queryNameLength")] out String queryName, [OutAttribute] UInt32[] dataSize, [OutAttribute] UInt32[] noCounters, [OutAttribute] UInt32[] noInstances, [OutAttribute] UInt32[] capsMask) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryId"></param>
             /// <param name="queryNameLength"></param>
-            /// <param name="queryName"></param>
+            /// <param name="queryName">[length: queryNameLength]</param>
             /// <param name="dataSize"></param>
             /// <param name="noCounters"></param>
             /// <param name="noInstances"></param>
             /// <param name="capsMask"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfQueryInfoINTEL")]
             [CLSCompliant(false)]
-            public static void GetPerfQueryInfo(UInt32 queryId, UInt32 queryNameLength, [OutAttribute] out String queryName, [OutAttribute] out UInt32 dataSize, [OutAttribute] out UInt32 noCounters, [OutAttribute] out UInt32 noInstances, [OutAttribute] out UInt32 capsMask) { throw new BindingsNotRewrittenException(); }
+            public static void GetPerfQueryInfo(UInt32 queryId, UInt32 queryNameLength, [OutAttribute, CountAttribute(Parameter = "queryNameLength")] out String queryName, [OutAttribute] out UInt32 dataSize, [OutAttribute] out UInt32 noCounters, [OutAttribute] out UInt32 noInstances, [OutAttribute] out UInt32 capsMask) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryId"></param>
             /// <param name="queryNameLength"></param>
-            /// <param name="queryName"></param>
+            /// <param name="queryName">[length: queryNameLength]</param>
             /// <param name="dataSize"></param>
             /// <param name="noCounters"></param>
             /// <param name="noInstances"></param>
             /// <param name="capsMask"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfQueryInfoINTEL")]
             [CLSCompliant(false)]
-            public static unsafe void GetPerfQueryInfo(UInt32 queryId, UInt32 queryNameLength, [OutAttribute] out String queryName, [OutAttribute] UInt32* dataSize, [OutAttribute] UInt32* noCounters, [OutAttribute] UInt32* noInstances, [OutAttribute] UInt32* capsMask) { throw new BindingsNotRewrittenException(); }
+            public static unsafe void GetPerfQueryInfo(UInt32 queryId, UInt32 queryNameLength, [OutAttribute, CountAttribute(Parameter = "queryNameLength")] out String queryName, [OutAttribute] UInt32* dataSize, [OutAttribute] UInt32* noCounters, [OutAttribute] UInt32* noInstances, [OutAttribute] UInt32* capsMask) { throw new BindingsNotRewrittenException(); }
 
         }
 
@@ -57844,56 +57844,56 @@ namespace OpenTK.Graphics.ES31
             /// <summary>[requires: QCOM_extended_get2]</summary>
             /// <param name="program"></param>
             /// <param name="shadertype"></param>
-            /// <param name="source"></param>
+            /// <param name="source">[length: *length]</param>
             /// <param name="length"></param>
             [AutoGenerated(Category = "QCOM_extended_get2", Version = "", EntryPoint = "glExtGetProgramBinarySourceQCOM")]
             [CLSCompliant(false)]
-            public static void ExtGetProgramBinarySource(Int32 program, OpenTK.Graphics.ES31.All shadertype, [OutAttribute] out String source, [OutAttribute] Int32[] length) { throw new BindingsNotRewrittenException(); }
+            public static void ExtGetProgramBinarySource(Int32 program, OpenTK.Graphics.ES31.All shadertype, [OutAttribute, CountAttribute(Parameter = "*length")] out String source, [OutAttribute] Int32[] length) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: QCOM_extended_get2]</summary>
             /// <param name="program"></param>
             /// <param name="shadertype"></param>
-            /// <param name="source"></param>
+            /// <param name="source">[length: *length]</param>
             /// <param name="length"></param>
             [AutoGenerated(Category = "QCOM_extended_get2", Version = "", EntryPoint = "glExtGetProgramBinarySourceQCOM")]
             [CLSCompliant(false)]
-            public static void ExtGetProgramBinarySource(Int32 program, OpenTK.Graphics.ES31.All shadertype, [OutAttribute] out String source, [OutAttribute] out Int32 length) { throw new BindingsNotRewrittenException(); }
+            public static void ExtGetProgramBinarySource(Int32 program, OpenTK.Graphics.ES31.All shadertype, [OutAttribute, CountAttribute(Parameter = "*length")] out String source, [OutAttribute] out Int32 length) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: QCOM_extended_get2]</summary>
             /// <param name="program"></param>
             /// <param name="shadertype"></param>
-            /// <param name="source"></param>
+            /// <param name="source">[length: *length]</param>
             /// <param name="length"></param>
             [AutoGenerated(Category = "QCOM_extended_get2", Version = "", EntryPoint = "glExtGetProgramBinarySourceQCOM")]
             [CLSCompliant(false)]
-            public static unsafe void ExtGetProgramBinarySource(Int32 program, OpenTK.Graphics.ES31.All shadertype, [OutAttribute] out String source, [OutAttribute] Int32* length) { throw new BindingsNotRewrittenException(); }
+            public static unsafe void ExtGetProgramBinarySource(Int32 program, OpenTK.Graphics.ES31.All shadertype, [OutAttribute, CountAttribute(Parameter = "*length")] out String source, [OutAttribute] Int32* length) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: QCOM_extended_get2]</summary>
             /// <param name="program"></param>
             /// <param name="shadertype"></param>
-            /// <param name="source"></param>
+            /// <param name="source">[length: *length]</param>
             /// <param name="length"></param>
             [AutoGenerated(Category = "QCOM_extended_get2", Version = "", EntryPoint = "glExtGetProgramBinarySourceQCOM")]
             [CLSCompliant(false)]
-            public static void ExtGetProgramBinarySource(UInt32 program, OpenTK.Graphics.ES31.All shadertype, [OutAttribute] out String source, [OutAttribute] Int32[] length) { throw new BindingsNotRewrittenException(); }
+            public static void ExtGetProgramBinarySource(UInt32 program, OpenTK.Graphics.ES31.All shadertype, [OutAttribute, CountAttribute(Parameter = "*length")] out String source, [OutAttribute] Int32[] length) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: QCOM_extended_get2]</summary>
             /// <param name="program"></param>
             /// <param name="shadertype"></param>
-            /// <param name="source"></param>
+            /// <param name="source">[length: *length]</param>
             /// <param name="length"></param>
             [AutoGenerated(Category = "QCOM_extended_get2", Version = "", EntryPoint = "glExtGetProgramBinarySourceQCOM")]
             [CLSCompliant(false)]
-            public static void ExtGetProgramBinarySource(UInt32 program, OpenTK.Graphics.ES31.All shadertype, [OutAttribute] out String source, [OutAttribute] out Int32 length) { throw new BindingsNotRewrittenException(); }
+            public static void ExtGetProgramBinarySource(UInt32 program, OpenTK.Graphics.ES31.All shadertype, [OutAttribute, CountAttribute(Parameter = "*length")] out String source, [OutAttribute] out Int32 length) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: QCOM_extended_get2]</summary>
             /// <param name="program"></param>
             /// <param name="shadertype"></param>
-            /// <param name="source"></param>
+            /// <param name="source">[length: *length]</param>
             /// <param name="length"></param>
             [AutoGenerated(Category = "QCOM_extended_get2", Version = "", EntryPoint = "glExtGetProgramBinarySourceQCOM")]
             [CLSCompliant(false)]
-            public static unsafe void ExtGetProgramBinarySource(UInt32 program, OpenTK.Graphics.ES31.All shadertype, [OutAttribute] out String source, [OutAttribute] Int32* length) { throw new BindingsNotRewrittenException(); }
+            public static unsafe void ExtGetProgramBinarySource(UInt32 program, OpenTK.Graphics.ES31.All shadertype, [OutAttribute, CountAttribute(Parameter = "*length")] out String source, [OutAttribute] Int32* length) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: QCOM_extended_get2]</summary>
             /// <param name="programs">[length: maxPrograms]</param>
@@ -58544,7 +58544,7 @@ namespace OpenTK.Graphics.ES31
         private static extern void glDrawElementsInstancedANGLE(System.Int32 mode, Int32 count, System.Int32 type, [CountAttribute(Computed = "count,type")] IntPtr indices, Int32 primcount);
         [Slot(385)]
         [DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
-        private static extern unsafe void glGetTranslatedShaderSourceANGLE(UInt32 shader, Int32 bufsize, [OutAttribute, CountAttribute(Count = 1)] Int32* length, [OutAttribute] IntPtr source);
+        private static extern unsafe void glGetTranslatedShaderSourceANGLE(UInt32 shader, Int32 bufsize, [OutAttribute, CountAttribute(Count = 1)] Int32* length, [OutAttribute, CountAttribute(Parameter = "bufsize")] IntPtr source);
         [Slot(613)]
         [DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
         private static extern void glRenderbufferStorageMultisampleANGLE(System.Int32 target, Int32 samples, System.Int32 internalformat, Int32 width, Int32 height);
@@ -60140,16 +60140,16 @@ namespace OpenTK.Graphics.ES31
         private static extern unsafe void glGetNextPerfQueryIdINTEL(UInt32 queryId, [OutAttribute] UInt32* nextQueryId);
         [Slot(322)]
         [DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
-        private static extern unsafe void glGetPerfCounterInfoINTEL(UInt32 queryId, UInt32 counterId, UInt32 counterNameLength, [OutAttribute] IntPtr counterName, UInt32 counterDescLength, [OutAttribute] IntPtr counterDesc, [OutAttribute] UInt32* counterOffset, [OutAttribute] UInt32* counterDataSize, [OutAttribute] UInt32* counterTypeEnum, [OutAttribute] UInt32* counterDataTypeEnum, [OutAttribute] UInt64* rawCounterMaxValue);
+        private static extern unsafe void glGetPerfCounterInfoINTEL(UInt32 queryId, UInt32 counterId, UInt32 counterNameLength, [OutAttribute, CountAttribute(Parameter = "counterNameLength")] IntPtr counterName, UInt32 counterDescLength, [OutAttribute, CountAttribute(Parameter = "counterDescLength")] IntPtr counterDesc, [OutAttribute] UInt32* counterOffset, [OutAttribute] UInt32* counterDataSize, [OutAttribute] UInt32* counterTypeEnum, [OutAttribute] UInt32* counterDataTypeEnum, [OutAttribute] UInt64* rawCounterMaxValue);
         [Slot(329)]
         [DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
         private static extern unsafe void glGetPerfQueryDataINTEL(UInt32 queryHandle, UInt32 flags, Int32 dataSize, [OutAttribute] IntPtr data, [OutAttribute] UInt32* bytesWritten);
         [Slot(330)]
         [DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
-        private static extern unsafe void glGetPerfQueryIdByNameINTEL([OutAttribute] IntPtr queryName, [OutAttribute] UInt32* queryId);
+        private static extern unsafe void glGetPerfQueryIdByNameINTEL(IntPtr queryName, [OutAttribute] UInt32* queryId);
         [Slot(331)]
         [DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
-        private static extern unsafe void glGetPerfQueryInfoINTEL(UInt32 queryId, UInt32 queryNameLength, [OutAttribute] IntPtr queryName, [OutAttribute] UInt32* dataSize, [OutAttribute] UInt32* noCounters, [OutAttribute] UInt32* noInstances, [OutAttribute] UInt32* capsMask);
+        private static extern unsafe void glGetPerfQueryInfoINTEL(UInt32 queryId, UInt32 queryNameLength, [OutAttribute, CountAttribute(Parameter = "queryNameLength")] IntPtr queryName, [OutAttribute] UInt32* dataSize, [OutAttribute] UInt32* noCounters, [OutAttribute] UInt32* noInstances, [OutAttribute] UInt32* capsMask);
         [Slot(31)]
         [DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
         private static extern void glBlendBarrierKHR();
@@ -60890,7 +60890,7 @@ namespace OpenTK.Graphics.ES31
         private static extern unsafe void glExtGetFramebuffersQCOM([OutAttribute, CountAttribute(Parameter = "maxFramebuffers")] UInt32* framebuffers, Int32 maxFramebuffers, [OutAttribute, CountAttribute(Count = 1)] Int32* numFramebuffers);
         [Slot(199)]
         [DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
-        private static extern unsafe void glExtGetProgramBinarySourceQCOM(UInt32 program, System.Int32 shadertype, [OutAttribute] IntPtr source, [OutAttribute] Int32* length);
+        private static extern unsafe void glExtGetProgramBinarySourceQCOM(UInt32 program, System.Int32 shadertype, [OutAttribute, CountAttribute(Parameter = "*length")] IntPtr source, [OutAttribute] Int32* length);
         [Slot(200)]
         [DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
         private static extern unsafe void glExtGetProgramsQCOM([OutAttribute, CountAttribute(Parameter = "maxPrograms")] UInt32* programs, Int32 maxPrograms, [OutAttribute, CountAttribute(Count = 1)] Int32* numPrograms);
index 1a51899..80f88be 100644 (file)
@@ -110161,9 +110161,9 @@ namespace OpenTK.Graphics.OpenGL
             /// <param name="queryId"></param>
             /// <param name="counterId"></param>
             /// <param name="counterNameLength"></param>
-            /// <param name="counterName"></param>
+            /// <param name="counterName">[length: counterNameLength]</param>
             /// <param name="counterDescLength"></param>
-            /// <param name="counterDesc"></param>
+            /// <param name="counterDesc">[length: counterDescLength]</param>
             /// <param name="counterOffset"></param>
             /// <param name="counterDataSize"></param>
             /// <param name="counterTypeEnum"></param>
@@ -110171,15 +110171,15 @@ namespace OpenTK.Graphics.OpenGL
             /// <param name="rawCounterMaxValue"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfCounterInfoINTEL")]
             [CLSCompliant(false)]
-            public static void GetPerfCounterInfo(Int32 queryId, Int32 counterId, Int32 counterNameLength, [OutAttribute] out String counterName, Int32 counterDescLength, [OutAttribute] out String counterDesc, [OutAttribute] Int32[] counterOffset, [OutAttribute] Int32[] counterDataSize, [OutAttribute] Int32[] counterTypeEnum, [OutAttribute] Int32[] counterDataTypeEnum, [OutAttribute] Int64[] rawCounterMaxValue) { throw new BindingsNotRewrittenException(); }
+            public static void GetPerfCounterInfo(Int32 queryId, Int32 counterId, Int32 counterNameLength, [OutAttribute, CountAttribute(Parameter = "counterNameLength")] out String counterName, Int32 counterDescLength, [OutAttribute, CountAttribute(Parameter = "counterDescLength")] out String counterDesc, [OutAttribute] Int32[] counterOffset, [OutAttribute] Int32[] counterDataSize, [OutAttribute] Int32[] counterTypeEnum, [OutAttribute] Int32[] counterDataTypeEnum, [OutAttribute] Int64[] rawCounterMaxValue) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryId"></param>
             /// <param name="counterId"></param>
             /// <param name="counterNameLength"></param>
-            /// <param name="counterName"></param>
+            /// <param name="counterName">[length: counterNameLength]</param>
             /// <param name="counterDescLength"></param>
-            /// <param name="counterDesc"></param>
+            /// <param name="counterDesc">[length: counterDescLength]</param>
             /// <param name="counterOffset"></param>
             /// <param name="counterDataSize"></param>
             /// <param name="counterTypeEnum"></param>
@@ -110187,15 +110187,15 @@ namespace OpenTK.Graphics.OpenGL
             /// <param name="rawCounterMaxValue"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfCounterInfoINTEL")]
             [CLSCompliant(false)]
-            public static void GetPerfCounterInfo(Int32 queryId, Int32 counterId, Int32 counterNameLength, [OutAttribute] out String counterName, Int32 counterDescLength, [OutAttribute] out String counterDesc, [OutAttribute] out Int32 counterOffset, [OutAttribute] out Int32 counterDataSize, [OutAttribute] out Int32 counterTypeEnum, [OutAttribute] out Int32 counterDataTypeEnum, [OutAttribute] out Int64 rawCounterMaxValue) { throw new BindingsNotRewrittenException(); }
+            public static void GetPerfCounterInfo(Int32 queryId, Int32 counterId, Int32 counterNameLength, [OutAttribute, CountAttribute(Parameter = "counterNameLength")] out String counterName, Int32 counterDescLength, [OutAttribute, CountAttribute(Parameter = "counterDescLength")] out String counterDesc, [OutAttribute] out Int32 counterOffset, [OutAttribute] out Int32 counterDataSize, [OutAttribute] out Int32 counterTypeEnum, [OutAttribute] out Int32 counterDataTypeEnum, [OutAttribute] out Int64 rawCounterMaxValue) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryId"></param>
             /// <param name="counterId"></param>
             /// <param name="counterNameLength"></param>
-            /// <param name="counterName"></param>
+            /// <param name="counterName">[length: counterNameLength]</param>
             /// <param name="counterDescLength"></param>
-            /// <param name="counterDesc"></param>
+            /// <param name="counterDesc">[length: counterDescLength]</param>
             /// <param name="counterOffset"></param>
             /// <param name="counterDataSize"></param>
             /// <param name="counterTypeEnum"></param>
@@ -110203,15 +110203,15 @@ namespace OpenTK.Graphics.OpenGL
             /// <param name="rawCounterMaxValue"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfCounterInfoINTEL")]
             [CLSCompliant(false)]
-            public static unsafe void GetPerfCounterInfo(Int32 queryId, Int32 counterId, Int32 counterNameLength, [OutAttribute] out String counterName, Int32 counterDescLength, [OutAttribute] out String counterDesc, [OutAttribute] Int32* counterOffset, [OutAttribute] Int32* counterDataSize, [OutAttribute] Int32* counterTypeEnum, [OutAttribute] Int32* counterDataTypeEnum, [OutAttribute] Int64* rawCounterMaxValue) { throw new BindingsNotRewrittenException(); }
+            public static unsafe void GetPerfCounterInfo(Int32 queryId, Int32 counterId, Int32 counterNameLength, [OutAttribute, CountAttribute(Parameter = "counterNameLength")] out String counterName, Int32 counterDescLength, [OutAttribute, CountAttribute(Parameter = "counterDescLength")] out String counterDesc, [OutAttribute] Int32* counterOffset, [OutAttribute] Int32* counterDataSize, [OutAttribute] Int32* counterTypeEnum, [OutAttribute] Int32* counterDataTypeEnum, [OutAttribute] Int64* rawCounterMaxValue) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryId"></param>
             /// <param name="counterId"></param>
             /// <param name="counterNameLength"></param>
-            /// <param name="counterName"></param>
+            /// <param name="counterName">[length: counterNameLength]</param>
             /// <param name="counterDescLength"></param>
-            /// <param name="counterDesc"></param>
+            /// <param name="counterDesc">[length: counterDescLength]</param>
             /// <param name="counterOffset"></param>
             /// <param name="counterDataSize"></param>
             /// <param name="counterTypeEnum"></param>
@@ -110219,15 +110219,15 @@ namespace OpenTK.Graphics.OpenGL
             /// <param name="rawCounterMaxValue"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfCounterInfoINTEL")]
             [CLSCompliant(false)]
-            public static void GetPerfCounterInfo(UInt32 queryId, UInt32 counterId, UInt32 counterNameLength, [OutAttribute] out String counterName, UInt32 counterDescLength, [OutAttribute] out String counterDesc, [OutAttribute] UInt32[] counterOffset, [OutAttribute] UInt32[] counterDataSize, [OutAttribute] UInt32[] counterTypeEnum, [OutAttribute] UInt32[] counterDataTypeEnum, [OutAttribute] UInt64[] rawCounterMaxValue) { throw new BindingsNotRewrittenException(); }
+            public static void GetPerfCounterInfo(UInt32 queryId, UInt32 counterId, UInt32 counterNameLength, [OutAttribute, CountAttribute(Parameter = "counterNameLength")] out String counterName, UInt32 counterDescLength, [OutAttribute, CountAttribute(Parameter = "counterDescLength")] out String counterDesc, [OutAttribute] UInt32[] counterOffset, [OutAttribute] UInt32[] counterDataSize, [OutAttribute] UInt32[] counterTypeEnum, [OutAttribute] UInt32[] counterDataTypeEnum, [OutAttribute] UInt64[] rawCounterMaxValue) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryId"></param>
             /// <param name="counterId"></param>
             /// <param name="counterNameLength"></param>
-            /// <param name="counterName"></param>
+            /// <param name="counterName">[length: counterNameLength]</param>
             /// <param name="counterDescLength"></param>
-            /// <param name="counterDesc"></param>
+            /// <param name="counterDesc">[length: counterDescLength]</param>
             /// <param name="counterOffset"></param>
             /// <param name="counterDataSize"></param>
             /// <param name="counterTypeEnum"></param>
@@ -110235,15 +110235,15 @@ namespace OpenTK.Graphics.OpenGL
             /// <param name="rawCounterMaxValue"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfCounterInfoINTEL")]
             [CLSCompliant(false)]
-            public static void GetPerfCounterInfo(UInt32 queryId, UInt32 counterId, UInt32 counterNameLength, [OutAttribute] out String counterName, UInt32 counterDescLength, [OutAttribute] out String counterDesc, [OutAttribute] out UInt32 counterOffset, [OutAttribute] out UInt32 counterDataSize, [OutAttribute] out UInt32 counterTypeEnum, [OutAttribute] out UInt32 counterDataTypeEnum, [OutAttribute] out UInt64 rawCounterMaxValue) { throw new BindingsNotRewrittenException(); }
+            public static void GetPerfCounterInfo(UInt32 queryId, UInt32 counterId, UInt32 counterNameLength, [OutAttribute, CountAttribute(Parameter = "counterNameLength")] out String counterName, UInt32 counterDescLength, [OutAttribute, CountAttribute(Parameter = "counterDescLength")] out String counterDesc, [OutAttribute] out UInt32 counterOffset, [OutAttribute] out UInt32 counterDataSize, [OutAttribute] out UInt32 counterTypeEnum, [OutAttribute] out UInt32 counterDataTypeEnum, [OutAttribute] out UInt64 rawCounterMaxValue) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryId"></param>
             /// <param name="counterId"></param>
             /// <param name="counterNameLength"></param>
-            /// <param name="counterName"></param>
+            /// <param name="counterName">[length: counterNameLength]</param>
             /// <param name="counterDescLength"></param>
-            /// <param name="counterDesc"></param>
+            /// <param name="counterDesc">[length: counterDescLength]</param>
             /// <param name="counterOffset"></param>
             /// <param name="counterDataSize"></param>
             /// <param name="counterTypeEnum"></param>
@@ -110251,7 +110251,7 @@ namespace OpenTK.Graphics.OpenGL
             /// <param name="rawCounterMaxValue"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfCounterInfoINTEL")]
             [CLSCompliant(false)]
-            public static unsafe void GetPerfCounterInfo(UInt32 queryId, UInt32 counterId, UInt32 counterNameLength, [OutAttribute] out String counterName, UInt32 counterDescLength, [OutAttribute] out String counterDesc, [OutAttribute] UInt32* counterOffset, [OutAttribute] UInt32* counterDataSize, [OutAttribute] UInt32* counterTypeEnum, [OutAttribute] UInt32* counterDataTypeEnum, [OutAttribute] UInt64* rawCounterMaxValue) { throw new BindingsNotRewrittenException(); }
+            public static unsafe void GetPerfCounterInfo(UInt32 queryId, UInt32 counterId, UInt32 counterNameLength, [OutAttribute, CountAttribute(Parameter = "counterNameLength")] out String counterName, UInt32 counterDescLength, [OutAttribute, CountAttribute(Parameter = "counterDescLength")] out String counterDesc, [OutAttribute] UInt32* counterOffset, [OutAttribute] UInt32* counterDataSize, [OutAttribute] UInt32* counterTypeEnum, [OutAttribute] UInt32* counterDataTypeEnum, [OutAttribute] UInt64* rawCounterMaxValue) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryHandle"></param>
@@ -110605,121 +110605,121 @@ namespace OpenTK.Graphics.OpenGL
             /// <param name="queryName"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfQueryIdByNameINTEL")]
             [CLSCompliant(false)]
-            public static Int32 GetPerfQueryIdByName([OutAttribute] out String queryName) { throw new BindingsNotRewrittenException(); }
+            public static Int32 GetPerfQueryIdByName(String queryName) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryName"></param>
             /// <param name="queryId"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfQueryIdByNameINTEL")]
             [CLSCompliant(false)]
-            public static void GetPerfQueryIdByName([OutAttribute] out String queryName, [OutAttribute] Int32[] queryId) { throw new BindingsNotRewrittenException(); }
+            public static void GetPerfQueryIdByName(String queryName, [OutAttribute] Int32[] queryId) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryName"></param>
             /// <param name="queryId"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfQueryIdByNameINTEL")]
             [CLSCompliant(false)]
-            public static void GetPerfQueryIdByName([OutAttribute] out String queryName, [OutAttribute] out Int32 queryId) { throw new BindingsNotRewrittenException(); }
+            public static void GetPerfQueryIdByName(String queryName, [OutAttribute] out Int32 queryId) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryName"></param>
             /// <param name="queryId"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfQueryIdByNameINTEL")]
             [CLSCompliant(false)]
-            public static unsafe void GetPerfQueryIdByName([OutAttribute] out String queryName, [OutAttribute] Int32* queryId) { throw new BindingsNotRewrittenException(); }
+            public static unsafe void GetPerfQueryIdByName(String queryName, [OutAttribute] Int32* queryId) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryName"></param>
             /// <param name="queryId"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfQueryIdByNameINTEL")]
             [CLSCompliant(false)]
-            public static void GetPerfQueryIdByName([OutAttribute] out String queryName, [OutAttribute] UInt32[] queryId) { throw new BindingsNotRewrittenException(); }
+            public static void GetPerfQueryIdByName(String queryName, [OutAttribute] UInt32[] queryId) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryName"></param>
             /// <param name="queryId"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfQueryIdByNameINTEL")]
             [CLSCompliant(false)]
-            public static void GetPerfQueryIdByName([OutAttribute] out String queryName, [OutAttribute] out UInt32 queryId) { throw new BindingsNotRewrittenException(); }
+            public static void GetPerfQueryIdByName(String queryName, [OutAttribute] out UInt32 queryId) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryName"></param>
             /// <param name="queryId"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfQueryIdByNameINTEL")]
             [CLSCompliant(false)]
-            public static unsafe void GetPerfQueryIdByName([OutAttribute] out String queryName, [OutAttribute] UInt32* queryId) { throw new BindingsNotRewrittenException(); }
+            public static unsafe void GetPerfQueryIdByName(String queryName, [OutAttribute] UInt32* queryId) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryId"></param>
             /// <param name="queryNameLength"></param>
-            /// <param name="queryName"></param>
+            /// <param name="queryName">[length: queryNameLength]</param>
             /// <param name="dataSize"></param>
             /// <param name="noCounters"></param>
             /// <param name="noInstances"></param>
             /// <param name="capsMask"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfQueryInfoINTEL")]
             [CLSCompliant(false)]
-            public static void GetPerfQueryInfo(Int32 queryId, Int32 queryNameLength, [OutAttribute] out String queryName, [OutAttribute] Int32[] dataSize, [OutAttribute] Int32[] noCounters, [OutAttribute] Int32[] noInstances, [OutAttribute] Int32[] capsMask) { throw new BindingsNotRewrittenException(); }
+            public static void GetPerfQueryInfo(Int32 queryId, Int32 queryNameLength, [OutAttribute, CountAttribute(Parameter = "queryNameLength")] out String queryName, [OutAttribute] Int32[] dataSize, [OutAttribute] Int32[] noCounters, [OutAttribute] Int32[] noInstances, [OutAttribute] Int32[] capsMask) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryId"></param>
             /// <param name="queryNameLength"></param>
-            /// <param name="queryName"></param>
+            /// <param name="queryName">[length: queryNameLength]</param>
             /// <param name="dataSize"></param>
             /// <param name="noCounters"></param>
             /// <param name="noInstances"></param>
             /// <param name="capsMask"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfQueryInfoINTEL")]
             [CLSCompliant(false)]
-            public static void GetPerfQueryInfo(Int32 queryId, Int32 queryNameLength, [OutAttribute] out String queryName, [OutAttribute] out Int32 dataSize, [OutAttribute] out Int32 noCounters, [OutAttribute] out Int32 noInstances, [OutAttribute] out Int32 capsMask) { throw new BindingsNotRewrittenException(); }
+            public static void GetPerfQueryInfo(Int32 queryId, Int32 queryNameLength, [OutAttribute, CountAttribute(Parameter = "queryNameLength")] out String queryName, [OutAttribute] out Int32 dataSize, [OutAttribute] out Int32 noCounters, [OutAttribute] out Int32 noInstances, [OutAttribute] out Int32 capsMask) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryId"></param>
             /// <param name="queryNameLength"></param>
-            /// <param name="queryName"></param>
+            /// <param name="queryName">[length: queryNameLength]</param>
             /// <param name="dataSize"></param>
             /// <param name="noCounters"></param>
             /// <param name="noInstances"></param>
             /// <param name="capsMask"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfQueryInfoINTEL")]
             [CLSCompliant(false)]
-            public static unsafe void GetPerfQueryInfo(Int32 queryId, Int32 queryNameLength, [OutAttribute] out String queryName, [OutAttribute] Int32* dataSize, [OutAttribute] Int32* noCounters, [OutAttribute] Int32* noInstances, [OutAttribute] Int32* capsMask) { throw new BindingsNotRewrittenException(); }
+            public static unsafe void GetPerfQueryInfo(Int32 queryId, Int32 queryNameLength, [OutAttribute, CountAttribute(Parameter = "queryNameLength")] out String queryName, [OutAttribute] Int32* dataSize, [OutAttribute] Int32* noCounters, [OutAttribute] Int32* noInstances, [OutAttribute] Int32* capsMask) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryId"></param>
             /// <param name="queryNameLength"></param>
-            /// <param name="queryName"></param>
+            /// <param name="queryName">[length: queryNameLength]</param>
             /// <param name="dataSize"></param>
             /// <param name="noCounters"></param>
             /// <param name="noInstances"></param>
             /// <param name="capsMask"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfQueryInfoINTEL")]
             [CLSCompliant(false)]
-            public static void GetPerfQueryInfo(UInt32 queryId, UInt32 queryNameLength, [OutAttribute] out String queryName, [OutAttribute] UInt32[] dataSize, [OutAttribute] UInt32[] noCounters, [OutAttribute] UInt32[] noInstances, [OutAttribute] UInt32[] capsMask) { throw new BindingsNotRewrittenException(); }
+            public static void GetPerfQueryInfo(UInt32 queryId, UInt32 queryNameLength, [OutAttribute, CountAttribute(Parameter = "queryNameLength")] out String queryName, [OutAttribute] UInt32[] dataSize, [OutAttribute] UInt32[] noCounters, [OutAttribute] UInt32[] noInstances, [OutAttribute] UInt32[] capsMask) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryId"></param>
             /// <param name="queryNameLength"></param>
-            /// <param name="queryName"></param>
+            /// <param name="queryName">[length: queryNameLength]</param>
             /// <param name="dataSize"></param>
             /// <param name="noCounters"></param>
             /// <param name="noInstances"></param>
             /// <param name="capsMask"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfQueryInfoINTEL")]
             [CLSCompliant(false)]
-            public static void GetPerfQueryInfo(UInt32 queryId, UInt32 queryNameLength, [OutAttribute] out String queryName, [OutAttribute] out UInt32 dataSize, [OutAttribute] out UInt32 noCounters, [OutAttribute] out UInt32 noInstances, [OutAttribute] out UInt32 capsMask) { throw new BindingsNotRewrittenException(); }
+            public static void GetPerfQueryInfo(UInt32 queryId, UInt32 queryNameLength, [OutAttribute, CountAttribute(Parameter = "queryNameLength")] out String queryName, [OutAttribute] out UInt32 dataSize, [OutAttribute] out UInt32 noCounters, [OutAttribute] out UInt32 noInstances, [OutAttribute] out UInt32 capsMask) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryId"></param>
             /// <param name="queryNameLength"></param>
-            /// <param name="queryName"></param>
+            /// <param name="queryName">[length: queryNameLength]</param>
             /// <param name="dataSize"></param>
             /// <param name="noCounters"></param>
             /// <param name="noInstances"></param>
             /// <param name="capsMask"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfQueryInfoINTEL")]
             [CLSCompliant(false)]
-            public static unsafe void GetPerfQueryInfo(UInt32 queryId, UInt32 queryNameLength, [OutAttribute] out String queryName, [OutAttribute] UInt32* dataSize, [OutAttribute] UInt32* noCounters, [OutAttribute] UInt32* noInstances, [OutAttribute] UInt32* capsMask) { throw new BindingsNotRewrittenException(); }
+            public static unsafe void GetPerfQueryInfo(UInt32 queryId, UInt32 queryNameLength, [OutAttribute, CountAttribute(Parameter = "queryNameLength")] out String queryName, [OutAttribute] UInt32* dataSize, [OutAttribute] UInt32* noCounters, [OutAttribute] UInt32* noInstances, [OutAttribute] UInt32* capsMask) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_map_texture]</summary>
             /// <param name="texture"></param>
@@ -147798,16 +147798,16 @@ namespace OpenTK.Graphics.OpenGL
         private static extern unsafe void glGetNextPerfQueryIdINTEL(UInt32 queryId, [OutAttribute] UInt32* nextQueryId);
         [Slot(950)]
         [DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
-        private static extern unsafe void glGetPerfCounterInfoINTEL(UInt32 queryId, UInt32 counterId, UInt32 counterNameLength, [OutAttribute] IntPtr counterName, UInt32 counterDescLength, [OutAttribute] IntPtr counterDesc, [OutAttribute] UInt32* counterOffset, [OutAttribute] UInt32* counterDataSize, [OutAttribute] UInt32* counterTypeEnum, [OutAttribute] UInt32* counterDataTypeEnum, [OutAttribute] UInt64* rawCounterMaxValue);
+        private static extern unsafe void glGetPerfCounterInfoINTEL(UInt32 queryId, UInt32 counterId, UInt32 counterNameLength, [OutAttribute, CountAttribute(Parameter = "counterNameLength")] IntPtr counterName, UInt32 counterDescLength, [OutAttribute, CountAttribute(Parameter = "counterDescLength")] IntPtr counterDesc, [OutAttribute] UInt32* counterOffset, [OutAttribute] UInt32* counterDataSize, [OutAttribute] UInt32* counterTypeEnum, [OutAttribute] UInt32* counterDataTypeEnum, [OutAttribute] UInt64* rawCounterMaxValue);
         [Slot(957)]
         [DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
         private static extern unsafe void glGetPerfQueryDataINTEL(UInt32 queryHandle, UInt32 flags, Int32 dataSize, [OutAttribute] IntPtr data, [OutAttribute] UInt32* bytesWritten);
         [Slot(958)]
         [DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
-        private static extern unsafe void glGetPerfQueryIdByNameINTEL([OutAttribute] IntPtr queryName, [OutAttribute] UInt32* queryId);
+        private static extern unsafe void glGetPerfQueryIdByNameINTEL(IntPtr queryName, [OutAttribute] UInt32* queryId);
         [Slot(959)]
         [DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
-        private static extern unsafe void glGetPerfQueryInfoINTEL(UInt32 queryId, UInt32 queryNameLength, [OutAttribute] IntPtr queryName, [OutAttribute] UInt32* dataSize, [OutAttribute] UInt32* noCounters, [OutAttribute] UInt32* noInstances, [OutAttribute] UInt32* capsMask);
+        private static extern unsafe void glGetPerfQueryInfoINTEL(UInt32 queryId, UInt32 queryNameLength, [OutAttribute, CountAttribute(Parameter = "queryNameLength")] IntPtr queryName, [OutAttribute] UInt32* dataSize, [OutAttribute] UInt32* noCounters, [OutAttribute] UInt32* noInstances, [OutAttribute] UInt32* capsMask);
         [Slot(1338)]
         [DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
         private static extern unsafe IntPtr glMapTexture2DINTEL(UInt32 texture, Int32 level, UInt32 access, [OutAttribute, CountAttribute(Count = 1)] Int32* stride, [OutAttribute, CountAttribute(Count = 1)] System.Int32* layout);
index 5692a61..7cf95e0 100644 (file)
@@ -63371,9 +63371,9 @@ namespace OpenTK.Graphics.OpenGL4
             /// <param name="queryId"></param>
             /// <param name="counterId"></param>
             /// <param name="counterNameLength"></param>
-            /// <param name="counterName"></param>
+            /// <param name="counterName">[length: counterNameLength]</param>
             /// <param name="counterDescLength"></param>
-            /// <param name="counterDesc"></param>
+            /// <param name="counterDesc">[length: counterDescLength]</param>
             /// <param name="counterOffset"></param>
             /// <param name="counterDataSize"></param>
             /// <param name="counterTypeEnum"></param>
@@ -63381,15 +63381,15 @@ namespace OpenTK.Graphics.OpenGL4
             /// <param name="rawCounterMaxValue"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfCounterInfoINTEL")]
             [CLSCompliant(false)]
-            public static void GetPerfCounterInfo(Int32 queryId, Int32 counterId, Int32 counterNameLength, [OutAttribute] out String counterName, Int32 counterDescLength, [OutAttribute] out String counterDesc, [OutAttribute] Int32[] counterOffset, [OutAttribute] Int32[] counterDataSize, [OutAttribute] Int32[] counterTypeEnum, [OutAttribute] Int32[] counterDataTypeEnum, [OutAttribute] Int64[] rawCounterMaxValue) { throw new BindingsNotRewrittenException(); }
+            public static void GetPerfCounterInfo(Int32 queryId, Int32 counterId, Int32 counterNameLength, [OutAttribute, CountAttribute(Parameter = "counterNameLength")] out String counterName, Int32 counterDescLength, [OutAttribute, CountAttribute(Parameter = "counterDescLength")] out String counterDesc, [OutAttribute] Int32[] counterOffset, [OutAttribute] Int32[] counterDataSize, [OutAttribute] Int32[] counterTypeEnum, [OutAttribute] Int32[] counterDataTypeEnum, [OutAttribute] Int64[] rawCounterMaxValue) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryId"></param>
             /// <param name="counterId"></param>
             /// <param name="counterNameLength"></param>
-            /// <param name="counterName"></param>
+            /// <param name="counterName">[length: counterNameLength]</param>
             /// <param name="counterDescLength"></param>
-            /// <param name="counterDesc"></param>
+            /// <param name="counterDesc">[length: counterDescLength]</param>
             /// <param name="counterOffset"></param>
             /// <param name="counterDataSize"></param>
             /// <param name="counterTypeEnum"></param>
@@ -63397,15 +63397,15 @@ namespace OpenTK.Graphics.OpenGL4
             /// <param name="rawCounterMaxValue"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfCounterInfoINTEL")]
             [CLSCompliant(false)]
-            public static void GetPerfCounterInfo(Int32 queryId, Int32 counterId, Int32 counterNameLength, [OutAttribute] out String counterName, Int32 counterDescLength, [OutAttribute] out String counterDesc, [OutAttribute] out Int32 counterOffset, [OutAttribute] out Int32 counterDataSize, [OutAttribute] out Int32 counterTypeEnum, [OutAttribute] out Int32 counterDataTypeEnum, [OutAttribute] out Int64 rawCounterMaxValue) { throw new BindingsNotRewrittenException(); }
+            public static void GetPerfCounterInfo(Int32 queryId, Int32 counterId, Int32 counterNameLength, [OutAttribute, CountAttribute(Parameter = "counterNameLength")] out String counterName, Int32 counterDescLength, [OutAttribute, CountAttribute(Parameter = "counterDescLength")] out String counterDesc, [OutAttribute] out Int32 counterOffset, [OutAttribute] out Int32 counterDataSize, [OutAttribute] out Int32 counterTypeEnum, [OutAttribute] out Int32 counterDataTypeEnum, [OutAttribute] out Int64 rawCounterMaxValue) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryId"></param>
             /// <param name="counterId"></param>
             /// <param name="counterNameLength"></param>
-            /// <param name="counterName"></param>
+            /// <param name="counterName">[length: counterNameLength]</param>
             /// <param name="counterDescLength"></param>
-            /// <param name="counterDesc"></param>
+            /// <param name="counterDesc">[length: counterDescLength]</param>
             /// <param name="counterOffset"></param>
             /// <param name="counterDataSize"></param>
             /// <param name="counterTypeEnum"></param>
@@ -63413,15 +63413,15 @@ namespace OpenTK.Graphics.OpenGL4
             /// <param name="rawCounterMaxValue"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfCounterInfoINTEL")]
             [CLSCompliant(false)]
-            public static unsafe void GetPerfCounterInfo(Int32 queryId, Int32 counterId, Int32 counterNameLength, [OutAttribute] out String counterName, Int32 counterDescLength, [OutAttribute] out String counterDesc, [OutAttribute] Int32* counterOffset, [OutAttribute] Int32* counterDataSize, [OutAttribute] Int32* counterTypeEnum, [OutAttribute] Int32* counterDataTypeEnum, [OutAttribute] Int64* rawCounterMaxValue) { throw new BindingsNotRewrittenException(); }
+            public static unsafe void GetPerfCounterInfo(Int32 queryId, Int32 counterId, Int32 counterNameLength, [OutAttribute, CountAttribute(Parameter = "counterNameLength")] out String counterName, Int32 counterDescLength, [OutAttribute, CountAttribute(Parameter = "counterDescLength")] out String counterDesc, [OutAttribute] Int32* counterOffset, [OutAttribute] Int32* counterDataSize, [OutAttribute] Int32* counterTypeEnum, [OutAttribute] Int32* counterDataTypeEnum, [OutAttribute] Int64* rawCounterMaxValue) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryId"></param>
             /// <param name="counterId"></param>
             /// <param name="counterNameLength"></param>
-            /// <param name="counterName"></param>
+            /// <param name="counterName">[length: counterNameLength]</param>
             /// <param name="counterDescLength"></param>
-            /// <param name="counterDesc"></param>
+            /// <param name="counterDesc">[length: counterDescLength]</param>
             /// <param name="counterOffset"></param>
             /// <param name="counterDataSize"></param>
             /// <param name="counterTypeEnum"></param>
@@ -63429,15 +63429,15 @@ namespace OpenTK.Graphics.OpenGL4
             /// <param name="rawCounterMaxValue"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfCounterInfoINTEL")]
             [CLSCompliant(false)]
-            public static void GetPerfCounterInfo(UInt32 queryId, UInt32 counterId, UInt32 counterNameLength, [OutAttribute] out String counterName, UInt32 counterDescLength, [OutAttribute] out String counterDesc, [OutAttribute] UInt32[] counterOffset, [OutAttribute] UInt32[] counterDataSize, [OutAttribute] UInt32[] counterTypeEnum, [OutAttribute] UInt32[] counterDataTypeEnum, [OutAttribute] UInt64[] rawCounterMaxValue) { throw new BindingsNotRewrittenException(); }
+            public static void GetPerfCounterInfo(UInt32 queryId, UInt32 counterId, UInt32 counterNameLength, [OutAttribute, CountAttribute(Parameter = "counterNameLength")] out String counterName, UInt32 counterDescLength, [OutAttribute, CountAttribute(Parameter = "counterDescLength")] out String counterDesc, [OutAttribute] UInt32[] counterOffset, [OutAttribute] UInt32[] counterDataSize, [OutAttribute] UInt32[] counterTypeEnum, [OutAttribute] UInt32[] counterDataTypeEnum, [OutAttribute] UInt64[] rawCounterMaxValue) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryId"></param>
             /// <param name="counterId"></param>
             /// <param name="counterNameLength"></param>
-            /// <param name="counterName"></param>
+            /// <param name="counterName">[length: counterNameLength]</param>
             /// <param name="counterDescLength"></param>
-            /// <param name="counterDesc"></param>
+            /// <param name="counterDesc">[length: counterDescLength]</param>
             /// <param name="counterOffset"></param>
             /// <param name="counterDataSize"></param>
             /// <param name="counterTypeEnum"></param>
@@ -63445,15 +63445,15 @@ namespace OpenTK.Graphics.OpenGL4
             /// <param name="rawCounterMaxValue"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfCounterInfoINTEL")]
             [CLSCompliant(false)]
-            public static void GetPerfCounterInfo(UInt32 queryId, UInt32 counterId, UInt32 counterNameLength, [OutAttribute] out String counterName, UInt32 counterDescLength, [OutAttribute] out String counterDesc, [OutAttribute] out UInt32 counterOffset, [OutAttribute] out UInt32 counterDataSize, [OutAttribute] out UInt32 counterTypeEnum, [OutAttribute] out UInt32 counterDataTypeEnum, [OutAttribute] out UInt64 rawCounterMaxValue) { throw new BindingsNotRewrittenException(); }
+            public static void GetPerfCounterInfo(UInt32 queryId, UInt32 counterId, UInt32 counterNameLength, [OutAttribute, CountAttribute(Parameter = "counterNameLength")] out String counterName, UInt32 counterDescLength, [OutAttribute, CountAttribute(Parameter = "counterDescLength")] out String counterDesc, [OutAttribute] out UInt32 counterOffset, [OutAttribute] out UInt32 counterDataSize, [OutAttribute] out UInt32 counterTypeEnum, [OutAttribute] out UInt32 counterDataTypeEnum, [OutAttribute] out UInt64 rawCounterMaxValue) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryId"></param>
             /// <param name="counterId"></param>
             /// <param name="counterNameLength"></param>
-            /// <param name="counterName"></param>
+            /// <param name="counterName">[length: counterNameLength]</param>
             /// <param name="counterDescLength"></param>
-            /// <param name="counterDesc"></param>
+            /// <param name="counterDesc">[length: counterDescLength]</param>
             /// <param name="counterOffset"></param>
             /// <param name="counterDataSize"></param>
             /// <param name="counterTypeEnum"></param>
@@ -63461,7 +63461,7 @@ namespace OpenTK.Graphics.OpenGL4
             /// <param name="rawCounterMaxValue"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfCounterInfoINTEL")]
             [CLSCompliant(false)]
-            public static unsafe void GetPerfCounterInfo(UInt32 queryId, UInt32 counterId, UInt32 counterNameLength, [OutAttribute] out String counterName, UInt32 counterDescLength, [OutAttribute] out String counterDesc, [OutAttribute] UInt32* counterOffset, [OutAttribute] UInt32* counterDataSize, [OutAttribute] UInt32* counterTypeEnum, [OutAttribute] UInt32* counterDataTypeEnum, [OutAttribute] UInt64* rawCounterMaxValue) { throw new BindingsNotRewrittenException(); }
+            public static unsafe void GetPerfCounterInfo(UInt32 queryId, UInt32 counterId, UInt32 counterNameLength, [OutAttribute, CountAttribute(Parameter = "counterNameLength")] out String counterName, UInt32 counterDescLength, [OutAttribute, CountAttribute(Parameter = "counterDescLength")] out String counterDesc, [OutAttribute] UInt32* counterOffset, [OutAttribute] UInt32* counterDataSize, [OutAttribute] UInt32* counterTypeEnum, [OutAttribute] UInt32* counterDataTypeEnum, [OutAttribute] UInt64* rawCounterMaxValue) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryHandle"></param>
@@ -63815,121 +63815,121 @@ namespace OpenTK.Graphics.OpenGL4
             /// <param name="queryName"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfQueryIdByNameINTEL")]
             [CLSCompliant(false)]
-            public static Int32 GetPerfQueryIdByName([OutAttribute] out String queryName) { throw new BindingsNotRewrittenException(); }
+            public static Int32 GetPerfQueryIdByName(String queryName) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryName"></param>
             /// <param name="queryId"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfQueryIdByNameINTEL")]
             [CLSCompliant(false)]
-            public static void GetPerfQueryIdByName([OutAttribute] out String queryName, [OutAttribute] Int32[] queryId) { throw new BindingsNotRewrittenException(); }
+            public static void GetPerfQueryIdByName(String queryName, [OutAttribute] Int32[] queryId) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryName"></param>
             /// <param name="queryId"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfQueryIdByNameINTEL")]
             [CLSCompliant(false)]
-            public static void GetPerfQueryIdByName([OutAttribute] out String queryName, [OutAttribute] out Int32 queryId) { throw new BindingsNotRewrittenException(); }
+            public static void GetPerfQueryIdByName(String queryName, [OutAttribute] out Int32 queryId) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryName"></param>
             /// <param name="queryId"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfQueryIdByNameINTEL")]
             [CLSCompliant(false)]
-            public static unsafe void GetPerfQueryIdByName([OutAttribute] out String queryName, [OutAttribute] Int32* queryId) { throw new BindingsNotRewrittenException(); }
+            public static unsafe void GetPerfQueryIdByName(String queryName, [OutAttribute] Int32* queryId) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryName"></param>
             /// <param name="queryId"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfQueryIdByNameINTEL")]
             [CLSCompliant(false)]
-            public static void GetPerfQueryIdByName([OutAttribute] out String queryName, [OutAttribute] UInt32[] queryId) { throw new BindingsNotRewrittenException(); }
+            public static void GetPerfQueryIdByName(String queryName, [OutAttribute] UInt32[] queryId) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryName"></param>
             /// <param name="queryId"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfQueryIdByNameINTEL")]
             [CLSCompliant(false)]
-            public static void GetPerfQueryIdByName([OutAttribute] out String queryName, [OutAttribute] out UInt32 queryId) { throw new BindingsNotRewrittenException(); }
+            public static void GetPerfQueryIdByName(String queryName, [OutAttribute] out UInt32 queryId) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryName"></param>
             /// <param name="queryId"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfQueryIdByNameINTEL")]
             [CLSCompliant(false)]
-            public static unsafe void GetPerfQueryIdByName([OutAttribute] out String queryName, [OutAttribute] UInt32* queryId) { throw new BindingsNotRewrittenException(); }
+            public static unsafe void GetPerfQueryIdByName(String queryName, [OutAttribute] UInt32* queryId) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryId"></param>
             /// <param name="queryNameLength"></param>
-            /// <param name="queryName"></param>
+            /// <param name="queryName">[length: queryNameLength]</param>
             /// <param name="dataSize"></param>
             /// <param name="noCounters"></param>
             /// <param name="noInstances"></param>
             /// <param name="capsMask"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfQueryInfoINTEL")]
             [CLSCompliant(false)]
-            public static void GetPerfQueryInfo(Int32 queryId, Int32 queryNameLength, [OutAttribute] out String queryName, [OutAttribute] Int32[] dataSize, [OutAttribute] Int32[] noCounters, [OutAttribute] Int32[] noInstances, [OutAttribute] Int32[] capsMask) { throw new BindingsNotRewrittenException(); }
+            public static void GetPerfQueryInfo(Int32 queryId, Int32 queryNameLength, [OutAttribute, CountAttribute(Parameter = "queryNameLength")] out String queryName, [OutAttribute] Int32[] dataSize, [OutAttribute] Int32[] noCounters, [OutAttribute] Int32[] noInstances, [OutAttribute] Int32[] capsMask) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryId"></param>
             /// <param name="queryNameLength"></param>
-            /// <param name="queryName"></param>
+            /// <param name="queryName">[length: queryNameLength]</param>
             /// <param name="dataSize"></param>
             /// <param name="noCounters"></param>
             /// <param name="noInstances"></param>
             /// <param name="capsMask"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfQueryInfoINTEL")]
             [CLSCompliant(false)]
-            public static void GetPerfQueryInfo(Int32 queryId, Int32 queryNameLength, [OutAttribute] out String queryName, [OutAttribute] out Int32 dataSize, [OutAttribute] out Int32 noCounters, [OutAttribute] out Int32 noInstances, [OutAttribute] out Int32 capsMask) { throw new BindingsNotRewrittenException(); }
+            public static void GetPerfQueryInfo(Int32 queryId, Int32 queryNameLength, [OutAttribute, CountAttribute(Parameter = "queryNameLength")] out String queryName, [OutAttribute] out Int32 dataSize, [OutAttribute] out Int32 noCounters, [OutAttribute] out Int32 noInstances, [OutAttribute] out Int32 capsMask) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryId"></param>
             /// <param name="queryNameLength"></param>
-            /// <param name="queryName"></param>
+            /// <param name="queryName">[length: queryNameLength]</param>
             /// <param name="dataSize"></param>
             /// <param name="noCounters"></param>
             /// <param name="noInstances"></param>
             /// <param name="capsMask"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfQueryInfoINTEL")]
             [CLSCompliant(false)]
-            public static unsafe void GetPerfQueryInfo(Int32 queryId, Int32 queryNameLength, [OutAttribute] out String queryName, [OutAttribute] Int32* dataSize, [OutAttribute] Int32* noCounters, [OutAttribute] Int32* noInstances, [OutAttribute] Int32* capsMask) { throw new BindingsNotRewrittenException(); }
+            public static unsafe void GetPerfQueryInfo(Int32 queryId, Int32 queryNameLength, [OutAttribute, CountAttribute(Parameter = "queryNameLength")] out String queryName, [OutAttribute] Int32* dataSize, [OutAttribute] Int32* noCounters, [OutAttribute] Int32* noInstances, [OutAttribute] Int32* capsMask) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryId"></param>
             /// <param name="queryNameLength"></param>
-            /// <param name="queryName"></param>
+            /// <param name="queryName">[length: queryNameLength]</param>
             /// <param name="dataSize"></param>
             /// <param name="noCounters"></param>
             /// <param name="noInstances"></param>
             /// <param name="capsMask"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfQueryInfoINTEL")]
             [CLSCompliant(false)]
-            public static void GetPerfQueryInfo(UInt32 queryId, UInt32 queryNameLength, [OutAttribute] out String queryName, [OutAttribute] UInt32[] dataSize, [OutAttribute] UInt32[] noCounters, [OutAttribute] UInt32[] noInstances, [OutAttribute] UInt32[] capsMask) { throw new BindingsNotRewrittenException(); }
+            public static void GetPerfQueryInfo(UInt32 queryId, UInt32 queryNameLength, [OutAttribute, CountAttribute(Parameter = "queryNameLength")] out String queryName, [OutAttribute] UInt32[] dataSize, [OutAttribute] UInt32[] noCounters, [OutAttribute] UInt32[] noInstances, [OutAttribute] UInt32[] capsMask) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryId"></param>
             /// <param name="queryNameLength"></param>
-            /// <param name="queryName"></param>
+            /// <param name="queryName">[length: queryNameLength]</param>
             /// <param name="dataSize"></param>
             /// <param name="noCounters"></param>
             /// <param name="noInstances"></param>
             /// <param name="capsMask"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfQueryInfoINTEL")]
             [CLSCompliant(false)]
-            public static void GetPerfQueryInfo(UInt32 queryId, UInt32 queryNameLength, [OutAttribute] out String queryName, [OutAttribute] out UInt32 dataSize, [OutAttribute] out UInt32 noCounters, [OutAttribute] out UInt32 noInstances, [OutAttribute] out UInt32 capsMask) { throw new BindingsNotRewrittenException(); }
+            public static void GetPerfQueryInfo(UInt32 queryId, UInt32 queryNameLength, [OutAttribute, CountAttribute(Parameter = "queryNameLength")] out String queryName, [OutAttribute] out UInt32 dataSize, [OutAttribute] out UInt32 noCounters, [OutAttribute] out UInt32 noInstances, [OutAttribute] out UInt32 capsMask) { throw new BindingsNotRewrittenException(); }
 
             /// <summary>[requires: INTEL_performance_query]</summary>
             /// <param name="queryId"></param>
             /// <param name="queryNameLength"></param>
-            /// <param name="queryName"></param>
+            /// <param name="queryName">[length: queryNameLength]</param>
             /// <param name="dataSize"></param>
             /// <param name="noCounters"></param>
             /// <param name="noInstances"></param>
             /// <param name="capsMask"></param>
             [AutoGenerated(Category = "INTEL_performance_query", Version = "", EntryPoint = "glGetPerfQueryInfoINTEL")]
             [CLSCompliant(false)]
-            public static unsafe void GetPerfQueryInfo(UInt32 queryId, UInt32 queryNameLength, [OutAttribute] out String queryName, [OutAttribute] UInt32* dataSize, [OutAttribute] UInt32* noCounters, [OutAttribute] UInt32* noInstances, [OutAttribute] UInt32* capsMask) { throw new BindingsNotRewrittenException(); }
+            public static unsafe void GetPerfQueryInfo(UInt32 queryId, UInt32 queryNameLength, [OutAttribute, CountAttribute(Parameter = "queryNameLength")] out String queryName, [OutAttribute] UInt32* dataSize, [OutAttribute] UInt32* noCounters, [OutAttribute] UInt32* noInstances, [OutAttribute] UInt32* capsMask) { throw new BindingsNotRewrittenException(); }
 
         }
 
@@ -80162,16 +80162,16 @@ namespace OpenTK.Graphics.OpenGL4
         private static extern unsafe void glGetNextPerfQueryIdINTEL(UInt32 queryId, [OutAttribute] UInt32* nextQueryId);
         [Slot(485)]
         [DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
-        private static extern unsafe void glGetPerfCounterInfoINTEL(UInt32 queryId, UInt32 counterId, UInt32 counterNameLength, [OutAttribute] IntPtr counterName, UInt32 counterDescLength, [OutAttribute] IntPtr counterDesc, [OutAttribute] UInt32* counterOffset, [OutAttribute] UInt32* counterDataSize, [OutAttribute] UInt32* counterTypeEnum, [OutAttribute] UInt32* counterDataTypeEnum, [OutAttribute] UInt64* rawCounterMaxValue);
+        private static extern unsafe void glGetPerfCounterInfoINTEL(UInt32 queryId, UInt32 counterId, UInt32 counterNameLength, [OutAttribute, CountAttribute(Parameter = "counterNameLength")] IntPtr counterName, UInt32 counterDescLength, [OutAttribute, CountAttribute(Parameter = "counterDescLength")] IntPtr counterDesc, [OutAttribute] UInt32* counterOffset, [OutAttribute] UInt32* counterDataSize, [OutAttribute] UInt32* counterTypeEnum, [OutAttribute] UInt32* counterDataTypeEnum, [OutAttribute] UInt64* rawCounterMaxValue);
         [Slot(492)]
         [DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
         private static extern unsafe void glGetPerfQueryDataINTEL(UInt32 queryHandle, UInt32 flags, Int32 dataSize, [OutAttribute] IntPtr data, [OutAttribute] UInt32* bytesWritten);
         [Slot(493)]
         [DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
-        private static extern unsafe void glGetPerfQueryIdByNameINTEL([OutAttribute] IntPtr queryName, [OutAttribute] UInt32* queryId);
+        private static extern unsafe void glGetPerfQueryIdByNameINTEL(IntPtr queryName, [OutAttribute] UInt32* queryId);
         [Slot(494)]
         [DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
-        private static extern unsafe void glGetPerfQueryInfoINTEL(UInt32 queryId, UInt32 queryNameLength, [OutAttribute] IntPtr queryName, [OutAttribute] UInt32* dataSize, [OutAttribute] UInt32* noCounters, [OutAttribute] UInt32* noInstances, [OutAttribute] UInt32* capsMask);
+        private static extern unsafe void glGetPerfQueryInfoINTEL(UInt32 queryId, UInt32 queryNameLength, [OutAttribute, CountAttribute(Parameter = "queryNameLength")] IntPtr queryName, [OutAttribute] UInt32* dataSize, [OutAttribute] UInt32* noCounters, [OutAttribute] UInt32* noInstances, [OutAttribute] UInt32* capsMask);
         [Slot(37)]
         [DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
         private static extern void glBlendBarrierKHR();