Updated FBO specs with specific enums.

Fixed GL.Ext.CheckFramebufferStatus (was CheckFramebufferStat before)
Moved default namespace to OpenTK.Graphics.OpenGL.
Moved OpenTK.Graphics.OpenGL.Enums to OpenTK.Graphics.OpenGL.
This commit is contained in:
the_fiddler 2008-02-02 00:23:06 +00:00
parent f0d49e6b34
commit 8346df89b8
5 changed files with 162 additions and 77 deletions

View file

@ -461,14 +461,15 @@ namespace Bind.GL2
using (BindStreamWriter sw = new BindStreamWriter(Path.Combine(Settings.OutputPath, enumsFile)))
{
sw.WriteLine("namespace {0}", Settings.OutputNamespace);
sw.WriteLine("{");
sw.Indent();
if ((Settings.Compatibility & Settings.Legacy.NestedEnums) != Settings.Legacy.None)
{
sw.WriteLine("namespace {0}", Settings.OutputNamespace);
sw.WriteLine("{");
sw.Indent();
sw.WriteLine("static partial class {0}", Settings.OutputClass);
}
else
sw.WriteLine("namespace {0}", Settings.EnumsNamespace);
sw.WriteLine("namespace {0}", Settings.EnumsOutput);
sw.WriteLine("{");
@ -476,8 +477,11 @@ namespace Bind.GL2
WriteEnums(sw, Bind.Structures.Enum.GLEnums);
sw.Unindent();
sw.WriteLine("}");
sw.Unindent();
if ((Settings.Compatibility & Settings.Legacy.NestedEnums) != Settings.Legacy.None)
{
sw.WriteLine("}");
sw.Unindent();
}
sw.WriteLine("}");
}
@ -682,13 +686,14 @@ namespace Bind.GL2
public void WriteEnums(BindStreamWriter sw, EnumCollection enums)
{
sw.WriteLine("#pragma warning disable 3019"); // CLSCompliant attribute
//sw.WriteLine("#pragma warning disable 3019"); // CLSCompliant attribute
sw.WriteLine("#pragma warning disable 1591"); // Missing doc comments
sw.WriteLine();
if ((Settings.Compatibility & Settings.Legacy.NestedEnums) != Settings.Legacy.None)
Trace.WriteLine(String.Format("Writing enums to:\t{0}.{1}.{2}", Settings.OutputNamespace, Settings.OutputClass, Settings.NestedEnumsClass));
else
Trace.WriteLine(String.Format("Writing enums to:\t{0}.{1}", Settings.OutputNamespace, Settings.EnumsNamespace));
Trace.WriteLine(String.Format("Writing enums to:\t{0}", Settings.EnumsOutput));
if ((Settings.Compatibility & Settings.Legacy.ConstIntEnums) == Settings.Legacy.None)
{

View file

@ -12,13 +12,13 @@ namespace Bind
{
static class Settings
{
public static string InputPath = "..\\..\\..\\Source\\Bind\\Specifications";
public static string OutputPath = "..\\..\\..\\Source\\OpenTK\\OpenGL\\Bindings";
public static string OutputNamespace = "OpenTK.OpenGL";
public static string InputPath = DefaultInputPath;
public static string OutputPath = DefaultOutputPath;
public static string OutputNamespace = DefaultOutputNamespace;
public const string DefaultInputPath = "..\\..\\..\\Source\\Bind\\Specifications";
public const string DefaultOutputPath = "..\\..\\..\\Source\\OpenTK\\OpenGL\\Bindings";
public const string DefaultOutputNamespace = "OpenTK.OpenGL";
public const string DefaultOutputNamespace = "OpenTK.Graphics.OpenGL";
public static string GLClass = "GL"; // Needed by Glu for the AuxEnumsClass. Can be set through -gl:"xxx".
public static string OutputClass = "GL"; // The real output class. Can be set through -class:"xxx".
@ -52,7 +52,7 @@ namespace Bind
if ((Settings.Compatibility & Settings.Legacy.NestedEnums) != Settings.Legacy.None)
return OutputNamespace + "." + OutputClass + "." + NestedEnumsClass;
else
return OutputNamespace + "." + EnumsNamespace;
return String.IsNullOrEmpty(EnumsNamespace) ? OutputNamespace : OutputNamespace + "." + EnumsNamespace;
}
}
@ -68,7 +68,7 @@ namespace Bind
}
// New enums namespace (no nested class).
public static string EnumsNamespace = "Enums";
public static string EnumsNamespace;// = "Enums";
public static string DelegatesClass = "Delegates";
public static string ImportsClass = "Imports";

View file

@ -144,7 +144,9 @@ TextureParameterName enum:
use GetTextureParameter TEXTURE_MAX_LEVEL
use GetTextureParameter TEXTURE_DEPTH
use GetTextureParameter TEXTURE_WRAP_R
TextureWrapMode enum:
CLAMP_TO_EDGE = 0x812F # Equivalent to SGIS_texture_edge_clamp
PixelStoreParameter enum:
PACK_SKIP_IMAGES = 0x806B # 1 I
@ -347,6 +349,9 @@ BlendEquationMode enum:
TextureParameterName enum:
CLAMP_TO_BORDER = 0x812D # Promoted from ARB_texture_border_clamp
TextureWrapMode enum:
CLAMP_TO_BORDER = 0x812D # Promoted from ARB_texture_border_clamp
# Multisample (http://www.opengl.org/registry/specs/ARB/multisample.txt)
EnableCap enum:
MULTISAMPLE = 0x809D # Promoted from ARB_multisample
@ -4812,63 +4817,138 @@ NV_vertex_program3 enum:
###############################################################################
# Extension #310
EXT_framebuffer_object enum:
INVALID_FRAMEBUFFER_OPERATION_EXT = 0x0506
MAX_RENDERBUFFER_SIZE_EXT = 0x84E8
FRAMEBUFFER_BINDING_EXT = 0x8CA6
RENDERBUFFER_BINDING_EXT = 0x8CA7
FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT = 0x8CD0
FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT = 0x8CD1
FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT = 0x8CD2
FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT = 0x8CD3
FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT = 0x8CD4
FRAMEBUFFER_COMPLETE_EXT = 0x8CD5
FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT = 0x8CD6
FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT = 0x8CD7
#EXT_framebuffer_object enum:
# INVALID_FRAMEBUFFER_OPERATION_EXT = 0x0506
# MAX_RENDERBUFFER_SIZE_EXT = 0x84E8
# FRAMEBUFFER_BINDING_EXT = 0x8CA6
# RENDERBUFFER_BINDING_EXT = 0x8CA7
# FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT = 0x8CD0
# FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT = 0x8CD1
# FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT = 0x8CD2
# FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT = 0x8CD3
# FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT = 0x8CD4
# FRAMEBUFFER_COMPLETE_EXT = 0x8CD5
# FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT = 0x8CD6
# FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT = 0x8CD7
## Removed 2005/09/26 in revision #117 of the extension:
## FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT = 0x8CD8
FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT = 0x8CD9
FRAMEBUFFER_INCOMPLETE_FORMATS_EXT = 0x8CDA
FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT = 0x8CDB
FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT = 0x8CDC
FRAMEBUFFER_UNSUPPORTED_EXT = 0x8CDD
# FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT = 0x8CD9
# FRAMEBUFFER_INCOMPLETE_FORMATS_EXT = 0x8CDA
# FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT = 0x8CDB
# FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT = 0x8CDC
# FRAMEBUFFER_UNSUPPORTED_EXT = 0x8CDD
## Removed 2005/05/31 in revision #113 of the extension:
## FRAMEBUFFER_STATUS_ERROR_EXT = 0x8CDE
MAX_COLOR_ATTACHMENTS_EXT = 0x8CDF
COLOR_ATTACHMENT0_EXT = 0x8CE0
COLOR_ATTACHMENT1_EXT = 0x8CE1
COLOR_ATTACHMENT2_EXT = 0x8CE2
COLOR_ATTACHMENT3_EXT = 0x8CE3
COLOR_ATTACHMENT4_EXT = 0x8CE4
COLOR_ATTACHMENT5_EXT = 0x8CE5
COLOR_ATTACHMENT6_EXT = 0x8CE6
COLOR_ATTACHMENT7_EXT = 0x8CE7
COLOR_ATTACHMENT8_EXT = 0x8CE8
COLOR_ATTACHMENT9_EXT = 0x8CE9
COLOR_ATTACHMENT10_EXT = 0x8CEA
COLOR_ATTACHMENT11_EXT = 0x8CEB
COLOR_ATTACHMENT12_EXT = 0x8CEC
COLOR_ATTACHMENT13_EXT = 0x8CED
COLOR_ATTACHMENT14_EXT = 0x8CEE
COLOR_ATTACHMENT15_EXT = 0x8CEF
DEPTH_ATTACHMENT_EXT = 0x8D00
STENCIL_ATTACHMENT_EXT = 0x8D20
FRAMEBUFFER_EXT = 0x8D40
RENDERBUFFER_EXT = 0x8D41
RENDERBUFFER_WIDTH_EXT = 0x8D42
RENDERBUFFER_HEIGHT_EXT = 0x8D43
RENDERBUFFER_INTERNAL_FORMAT_EXT = 0x8D44
# MAX_COLOR_ATTACHMENTS_EXT = 0x8CDF
# COLOR_ATTACHMENT0_EXT = 0x8CE0
# COLOR_ATTACHMENT1_EXT = 0x8CE1
# COLOR_ATTACHMENT2_EXT = 0x8CE2
# COLOR_ATTACHMENT3_EXT = 0x8CE3
# COLOR_ATTACHMENT4_EXT = 0x8CE4
# COLOR_ATTACHMENT5_EXT = 0x8CE5
# COLOR_ATTACHMENT6_EXT = 0x8CE6
# COLOR_ATTACHMENT7_EXT = 0x8CE7
# COLOR_ATTACHMENT8_EXT = 0x8CE8
# COLOR_ATTACHMENT9_EXT = 0x8CE9
# COLOR_ATTACHMENT10_EXT = 0x8CEA
# COLOR_ATTACHMENT11_EXT = 0x8CEB
# COLOR_ATTACHMENT12_EXT = 0x8CEC
# COLOR_ATTACHMENT13_EXT = 0x8CED
# COLOR_ATTACHMENT14_EXT = 0x8CEE
# COLOR_ATTACHMENT15_EXT = 0x8CEF
# DEPTH_ATTACHMENT_EXT = 0x8D00
# STENCIL_ATTACHMENT_EXT = 0x8D20
# FRAMEBUFFER_EXT = 0x8D40
# RENDERBUFFER_EXT = 0x8D41
# RENDERBUFFER_WIDTH_EXT = 0x8D42
# RENDERBUFFER_HEIGHT_EXT = 0x8D43
# RENDERBUFFER_INTERNAL_FORMAT_EXT = 0x8D44
# removed STENCIL_INDEX_EXT = 0x8D45 in rev. #114 of the spec
STENCIL_INDEX1_EXT = 0x8D46
STENCIL_INDEX4_EXT = 0x8D47
STENCIL_INDEX8_EXT = 0x8D48
STENCIL_INDEX16_EXT = 0x8D49
RENDERBUFFER_RED_SIZE_EXT = 0x8D50
RENDERBUFFER_GREEN_SIZE_EXT = 0x8D51
RENDERBUFFER_BLUE_SIZE_EXT = 0x8D52
RENDERBUFFER_ALPHA_SIZE_EXT = 0x8D53
RENDERBUFFER_DEPTH_SIZE_EXT = 0x8D54
RENDERBUFFER_STENCIL_SIZE_EXT = 0x8D55
# STENCIL_INDEX1_EXT = 0x8D46
# STENCIL_INDEX4_EXT = 0x8D47
# STENCIL_INDEX8_EXT = 0x8D48
# STENCIL_INDEX16_EXT = 0x8D49
# RENDERBUFFER_RED_SIZE_EXT = 0x8D50
# RENDERBUFFER_GREEN_SIZE_EXT = 0x8D51
# RENDERBUFFER_BLUE_SIZE_EXT = 0x8D52
# RENDERBUFFER_ALPHA_SIZE_EXT = 0x8D53
# RENDERBUFFER_DEPTH_SIZE_EXT = 0x8D54
# RENDERBUFFER_STENCIL_SIZE_EXT = 0x8D55
GenerateMipmapTarget enum:
use TextureTarget TEXTURE_1D
use TextureTarget TEXTURE_2D
use TextureTarget TEXTURE_3D
use TextureTarget TEXTURE_CUBE_MAP
FramebufferTarget enum:
FRAMEBUFFER_EXT = 0x8D40
RenderbufferTarget enum:
RENDERBUFFER_EXT = 0x8D41
RenderbufferStorage enum:
STENCIL_INDEX1_EXT = 0x8D46
STENCIL_INDEX4_EXT = 0x8D47
STENCIL_INDEX8_EXT = 0x8D48
STENCIL_INDEX16_EXT = 0x8D49
FramebufferErrorCode enum:
FRAMEBUFFER_COMPLETE_EXT = 0x8CD5
FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT = 0x8CD6
FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT = 0x8CD7
FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT = 0x8CD9
FRAMEBUFFER_INCOMPLETE_FORMATS_EXT = 0x8CDA
FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT = 0x8CDB
FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT = 0x8CDC
FRAMEBUFFER_UNSUPPORTED_EXT = 0x8CDD
FramebufferAttachment enum:
COLOR_ATTACHMENT0_EXT = 0x8CE0
COLOR_ATTACHMENT1_EXT = 0x8CE1
COLOR_ATTACHMENT2_EXT = 0x8CE2
COLOR_ATTACHMENT3_EXT = 0x8CE3
COLOR_ATTACHMENT4_EXT = 0x8CE4
COLOR_ATTACHMENT5_EXT = 0x8CE5
COLOR_ATTACHMENT6_EXT = 0x8CE6
COLOR_ATTACHMENT7_EXT = 0x8CE7
COLOR_ATTACHMENT8_EXT = 0x8CE8
COLOR_ATTACHMENT9_EXT = 0x8CE9
COLOR_ATTACHMENT10_EXT = 0x8CEA
COLOR_ATTACHMENT11_EXT = 0x8CEB
COLOR_ATTACHMENT12_EXT = 0x8CEC
COLOR_ATTACHMENT13_EXT = 0x8CED
COLOR_ATTACHMENT14_EXT = 0x8CEE
COLOR_ATTACHMENT15_EXT = 0x8CEF
DEPTH_ATTACHMENT_EXT = 0x8D00
STENCIL_ATTACHMENT_EXT = 0x8D20
FramebufferParameterName enum:
FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT = 0x8CD0
FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT = 0x8CD1
FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT = 0x8CD2
FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT = 0x8CD3
FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT = 0x8CD4
RenderbufferParameterName enum:
RENDERBUFFER_WIDTH_EXT = 0x8D42
RENDERBUFFER_HEIGHT_EXT = 0x8D43
RENDERBUFFER_INTERNAL_FORMAT_EXT = 0x8D44
RENDERBUFFER_RED_SIZE_EXT = 0x8D50
RENDERBUFFER_GREEN_SIZE_EXT = 0x8D51
RENDERBUFFER_BLUE_SIZE_EXT = 0x8D52
RENDERBUFFER_ALPHA_SIZE_EXT = 0x8D53
RENDERBUFFER_DEPTH_SIZE_EXT = 0x8D54
RENDERBUFFER_STENCIL_SIZE_EXT = 0x8D55
GetPName enum:
FRAMEBUFFER_BINDING_EXT = 0x8CA6
RENDERBUFFER_BINDING_EXT = 0x8CA7
MAX_COLOR_ATTACHMENTS_EXT = 0x8CDF
MAX_RENDERBUFFER_SIZE_EXT = 0x84E8
ErrorCode enum:
INVALID_FRAMEBUFFER_OPERATION_EXT = 0x0506
###############################################################################

View file

@ -20235,7 +20235,7 @@ GenRenderbuffersEXT(n, renderbuffers)
RenderbufferStorageEXT(target, internalformat, width, height)
return void
param target RenderbufferTarget in value
param internalformat GLenum in value
param internalformat RenderbufferStorage in value # GLenum in value
param width SizeI in value
param height SizeI in value
category EXT_framebuffer_object
@ -20249,7 +20249,7 @@ RenderbufferStorageEXT(target, internalformat, width, height)
GetRenderbufferParameterivEXT(target, pname, params)
return void
param target RenderbufferTarget in value
param pname GLenum in value
param pname RenderbufferParameterName in value # GLenum in value
param params Int32 out array [COMPSIZE(pname)]
category EXT_framebuffer_object
dlflags notlistable
@ -20309,7 +20309,7 @@ GenFramebuffersEXT(n, framebuffers)
offset ?
CheckFramebufferStatusEXT(target)
return GLenum
return FramebufferErrorCode
param target FramebufferTarget in value
category EXT_framebuffer_object
version 1.2
@ -20323,7 +20323,7 @@ FramebufferTexture1DEXT(target, attachment, textarget, texture, level)
return void
param target FramebufferTarget in value
param attachment FramebufferAttachment in value
param textarget GLenum in value
param textarget TextureTarget in value # GLenum in value
param texture UInt32 in value
param level Int32 in value
category EXT_framebuffer_object
@ -20338,7 +20338,7 @@ FramebufferTexture2DEXT(target, attachment, textarget, texture, level)
return void
param target FramebufferTarget in value
param attachment FramebufferAttachment in value
param textarget GLenum in value
param textarget TextureTarget in value # GLenum in value
param texture UInt32 in value
param level Int32 in value
category EXT_framebuffer_object
@ -20353,7 +20353,7 @@ FramebufferTexture3DEXT(target, attachment, textarget, texture, level, zoffset)
return void
param target FramebufferTarget in value
param attachment FramebufferAttachment in value
param textarget GLenum in value
param textarget TextureTarget in value # GLenum in value
param texture UInt32 in value
param level Int32 in value
param zoffset Int32 in value
@ -20383,7 +20383,7 @@ GetFramebufferAttachmentParameterivEXT(target, attachment, pname, params)
return void
param target FramebufferTarget in value
param attachment FramebufferAttachment in value
param pname GLenum in value
param pname FramebufferParameterName in value # GLenum in value
param params Int32 out array [COMPSIZE(pname)]
category EXT_framebuffer_object
dlflags notlistable
@ -20397,7 +20397,7 @@ GetFramebufferAttachmentParameterivEXT(target, attachment, pname, params)
GenerateMipmapEXT(target)
return void
param target GLenum in value
param target GenerateMipmapTarget in value # GLenum in value
category EXT_framebuffer_object
version 1.2
extension

View file

@ -32,7 +32,7 @@ namespace Bind.Structures
#endregion
static Regex endings = new Regex(@"((([df]|u?[isb])v?)|v)", RegexOptions.Compiled | RegexOptions.RightToLeft);
static Regex endingsNotToTrim = new Regex("(ib|[tdrey]s|[eE]n[vd]|bled|Flagv|Tess)", RegexOptions.Compiled | RegexOptions.RightToLeft);
static Regex endingsNotToTrim = new Regex("(ib|[tdrey]s|[eE]n[vd]|bled|Flagv|Tess|Status)", RegexOptions.Compiled | RegexOptions.RightToLeft);
/// <summary>
/// Add a trailing v to functions matching this regex. Used to differntiate between overloads taking both