From ea09f567407e6a32ce01df65a61ecc91f355d7cf Mon Sep 17 00:00:00 2001 From: Fraser Waters Date: Thu, 5 Oct 2017 18:28:36 +0100 Subject: [PATCH] Add missing count attribute to ExtGetProgramBinarySourceQCOM Also extends Rewrite to understand the new syntax of "*name". --- .../Specifications/GL2/overrides.xml | 12 ++++++++- src/Generator.Rewrite/Program.cs | 12 +++++++-- src/OpenTK/Graphics/ES11/ES11.cs | 26 +++++++++---------- src/OpenTK/Graphics/ES20/ES20.cs | 26 +++++++++---------- src/OpenTK/Graphics/ES30/ES30.cs | 26 +++++++++---------- src/OpenTK/Graphics/ES31/ES31.cs | 26 +++++++++---------- 6 files changed, 73 insertions(+), 55 deletions(-) diff --git a/src/Generator.Bind/Specifications/GL2/overrides.xml b/src/Generator.Bind/Specifications/GL2/overrides.xml index e3fefd9c..b57df4a7 100644 --- a/src/Generator.Bind/Specifications/GL2/overrides.xml +++ b/src/Generator.Bind/Specifications/GL2/overrides.xml @@ -7470,4 +7470,14 @@ - + + + + + + + *length + + + + \ No newline at end of file diff --git a/src/Generator.Rewrite/Program.cs b/src/Generator.Rewrite/Program.cs index 40040029..c6620889 100644 --- a/src/Generator.Rewrite/Program.cs +++ b/src/Generator.Rewrite/Program.cs @@ -880,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) @@ -889,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('*'); diff --git a/src/OpenTK/Graphics/ES11/ES11.cs b/src/OpenTK/Graphics/ES11/ES11.cs index 36c8e8f4..53dc2a56 100644 --- a/src/OpenTK/Graphics/ES11/ES11.cs +++ b/src/OpenTK/Graphics/ES11/ES11.cs @@ -14542,56 +14542,56 @@ namespace OpenTK.Graphics.ES11 /// [requires: QCOM_extended_get2] /// /// - /// + /// [length: *length] /// [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(); } /// [requires: QCOM_extended_get2] /// /// - /// + /// [length: *length] /// [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(); } /// [requires: QCOM_extended_get2] /// /// - /// + /// [length: *length] /// [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(); } /// [requires: QCOM_extended_get2] /// /// - /// + /// [length: *length] /// [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(); } /// [requires: QCOM_extended_get2] /// /// - /// + /// [length: *length] /// [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(); } /// [requires: QCOM_extended_get2] /// /// - /// + /// [length: *length] /// [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(); } /// [requires: QCOM_extended_get2] /// [length: maxPrograms] @@ -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); diff --git a/src/OpenTK/Graphics/ES20/ES20.cs b/src/OpenTK/Graphics/ES20/ES20.cs index 2cbceeeb..84a94388 100644 --- a/src/OpenTK/Graphics/ES20/ES20.cs +++ b/src/OpenTK/Graphics/ES20/ES20.cs @@ -52846,56 +52846,56 @@ namespace OpenTK.Graphics.ES20 /// [requires: QCOM_extended_get2] /// /// - /// + /// [length: *length] /// [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(); } /// [requires: QCOM_extended_get2] /// /// - /// + /// [length: *length] /// [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(); } /// [requires: QCOM_extended_get2] /// /// - /// + /// [length: *length] /// [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(); } /// [requires: QCOM_extended_get2] /// /// - /// + /// [length: *length] /// [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(); } /// [requires: QCOM_extended_get2] /// /// - /// + /// [length: *length] /// [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(); } /// [requires: QCOM_extended_get2] /// /// - /// + /// [length: *length] /// [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(); } /// [requires: QCOM_extended_get2] /// [length: maxPrograms] @@ -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); diff --git a/src/OpenTK/Graphics/ES30/ES30.cs b/src/OpenTK/Graphics/ES30/ES30.cs index f28d51bd..74f05458 100644 --- a/src/OpenTK/Graphics/ES30/ES30.cs +++ b/src/OpenTK/Graphics/ES30/ES30.cs @@ -60859,56 +60859,56 @@ namespace OpenTK.Graphics.ES30 /// [requires: QCOM_extended_get2] /// /// - /// + /// [length: *length] /// [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(); } /// [requires: QCOM_extended_get2] /// /// - /// + /// [length: *length] /// [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(); } /// [requires: QCOM_extended_get2] /// /// - /// + /// [length: *length] /// [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(); } /// [requires: QCOM_extended_get2] /// /// - /// + /// [length: *length] /// [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(); } /// [requires: QCOM_extended_get2] /// /// - /// + /// [length: *length] /// [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(); } /// [requires: QCOM_extended_get2] /// /// - /// + /// [length: *length] /// [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(); } /// [requires: QCOM_extended_get2] /// [length: maxPrograms] @@ -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); diff --git a/src/OpenTK/Graphics/ES31/ES31.cs b/src/OpenTK/Graphics/ES31/ES31.cs index ec69e03a..c0eb400e 100644 --- a/src/OpenTK/Graphics/ES31/ES31.cs +++ b/src/OpenTK/Graphics/ES31/ES31.cs @@ -57844,56 +57844,56 @@ namespace OpenTK.Graphics.ES31 /// [requires: QCOM_extended_get2] /// /// - /// + /// [length: *length] /// [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(); } /// [requires: QCOM_extended_get2] /// /// - /// + /// [length: *length] /// [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(); } /// [requires: QCOM_extended_get2] /// /// - /// + /// [length: *length] /// [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(); } /// [requires: QCOM_extended_get2] /// /// - /// + /// [length: *length] /// [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(); } /// [requires: QCOM_extended_get2] /// /// - /// + /// [length: *length] /// [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(); } /// [requires: QCOM_extended_get2] /// /// - /// + /// [length: *length] /// [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(); } /// [requires: QCOM_extended_get2] /// [length: maxPrograms] @@ -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);