retro_alt's picture

SizedInternalFormat Incomplete

Project:The Open Toolkit library
Version:1.1-2014-01-02
Component:Code
Category:bug report
Priority:normal
Assigned:Unassigned
Status:closed
Description

SizedInternalFormat does not have formats as used in the EXT_texture_buffer_object specification. This is particularly relevant for the GL.TexBuffer() function. This is a OpenGL 3.x feature.

Some examples include:
LUMINANCE32I_EXT = 0x8D86 = 36230,
and
INTENSITY16I_EXT= 0x8D8B = 36235.

Both (and several others) are missing in the SizedInternalFormat enum.

Thanks,
Greg


Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
retro_alt's picture

#1

I tried rebuilding 1.1 with this definition, and it works:

public enum SizedInternalFormat : int
{
	//		R8 = ((int)0x8229),
	//		R16 = ((int)0x822A),
	//		R16f = ((int)0x822D),
	//		R32f = ((int)0x822E),
	//		R8i = ((int)0x8231),
	//		R16i = ((int)0x8233),
	//		R32i = ((int)0x8235),
	//		R8ui = ((int)0x8232),
	//		R16ui = ((int)0x8234),
	//		R32ui = ((int)0x8236),
 
	//		Rg8 = ((int)0x822B),
	//		Rg16 = ((int)0x822C),
	//		Rg16f = ((int)0x822F),
	//		Rg32f = ((int)0x8230),
	//		Rg8i = ((int)0x8237),
	//		Rg8ui = ((int)0x8238),
	//		Rg16i = ((int)0x8239),
	//		Rg16ui = ((int)0x823A),
	//		Rg32i = ((int)0x823B),
	//		Rg32ui = ((int)0x823C),
 
	//		Rgb8 = ((int)0x8051),
	//		Rgb16 = ((int)0x8054),
	//		Rgb8ui = ((int)0x8d7d),
	//		Rgb16ui = ((int)0x8d77),
	//		Rgb32ui = ((int)0x8d71),
	//		Rgb8i = ((int)0x8d8f),
	//		Rgb16i = ((int)0x8d89),
	//		Rgb32i = ((int)0x8d83),
	//		Rgb16f = ((int)0x881b),
	//		Rgb32f = ((int)0x8815),	
 
	Alpha8 = ((int)0x803C),
	Alpha16 = ((int)0x803E),
	Alpha16f = ((int)0x881c),
	Alpha32f = ((int)0x8816),
	Alpha8i = ((int)0x8d90),
	Alpha16i = ((int)0x8d8a),
	Alpha32i = ((int)0x8d84),
	Alpha8ui = ((int)0x8d7e),
	Alpha16ui = ((int)0x8d78),
	Alpha32ui = ((int)0x8d72),
 
	Luminance8 = ((int)0x8040),
	Luminance16	= ((int)0x8042),
	Luminance16f = ((int)0x881e),
	Luminance32f = ((int)0x8818),
	Luminance8i = ((int)0x8d92),
	Luminance16i = ((int)0x8d8c),
	Luminance32i = ((int)0x8d86),
	Luminance8ui = ((int)0x8d80),
	Luminance16ui = ((int)0x8d7a),
	Luminance32ui = ((int)0x8d74),
 
	Luminance8Alpha8 = ((int)0x8045),
	Luminance16Alpha16 = ((int)0x8048),
	LuminanceAlpha16f = ((int)0x881f),
	LuminanceAlpha32f = ((int)0x8819),
	LuminanceAlpha8i = ((int)0x8d93),
	LuminanceAlpha16i = ((int)0x8d8d),
	LuminanceAlpha32i = ((int)0x8d87),
	LuminanceAlpha8ui = ((int)0x8d81),
	LuminanceAlpha16ui = ((int)0x8d7b),
	LuminanceAlpha32ui = ((int)0x8d75),
 
	Intensity8 = ((int)0x804B),
	Intensity16 = ((int)0x804D),
	Intensity16f = ((int)0x881d),
	Intensity32f = ((int)0x8817),
	Intensity8i = ((int)0x8d91),
	Intensity16i = ((int)0x8d8b),
	Intensity32i = ((int)0x8d85),
	Intensity8ui = ((int)0x8d7f),
	Intensity16ui = ((int)0x8d79),
	Intensity32ui = ((int)0x8d73),
 
	Rgba8 = ((int)0x8058),
	Rgba16 = ((int)0x805B),
	Rgba16f = ((int)0x881A),
	Rgba32f = ((int)0x8814),
	Rgba8i = ((int)0x8D8E),
	Rgba16i = ((int)0x8D88),
	Rgba32i = ((int)0x8D82),
	Rgba8ui = ((int)0x8D7C),
	Rgba16ui = ((int)0x8D76),
	Rgba32ui = ((int)0x8D70),
}

This only includes the sized internal formats that a re supported for Texture Buffer Objects.
Greg

the Fiddler's picture

#2

Status:open» confirmed

Thanks, confirmed.

retro_alt's picture

#3

Status:confirmed» fixed

So I double checked and in Trunk, SizedInternalFormat matched the OpenGL 4.1 specification perfectly. Good job everyone :)

the Fiddler's picture

#4

Version:1.0.0-rc1» 1.1-2014-01-02
Status:fixed» closed

Closing bugs fixed in OpenTK 1.1.

If this is still an issue please file a new bug report at https://github.com/opentk/opentk/issues