'''OpenGL extension EXT.transform_feedback

The official definition of this extension is available here:
	http://oss.sgi.com/projects/ogl-sample/registry/EXT/transform_feedback.txt

Automatically generated by the get_gl_extensions script, do not edit!
'''
from OpenGL import platform, constants, constant, arrays
from OpenGL import extensions
from OpenGL.GL import glget
import ctypes
EXTENSION_NAME = 'GL_EXT_transform_feedback'
GL_TRANSFORM_FEEDBACK_BUFFER_EXT = constant.Constant( 'GL_TRANSFORM_FEEDBACK_BUFFER_EXT', 0x8C8E )
GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT = constant.Constant( 'GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT', 0x8C84 )
GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT = constant.Constant( 'GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT', 0x8C85 )
GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT = constant.Constant( 'GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT', 0x8C8F )
GL_INTERLEAVED_ATTRIBS_EXT = constant.Constant( 'GL_INTERLEAVED_ATTRIBS_EXT', 0x8C8C )
GL_SEPARATE_ATTRIBS_EXT = constant.Constant( 'GL_SEPARATE_ATTRIBS_EXT', 0x8C8D )
GL_PRIMITIVES_GENERATED_EXT = constant.Constant( 'GL_PRIMITIVES_GENERATED_EXT', 0x8C87 )
GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT = constant.Constant( 'GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT', 0x8C88 )
GL_RASTERIZER_DISCARD_EXT = constant.Constant( 'GL_RASTERIZER_DISCARD_EXT', 0x8C89 )
GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT = constant.Constant( 'GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT', 0x8C8A )
GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT = constant.Constant( 'GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT', 0x8C8B )
GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT = constant.Constant( 'GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT', 0x8C80 )
GL_TRANSFORM_FEEDBACK_VARYINGS_EXT = constant.Constant( 'GL_TRANSFORM_FEEDBACK_VARYINGS_EXT', 0x8C83 )
GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT = constant.Constant( 'GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT', 0x8C7F )
GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT = constant.Constant( 'GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT', 0x8C76 )
glBeginTransformFeedbackEXT = platform.createExtensionFunction( 
	'glBeginTransformFeedbackEXT', dll=platform.GL,
	extension=EXTENSION_NAME,
	resultType=None, 
	argTypes=(constants.GLenum,),
	doc = 'glBeginTransformFeedbackEXT( GLenum(primitiveMode) ) -> None',
	argNames = ('primitiveMode',),
)

glEndTransformFeedbackEXT = platform.createExtensionFunction( 
	'glEndTransformFeedbackEXT', dll=platform.GL,
	extension=EXTENSION_NAME,
	resultType=None, 
	argTypes=(),
	doc = 'glEndTransformFeedbackEXT(  ) -> None',
	argNames = (),
)

glBindBufferRangeEXT = platform.createExtensionFunction( 
	'glBindBufferRangeEXT', dll=platform.GL,
	extension=EXTENSION_NAME,
	resultType=None, 
	argTypes=(constants.GLenum, constants.GLuint, constants.GLuint, constants.GLintptr, constants.GLsizeiptr,),
	doc = 'glBindBufferRangeEXT( GLenum(target), GLuint(index), GLuint(buffer), GLintptr(offset), GLsizeiptr(size) ) -> None',
	argNames = ('target', 'index', 'buffer', 'offset', 'size',),
)

glBindBufferOffsetEXT = platform.createExtensionFunction( 
	'glBindBufferOffsetEXT', dll=platform.GL,
	extension=EXTENSION_NAME,
	resultType=None, 
	argTypes=(constants.GLenum, constants.GLuint, constants.GLuint, constants.GLintptr,),
	doc = 'glBindBufferOffsetEXT( GLenum(target), GLuint(index), GLuint(buffer), GLintptr(offset) ) -> None',
	argNames = ('target', 'index', 'buffer', 'offset',),
)

glBindBufferBaseEXT = platform.createExtensionFunction( 
	'glBindBufferBaseEXT', dll=platform.GL,
	extension=EXTENSION_NAME,
	resultType=None, 
	argTypes=(constants.GLenum, constants.GLuint, constants.GLuint,),
	doc = 'glBindBufferBaseEXT( GLenum(target), GLuint(index), GLuint(buffer) ) -> None',
	argNames = ('target', 'index', 'buffer',),
)

glTransformFeedbackVaryingsEXT = platform.createExtensionFunction( 
	'glTransformFeedbackVaryingsEXT', dll=platform.GL,
	extension=EXTENSION_NAME,
	resultType=None, 
	argTypes=(constants.GLuint, constants.GLsizei, arrays.GLintArray, constants.GLenum,),
	doc = 'glTransformFeedbackVaryingsEXT( GLuint(program), GLsizei(count), GLintArray(locations), GLenum(bufferMode) ) -> None',
	argNames = ('program', 'count', 'locations', 'bufferMode',),
)

glGetTransformFeedbackVaryingEXT = platform.createExtensionFunction( 
	'glGetTransformFeedbackVaryingEXT', dll=platform.GL,
	extension=EXTENSION_NAME,
	resultType=None, 
	argTypes=(constants.GLuint, constants.GLuint, arrays.GLintArray,),
	doc = 'glGetTransformFeedbackVaryingEXT( GLuint(program), GLuint(index), GLintArray(location) ) -> None',
	argNames = ('program', 'index', 'location',),
)


def glInitTransformFeedbackEXT():
	'''Return boolean indicating whether this extension is available'''
	return extensions.hasGLExtension( EXTENSION_NAME )
