Skip to content
Snippets Groups Projects
Commit 207bb877 authored by mbellgardt's avatar mbellgardt
Browse files

Merge branch 'feature/#483_cleanup_opengl_mock' into 'master'

Feature/#483 cleanup opengl mock

See merge request VR-Group/Project_Phoenix!155
parents d108c8d9 23dba171
Branches
Tags develop-2025-02-02
1 merge request!155Feature/#483 cleanup opengl mock
#------------------------------------------------------------------------------
# Project Phoenix
#
# Copyright (c) 2017-2018 RWTH Aachen University, Germany,
# Virtual Reality & Immersive Visualization Group.
#------------------------------------------------------------------------------
# License
#
# Licensed under the 3-Clause BSD License (the "License");
# you may not use this file except in compliance with the License.
# See the file LICENSE for the full text.
# You may obtain a copy of the License at
#
# https://opensource.org/licenses/BSD-3-Clause
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#------------------------------------------------------------------------------
import textwrap
import os
from collections import defaultdict
params_to_be_sorted = ["functions_to_mock", "allow_calls_provided",
"gl_types"]
def sortListAlphabetically(content):
prefix = content[0:content.find("=")]
print("... sorting " + prefix)
sub_content = content[content.find("[")+1:content.find("']")]
params = sub_content.split("',")
params = sorted(params, key=lambda s: s.lower())
if (params_to_be_sorted[1] in prefix):
sub_content = sortGlewBeforeGl(params)
elif (params_to_be_sorted[2] in prefix):
sub_content = sortGLBeforeRest(params)
else:
sub_content = ', '.join(str(val)+"'" for val in params)
return (prefix+ " = [" + sub_content+"]")
def sortGlewBeforeGl(params):
d = defaultdict(list)
for val in params:
d["glew" in val].append(val)
sortedParams = ','.join(str(p)+"'" for p in d[True])
sortedParams += ','
sortedParams += ','.join(str(p)+"'" for p in d[False])
return sortedParams
def sortGLBeforeRest(params):
d = defaultdict(list)
for val in params:
d["GL" in val].append(val)
sortedParams = ', '.join(str(p)+"'" for p in d[True])
sortedParams += ','
sortedParams += ','.join(str(p)+"'" for p in d[False])
return sortedParams
def printToFile(file, content):
nr_of_blanks = len(content[0:content.find("[")+1])
if (params_to_be_sorted[1] in content):
printWithLineBreakAtComma(file, content, nr_of_blanks)
else:
printWith80CharacterLimit(file, content, nr_of_blanks)
def printWith80CharacterLimit(file, content, nr_of_blanks):
input = ('\n'+' '*nr_of_blanks).join(textwrap.wrap(content,
80-nr_of_blanks))
input += "\n"
file.write(input)
def printWithLineBreakAtComma(file, content, nr_of_blanks):
content = content.replace ("',", "',\n")
params = content.split("\n")
for val in params:
file.write(val+"\n" if val == params[0] else ' '*(nr_of_blanks)+val+"\n")
def main():
file_in = open("Create_openGL_mock.py","r")
file_out = open("tmp.py","w")
collecting_tbs_lines = False
lines_tbs = ''
for line in file_in:
if any(val+"=[" in line.replace(' ', '') for val in params_to_be_sorted):
collecting_tbs_lines = True
if collecting_tbs_lines:
lines_tbs += line.replace('\n', '').replace('\t', '').replace(' ', '')
if "]" in line:
collecting_tbs_lines = False
printToFile(file_out, sortListAlphabetically(lines_tbs))
lines_tbs = ''
else:
file_out.write(line)
file_in.close()
os.remove("Create_openGL_mock.py")
file_out.close()
os.rename("tmp.py", "Create_openGL_mock.py")
print "Done."
print "Cleanup openGL mock ..."
main()
......@@ -22,79 +22,185 @@
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,glCheckNamedFramebufferStatus(gt(0u),_)).RETURN(GL_FRAMEBUFFER_COMPLETE);',
'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,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)));',
'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);']
#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']
'ALLOW_CALL(open_gl_mock,glLinkProgram(gt(0u)));']
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 = []
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment