diff --git a/tests/src/mocks/generation/Create_openGL_mock.py b/tests/src/mocks/generation/Create_openGL_mock.py
index 02925abc19d92dbcfdeab722e360395279a86910..0ae448f9ba04b088e1b7c191b596df52d3bc2320 100644
--- a/tests/src/mocks/generation/Create_openGL_mock.py
+++ b/tests/src/mocks/generation/Create_openGL_mock.py
@@ -22,79 +22,186 @@
 import sys, getopt
 
 #functions you want to mock should be put in this list
-functions_to_mock =['glClear', 'glEnable', 'glIsEnabled', 'glDisable', 'glClearColor', 'glCreateProgram', 'glCreateShader', 'glNamedBufferData', 'glShaderSource',
-                    'glCompileShader', 'glAttachShader', 'glBindVertexArray', 'glCreateBuffers', 'glCreateVertexArrays', 'glEnableVertexArrayAttrib',
-                    'glGetUniformLocation', 'glIsBuffer', 'glIsProgram', 'glIsVertexArray', 'glLinkProgram', 'glUniformMatrix4fv', 'glUniform3fv',
-                    'glUniform1f', 'glUseProgram', 'glVertexArrayElementBuffer', 'glVertexArrayVertexBuffer', 'glDrawElements', 'glVertexArrayAttribFormat',
-                    'glGetProgramiv', 'glGetProgramInfoLog', 'glProgramUniform3fv', 'glProgramUniformMatrix4fv', 'glGetPointerv', 
-                    'glClearDepth', 'glClearStencil', 'glColorMask', 'glDepthMask', 'glReadPixels', '__glewStencilMaskSeparate', '__glewClampColor',
-                    '__glewColorMaski', '__glewClearDepthf', '__glewBlitNamedFramebuffer', '__glewCheckNamedFramebufferStatus', '__glewClearNamedFramebufferfi',
-                    '__glewClearNamedFramebufferfv', '__glewClearNamedFramebufferiv', '__glewClearNamedFramebufferuiv', '__glewCreateFramebuffers',
-                    '__glewGetNamedFramebufferAttachmentParameteriv', '__glewGetNamedFramebufferParameteriv', '__glewInvalidateNamedFramebufferData',
-                    '__glewInvalidateNamedFramebufferSubData', '__glewNamedFramebufferDrawBuffer', '__glewNamedFramebufferDrawBuffers', '__glewNamedFramebufferParameteri',
-                    '__glewNamedFramebufferReadBuffer', '__glewNamedFramebufferRenderbuffer', '__glewDeleteFramebuffers', '__glewIsFramebuffer', '__glewCopyImageSubData',
-                    '__glewCreateRenderbuffers', '__glewGetNamedRenderbufferParameteriv', '__glewNamedRenderbufferStorage', '__glewNamedRenderbufferStorageMultisample',
-                    '__glewBindRenderbuffer', '__glewDeleteRenderbuffers', '__glewIsRenderbuffer', '__glewGetInternalformativ', '__glewGetInternalformati64v',
-                    'glFinish', 'glFlush', 'glGetError', 'glGetIntegerv', '__glewGetGraphicsResetStatus', '__glewBindAttribLocation', '__glewDeleteProgram', '__glewDetachShader',
-                    '__glewGetActiveAttrib', '__glewGetActiveUniform', '__glewGetAttachedShaders', '__glewGetAttribLocation', '__glewGetUniformfv', '__glewGetUniformiv',
-                    '__glewValidateProgram', '__glewBindFragDataLocation', '__glewGetFragDataLocation', '__glewGetTransformFeedbackVarying', '__glewGetUniformuiv',
-                    '__glewTransformFeedbackVaryings', '__glewProgramUniformHandleui64ARB', '__glewProgramUniformHandleui64vARB', '__glewBindFragDataLocationIndexed',
-                    '__glewGetFragDataIndex', '__glewProgramParameteri', '__glewGetUniformdv', '__glewGetProgramInterfaceiv', '__glewGetProgramResourceIndex',
-                    '__glewGetProgramResourceLocation', '__glewGetProgramResourceLocationIndex', '__glewGetProgramResourceName', '__glewGetProgramResourceiv',
-                    '__glewProgramUniform1d', '__glewProgramUniform1dv', '__glewProgramUniform1f', '__glewProgramUniform1fv', '__glewProgramUniform1i', '__glewProgramUniform1iv',
-                    '__glewProgramUniform1ui', '__glewProgramUniform1uiv', '__glewProgramUniform2d', '__glewProgramUniform2dv', '__glewProgramUniform2f', '__glewProgramUniform2fv',
-                    '__glewProgramUniform2i', '__glewProgramUniform2iv', '__glewProgramUniform2ui', '__glewProgramUniform2uiv', '__glewProgramUniform3d', '__glewProgramUniform3dv',
-                    '__glewProgramUniform3f', '__glewProgramUniform3i', '__glewProgramUniform3iv', '__glewProgramUniform3ui', '__glewProgramUniform3uiv', '__glewProgramUniform4d',
-                    '__glewProgramUniform4dv', '__glewProgramUniform4f', '__glewProgramUniform4fv', '__glewProgramUniform4i', '__glewProgramUniform4iv', '__glewProgramUniform4ui',
-                    '__glewProgramUniform4uiv', '__glewProgramUniformMatrix2dv', '__glewProgramUniformMatrix2fv', '__glewProgramUniformMatrix2x3dv', '__glewProgramUniformMatrix2x3fv',
-                    '__glewProgramUniformMatrix2x4dv', '__glewProgramUniformMatrix2x4fv', '__glewProgramUniformMatrix3dv', '__glewProgramUniformMatrix3fv', '__glewProgramUniformMatrix3x2dv',
-                    '__glewProgramUniformMatrix3x2fv', '__glewProgramUniformMatrix3x4dv', '__glewProgramUniformMatrix3x4fv', '__glewProgramUniformMatrix4dv', '__glewProgramUniformMatrix4x2dv',
-                    '__glewProgramUniformMatrix4x2fv', '__glewProgramUniformMatrix4x3dv', '__glewProgramUniformMatrix4x3fv', '__glewGetActiveAtomicCounterBufferiv', '__glewShaderStorageBlockBinding',
-                    '__glewGetActiveSubroutineName', '__glewGetActiveSubroutineUniformName', '__glewGetActiveSubroutineUniformiv', '__glewGetProgramStageiv', '__glewGetSubroutineIndex',
-                    '__glewGetSubroutineUniformLocation', '__glewGetUniformSubroutineuiv', '__glewUniformSubroutinesuiv', '__glewGetActiveUniformBlockName', '__glewGetActiveUniformBlockiv',
-                    '__glewGetActiveUniformName', '__glewGetActiveUniformsiv', '__glewGetUniformBlockIndex', '__glewGetUniformIndices', '__glewUniformBlockBinding', '__glewDeleteShader',
-                    '__glewGetShaderInfoLog', '__glewGetShaderSource', '__glewGetShaderiv', '__glewIsShader', '__glewSpecializeShader', '__glewReleaseShaderCompiler', '__glewShaderBinary',
-                    '__glewIsImageHandleResidentARB', '__glewMakeImageHandleNonResidentARB', '__glewMakeImageHandleResidentARB', '__glewIsTextureHandleResidentARB', '__glewMakeTextureHandleNonResidentARB',
-                    '__glewMakeTextureHandleResidentARB', '__glewDeleteBuffers', '__glewClearNamedBufferData', '__glewClearNamedBufferSubData','__glewCopyNamedBufferSubData',
-                    '__glewFlushMappedNamedBufferRange', '__glewGetNamedBufferParameteri64v', '__glewGetNamedBufferParameteriv', '__glewGetNamedBufferPointerv', 'glViewport',
-                    '__glewGetNamedBufferSubData', '__glewMapNamedBuffer', '__glewMapNamedBufferRange', '__glewNamedBufferStorage', '__glewNamedBufferSubData',
-                    '__glewUnmapNamedBuffer', '__glewInvalidateBufferData', '__glewInvalidateBufferSubData', '__glewDisableVertexArrayAttrib', '__glewGetVertexArrayIndexed64iv',
-                    '__glewGetVertexArrayIndexediv', '__glewGetVertexArrayiv', '__glewVertexArrayAttribBinding', '__glewVertexArrayAttribIFormat', '__glewVertexArrayAttribLFormat',
-                    '__glewVertexArrayBindingDivisor', '__glewDeleteVertexArrays', 'glBindTexture', 'glDeleteTextures', '__glewCreateTextures', '__glewNamedFramebufferTexture',
-                    '__glewTextureStorage2D', '__glewBindFramebuffer', 'glIsTexture', '__glewGetTextureHandleARB', '__glewGenerateTextureMipmap', '__glewTextureParameteri', '__glewTextureSubImage2D',
-                    '__glewBindBufferBase', '__glewBindBuffer', '__glewBindBufferRange', '__glewCreateShaderProgramv', 'glDepthRange', '__glewDepthRangef', '__glewDepthRangeIndexed', '__glewViewportIndexedf', 'glPolygonMode', 'glDebugMessageCallback',
-					'__glewDebugMessageControl', '__glewDebugMessageInsert', '__glewGetDebugMessageLog', '__glewGetObjectPtrLabel', '__glewPopDebugGroup', '__glewPushDebugGroup', '__glewClientWaitSync', 
-					'__glewDeleteSync', '__glewFenceSync', '__glewGetSynciv', '__glewIsSync', '__glewWaitSync', '__glewObjectPtrLabel', '__glewTextureStorage3D', '__glewTextureSubImage3D', 'glDrawArrays']
+functions_to_mock = ['__glewBindAttribLocation',
+                     '__glewBindBuffer', '__glewBindBufferBase',
+                     '__glewBindBufferRange', '__glewBindFragDataLocation',
+                     '__glewBindFragDataLocationIndexed',
+                     '__glewBindFramebuffer', '__glewBindRenderbuffer',
+                     '__glewBlitNamedFramebuffer',
+                     '__glewCheckNamedFramebufferStatus', '__glewClampColor',
+                     '__glewClearDepthf', '__glewClearNamedBufferData',
+                     '__glewClearNamedBufferSubData',
+                     '__glewClearNamedFramebufferfi',
+                     '__glewClearNamedFramebufferfv',
+                     '__glewClearNamedFramebufferiv',
+                     '__glewClearNamedFramebufferuiv', '__glewClientWaitSync',
+                     '__glewColorMaski', '__glewCopyImageSubData',
+                     '__glewCopyNamedBufferSubData', '__glewCreateFramebuffers',
+                     '__glewCreateRenderbuffers', '__glewCreateShaderProgramv',
+                     '__glewCreateTextures', '__glewDebugMessageControl',
+                     '__glewDebugMessageInsert', '__glewDeleteBuffers',
+                     '__glewDeleteFramebuffers', '__glewDeleteProgram',
+                     '__glewDeleteRenderbuffers', '__glewDeleteShader',
+                     '__glewDeleteSync', '__glewDeleteVertexArrays',
+                     '__glewDepthRangef', '__glewDepthRangeIndexed',
+                     '__glewDetachShader', '__glewDisableVertexArrayAttrib',
+                     '__glewFenceSync', '__glewFlushMappedNamedBufferRange',
+                     '__glewGenerateTextureMipmap',
+                     '__glewGetActiveAtomicCounterBufferiv',
+                     '__glewGetActiveAttrib', '__glewGetActiveSubroutineName',
+                     '__glewGetActiveSubroutineUniformiv',
+                     '__glewGetActiveSubroutineUniformName',
+                     '__glewGetActiveUniform', '__glewGetActiveUniformBlockiv',
+                     '__glewGetActiveUniformBlockName',
+                     '__glewGetActiveUniformName', '__glewGetActiveUniformsiv',
+                     '__glewGetAttachedShaders', '__glewGetAttribLocation',
+                     '__glewGetDebugMessageLog', '__glewGetFragDataIndex',
+                     '__glewGetFragDataLocation',
+                     '__glewGetGraphicsResetStatus',
+                     '__glewGetInternalformati64v', '__glewGetInternalformativ',
+                     '__glewGetNamedBufferParameteri64v',
+                     '__glewGetNamedBufferParameteriv',
+                     '__glewGetNamedBufferPointerv',
+                     '__glewGetNamedBufferSubData',
+                     '__glewGetNamedFramebufferAttachmentParameteriv',
+                     '__glewGetNamedFramebufferParameteriv',
+                     '__glewGetNamedRenderbufferParameteriv',
+                     '__glewGetObjectPtrLabel', '__glewGetProgramInterfaceiv',
+                     '__glewGetProgramResourceIndex',
+                     '__glewGetProgramResourceiv',
+                     '__glewGetProgramResourceLocation',
+                     '__glewGetProgramResourceLocationIndex',
+                     '__glewGetProgramResourceName', '__glewGetProgramStageiv',
+                     '__glewGetShaderInfoLog', '__glewGetShaderiv',
+                     '__glewGetShaderSource', '__glewGetSubroutineIndex',
+                     '__glewGetSubroutineUniformLocation', '__glewGetSynciv',
+                     '__glewGetTextureHandleARB',
+                     '__glewGetTransformFeedbackVarying',
+                     '__glewGetUniformBlockIndex', '__glewGetUniformdv',
+                     '__glewGetUniformfv', '__glewGetUniformIndices',
+                     '__glewGetUniformiv', '__glewGetUniformSubroutineuiv',
+                     '__glewGetUniformuiv', '__glewGetVertexArrayIndexed64iv',
+                     '__glewGetVertexArrayIndexediv', '__glewGetVertexArrayiv',
+                     '__glewInvalidateBufferData',
+                     '__glewInvalidateBufferSubData',
+                     '__glewInvalidateNamedFramebufferData',
+                     '__glewInvalidateNamedFramebufferSubData',
+                     '__glewIsFramebuffer', '__glewIsImageHandleResidentARB',
+                     '__glewIsRenderbuffer', '__glewIsShader', '__glewIsSync',
+                     '__glewIsTextureHandleResidentARB',
+                     '__glewMakeImageHandleNonResidentARB',
+                     '__glewMakeImageHandleResidentARB',
+                     '__glewMakeTextureHandleNonResidentARB',
+                     '__glewMakeTextureHandleResidentARB',
+                     '__glewMapNamedBuffer', '__glewMapNamedBufferRange',
+                     '__glewNamedBufferStorage', '__glewNamedBufferSubData',
+                     '__glewNamedFramebufferDrawBuffer',
+                     '__glewNamedFramebufferDrawBuffers',
+                     '__glewNamedFramebufferParameteri',
+                     '__glewNamedFramebufferReadBuffer',
+                     '__glewNamedFramebufferRenderbuffer',
+                     '__glewNamedFramebufferTexture',
+                     '__glewNamedRenderbufferStorage',
+                     '__glewNamedRenderbufferStorageMultisample',
+                     '__glewObjectPtrLabel', '__glewPopDebugGroup',
+                     '__glewProgramParameteri', '__glewProgramUniform1d',
+                     '__glewProgramUniform1dv', '__glewProgramUniform1f',
+                     '__glewProgramUniform1fv', '__glewProgramUniform1i',
+                     '__glewProgramUniform1iv', '__glewProgramUniform1ui',
+                     '__glewProgramUniform1uiv', '__glewProgramUniform2d',
+                     '__glewProgramUniform2dv', '__glewProgramUniform2f',
+                     '__glewProgramUniform2fv', '__glewProgramUniform2i',
+                     '__glewProgramUniform2iv', '__glewProgramUniform2ui',
+                     '__glewProgramUniform2uiv', '__glewProgramUniform3d',
+                     '__glewProgramUniform3dv', '__glewProgramUniform3f',
+                     '__glewProgramUniform3i', '__glewProgramUniform3iv',
+                     '__glewProgramUniform3ui', '__glewProgramUniform3uiv',
+                     '__glewProgramUniform4d', '__glewProgramUniform4dv',
+                     '__glewProgramUniform4f', '__glewProgramUniform4fv',
+                     '__glewProgramUniform4i', '__glewProgramUniform4iv',
+                     '__glewProgramUniform4ui', '__glewProgramUniform4uiv',
+                     '__glewProgramUniformHandleui64ARB',
+                     '__glewProgramUniformHandleui64vARB',
+                     '__glewProgramUniformMatrix2dv',
+                     '__glewProgramUniformMatrix2fv',
+                     '__glewProgramUniformMatrix2x3dv',
+                     '__glewProgramUniformMatrix2x3fv',
+                     '__glewProgramUniformMatrix2x4dv',
+                     '__glewProgramUniformMatrix2x4fv',
+                     '__glewProgramUniformMatrix3dv',
+                     '__glewProgramUniformMatrix3fv',
+                     '__glewProgramUniformMatrix3x2dv',
+                     '__glewProgramUniformMatrix3x2fv',
+                     '__glewProgramUniformMatrix3x4dv',
+                     '__glewProgramUniformMatrix3x4fv',
+                     '__glewProgramUniformMatrix4dv',
+                     '__glewProgramUniformMatrix4x2dv',
+                     '__glewProgramUniformMatrix4x2fv',
+                     '__glewProgramUniformMatrix4x3dv',
+                     '__glewProgramUniformMatrix4x3fv', '__glewPushDebugGroup',
+                     '__glewReleaseShaderCompiler', '__glewShaderBinary',
+                     '__glewShaderStorageBlockBinding',
+                     '__glewSpecializeShader', '__glewStencilMaskSeparate',
+                     '__glewTextureParameteri', '__glewTextureStorage2D',
+                     '__glewTextureStorage3D', '__glewTextureSubImage2D',
+                     '__glewTextureSubImage3D',
+                     '__glewTransformFeedbackVaryings',
+                     '__glewUniformBlockBinding', '__glewUniformSubroutinesuiv',
+                     '__glewUnmapNamedBuffer', '__glewValidateProgram',
+                     '__glewVertexArrayAttribBinding',
+                     '__glewVertexArrayAttribIFormat',
+                     '__glewVertexArrayAttribLFormat',
+                     '__glewVertexArrayBindingDivisor',
+                     '__glewViewportIndexedf', '__glewWaitSync',
+                     'glAttachShader', 'glBindTexture', 'glBindVertexArray',
+                     'glClear', 'glClearColor', 'glClearDepth',
+                     'glClearStencil', 'glColorMask', 'glCompileShader',
+                     'glCreateBuffers', 'glCreateProgram', 'glCreateShader',
+                     'glCreateVertexArrays', 'glDebugMessageCallback',
+                     'glDeleteTextures', 'glDepthMask', 'glDepthRange',
+                     'glDisable', 'glDrawArrays', 'glDrawElements', 'glEnable',
+                     'glEnableVertexArrayAttrib', 'glFinish', 'glFlush',
+                     'glGetError', 'glGetIntegerv', 'glGetPointerv',
+                     'glGetProgramInfoLog', 'glGetProgramiv',
+                     'glGetUniformLocation', 'glIsBuffer', 'glIsEnabled',
+                     'glIsProgram', 'glIsTexture', 'glIsVertexArray',
+                     'glLinkProgram', 'glNamedBufferData', 'glPolygonMode',
+                     'glProgramUniform3fv', 'glProgramUniformMatrix4fv',
+                     'glReadPixels', 'glShaderSource', 'glUniform1f',
+                     'glUniform3fv', 'glUniformMatrix4fv', 'glUseProgram',
+                     'glVertexArrayAttribFormat', 'glVertexArrayElementBuffer',
+                     'glVertexArrayVertexBuffer', 'glViewport']
 
 #allow calls you want to provide and not be auto generated
-allow_calls_provided = ['ALLOW_CALL(open_gl_mock, glewInit()).RETURN(GLEW_OK);',
-                        'ALLOW_CALL(open_gl_mock, glCompileShader(gt(0u)));',
-                        'ALLOW_CALL(open_gl_mock, glCreateProgram()).RETURN(1u);',
-                        'ALLOW_CALL(open_gl_mock, glCreateShader(_)).RETURN(1u);'
-                        'ALLOW_CALL(open_gl_mock, glAttachShader(gt(0u), gt(0u)));',
-                        'ALLOW_CALL(open_gl_mock, glCreateBuffers(1, _)).SIDE_EFFECT(*_2 = 1);',
-                        'ALLOW_CALL(open_gl_mock, glCreateVertexArrays(0, _));',
-                        'ALLOW_CALL(open_gl_mock, glCreateVertexArrays(1, _)).SIDE_EFFECT(*_2 = 1);',
-                        'ALLOW_CALL(open_gl_mock, glIsBuffer(0u)).RETURN(false);',
-                        'ALLOW_CALL(open_gl_mock, glIsBuffer(gt(0u))).RETURN(true);',
-                        'ALLOW_CALL(open_gl_mock, glIsProgram(0u)).RETURN(false);',
-                        'ALLOW_CALL(open_gl_mock, glIsProgram(gt(0u))).RETURN(true);',
-                        'ALLOW_CALL(open_gl_mock, glIsVertexArray(0u)).RETURN(false);',
-                        'ALLOW_CALL(open_gl_mock, glIsVertexArray(gt(0u))).RETURN(true);',
-                        'ALLOW_CALL(open_gl_mock, glLinkProgram(gt(0u)));',
-                        'ALLOW_CALL(open_gl_mock, glGetProgramInfoLog(_, _, _, _)).SIDE_EFFECT(*_3 = 0);',
-                        'ALLOW_CALL(open_gl_mock, glGetProgramiv(_, _, _)).SIDE_EFFECT(*_3 = GL_TRUE);',
-						'ALLOW_CALL(open_gl_mock, glIsFramebuffer(gt(0u))).RETURN(true);',
-						'ALLOW_CALL(open_gl_mock, glCheckNamedFramebufferStatus(gt(0u),_)).RETURN(GL_FRAMEBUFFER_COMPLETE);']
+allow_calls_provided = ['ALLOW_CALL(open_gl_mock,glewInit()).RETURN(GLEW_OK);',
+                        'ALLOW_CALL(open_gl_mock,glCheckNamedFramebufferStatus(gt(0u),_)).RETURN(GL_FRAMEBUFFER_COMPLETE);',
+                        'ALLOW_CALL(open_gl_mock,glCompileShader(gt(0u)));',
+                        'ALLOW_CALL(open_gl_mock,glCreateBuffers(1,_)).SIDE_EFFECT(*_2=1);',
+                        'ALLOW_CALL(open_gl_mock,glCreateProgram()).RETURN(1u);',
+                        'ALLOW_CALL(open_gl_mock,glCreateShader(_)).RETURN(1u);''ALLOW_CALL(open_gl_mock,glAttachShader(gt(0u),gt(0u)));',
+                        'ALLOW_CALL(open_gl_mock,glCreateVertexArrays(0,_));',
+                        'ALLOW_CALL(open_gl_mock,glCreateVertexArrays(1,_)).SIDE_EFFECT(*_2=1);',
+                        'ALLOW_CALL(open_gl_mock,glGetProgramInfoLog(_,_,_,_)).SIDE_EFFECT(*_3=0);',
+                        'ALLOW_CALL(open_gl_mock,glGetProgramiv(_,_,_)).SIDE_EFFECT(*_3=GL_TRUE);',
+                        'ALLOW_CALL(open_gl_mock,glIsBuffer(0u)).RETURN(false);',
+                        'ALLOW_CALL(open_gl_mock,glIsBuffer(gt(0u))).RETURN(true);',
+                        'ALLOW_CALL(open_gl_mock,glIsFramebuffer(gt(0u))).RETURN(true);',
+                        'ALLOW_CALL(open_gl_mock,glIsProgram(0u)).RETURN(false);',
+                        'ALLOW_CALL(open_gl_mock,glIsProgram(gt(0u))).RETURN(true);',
+                        'ALLOW_CALL(open_gl_mock,glIsVertexArray(0u)).RETURN(false);',
+                        'ALLOW_CALL(open_gl_mock,glIsVertexArray(gt(0u))).RETURN(true);',
+                        'ALLOW_CALL(open_gl_mock,glLinkProgram(gt(0u)));']
 
 #order does matter here, so prefixes of other types should come later
-gl_types = ['GLuint64EXT', 'GLint64EXT', 'GLintptr', 'GLsizeiptr', 'GLint64', 'GLuint64', 'GLboolean', 'GLbyte', 'GLubyte', 
-            'GLint', 'GLuint', 'GLsizei', 'GLfixed', 'GLenum', 'GLsync', 'GLbitfield', 'GLhalf', 'GLfloat', 'GLclampf',
-            'GLdouble', 'GLclampd', 'GLvoid', 'void', 'GLchar', 'GLshort', 'GLushort', 'GLclampx',
-            'GLhandleARB', 'GLcharARB', 'GLintptrARB', 'GLsizeiptrARB',
-            'GLvdpauSurfaceNV', 'GLeglClientBufferEXT',
-            'GLDEBUGPROCAMD', 'GLDEBUGPROCARB', 'GLDEBUGPROC', 'GLLOGPROCREGAL',
-			'cl_context', 'cl_event']
+gl_types = ['GLbitfield', 'GLboolean', 'GLbyte', 'GLchar',
+            'GLcharARB', 'GLclampd', 'GLclampf', 'GLclampx', 'GLDEBUGPROC',
+            'GLDEBUGPROCAMD', 'GLDEBUGPROCARB', 'GLdouble',
+            'GLeglClientBufferEXT', 'GLenum', 'GLfixed', 'GLfloat', 'GLhalf',
+            'GLhandleARB', 'GLint', 'GLint64', 'GLint64EXT', 'GLintptr',
+            'GLintptrARB', 'GLLOGPROCREGAL', 'GLshort', 'GLsizei', 'GLsizeiptr',
+            'GLsizeiptrARB', 'GLsync', 'GLubyte', 'GLuint', 'GLuint64',
+            'GLuint64EXT', 'GLushort', 'GLvdpauSurfaceNV',
+            'GLvoid','cl_context','cl_event','void']
 
 
 functions = []