mirror of
https://github.com/Ryujinx/Opentk.git
synced 2025-05-11 14:32:17 +00:00
Re-added missing gl.tm file.
Added initial C++ spec writer. Refactored IBind and ISpecWriter interfaces.
This commit is contained in:
parent
4cfa357dbc
commit
3021f668ad
|
@ -45,7 +45,12 @@ namespace Bind
|
||||||
|
|
||||||
#region WriteBindings
|
#region WriteBindings
|
||||||
|
|
||||||
public void WriteBindings(DelegateCollection delegates, FunctionCollection wrappers, EnumCollection enums)
|
public void WriteBindings(IBind generator)
|
||||||
|
{
|
||||||
|
WriteBindings(generator.Delegates, generator.Wrappers, generator.Enums);
|
||||||
|
}
|
||||||
|
|
||||||
|
void WriteBindings(DelegateCollection delegates, FunctionCollection wrappers, EnumCollection enums)
|
||||||
{
|
{
|
||||||
Console.WriteLine("Writing bindings to {0}", Settings.OutputPath);
|
Console.WriteLine("Writing bindings to {0}", Settings.OutputPath);
|
||||||
if (!Directory.Exists(Settings.OutputPath))
|
if (!Directory.Exists(Settings.OutputPath))
|
||||||
|
|
237
Source/Bind/CppSpecWriter.cs
Normal file
237
Source/Bind/CppSpecWriter.cs
Normal file
|
@ -0,0 +1,237 @@
|
||||||
|
#region License
|
||||||
|
//
|
||||||
|
// The Open Toolkit Library License
|
||||||
|
//
|
||||||
|
// Copyright (c) 2006 - 2010 the Open Toolkit library.
|
||||||
|
//
|
||||||
|
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
// of this software and associated documentation files (the "Software"), to deal
|
||||||
|
// in the Software without restriction, including without limitation the rights to
|
||||||
|
// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||||
|
// the Software, and to permit persons to whom the Software is furnished to do
|
||||||
|
// so, subject to the following conditions:
|
||||||
|
//
|
||||||
|
// The above copyright notice and this permission notice shall be included in all
|
||||||
|
// copies or substantial portions of the Software.
|
||||||
|
//
|
||||||
|
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||||
|
// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||||
|
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||||
|
// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||||
|
// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
|
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||||
|
// OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
//
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Diagnostics;
|
||||||
|
using System.IO;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using Bind.Structures;
|
||||||
|
|
||||||
|
namespace Bind
|
||||||
|
{
|
||||||
|
using Delegate = Bind.Structures.Delegate;
|
||||||
|
using Enum = Bind.Structures.Enum;
|
||||||
|
using Type = Bind.Structures.Type;
|
||||||
|
|
||||||
|
sealed class CppSpecWriter : ISpecWriter
|
||||||
|
{
|
||||||
|
readonly char[] numbers = "0123456789".ToCharArray();
|
||||||
|
|
||||||
|
#region WriteBindings
|
||||||
|
|
||||||
|
public void WriteBindings(IBind generator)
|
||||||
|
{
|
||||||
|
WriteBindings(generator.Delegates, generator.Wrappers, generator.Enums);
|
||||||
|
}
|
||||||
|
|
||||||
|
void WriteBindings(DelegateCollection delegates, FunctionCollection wrappers, EnumCollection enums)
|
||||||
|
{
|
||||||
|
Console.WriteLine("Writing bindings to {0}", Settings.OutputPath);
|
||||||
|
if (!Directory.Exists(Settings.OutputPath))
|
||||||
|
Directory.CreateDirectory(Settings.OutputPath);
|
||||||
|
|
||||||
|
string temp_core_file = Path.GetTempFileName();
|
||||||
|
|
||||||
|
// Enums
|
||||||
|
using (BindStreamWriter sw = new BindStreamWriter(temp_core_file))
|
||||||
|
{
|
||||||
|
WriteLicense(sw);
|
||||||
|
|
||||||
|
sw.WriteLine("namespace {0}", Settings.OutputNamespace);
|
||||||
|
sw.WriteLine("{");
|
||||||
|
sw.Indent();
|
||||||
|
|
||||||
|
sw.Indent();
|
||||||
|
WriteEnums(sw, enums);
|
||||||
|
sw.Unindent();
|
||||||
|
|
||||||
|
WriteDelegates(sw, delegates);
|
||||||
|
|
||||||
|
sw.Unindent();
|
||||||
|
sw.WriteLine("}");
|
||||||
|
}
|
||||||
|
|
||||||
|
string output_core = Path.Combine(Settings.OutputPath, Settings.ImportsFile);
|
||||||
|
if (File.Exists(output_core))
|
||||||
|
File.Delete(output_core);
|
||||||
|
File.Move(temp_core_file, output_core);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region WriteDelegates
|
||||||
|
|
||||||
|
public void WriteDelegates(BindStreamWriter sw, DelegateCollection delegates)
|
||||||
|
{
|
||||||
|
Trace.WriteLine(String.Format("Writing delegates to:\t{0}", Settings.OutputNamespace));
|
||||||
|
|
||||||
|
foreach (Delegate d in delegates.Values)
|
||||||
|
{
|
||||||
|
sw.WriteLine("extern {0};", d.ToString());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region WriteImports
|
||||||
|
|
||||||
|
public void WriteImports(BindStreamWriter sw, DelegateCollection delegates)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region WriteWrappers
|
||||||
|
|
||||||
|
public void WriteWrappers(BindStreamWriter sw, FunctionCollection wrappers, Dictionary<string, string> CSTypes)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
static DocProcessor processor = new DocProcessor(Path.Combine(Settings.DocPath, Settings.DocFile));
|
||||||
|
static Dictionary<string, string> docfiles;
|
||||||
|
void WriteDocumentation(BindStreamWriter sw, Function f)
|
||||||
|
{
|
||||||
|
if (docfiles == null)
|
||||||
|
{
|
||||||
|
docfiles = new Dictionary<string, string>();
|
||||||
|
foreach (string file in Directory.GetFiles(Settings.DocPath))
|
||||||
|
{
|
||||||
|
docfiles.Add(Path.GetFileName(file), file);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
string docfile = null;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
docfile = Settings.FunctionPrefix + f.WrappedDelegate.Name + ".xml";
|
||||||
|
if (!docfiles.ContainsKey(docfile))
|
||||||
|
docfile = Settings.FunctionPrefix + f.TrimmedName + ".xml";
|
||||||
|
if (!docfiles.ContainsKey(docfile))
|
||||||
|
docfile = Settings.FunctionPrefix + f.TrimmedName.TrimEnd(numbers) + ".xml";
|
||||||
|
|
||||||
|
string doc = null;
|
||||||
|
if (docfiles.ContainsKey(docfile))
|
||||||
|
{
|
||||||
|
doc = processor.ProcessFile(docfiles[docfile]);
|
||||||
|
}
|
||||||
|
if (doc == null)
|
||||||
|
{
|
||||||
|
doc = "/// <summary></summary>";
|
||||||
|
}
|
||||||
|
|
||||||
|
int summary_start = doc.IndexOf("<summary>") + "<summary>".Length;
|
||||||
|
string warning = "[deprecated: v{0}]";
|
||||||
|
string category = "[requires: {0}]";
|
||||||
|
if (f.Deprecated)
|
||||||
|
{
|
||||||
|
warning = String.Format(warning, f.DeprecatedVersion);
|
||||||
|
doc = doc.Insert(summary_start, warning);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (f.Extension != "Core" && !String.IsNullOrEmpty(f.Category))
|
||||||
|
{
|
||||||
|
category = String.Format(category, f.Category);
|
||||||
|
doc = doc.Insert(summary_start, category);
|
||||||
|
}
|
||||||
|
else if (!String.IsNullOrEmpty(f.Version))
|
||||||
|
{
|
||||||
|
if (f.Category.StartsWith("VERSION"))
|
||||||
|
category = String.Format(category, "v" + f.Version);
|
||||||
|
else
|
||||||
|
category = String.Format(category, "v" + f.Version + " and " + f.Category);
|
||||||
|
doc = doc.Insert(summary_start, category);
|
||||||
|
}
|
||||||
|
|
||||||
|
sw.WriteLine(doc);
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
Console.WriteLine("[Warning] Error processing file {0}: {1}", docfile, e.ToString());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region WriteTypes
|
||||||
|
|
||||||
|
public void WriteTypes(BindStreamWriter sw, Dictionary<string, string> CSTypes)
|
||||||
|
{
|
||||||
|
sw.WriteLine();
|
||||||
|
foreach (string s in CSTypes.Keys)
|
||||||
|
{
|
||||||
|
sw.WriteLine("typedef {0} {1};", s, CSTypes[s]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region WriteEnums
|
||||||
|
|
||||||
|
public void WriteEnums(BindStreamWriter sw, EnumCollection enums)
|
||||||
|
{
|
||||||
|
//sw.WriteLine("#pragma warning disable 3019"); // CLSCompliant attribute
|
||||||
|
sw.WriteLine("#pragma warning disable 1591"); // Missing doc comments
|
||||||
|
sw.WriteLine();
|
||||||
|
|
||||||
|
Trace.WriteLine(String.Format("Writing enums to:\t{0}", Settings.EnumsOutput));
|
||||||
|
|
||||||
|
sw.WriteLine("namespace gl");
|
||||||
|
sw.WriteLine("{");
|
||||||
|
sw.Indent();
|
||||||
|
|
||||||
|
foreach (Enum @enum in enums.Values)
|
||||||
|
{
|
||||||
|
sw.Write("enum ");
|
||||||
|
sw.Write(@enum.Name);
|
||||||
|
sw.Write("{");
|
||||||
|
sw.Indent();
|
||||||
|
foreach (var c in @enum.ConstantCollection)
|
||||||
|
sw.WriteLine(c);
|
||||||
|
sw.Unindent();
|
||||||
|
sw.WriteLine("};");
|
||||||
|
sw.WriteLine();
|
||||||
|
}
|
||||||
|
|
||||||
|
sw.Unindent();
|
||||||
|
sw.WriteLine("}");
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region WriteLicense
|
||||||
|
|
||||||
|
public void WriteLicense(BindStreamWriter sw)
|
||||||
|
{
|
||||||
|
sw.WriteLine(File.ReadAllText(Path.Combine(Settings.InputPath, Settings.LicenseFile)));
|
||||||
|
sw.WriteLine();
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
}
|
||||||
|
}
|
|
@ -37,7 +37,6 @@ namespace Bind.GL2
|
||||||
//protected static readonly Dictionary<string, string> doc_replacements;
|
//protected static readonly Dictionary<string, string> doc_replacements;
|
||||||
|
|
||||||
protected ISpecReader SpecReader = new XmlSpecReader();
|
protected ISpecReader SpecReader = new XmlSpecReader();
|
||||||
protected ISpecWriter SpecWriter = new CSharpSpecWriter();
|
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
@ -63,7 +62,11 @@ namespace Bind.GL2
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region Process
|
#region IBind Members
|
||||||
|
|
||||||
|
public DelegateCollection Delegates { get; private set; }
|
||||||
|
public EnumCollection Enums { get; private set; }
|
||||||
|
public FunctionCollection Wrappers { get; private set; }
|
||||||
|
|
||||||
public virtual void Process()
|
public virtual void Process()
|
||||||
{
|
{
|
||||||
|
@ -73,19 +76,13 @@ namespace Bind.GL2
|
||||||
Type.GLTypes = SpecReader.ReadTypeMap(sr);
|
Type.GLTypes = SpecReader.ReadTypeMap(sr);
|
||||||
using (StreamReader sr = Utilities.OpenSpecFile(Settings.InputPath, csTypemap))
|
using (StreamReader sr = Utilities.OpenSpecFile(Settings.InputPath, csTypemap))
|
||||||
Type.CSTypes = SpecReader.ReadCSTypeMap(sr);
|
Type.CSTypes = SpecReader.ReadCSTypeMap(sr);
|
||||||
|
|
||||||
EnumCollection enums;
|
|
||||||
using (var sr = new StreamReader(Path.Combine(Settings.InputPath, enumSpec)))
|
using (var sr = new StreamReader(Path.Combine(Settings.InputPath, enumSpec)))
|
||||||
enums = SpecReader.ReadEnums(sr);
|
Enums = SpecReader.ReadEnums(sr);
|
||||||
|
|
||||||
DelegateCollection delegates;
|
|
||||||
using (var sr = new StreamReader(Path.Combine(Settings.InputPath, glSpec)))
|
using (var sr = new StreamReader(Path.Combine(Settings.InputPath, glSpec)))
|
||||||
delegates = SpecReader.ReadDelegates(sr);
|
Delegates = SpecReader.ReadDelegates(sr);
|
||||||
|
|
||||||
enums = new EnumProcessor(overrides).Process(enums);
|
Enums = new EnumProcessor(overrides).Process(Enums);
|
||||||
var wrappers = new FuncProcessor(overrides).Process(delegates, enums);
|
Wrappers = new FuncProcessor(overrides).Process(Delegates, Enums);
|
||||||
|
|
||||||
SpecWriter.WriteBindings(delegates, wrappers, enums);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
|
@ -139,6 +139,7 @@
|
||||||
<Compile Include="..\GlobalAssemblyInfo.cs">
|
<Compile Include="..\GlobalAssemblyInfo.cs">
|
||||||
<Link>Properties\GlobalAssemblyInfo.cs</Link>
|
<Link>Properties\GlobalAssemblyInfo.cs</Link>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
<Compile Include="CppSpecWriter.cs" />
|
||||||
<Compile Include="CSharpSpecWriter.cs" />
|
<Compile Include="CSharpSpecWriter.cs" />
|
||||||
<Compile Include="FuncProcessor.cs" />
|
<Compile Include="FuncProcessor.cs" />
|
||||||
<Compile Include="GL2\GL4Generator.cs" />
|
<Compile Include="GL2\GL4Generator.cs" />
|
||||||
|
@ -204,6 +205,7 @@
|
||||||
<None Include="..\..\OpenTK.snk">
|
<None Include="..\..\OpenTK.snk">
|
||||||
<Link>OpenTK.snk</Link>
|
<Link>OpenTK.snk</Link>
|
||||||
</None>
|
</None>
|
||||||
|
<None Include="Specifications\GL2\gl.tm" />
|
||||||
<None Include="Specifications\Glx\glx.spec">
|
<None Include="Specifications\Glx\glx.spec">
|
||||||
</None>
|
</None>
|
||||||
<None Include="Specifications\Glx\glxenum.spec">
|
<None Include="Specifications\Glx\glxenum.spec">
|
||||||
|
|
|
@ -4,10 +4,14 @@
|
||||||
*/
|
*/
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
using Bind.Structures;
|
||||||
namespace Bind
|
namespace Bind
|
||||||
{
|
{
|
||||||
interface IBind
|
interface IBind
|
||||||
{
|
{
|
||||||
|
DelegateCollection Delegates { get; }
|
||||||
|
EnumCollection Enums { get; }
|
||||||
|
FunctionCollection Wrappers { get; }
|
||||||
void Process();
|
void Process();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,8 +11,7 @@ namespace Bind
|
||||||
{
|
{
|
||||||
interface ISpecWriter
|
interface ISpecWriter
|
||||||
{
|
{
|
||||||
void WriteBindings(DelegateCollection delegates, FunctionCollection functions,
|
void WriteBindings(IBind generator);
|
||||||
EnumCollection enums);
|
|
||||||
void WriteDelegates(BindStreamWriter sw, DelegateCollection delegates);
|
void WriteDelegates(BindStreamWriter sw, DelegateCollection delegates);
|
||||||
void WriteWrappers(BindStreamWriter sw, FunctionCollection wrappers, Dictionary<string, string> CSTypes);
|
void WriteWrappers(BindStreamWriter sw, FunctionCollection wrappers, Dictionary<string, string> CSTypes);
|
||||||
void WriteEnums(BindStreamWriter sw, EnumCollection enums);
|
void WriteEnums(BindStreamWriter sw, EnumCollection enums);
|
||||||
|
|
|
@ -27,10 +27,16 @@ namespace Bind
|
||||||
CL10,
|
CL10,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
enum GeneratorLanguage
|
||||||
|
{
|
||||||
|
CSharp,
|
||||||
|
Cpp
|
||||||
|
}
|
||||||
|
|
||||||
static class MainClass
|
static class MainClass
|
||||||
{
|
{
|
||||||
static GeneratorMode mode = GeneratorMode.GL2;
|
static GeneratorMode mode = GeneratorMode.GL2;
|
||||||
|
static GeneratorLanguage lang = GeneratorLanguage.CSharp;
|
||||||
static internal IBind Generator;
|
static internal IBind Generator;
|
||||||
|
|
||||||
static void Main(string[] arguments)
|
static void Main(string[] arguments)
|
||||||
|
@ -70,7 +76,17 @@ namespace Bind
|
||||||
case "output":
|
case "output":
|
||||||
Settings.OutputPath = string.Join(Path.DirectorySeparatorChar.ToString(), b.Skip(1).ToArray());
|
Settings.OutputPath = string.Join(Path.DirectorySeparatorChar.ToString(), b.Skip(1).ToArray());
|
||||||
break;
|
break;
|
||||||
|
case "l":
|
||||||
|
case "lang":
|
||||||
|
case "language":
|
||||||
|
{
|
||||||
|
string arg = b[1].ToLower();
|
||||||
|
if (arg == "cpp" || arg == "c++" || arg == "c")
|
||||||
|
lang = GeneratorLanguage.Cpp;
|
||||||
|
break;
|
||||||
|
}
|
||||||
case "mode":
|
case "mode":
|
||||||
|
{
|
||||||
string arg = b[1].ToLower();
|
string arg = b[1].ToLower();
|
||||||
if (arg == "gl" || arg == "gl2")
|
if (arg == "gl" || arg == "gl2")
|
||||||
mode = GeneratorMode.GL2;
|
mode = GeneratorMode.GL2;
|
||||||
|
@ -80,13 +96,14 @@ namespace Bind
|
||||||
mode = GeneratorMode.ES11;
|
mode = GeneratorMode.ES11;
|
||||||
else if (arg == "es20")
|
else if (arg == "es20")
|
||||||
mode = GeneratorMode.ES20;
|
mode = GeneratorMode.ES20;
|
||||||
else if (arg=="cl" || arg == "cl10")
|
else if (arg == "cl" || arg == "cl10")
|
||||||
mode = GeneratorMode.CL10;
|
mode = GeneratorMode.CL10;
|
||||||
else
|
else
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
if (b.Length > 2)
|
if (b.Length > 2)
|
||||||
dirName = b[2];
|
dirName = b[2];
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
case "namespace":
|
case "namespace":
|
||||||
case "ns":
|
case "ns":
|
||||||
Settings.OutputNamespace = b[1];
|
Settings.OutputNamespace = b[1];
|
||||||
|
@ -165,6 +182,19 @@ namespace Bind
|
||||||
}
|
}
|
||||||
|
|
||||||
Generator.Process();
|
Generator.Process();
|
||||||
|
ISpecWriter writer = null;
|
||||||
|
switch (lang)
|
||||||
|
{
|
||||||
|
case GeneratorLanguage.Cpp:
|
||||||
|
writer = new CppSpecWriter();
|
||||||
|
break;
|
||||||
|
|
||||||
|
case GeneratorLanguage.CSharp:
|
||||||
|
default:
|
||||||
|
writer = new CSharpSpecWriter();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
writer.WriteBindings(Generator);
|
||||||
|
|
||||||
ticks = DateTime.Now.Ticks - ticks;
|
ticks = DateTime.Now.Ticks - ticks;
|
||||||
|
|
||||||
|
|
328
Source/Bind/Specifications/GL2/gl.tm
Normal file
328
Source/Bind/Specifications/GL2/gl.tm
Normal file
|
@ -0,0 +1,328 @@
|
||||||
|
AccumOp,*,*, GLenum,*,*
|
||||||
|
AlphaFunction,*,*, GLenum,*,*
|
||||||
|
AttribMask,*,*, GLbitfield,*,*
|
||||||
|
BeginMode,*,*, GLenum,*,*
|
||||||
|
BinormalPointerTypeEXT,*,*, GLenum,*,*
|
||||||
|
BlendEquationMode,*,*, GLenum,*,*
|
||||||
|
BlendEquationModeEXT,*,*, GLenum,*,*
|
||||||
|
BlendFuncSeparateParameterEXT,*,*, GLenum,*,*
|
||||||
|
BlendingFactorDest,*,*, GLenum,*,*
|
||||||
|
BlendingFactorSrc,*,*, GLenum,*,*
|
||||||
|
Boolean,*,*, GLboolean,*,*
|
||||||
|
BooleanPointer,*,*, GLboolean*,*,*
|
||||||
|
Char,*,*, GLchar,*,*
|
||||||
|
CharPointer,*,*, GLchar*,*,*
|
||||||
|
CheckedFloat32,*,*, GLfloat,*,*
|
||||||
|
CheckedInt32,*,*, GLint,*,*
|
||||||
|
ClampColorTargetARB,*,*, GLenum,*,*
|
||||||
|
ClampColorModeARB,*,*, GLenum,*,*
|
||||||
|
ClampedColorF,*,*, GLclampf,*,*
|
||||||
|
ClampedFloat32,*,*, GLclampf,*,*
|
||||||
|
ClampedFloat64,*,*, GLclampd,*,*
|
||||||
|
ClampedStencilValue,*,*, GLint,*,*
|
||||||
|
ClearBufferMask,*,*, GLbitfield,*,*
|
||||||
|
ClientAttribMask,*,*, GLbitfield,*,*
|
||||||
|
ClipPlaneName,*,*, GLenum,*,*
|
||||||
|
ColorB,*,*, GLbyte,*,*
|
||||||
|
ColorD,*,*, GLdouble,*,*
|
||||||
|
ColorF,*,*, GLfloat,*,*
|
||||||
|
ColorI,*,*, GLint,*,*
|
||||||
|
ColorIndexValueD,*,*, GLdouble,*,*
|
||||||
|
ColorIndexValueF,*,*, GLfloat,*,*
|
||||||
|
ColorIndexValueI,*,*, GLint,*,*
|
||||||
|
ColorIndexValueS,*,*, GLshort,*,*
|
||||||
|
ColorIndexValueUB,*,*, GLubyte,*,*
|
||||||
|
ColorMaterialParameter,*,*, GLenum,*,*
|
||||||
|
ColorPointerType,*,*, GLenum,*,*
|
||||||
|
ColorS,*,*, GLshort,*,*
|
||||||
|
ColorTableParameterPName,*,*, GLenum,*,*
|
||||||
|
ColorTableParameterPNameSGI,*,*, GLenum,*,*
|
||||||
|
ColorTableTarget,*,*, GLenum,*,*
|
||||||
|
ColorTableTargetSGI,*,*, GLenum,*,*
|
||||||
|
ColorUB,*,*, GLubyte,*,*
|
||||||
|
ColorUI,*,*, GLuint,*,*
|
||||||
|
ColorUS,*,*, GLushort,*,*
|
||||||
|
CombinerBiasNV,*,*, GLenum,*,*
|
||||||
|
CombinerComponentUsageNV,*,*, GLenum,*,*
|
||||||
|
CombinerMappingNV,*,*, GLenum,*,*
|
||||||
|
CombinerParameterNV,*,*, GLenum,*,*
|
||||||
|
CombinerPortionNV,*,*, GLenum,*,*
|
||||||
|
CombinerRegisterNV,*,*, GLenum,*,*
|
||||||
|
CombinerScaleNV,*,*, GLenum,*,*
|
||||||
|
CombinerStageNV,*,*, GLenum,*,*
|
||||||
|
CombinerVariableNV,*,*, GLenum,*,*
|
||||||
|
CompressedTextureARB,*,*, GLvoid,*,*
|
||||||
|
ControlPointNV,*,*, GLvoid,*,*
|
||||||
|
ControlPointTypeNV,*,*, GLenum,*,*
|
||||||
|
ConvolutionParameter,*,*, GLenum,*,*
|
||||||
|
ConvolutionParameterEXT,*,*, GLenum,*,*
|
||||||
|
ConvolutionTarget,*,*, GLenum,*,*
|
||||||
|
ConvolutionTargetEXT,*,*, GLenum,*,*
|
||||||
|
CoordD,*,*, GLdouble,*,*
|
||||||
|
CoordF,*,*, GLfloat,*,*
|
||||||
|
CoordI,*,*, GLint,*,*
|
||||||
|
CoordS,*,*, GLshort,*,*
|
||||||
|
CullFaceMode,*,*, GLenum,*,*
|
||||||
|
CullParameterEXT,*,*, GLenum,*,*
|
||||||
|
DepthFunction,*,*, GLenum,*,*
|
||||||
|
DrawBufferMode,*,*, GLenum,*,*
|
||||||
|
DrawBufferName,*,*, GLint,*,*
|
||||||
|
DrawElementsType,*,*, GLenum,*,*
|
||||||
|
ElementPointerTypeATI,*,*, GLenum,*,*
|
||||||
|
EnableCap,*,*, GLenum,*,*
|
||||||
|
ErrorCode,*,*, GLenum,*,*
|
||||||
|
EvalMapsModeNV,*,*, GLenum,*,*
|
||||||
|
EvalTargetNV,*,*, GLenum,*,*
|
||||||
|
FeedbackElement,*,*, GLfloat,*,*
|
||||||
|
FeedbackType,*,*, GLenum,*,*
|
||||||
|
FenceNV,*,*, GLuint,*,*
|
||||||
|
FenceConditionNV,*,*, GLenum,*,*
|
||||||
|
FenceParameterNameNV,*,*, GLenum,*,*
|
||||||
|
FfdMaskSGIX,*,*, GLbitfield,*,*
|
||||||
|
FfdTargetSGIX,*,*, GLenum,*,*
|
||||||
|
Float32,*,*, GLfloat,*,*
|
||||||
|
Float32Pointer,*,*, GLfloat*,*,*
|
||||||
|
Float64,*,*, GLdouble,*,*
|
||||||
|
Float64Pointer,*,*, GLdouble*,*,*
|
||||||
|
FogParameter,*,*, GLenum,*,*
|
||||||
|
FogPointerTypeEXT,*,*, GLenum,*,*
|
||||||
|
FogPointerTypeIBM,*,*, GLenum,*,*
|
||||||
|
FragmentLightModelParameterSGIX,*,*,GLenum,*,*
|
||||||
|
FragmentLightNameSGIX,*,*, GLenum,*,*
|
||||||
|
FragmentLightParameterSGIX,*,*, GLenum,*,*
|
||||||
|
FramebufferAttachment,*,*, GLenum,*,*
|
||||||
|
FramebufferTarget,*,*, GLenum,*,*
|
||||||
|
FrontFaceDirection,*,*, GLenum,*,*
|
||||||
|
FunctionPointer,*,*, _GLfuncptr,*,*
|
||||||
|
GetColorTableParameterPName,*,*, GLenum,*,*
|
||||||
|
GetColorTableParameterPNameSGI,*,*, GLenum,*,*
|
||||||
|
GetConvolutionParameterPName,*,*, GLenum,*,*
|
||||||
|
GetHistogramParameterPName,*,*, GLenum,*,*
|
||||||
|
GetHistogramParameterPNameEXT,*,*, GLenum,*,*
|
||||||
|
GetMapQuery,*,*, GLenum,*,*
|
||||||
|
GetMinmaxParameterPName,*,*, GLenum,*,*
|
||||||
|
GetMinmaxParameterPNameEXT,*,*, GLenum,*,*
|
||||||
|
GetPName,*,*, GLenum,*,*
|
||||||
|
GetPointervPName,*,*, GLenum,*,*
|
||||||
|
GetTextureParameter,*,*, GLenum,*,*
|
||||||
|
HintMode,*,*, GLenum,*,*
|
||||||
|
HintTarget,*,*, GLenum,*,*
|
||||||
|
HintTargetPGI,*,*, GLenum,*,*
|
||||||
|
HistogramTarget,*,*, GLenum,*,*
|
||||||
|
HistogramTargetEXT,*,*, GLenum,*,*
|
||||||
|
IglooFunctionSelectSGIX,*,*, GLenum,*,*
|
||||||
|
IglooParameterSGIX,*,*, GLvoid,*,*
|
||||||
|
ImageTransformPNameHP,*,*, GLenum,*,*
|
||||||
|
ImageTransformTargetHP,*,*, GLenum,*,*
|
||||||
|
IndexFunctionEXT,*,*, GLenum,*,*
|
||||||
|
IndexMaterialParameterEXT,*,*, GLenum,*,*
|
||||||
|
IndexPointerType,*,*, GLenum,*,*
|
||||||
|
Int16,*,*, GLshort,*,*
|
||||||
|
Int32,*,*, GLint,*,*
|
||||||
|
Int8,*,*, GLbyte,*,*
|
||||||
|
InterleavedArrayFormat,*,*, GLenum,*,*
|
||||||
|
LightEnvParameterSGIX,*,*, GLenum,*,*
|
||||||
|
LightModelParameter,*,*, GLenum,*,*
|
||||||
|
LightName,*,*, GLenum,*,*
|
||||||
|
LightParameter,*,*, GLenum,*,*
|
||||||
|
LightTextureModeEXT,*,*, GLenum,*,*
|
||||||
|
LightTexturePNameEXT,*,*, GLenum,*,*
|
||||||
|
LineStipple,*,*, GLushort,*,*
|
||||||
|
List,*,*, GLuint,*,*
|
||||||
|
ListMode,*,*, GLenum,*,*
|
||||||
|
ListNameType,*,*, GLenum,*,*
|
||||||
|
ListParameterName,*,*, GLenum,*,*
|
||||||
|
LogicOp,*,*, GLenum,*,*
|
||||||
|
MapAttribParameterNV,*,*, GLenum,*,*
|
||||||
|
MapParameterNV,*,*, GLenum,*,*
|
||||||
|
MapTarget,*,*, GLenum,*,*
|
||||||
|
MapTargetNV,*,*, GLenum,*,*
|
||||||
|
MapTypeNV,*,*, GLenum,*,*
|
||||||
|
MaskedColorIndexValueF,*,*, GLfloat,*,*
|
||||||
|
MaskedColorIndexValueI,*,*, GLuint,*,*
|
||||||
|
MaskedStencilValue,*,*, GLuint,*,*
|
||||||
|
MaterialFace,*,*, GLenum,*,*
|
||||||
|
MaterialParameter,*,*, GLenum,*,*
|
||||||
|
MatrixIndexPointerTypeARB,*,*, GLenum,*,*
|
||||||
|
MatrixMode,*,*, GLenum,*,*
|
||||||
|
MatrixTransformNV,*,*, GLenum,*,*
|
||||||
|
MeshMode1,*,*, GLenum,*,*
|
||||||
|
MeshMode2,*,*, GLenum,*,*
|
||||||
|
MinmaxTarget,*,*, GLenum,*,*
|
||||||
|
MinmaxTargetEXT,*,*, GLenum,*,*
|
||||||
|
NormalPointerType,*,*, GLenum,*,*
|
||||||
|
NurbsCallback,*,*, GLenum,*,*
|
||||||
|
NurbsObj,*,*, GLUnurbs*,*,*
|
||||||
|
NurbsProperty,*,*, GLenum,*,*
|
||||||
|
NurbsTrim,*,*, GLenum,*,*
|
||||||
|
OcclusionQueryParameterNameNV,*,*, GLenum,*,*
|
||||||
|
PixelCopyType,*,*, GLenum,*,*
|
||||||
|
PixelFormat,*,*, GLenum,*,*
|
||||||
|
PixelInternalFormat,*,*, GLenum,*,*
|
||||||
|
PixelMap,*,*, GLenum,*,*
|
||||||
|
PixelStoreParameter,*,*, GLenum,*,*
|
||||||
|
PixelTexGenModeSGIX,*,*, GLenum,*,*
|
||||||
|
PixelTexGenParameterNameSGIS,*,*, GLenum,*,*
|
||||||
|
PixelTransferParameter,*,*, GLenum,*,*
|
||||||
|
PixelTransformPNameEXT,*,*, GLenum,*,*
|
||||||
|
PixelTransformTargetEXT,*,*, GLenum,*,*
|
||||||
|
PixelType,*,*, GLenum,*,*
|
||||||
|
PointParameterNameARB,*,*, GLenum,*,*
|
||||||
|
PolygonMode,*,*, GLenum,*,*
|
||||||
|
ProgramNV,*,*, GLuint,*,*
|
||||||
|
ProgramCharacterNV,*,*, GLubyte,*,*
|
||||||
|
ProgramParameterNV,*,*, GLenum,*,*
|
||||||
|
ProgramParameterPName,*,*, GLenum,*,*
|
||||||
|
QuadricCallback,*,*, GLenum,*,*
|
||||||
|
QuadricDrawStyle,*,*, GLenum,*,*
|
||||||
|
QuadricNormal,*,*, GLenum,*,*
|
||||||
|
QuadricObj,*,*, GLUquadric*,*,*
|
||||||
|
QuadricOrientation,*,*, GLenum,*,*
|
||||||
|
ReadBufferMode,*,*, GLenum,*,*
|
||||||
|
RenderbufferTarget,*,*, GLenum,*,*
|
||||||
|
RenderingMode,*,*, GLenum,*,*
|
||||||
|
ReplacementCodeSUN,*,*, GLuint,*,*
|
||||||
|
ReplacementCodeTypeSUN,*,*, GLenum,*,*
|
||||||
|
SamplePassARB,*,*, GLenum,*,*
|
||||||
|
SamplePatternEXT,*,*, GLenum,*,*
|
||||||
|
SamplePatternSGIS,*,*, GLenum,*,*
|
||||||
|
SecondaryColorPointerTypeIBM,*,*, GLenum,*,*
|
||||||
|
SelectName,*,*, GLuint,*,*
|
||||||
|
SeparableTarget,*,*, GLenum,*,*
|
||||||
|
SeparableTargetEXT,*,*, GLenum,*,*
|
||||||
|
ShadingModel,*,*, GLenum,*,*
|
||||||
|
SizeI,*,*, GLsizei,*,*
|
||||||
|
SpriteParameterNameSGIX,*,*, GLenum,*,*
|
||||||
|
StencilFunction,*,*, GLenum,*,*
|
||||||
|
StencilFaceDirection,*,*, GLenum,*,*
|
||||||
|
StencilOp,*,*, GLenum,*,*
|
||||||
|
StencilValue,*,*, GLint,*,*
|
||||||
|
String,*,*, const GLubyte *,*,*
|
||||||
|
StringName,*,*, GLenum,*,*
|
||||||
|
TangentPointerTypeEXT,*,*, GLenum,*,*
|
||||||
|
TessCallback,*,*, GLenum,*,*
|
||||||
|
TessContour,*,*, GLenum,*,*
|
||||||
|
TessProperty,*,*, GLenum,*,*
|
||||||
|
TesselatorObj,*,*, GLUtesselator*,*,*
|
||||||
|
TexCoordPointerType,*,*, GLenum,*,*
|
||||||
|
Texture,*,*, GLuint,*,*
|
||||||
|
TextureComponentCount,*,*, GLint,*,*
|
||||||
|
TextureCoordName,*,*, GLenum,*,*
|
||||||
|
TextureEnvParameter,*,*, GLenum,*,*
|
||||||
|
TextureEnvTarget,*,*, GLenum,*,*
|
||||||
|
TextureFilterSGIS,*,*, GLenum,*,*
|
||||||
|
TextureGenParameter,*,*, GLenum,*,*
|
||||||
|
TextureNormalModeEXT,*,*, GLenum,*,*
|
||||||
|
TextureParameterName,*,*, GLenum,*,*
|
||||||
|
TextureTarget,*,*, GLenum,*,*
|
||||||
|
TextureUnit,*,*, GLenum,*,*
|
||||||
|
UInt16,*,*, GLushort,*,*
|
||||||
|
UInt32,*,*, GLuint,*,*
|
||||||
|
UInt8,*,*, GLubyte,*,*
|
||||||
|
VertexAttribEnum,*,*, GLenum,*,*
|
||||||
|
VertexAttribEnumNV,*,*, GLenum,*,*
|
||||||
|
VertexAttribPointerTypeNV,*,*, GLenum,*,*
|
||||||
|
VertexPointerType,*,*, GLenum,*,*
|
||||||
|
VertexWeightPointerTypeEXT,*,*, GLenum,*,*
|
||||||
|
Void,*,*, GLvoid,*,*
|
||||||
|
VoidPointer,*,*, GLvoid*,*,*
|
||||||
|
ConstVoidPointer,*,*, GLvoid* const,*,*
|
||||||
|
WeightPointerTypeARB,*,*, GLenum,*,*
|
||||||
|
WinCoord,*,*, GLint,*,*
|
||||||
|
void,*,*, *,*,*
|
||||||
|
ArrayObjectPNameATI,*,*, GLenum,*,*
|
||||||
|
ArrayObjectUsageATI,*,*, GLenum,*,*,
|
||||||
|
ConstFloat32,*,*, GLfloat,*,*
|
||||||
|
ConstInt32,*,*, GLint,*,*
|
||||||
|
ConstUInt32,*,*, GLuint,*,*
|
||||||
|
ConstVoid,*,*, GLvoid,*,*
|
||||||
|
DataTypeEXT,*,*, GLenum,*,*
|
||||||
|
FragmentOpATI,*,*, GLenum,*,*
|
||||||
|
GetTexBumpParameterATI,*,*, GLenum,*,*
|
||||||
|
GetVariantValueEXT,*,*, GLenum,*,*
|
||||||
|
ParameterRangeEXT,*,*, GLenum,*,*
|
||||||
|
PreserveModeATI,*,*, GLenum,*,*
|
||||||
|
ProgramFormatARB,*,*, GLenum,*,*
|
||||||
|
ProgramTargetARB,*,*, GLenum,*,*
|
||||||
|
ProgramTarget,*,*, GLenum,*,*
|
||||||
|
ProgramPropertyARB,*,*, GLenum,*,*
|
||||||
|
ProgramStringPropertyARB,*,*, GLenum,*,*
|
||||||
|
ScalarType,*,*, GLenum,*,*
|
||||||
|
SwizzleOpATI,*,*, GLenum,*,*
|
||||||
|
TexBumpParameterATI,*,*, GLenum,*,*
|
||||||
|
VariantCapEXT,*,*, GLenum,*,*
|
||||||
|
VertexAttribPointerPropertyARB,*,*, GLenum,*,*
|
||||||
|
VertexAttribPointerTypeARB,*,*, GLenum,*,*
|
||||||
|
VertexAttribPropertyARB,*,*, GLenum,*,*
|
||||||
|
VertexShaderCoordOutEXT,*,*, GLenum,*,*
|
||||||
|
VertexShaderOpEXT,*,*, GLenum,*,*
|
||||||
|
VertexShaderParameterEXT,*,*, GLenum,*,*
|
||||||
|
VertexShaderStorageTypeEXT,*,*, GLenum,*,*
|
||||||
|
VertexShaderTextureUnitParameter,*,*, GLenum,*,*
|
||||||
|
VertexShaderWriteMaskEXT,*,*, GLenum,*,*
|
||||||
|
VertexStreamATI,*,*, GLenum,*,*
|
||||||
|
PNTrianglesPNameATI,*,*, GLenum,*,*
|
||||||
|
# ARB_vertex_buffer_object types and core equivalents for new types
|
||||||
|
BufferOffset,*,*, GLintptr,*,*
|
||||||
|
BufferSize,*,*, GLsizeiptr,*,*
|
||||||
|
BufferAccessARB,*,*, GLenum,*,*
|
||||||
|
BufferOffsetARB,*,*, GLintptrARB,*,*
|
||||||
|
BufferPNameARB,*,*, GLenum,*,*
|
||||||
|
BufferPointerNameARB,*,*, GLenum,*,*
|
||||||
|
BufferSizeARB,*,*, GLsizeiptrARB,*,*
|
||||||
|
BufferTargetARB,*,*, GLenum,*,*
|
||||||
|
BufferUsageARB,*,*, GLenum,*,*
|
||||||
|
# APPLE_fence
|
||||||
|
ObjectTypeAPPLE,*,*, GLenum,*,*
|
||||||
|
# APPLE_vertex_array_range
|
||||||
|
VertexArrayPNameAPPLE,*,*, GLenum,*,*
|
||||||
|
# ATI_draw_buffers
|
||||||
|
DrawBufferModeATI,*,*, GLenum,*,*
|
||||||
|
# NV_half
|
||||||
|
Half16NV,*,*, GLhalfNV,*,*
|
||||||
|
# NV_pixel_data_range
|
||||||
|
PixelDataRangeTargetNV,*,*, GLenum,*,*
|
||||||
|
# Generic types for as-yet-unspecified enums
|
||||||
|
TypeEnum,*,*, GLenum,*,*
|
||||||
|
GLbitfield,*,*, GLbitfield,*,*
|
||||||
|
GLenum,*,*, GLenum,*,*
|
||||||
|
Int64,*,*, GLint64,*,*
|
||||||
|
UInt64,*,*, GLuint64,*,*
|
||||||
|
# Object handle & data pointers
|
||||||
|
handleARB,*,*, GLhandleARB,*,*
|
||||||
|
charARB,*,*, GLcharARB,*,*
|
||||||
|
charPointerARB,*,*, GLcharARB*,*,*
|
||||||
|
sync,*,*, GLsync,*,*,
|
||||||
|
# EXT_timer_query
|
||||||
|
Int64EXT,*,*, GLint64EXT,*,*
|
||||||
|
UInt64EXT,*,*, GLuint64EXT,*,*
|
||||||
|
# EXT_direct_state_access
|
||||||
|
FramebufferAttachmentParameterName,*,*, GLenum,*,*
|
||||||
|
Framebuffer,*,*, GLuint,*,*
|
||||||
|
FramebufferStatus,*,*, GLenum,*,*
|
||||||
|
GetFramebufferParameter,*,*, GLenum,*,*
|
||||||
|
Intptr,*,*, GLintptr,*,*
|
||||||
|
ProgramFormat,*,*, GLenum,*,*
|
||||||
|
ProgramProperty,*,*, GLenum,*,*
|
||||||
|
ProgramStringProperty,*,*, GLenum,*,*
|
||||||
|
Renderbuffer,*,*, GLuint,*,*
|
||||||
|
RenderbufferParameterName,*,*, GLenum,*,*
|
||||||
|
Sizeiptr,*,*, GLsizeiptr,*,*
|
||||||
|
TextureInternalFormat,*,*, GLenum,*,*
|
||||||
|
VertexBufferObjectAccess,*,*, GLenum,*,*
|
||||||
|
VertexBufferObjectParameter,*,*, GLenum,*,*
|
||||||
|
VertexBufferObjectUsage,*,*, GLenum,*,*
|
||||||
|
# ARB_map_buffer_range
|
||||||
|
BufferAccessMask,*,*, GLbitfield,*,*
|
||||||
|
# NV_explicit_multisample
|
||||||
|
GetMultisamplePNameNV,*,*, GLenum,*,*
|
||||||
|
SampleMaskNV,*,*, GLbitfield,*,*
|
||||||
|
# ARB_debug_output
|
||||||
|
GLDEBUGPROCARB,*,*, GLDEBUGPROCARB,*,*
|
||||||
|
# AMD_debug_output
|
||||||
|
GLDEBUGPROCAMD,*,*, GLDEBUGPROCAMD,*,*
|
||||||
|
# NV_vdpau_interop
|
||||||
|
vdpauSurfaceNV,*,*, GLvdpauSurfaceNV,*,*,
|
||||||
|
# External API types
|
||||||
|
cl_context,*,*, struct _cl_context *,*,*
|
||||||
|
cl_event,*,*, struct _cl_event *,*,*
|
Loading…
Reference in a new issue