mirror of
https://github.com/Ryujinx/Opentk.git
synced 2024-12-24 18:15:38 +00:00
8360b7a2ba
OpenTK 1.0 and Xamarin Android/iOS do not use strongly-typed enums for OpenGL ES. Generate overloads with the "All" enum in order to maintain compatibility.
39 lines
1.4 KiB
C#
39 lines
1.4 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.IO;
|
|
using System.Xml.XPath;
|
|
using Bind.GL2;
|
|
using Bind.Structures;
|
|
using Delegate=Bind.Structures.Delegate;
|
|
using Enum=Bind.Structures.Enum;
|
|
|
|
namespace Bind.ES
|
|
{
|
|
// Generator implementation for OpenGL ES 1.0 and 1.1
|
|
class ESGenerator : Generator
|
|
{
|
|
public ESGenerator(Settings settings, string dirName)
|
|
: base(settings, dirName)
|
|
{
|
|
Settings.DefaultOutputPath = Path.Combine(
|
|
Settings.DefaultOutputPath, "../ES11");
|
|
Settings.DefaultOutputNamespace = "OpenTK.Graphics.ES11";
|
|
Settings.DefaultImportsFile = "ES11Core.cs";
|
|
Settings.DefaultDelegatesFile = "ES11Delegates.cs";
|
|
Settings.DefaultEnumsFile = "ES11Enums.cs";
|
|
Settings.DefaultWrappersFile = "ES11.cs";
|
|
|
|
// Khronos releases a combined 1.0+1.1 specification,
|
|
// so we cannot distinguish between the two.
|
|
// Todo: add support for common and light profiles.
|
|
Profile = "gles1";
|
|
// no explicit version means both 1.0 and 1.1 versions
|
|
|
|
// For compatibility with OpenTK 1.0 and Xamarin, generate
|
|
// overloads using the "All" enum in addition to strongly-typed enums.
|
|
// This can be disabled by passing "-o:-keep_untyped_enums" as a cmdline parameter.
|
|
Settings.DefaultCompatibility |= Settings.Legacy.KeepUntypedEnums;
|
|
}
|
|
}
|
|
}
|