Skip to content

Commit 540c454

Browse files
authored
Merge pull request opentk#1718 from NogginBops/rerun-converter
Update bindings to latest updates from gl.xml
2 parents 2943289 + 159e31b commit 540c454

File tree

16 files changed

+26519
-9843
lines changed

16 files changed

+26519
-9843
lines changed

src/Generator.Bind/ES/ES2Generator.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,15 @@ public ES2Generator(Settings settings) : base(settings)
2020
Settings.DefaultDocPath, "ES20");
2121

2222
Settings.OverridesFiles.Add("GL2/overrides.xml");
23+
Settings.OverridesFiles.Add("GL2/compatibility 4.8.2.xml");
2324

2425
Profile = "gles2";
2526
Version = "2.0";
2627

2728
// For compatibility with OpenTK 1.0 and Xamarin, generate
2829
// overloads using the "All" enum in addition to strongly-typed enums.
2930
// This can be disabled by passing "-o:-keep_untyped_enums" as a cmdline parameter.
30-
Settings.DefaultCompatibility |= Settings.Legacy.KeepUntypedEnums;
31+
//Settings.DefaultCompatibility |= Settings.Legacy.KeepUntypedEnums;
3132
//Settings.DefaultCompatibility |= Settings.Legacy.UseDllImports;
3233
}
3334
}

src/Generator.Bind/ES/ES31Generator.cs

Lines changed: 0 additions & 35 deletions
This file was deleted.

src/Generator.Bind/ES/ES3Generator.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,15 @@ public ES3Generator(Settings settings) : base(settings)
2020
Settings.DefaultDocPath, "ES30");
2121

2222
Settings.OverridesFiles.Add("GL2/overrides.xml");
23+
Settings.OverridesFiles.Add("GL2/compatibility 4.8.2.xml");
2324

2425
Profile = "gles2"; // The 3.0 spec reuses the gles2 apiname
25-
Version = "2.0|3.0";
26+
Version = "2.0|3.0|3.1|3.2";
2627

2728
// For compatibility with OpenTK 1.0 and Xamarin, generate
2829
// overloads using the "All" enum in addition to strongly-typed enums.
2930
// This can be disabled by passing "-o:-keep_untyped_enums" as a cmdline parameter.
30-
Settings.DefaultCompatibility |= Settings.Legacy.KeepUntypedEnums;
31+
//Settings.DefaultCompatibility |= Settings.Legacy.KeepUntypedEnums;
3132
//Settings.DefaultCompatibility |= Settings.Legacy.UseDllImports;
3233
}
3334
}

src/Generator.Bind/ES/ESGenerator.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ public ESGenerator(Settings settings) : base(settings)
2121

2222
Settings.OverridesFiles.Add("GL2/overrides.xml");
2323
Settings.OverridesFiles.Add("GL2/ES/1.1/");
24+
Settings.OverridesFiles.Add("GL2/compatibility 4.8.2.xml");
2425

2526
// Khronos releases a combined 1.0+1.1 specification,
2627
// so we cannot distinguish between the two.
@@ -31,7 +32,7 @@ public ESGenerator(Settings settings) : base(settings)
3132
// For compatibility with OpenTK 1.0 and Xamarin, generate
3233
// overloads using the "All" enum in addition to strongly-typed enums.
3334
// This can be disabled by passing "-o:-keep_untyped_enums" as a cmdline parameter.
34-
Settings.DefaultCompatibility |= Settings.Legacy.KeepUntypedEnums;
35+
//Settings.DefaultCompatibility |= Settings.Legacy.KeepUntypedEnums;
3536
//Settings.DefaultCompatibility |= Settings.Legacy.UseDllImports;
3637
}
3738
}

src/Generator.Bind/FuncProcessor.cs

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -527,7 +527,13 @@ private static void ApplyParameterReplacement(Delegate d, XPathNavigator functio
527527
switch (node.Name)
528528
{
529529
case "type":
530-
d.Parameters[i].CurrentType = (string)node.TypedValue;
530+
string type = (string)node.TypedValue;
531+
// If the replacement type has a pointer we replace the entire type
532+
// if the type doesn't we just replace the underlying type of the pointer.
533+
// - 2024-03-26 Noggin_bops
534+
if (type.Contains("*"))
535+
d.Parameters[i].Pointer = 0;
536+
d.Parameters[i].CurrentType = type;
531537
break;
532538
case "name":
533539
d.Parameters[i].Name = (string)node.TypedValue;
@@ -561,7 +567,19 @@ private static void ApplyReturnTypeReplacement(Delegate d, XPathNavigator functi
561567
XPathNavigator return_override = function_override.SelectSingleNode("returns");
562568
if (return_override != null)
563569
{
570+
// If the replacement type has a pointer we replace the entire type
571+
// if the type doesn't we just replace the underlying type of the pointer.
572+
// - 2024-03-26 Noggin_bops
573+
if (return_override.Value.Contains("*"))
574+
d.ReturnType.Pointer = 0;
564575
d.ReturnType.CurrentType = return_override.Value;
576+
577+
// If we replaced something with String we want to remove the pointer from the return type.
578+
// - 2024-03-24 Noggin_bops
579+
if (return_override.Value == "String")
580+
{
581+
d.ReturnType.Pointer--;
582+
}
565583
}
566584
}
567585
}

src/Generator.Bind/GL2/GL2Generator.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ public GL2Generator(Settings settings) : base(settings)
5151

5252
Settings.OverridesFiles.Add("GL2/overrides.xml");
5353
Settings.OverridesFiles.Add("GL2/GL/");
54+
Settings.OverridesFiles.Add("GL2/compatibility 4.8.2.xml");
5455

5556
//Settings.DefaultCompatibility |=
5657
// Settings.Legacy.UseDllImports | Settings.Legacy.UseWindowsCompatibleGL;

src/Generator.Bind/GL2/GL4Generator.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ public GL4Generator(Settings settings) : base(settings)
4343

4444
Settings.OverridesFiles.Add("GL2/overrides.xml");
4545
Settings.OverridesFiles.Add("GL2/GL/");
46+
Settings.OverridesFiles.Add("GL2/compatibility 4.8.2.xml");
4647

4748
Profile = "glcore";
4849

src/Generator.Bind/Main.cs

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ internal enum GeneratorMode
2626
ES11,
2727
ES20,
2828
ES30,
29-
ES31,
3029
CL10,
3130
}
3231

@@ -194,10 +193,6 @@ private static void Main(string[] arguments)
194193
Generators.Add(new ES3Generator(Settings));
195194
break;
196195

197-
case GeneratorMode.ES31:
198-
Generators.Add(new ES31Generator(Settings));
199-
break;
200-
201196
case GeneratorMode.CL10:
202197
Generators.Add(new CLGenerator(Settings));
203198
break;
@@ -273,10 +268,6 @@ private static void SetGeneratorMode(string arg)
273268
mode = GeneratorMode.ES30;
274269
break;
275270

276-
case "es31":
277-
mode = GeneratorMode.ES31;
278-
break;
279-
280271
case "cl":
281272
case "cl10":
282273
mode = GeneratorMode.CL10;

src/Generator.Bind/Specifications/ES20/overrides.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,7 @@
229229
</function>
230230

231231
<function name="GetString" extension="Core" version="2.0">
232+
<returns>String</returns>
232233
<param name="name"><type>StringName</type></param>
233234
</function>
234235

0 commit comments

Comments
 (0)