diff --git a/changes/windows-target.md b/changes/windows-target.md index 14945f30..e0e4704f 100644 --- a/changes/windows-target.md +++ b/changes/windows-target.md @@ -16,5 +16,11 @@ type: feat - **The driver** — finds `C:\Program Files\LLVM\bin\clang.exe` when clang is not on `%PATH%`, writes `.exe` outputs, speaks cmd.exe for its directory and cleanup commands, and reads `argv[0]`, `%PATH%` and `$LUDIC_HOME` with either separator. -- **Not yet** — a window, `Gl.*`, `Audio.*` and `Http.*` are still macOS platform layers; +- **Not yet** — a window, `Audio.*` and `Http.*` are still macOS platform layers; a Windows build that needs one stops with a message saying so. +- **`Gl.*` on Windows** — `gl_win.ll` makes a WGL 4.1 core context on a hidden window's DC, + and `gl_thunks_win.ll` (generated by `ludic-dev glgen` beside `gl_thunks.ll`) calls + every entry point through a table `@lgl_win_load` fills from `wglGetProcAddress`, falling + back to `opengl32.dll` for the 1.1 functions it will not return. A headless GL program + renders on the GPU there: `gl_triangle` matches the macOS frame to within one level per + channel. diff --git a/runtime/native/gl_thunks_win.ll b/runtime/native/gl_thunks_win.ll new file mode 100644 index 00000000..b1b0cb10 --- /dev/null +++ b/runtime/native/gl_thunks_win.ll @@ -0,0 +1,12258 @@ +; ============================================================================ +; gl_thunks_win.ll — one thunk per OpenGL 4.1 core entry point, for Windows. +; GENERATED by `ludic-dev glgen` from gl3.h. The thunks of gl_thunks.ll, calling +; through @lgl_p_* pointers that @lgl_win_load fills from the current context. +; ============================================================================ + +declare ptr @wglGetProcAddress(ptr) +declare ptr @LoadLibraryA(ptr) +declare ptr @GetProcAddress(ptr, ptr) +@.lgl_dll = private unnamed_addr constant [13 x i8] c"opengl32.dll\00" +@lgl_p_CullFace = internal global ptr null +@.lgl_n_CullFace = private unnamed_addr constant [11 x i8] c"glCullFace\00" +@lgl_p_FrontFace = internal global ptr null +@.lgl_n_FrontFace = private unnamed_addr constant [12 x i8] c"glFrontFace\00" +@lgl_p_Hint = internal global ptr null +@.lgl_n_Hint = private unnamed_addr constant [7 x i8] c"glHint\00" +@lgl_p_LineWidth = internal global ptr null +@.lgl_n_LineWidth = private unnamed_addr constant [12 x i8] c"glLineWidth\00" +@lgl_p_PointSize = internal global ptr null +@.lgl_n_PointSize = private unnamed_addr constant [12 x i8] c"glPointSize\00" +@lgl_p_PolygonMode = internal global ptr null +@.lgl_n_PolygonMode = private unnamed_addr constant [14 x i8] c"glPolygonMode\00" +@lgl_p_Scissor = internal global ptr null +@.lgl_n_Scissor = private unnamed_addr constant [10 x i8] c"glScissor\00" +@lgl_p_TexParameterf = internal global ptr null +@.lgl_n_TexParameterf = private unnamed_addr constant [16 x i8] c"glTexParameterf\00" +@lgl_p_TexParameterfv = internal global ptr null +@.lgl_n_TexParameterfv = private unnamed_addr constant [17 x i8] c"glTexParameterfv\00" +@lgl_p_TexParameteri = internal global ptr null +@.lgl_n_TexParameteri = private unnamed_addr constant [16 x i8] c"glTexParameteri\00" +@lgl_p_TexParameteriv = internal global ptr null +@.lgl_n_TexParameteriv = private unnamed_addr constant [17 x i8] c"glTexParameteriv\00" +@lgl_p_TexImage1D = internal global ptr null +@.lgl_n_TexImage1D = private unnamed_addr constant [13 x i8] c"glTexImage1D\00" +@lgl_p_TexImage2D = internal global ptr null +@.lgl_n_TexImage2D = private unnamed_addr constant [13 x i8] c"glTexImage2D\00" +@lgl_p_DrawBuffer = internal global ptr null +@.lgl_n_DrawBuffer = private unnamed_addr constant [13 x i8] c"glDrawBuffer\00" +@lgl_p_Clear = internal global ptr null +@.lgl_n_Clear = private unnamed_addr constant [8 x i8] c"glClear\00" +@lgl_p_ClearColor = internal global ptr null +@.lgl_n_ClearColor = private unnamed_addr constant [13 x i8] c"glClearColor\00" +@lgl_p_ClearStencil = internal global ptr null +@.lgl_n_ClearStencil = private unnamed_addr constant [15 x i8] c"glClearStencil\00" +@lgl_p_ClearDepth = internal global ptr null +@.lgl_n_ClearDepth = private unnamed_addr constant [13 x i8] c"glClearDepth\00" +@lgl_p_StencilMask = internal global ptr null +@.lgl_n_StencilMask = private unnamed_addr constant [14 x i8] c"glStencilMask\00" +@lgl_p_ColorMask = internal global ptr null +@.lgl_n_ColorMask = private unnamed_addr constant [12 x i8] c"glColorMask\00" +@lgl_p_DepthMask = internal global ptr null +@.lgl_n_DepthMask = private unnamed_addr constant [12 x i8] c"glDepthMask\00" +@lgl_p_Disable = internal global ptr null +@.lgl_n_Disable = private unnamed_addr constant [10 x i8] c"glDisable\00" +@lgl_p_Enable = internal global ptr null +@.lgl_n_Enable = private unnamed_addr constant [9 x i8] c"glEnable\00" +@lgl_p_Finish = internal global ptr null +@.lgl_n_Finish = private unnamed_addr constant [9 x i8] c"glFinish\00" +@lgl_p_Flush = internal global ptr null +@.lgl_n_Flush = private unnamed_addr constant [8 x i8] c"glFlush\00" +@lgl_p_BlendFunc = internal global ptr null +@.lgl_n_BlendFunc = private unnamed_addr constant [12 x i8] c"glBlendFunc\00" +@lgl_p_LogicOp = internal global ptr null +@.lgl_n_LogicOp = private unnamed_addr constant [10 x i8] c"glLogicOp\00" +@lgl_p_StencilFunc = internal global ptr null +@.lgl_n_StencilFunc = private unnamed_addr constant [14 x i8] c"glStencilFunc\00" +@lgl_p_StencilOp = internal global ptr null +@.lgl_n_StencilOp = private unnamed_addr constant [12 x i8] c"glStencilOp\00" +@lgl_p_DepthFunc = internal global ptr null +@.lgl_n_DepthFunc = private unnamed_addr constant [12 x i8] c"glDepthFunc\00" +@lgl_p_PixelStoref = internal global ptr null +@.lgl_n_PixelStoref = private unnamed_addr constant [14 x i8] c"glPixelStoref\00" +@lgl_p_PixelStorei = internal global ptr null +@.lgl_n_PixelStorei = private unnamed_addr constant [14 x i8] c"glPixelStorei\00" +@lgl_p_ReadBuffer = internal global ptr null +@.lgl_n_ReadBuffer = private unnamed_addr constant [13 x i8] c"glReadBuffer\00" +@lgl_p_ReadPixels = internal global ptr null +@.lgl_n_ReadPixels = private unnamed_addr constant [13 x i8] c"glReadPixels\00" +@lgl_p_GetBooleanv = internal global ptr null +@.lgl_n_GetBooleanv = private unnamed_addr constant [14 x i8] c"glGetBooleanv\00" +@lgl_p_GetDoublev = internal global ptr null +@.lgl_n_GetDoublev = private unnamed_addr constant [13 x i8] c"glGetDoublev\00" +@lgl_p_GetError = internal global ptr null +@.lgl_n_GetError = private unnamed_addr constant [11 x i8] c"glGetError\00" +@lgl_p_GetFloatv = internal global ptr null +@.lgl_n_GetFloatv = private unnamed_addr constant [12 x i8] c"glGetFloatv\00" +@lgl_p_GetIntegerv = internal global ptr null +@.lgl_n_GetIntegerv = private unnamed_addr constant [14 x i8] c"glGetIntegerv\00" +@lgl_p_GetString = internal global ptr null +@.lgl_n_GetString = private unnamed_addr constant [12 x i8] c"glGetString\00" +@lgl_p_GetTexImage = internal global ptr null +@.lgl_n_GetTexImage = private unnamed_addr constant [14 x i8] c"glGetTexImage\00" +@lgl_p_GetTexParameterfv = internal global ptr null +@.lgl_n_GetTexParameterfv = private unnamed_addr constant [20 x i8] c"glGetTexParameterfv\00" +@lgl_p_GetTexParameteriv = internal global ptr null +@.lgl_n_GetTexParameteriv = private unnamed_addr constant [20 x i8] c"glGetTexParameteriv\00" +@lgl_p_GetTexLevelParameterfv = internal global ptr null +@.lgl_n_GetTexLevelParameterfv = private unnamed_addr constant [25 x i8] c"glGetTexLevelParameterfv\00" +@lgl_p_GetTexLevelParameteriv = internal global ptr null +@.lgl_n_GetTexLevelParameteriv = private unnamed_addr constant [25 x i8] c"glGetTexLevelParameteriv\00" +@lgl_p_IsEnabled = internal global ptr null +@.lgl_n_IsEnabled = private unnamed_addr constant [12 x i8] c"glIsEnabled\00" +@lgl_p_DepthRange = internal global ptr null +@.lgl_n_DepthRange = private unnamed_addr constant [13 x i8] c"glDepthRange\00" +@lgl_p_Viewport = internal global ptr null +@.lgl_n_Viewport = private unnamed_addr constant [11 x i8] c"glViewport\00" +@lgl_p_DrawArrays = internal global ptr null +@.lgl_n_DrawArrays = private unnamed_addr constant [13 x i8] c"glDrawArrays\00" +@lgl_p_DrawElements = internal global ptr null +@.lgl_n_DrawElements = private unnamed_addr constant [15 x i8] c"glDrawElements\00" +@lgl_p_PolygonOffset = internal global ptr null +@.lgl_n_PolygonOffset = private unnamed_addr constant [16 x i8] c"glPolygonOffset\00" +@lgl_p_CopyTexImage1D = internal global ptr null +@.lgl_n_CopyTexImage1D = private unnamed_addr constant [17 x i8] c"glCopyTexImage1D\00" +@lgl_p_CopyTexImage2D = internal global ptr null +@.lgl_n_CopyTexImage2D = private unnamed_addr constant [17 x i8] c"glCopyTexImage2D\00" +@lgl_p_CopyTexSubImage1D = internal global ptr null +@.lgl_n_CopyTexSubImage1D = private unnamed_addr constant [20 x i8] c"glCopyTexSubImage1D\00" +@lgl_p_CopyTexSubImage2D = internal global ptr null +@.lgl_n_CopyTexSubImage2D = private unnamed_addr constant [20 x i8] c"glCopyTexSubImage2D\00" +@lgl_p_TexSubImage1D = internal global ptr null +@.lgl_n_TexSubImage1D = private unnamed_addr constant [16 x i8] c"glTexSubImage1D\00" +@lgl_p_TexSubImage2D = internal global ptr null +@.lgl_n_TexSubImage2D = private unnamed_addr constant [16 x i8] c"glTexSubImage2D\00" +@lgl_p_BindTexture = internal global ptr null +@.lgl_n_BindTexture = private unnamed_addr constant [14 x i8] c"glBindTexture\00" +@lgl_p_DeleteTextures = internal global ptr null +@.lgl_n_DeleteTextures = private unnamed_addr constant [17 x i8] c"glDeleteTextures\00" +@lgl_p_GenTextures = internal global ptr null +@.lgl_n_GenTextures = private unnamed_addr constant [14 x i8] c"glGenTextures\00" +@lgl_p_IsTexture = internal global ptr null +@.lgl_n_IsTexture = private unnamed_addr constant [12 x i8] c"glIsTexture\00" +@lgl_p_BlendColor = internal global ptr null +@.lgl_n_BlendColor = private unnamed_addr constant [13 x i8] c"glBlendColor\00" +@lgl_p_BlendEquation = internal global ptr null +@.lgl_n_BlendEquation = private unnamed_addr constant [16 x i8] c"glBlendEquation\00" +@lgl_p_DrawRangeElements = internal global ptr null +@.lgl_n_DrawRangeElements = private unnamed_addr constant [20 x i8] c"glDrawRangeElements\00" +@lgl_p_TexImage3D = internal global ptr null +@.lgl_n_TexImage3D = private unnamed_addr constant [13 x i8] c"glTexImage3D\00" +@lgl_p_TexSubImage3D = internal global ptr null +@.lgl_n_TexSubImage3D = private unnamed_addr constant [16 x i8] c"glTexSubImage3D\00" +@lgl_p_CopyTexSubImage3D = internal global ptr null +@.lgl_n_CopyTexSubImage3D = private unnamed_addr constant [20 x i8] c"glCopyTexSubImage3D\00" +@lgl_p_ActiveTexture = internal global ptr null +@.lgl_n_ActiveTexture = private unnamed_addr constant [16 x i8] c"glActiveTexture\00" +@lgl_p_SampleCoverage = internal global ptr null +@.lgl_n_SampleCoverage = private unnamed_addr constant [17 x i8] c"glSampleCoverage\00" +@lgl_p_CompressedTexImage3D = internal global ptr null +@.lgl_n_CompressedTexImage3D = private unnamed_addr constant [23 x i8] c"glCompressedTexImage3D\00" +@lgl_p_CompressedTexImage2D = internal global ptr null +@.lgl_n_CompressedTexImage2D = private unnamed_addr constant [23 x i8] c"glCompressedTexImage2D\00" +@lgl_p_CompressedTexImage1D = internal global ptr null +@.lgl_n_CompressedTexImage1D = private unnamed_addr constant [23 x i8] c"glCompressedTexImage1D\00" +@lgl_p_CompressedTexSubImage3D = internal global ptr null +@.lgl_n_CompressedTexSubImage3D = private unnamed_addr constant [26 x i8] c"glCompressedTexSubImage3D\00" +@lgl_p_CompressedTexSubImage2D = internal global ptr null +@.lgl_n_CompressedTexSubImage2D = private unnamed_addr constant [26 x i8] c"glCompressedTexSubImage2D\00" +@lgl_p_CompressedTexSubImage1D = internal global ptr null +@.lgl_n_CompressedTexSubImage1D = private unnamed_addr constant [26 x i8] c"glCompressedTexSubImage1D\00" +@lgl_p_GetCompressedTexImage = internal global ptr null +@.lgl_n_GetCompressedTexImage = private unnamed_addr constant [24 x i8] c"glGetCompressedTexImage\00" +@lgl_p_BlendFuncSeparate = internal global ptr null +@.lgl_n_BlendFuncSeparate = private unnamed_addr constant [20 x i8] c"glBlendFuncSeparate\00" +@lgl_p_MultiDrawArrays = internal global ptr null +@.lgl_n_MultiDrawArrays = private unnamed_addr constant [18 x i8] c"glMultiDrawArrays\00" +@lgl_p_MultiDrawElements = internal global ptr null +@.lgl_n_MultiDrawElements = private unnamed_addr constant [20 x i8] c"glMultiDrawElements\00" +@lgl_p_PointParameterf = internal global ptr null +@.lgl_n_PointParameterf = private unnamed_addr constant [18 x i8] c"glPointParameterf\00" +@lgl_p_PointParameterfv = internal global ptr null +@.lgl_n_PointParameterfv = private unnamed_addr constant [19 x i8] c"glPointParameterfv\00" +@lgl_p_PointParameteri = internal global ptr null +@.lgl_n_PointParameteri = private unnamed_addr constant [18 x i8] c"glPointParameteri\00" +@lgl_p_PointParameteriv = internal global ptr null +@.lgl_n_PointParameteriv = private unnamed_addr constant [19 x i8] c"glPointParameteriv\00" +@lgl_p_GenQueries = internal global ptr null +@.lgl_n_GenQueries = private unnamed_addr constant [13 x i8] c"glGenQueries\00" +@lgl_p_DeleteQueries = internal global ptr null +@.lgl_n_DeleteQueries = private unnamed_addr constant [16 x i8] c"glDeleteQueries\00" +@lgl_p_IsQuery = internal global ptr null +@.lgl_n_IsQuery = private unnamed_addr constant [10 x i8] c"glIsQuery\00" +@lgl_p_BeginQuery = internal global ptr null +@.lgl_n_BeginQuery = private unnamed_addr constant [13 x i8] c"glBeginQuery\00" +@lgl_p_EndQuery = internal global ptr null +@.lgl_n_EndQuery = private unnamed_addr constant [11 x i8] c"glEndQuery\00" +@lgl_p_GetQueryiv = internal global ptr null +@.lgl_n_GetQueryiv = private unnamed_addr constant [13 x i8] c"glGetQueryiv\00" +@lgl_p_GetQueryObjectiv = internal global ptr null +@.lgl_n_GetQueryObjectiv = private unnamed_addr constant [19 x i8] c"glGetQueryObjectiv\00" +@lgl_p_GetQueryObjectuiv = internal global ptr null +@.lgl_n_GetQueryObjectuiv = private unnamed_addr constant [20 x i8] c"glGetQueryObjectuiv\00" +@lgl_p_BindBuffer = internal global ptr null +@.lgl_n_BindBuffer = private unnamed_addr constant [13 x i8] c"glBindBuffer\00" +@lgl_p_DeleteBuffers = internal global ptr null +@.lgl_n_DeleteBuffers = private unnamed_addr constant [16 x i8] c"glDeleteBuffers\00" +@lgl_p_GenBuffers = internal global ptr null +@.lgl_n_GenBuffers = private unnamed_addr constant [13 x i8] c"glGenBuffers\00" +@lgl_p_IsBuffer = internal global ptr null +@.lgl_n_IsBuffer = private unnamed_addr constant [11 x i8] c"glIsBuffer\00" +@lgl_p_BufferData = internal global ptr null +@.lgl_n_BufferData = private unnamed_addr constant [13 x i8] c"glBufferData\00" +@lgl_p_BufferSubData = internal global ptr null +@.lgl_n_BufferSubData = private unnamed_addr constant [16 x i8] c"glBufferSubData\00" +@lgl_p_GetBufferSubData = internal global ptr null +@.lgl_n_GetBufferSubData = private unnamed_addr constant [19 x i8] c"glGetBufferSubData\00" +@lgl_p_MapBuffer = internal global ptr null +@.lgl_n_MapBuffer = private unnamed_addr constant [12 x i8] c"glMapBuffer\00" +@lgl_p_UnmapBuffer = internal global ptr null +@.lgl_n_UnmapBuffer = private unnamed_addr constant [14 x i8] c"glUnmapBuffer\00" +@lgl_p_GetBufferParameteriv = internal global ptr null +@.lgl_n_GetBufferParameteriv = private unnamed_addr constant [23 x i8] c"glGetBufferParameteriv\00" +@lgl_p_GetBufferPointerv = internal global ptr null +@.lgl_n_GetBufferPointerv = private unnamed_addr constant [20 x i8] c"glGetBufferPointerv\00" +@lgl_p_BlendEquationSeparate = internal global ptr null +@.lgl_n_BlendEquationSeparate = private unnamed_addr constant [24 x i8] c"glBlendEquationSeparate\00" +@lgl_p_DrawBuffers = internal global ptr null +@.lgl_n_DrawBuffers = private unnamed_addr constant [14 x i8] c"glDrawBuffers\00" +@lgl_p_StencilOpSeparate = internal global ptr null +@.lgl_n_StencilOpSeparate = private unnamed_addr constant [20 x i8] c"glStencilOpSeparate\00" +@lgl_p_StencilFuncSeparate = internal global ptr null +@.lgl_n_StencilFuncSeparate = private unnamed_addr constant [22 x i8] c"glStencilFuncSeparate\00" +@lgl_p_StencilMaskSeparate = internal global ptr null +@.lgl_n_StencilMaskSeparate = private unnamed_addr constant [22 x i8] c"glStencilMaskSeparate\00" +@lgl_p_AttachShader = internal global ptr null +@.lgl_n_AttachShader = private unnamed_addr constant [15 x i8] c"glAttachShader\00" +@lgl_p_BindAttribLocation = internal global ptr null +@.lgl_n_BindAttribLocation = private unnamed_addr constant [21 x i8] c"glBindAttribLocation\00" +@lgl_p_CompileShader = internal global ptr null +@.lgl_n_CompileShader = private unnamed_addr constant [16 x i8] c"glCompileShader\00" +@lgl_p_CreateProgram = internal global ptr null +@.lgl_n_CreateProgram = private unnamed_addr constant [16 x i8] c"glCreateProgram\00" +@lgl_p_CreateShader = internal global ptr null +@.lgl_n_CreateShader = private unnamed_addr constant [15 x i8] c"glCreateShader\00" +@lgl_p_DeleteProgram = internal global ptr null +@.lgl_n_DeleteProgram = private unnamed_addr constant [16 x i8] c"glDeleteProgram\00" +@lgl_p_DeleteShader = internal global ptr null +@.lgl_n_DeleteShader = private unnamed_addr constant [15 x i8] c"glDeleteShader\00" +@lgl_p_DetachShader = internal global ptr null +@.lgl_n_DetachShader = private unnamed_addr constant [15 x i8] c"glDetachShader\00" +@lgl_p_DisableVertexAttribArray = internal global ptr null +@.lgl_n_DisableVertexAttribArray = private unnamed_addr constant [27 x i8] c"glDisableVertexAttribArray\00" +@lgl_p_EnableVertexAttribArray = internal global ptr null +@.lgl_n_EnableVertexAttribArray = private unnamed_addr constant [26 x i8] c"glEnableVertexAttribArray\00" +@lgl_p_GetActiveAttrib = internal global ptr null +@.lgl_n_GetActiveAttrib = private unnamed_addr constant [18 x i8] c"glGetActiveAttrib\00" +@lgl_p_GetActiveUniform = internal global ptr null +@.lgl_n_GetActiveUniform = private unnamed_addr constant [19 x i8] c"glGetActiveUniform\00" +@lgl_p_GetAttachedShaders = internal global ptr null +@.lgl_n_GetAttachedShaders = private unnamed_addr constant [21 x i8] c"glGetAttachedShaders\00" +@lgl_p_GetAttribLocation = internal global ptr null +@.lgl_n_GetAttribLocation = private unnamed_addr constant [20 x i8] c"glGetAttribLocation\00" +@lgl_p_GetProgramiv = internal global ptr null +@.lgl_n_GetProgramiv = private unnamed_addr constant [15 x i8] c"glGetProgramiv\00" +@lgl_p_GetProgramInfoLog = internal global ptr null +@.lgl_n_GetProgramInfoLog = private unnamed_addr constant [20 x i8] c"glGetProgramInfoLog\00" +@lgl_p_GetShaderiv = internal global ptr null +@.lgl_n_GetShaderiv = private unnamed_addr constant [14 x i8] c"glGetShaderiv\00" +@lgl_p_GetShaderInfoLog = internal global ptr null +@.lgl_n_GetShaderInfoLog = private unnamed_addr constant [19 x i8] c"glGetShaderInfoLog\00" +@lgl_p_GetShaderSource = internal global ptr null +@.lgl_n_GetShaderSource = private unnamed_addr constant [18 x i8] c"glGetShaderSource\00" +@lgl_p_GetUniformLocation = internal global ptr null +@.lgl_n_GetUniformLocation = private unnamed_addr constant [21 x i8] c"glGetUniformLocation\00" +@lgl_p_GetUniformfv = internal global ptr null +@.lgl_n_GetUniformfv = private unnamed_addr constant [15 x i8] c"glGetUniformfv\00" +@lgl_p_GetUniformiv = internal global ptr null +@.lgl_n_GetUniformiv = private unnamed_addr constant [15 x i8] c"glGetUniformiv\00" +@lgl_p_GetVertexAttribdv = internal global ptr null +@.lgl_n_GetVertexAttribdv = private unnamed_addr constant [20 x i8] c"glGetVertexAttribdv\00" +@lgl_p_GetVertexAttribfv = internal global ptr null +@.lgl_n_GetVertexAttribfv = private unnamed_addr constant [20 x i8] c"glGetVertexAttribfv\00" +@lgl_p_GetVertexAttribiv = internal global ptr null +@.lgl_n_GetVertexAttribiv = private unnamed_addr constant [20 x i8] c"glGetVertexAttribiv\00" +@lgl_p_GetVertexAttribPointerv = internal global ptr null +@.lgl_n_GetVertexAttribPointerv = private unnamed_addr constant [26 x i8] c"glGetVertexAttribPointerv\00" +@lgl_p_IsProgram = internal global ptr null +@.lgl_n_IsProgram = private unnamed_addr constant [12 x i8] c"glIsProgram\00" +@lgl_p_IsShader = internal global ptr null +@.lgl_n_IsShader = private unnamed_addr constant [11 x i8] c"glIsShader\00" +@lgl_p_LinkProgram = internal global ptr null +@.lgl_n_LinkProgram = private unnamed_addr constant [14 x i8] c"glLinkProgram\00" +@lgl_p_ShaderSource = internal global ptr null +@.lgl_n_ShaderSource = private unnamed_addr constant [15 x i8] c"glShaderSource\00" +@lgl_p_UseProgram = internal global ptr null +@.lgl_n_UseProgram = private unnamed_addr constant [13 x i8] c"glUseProgram\00" +@lgl_p_Uniform1f = internal global ptr null +@.lgl_n_Uniform1f = private unnamed_addr constant [12 x i8] c"glUniform1f\00" +@lgl_p_Uniform2f = internal global ptr null +@.lgl_n_Uniform2f = private unnamed_addr constant [12 x i8] c"glUniform2f\00" +@lgl_p_Uniform3f = internal global ptr null +@.lgl_n_Uniform3f = private unnamed_addr constant [12 x i8] c"glUniform3f\00" +@lgl_p_Uniform4f = internal global ptr null +@.lgl_n_Uniform4f = private unnamed_addr constant [12 x i8] c"glUniform4f\00" +@lgl_p_Uniform1i = internal global ptr null +@.lgl_n_Uniform1i = private unnamed_addr constant [12 x i8] c"glUniform1i\00" +@lgl_p_Uniform2i = internal global ptr null +@.lgl_n_Uniform2i = private unnamed_addr constant [12 x i8] c"glUniform2i\00" +@lgl_p_Uniform3i = internal global ptr null +@.lgl_n_Uniform3i = private unnamed_addr constant [12 x i8] c"glUniform3i\00" +@lgl_p_Uniform4i = internal global ptr null +@.lgl_n_Uniform4i = private unnamed_addr constant [12 x i8] c"glUniform4i\00" +@lgl_p_Uniform1fv = internal global ptr null +@.lgl_n_Uniform1fv = private unnamed_addr constant [13 x i8] c"glUniform1fv\00" +@lgl_p_Uniform2fv = internal global ptr null +@.lgl_n_Uniform2fv = private unnamed_addr constant [13 x i8] c"glUniform2fv\00" +@lgl_p_Uniform3fv = internal global ptr null +@.lgl_n_Uniform3fv = private unnamed_addr constant [13 x i8] c"glUniform3fv\00" +@lgl_p_Uniform4fv = internal global ptr null +@.lgl_n_Uniform4fv = private unnamed_addr constant [13 x i8] c"glUniform4fv\00" +@lgl_p_Uniform1iv = internal global ptr null +@.lgl_n_Uniform1iv = private unnamed_addr constant [13 x i8] c"glUniform1iv\00" +@lgl_p_Uniform2iv = internal global ptr null +@.lgl_n_Uniform2iv = private unnamed_addr constant [13 x i8] c"glUniform2iv\00" +@lgl_p_Uniform3iv = internal global ptr null +@.lgl_n_Uniform3iv = private unnamed_addr constant [13 x i8] c"glUniform3iv\00" +@lgl_p_Uniform4iv = internal global ptr null +@.lgl_n_Uniform4iv = private unnamed_addr constant [13 x i8] c"glUniform4iv\00" +@lgl_p_UniformMatrix2fv = internal global ptr null +@.lgl_n_UniformMatrix2fv = private unnamed_addr constant [19 x i8] c"glUniformMatrix2fv\00" +@lgl_p_UniformMatrix3fv = internal global ptr null +@.lgl_n_UniformMatrix3fv = private unnamed_addr constant [19 x i8] c"glUniformMatrix3fv\00" +@lgl_p_UniformMatrix4fv = internal global ptr null +@.lgl_n_UniformMatrix4fv = private unnamed_addr constant [19 x i8] c"glUniformMatrix4fv\00" +@lgl_p_ValidateProgram = internal global ptr null +@.lgl_n_ValidateProgram = private unnamed_addr constant [18 x i8] c"glValidateProgram\00" +@lgl_p_VertexAttrib1d = internal global ptr null +@.lgl_n_VertexAttrib1d = private unnamed_addr constant [17 x i8] c"glVertexAttrib1d\00" +@lgl_p_VertexAttrib1dv = internal global ptr null +@.lgl_n_VertexAttrib1dv = private unnamed_addr constant [18 x i8] c"glVertexAttrib1dv\00" +@lgl_p_VertexAttrib1f = internal global ptr null +@.lgl_n_VertexAttrib1f = private unnamed_addr constant [17 x i8] c"glVertexAttrib1f\00" +@lgl_p_VertexAttrib1fv = internal global ptr null +@.lgl_n_VertexAttrib1fv = private unnamed_addr constant [18 x i8] c"glVertexAttrib1fv\00" +@lgl_p_VertexAttrib1s = internal global ptr null +@.lgl_n_VertexAttrib1s = private unnamed_addr constant [17 x i8] c"glVertexAttrib1s\00" +@lgl_p_VertexAttrib1sv = internal global ptr null +@.lgl_n_VertexAttrib1sv = private unnamed_addr constant [18 x i8] c"glVertexAttrib1sv\00" +@lgl_p_VertexAttrib2d = internal global ptr null +@.lgl_n_VertexAttrib2d = private unnamed_addr constant [17 x i8] c"glVertexAttrib2d\00" +@lgl_p_VertexAttrib2dv = internal global ptr null +@.lgl_n_VertexAttrib2dv = private unnamed_addr constant [18 x i8] c"glVertexAttrib2dv\00" +@lgl_p_VertexAttrib2f = internal global ptr null +@.lgl_n_VertexAttrib2f = private unnamed_addr constant [17 x i8] c"glVertexAttrib2f\00" +@lgl_p_VertexAttrib2fv = internal global ptr null +@.lgl_n_VertexAttrib2fv = private unnamed_addr constant [18 x i8] c"glVertexAttrib2fv\00" +@lgl_p_VertexAttrib2s = internal global ptr null +@.lgl_n_VertexAttrib2s = private unnamed_addr constant [17 x i8] c"glVertexAttrib2s\00" +@lgl_p_VertexAttrib2sv = internal global ptr null +@.lgl_n_VertexAttrib2sv = private unnamed_addr constant [18 x i8] c"glVertexAttrib2sv\00" +@lgl_p_VertexAttrib3d = internal global ptr null +@.lgl_n_VertexAttrib3d = private unnamed_addr constant [17 x i8] c"glVertexAttrib3d\00" +@lgl_p_VertexAttrib3dv = internal global ptr null +@.lgl_n_VertexAttrib3dv = private unnamed_addr constant [18 x i8] c"glVertexAttrib3dv\00" +@lgl_p_VertexAttrib3f = internal global ptr null +@.lgl_n_VertexAttrib3f = private unnamed_addr constant [17 x i8] c"glVertexAttrib3f\00" +@lgl_p_VertexAttrib3fv = internal global ptr null +@.lgl_n_VertexAttrib3fv = private unnamed_addr constant [18 x i8] c"glVertexAttrib3fv\00" +@lgl_p_VertexAttrib3s = internal global ptr null +@.lgl_n_VertexAttrib3s = private unnamed_addr constant [17 x i8] c"glVertexAttrib3s\00" +@lgl_p_VertexAttrib3sv = internal global ptr null +@.lgl_n_VertexAttrib3sv = private unnamed_addr constant [18 x i8] c"glVertexAttrib3sv\00" +@lgl_p_VertexAttrib4Nbv = internal global ptr null +@.lgl_n_VertexAttrib4Nbv = private unnamed_addr constant [19 x i8] c"glVertexAttrib4Nbv\00" +@lgl_p_VertexAttrib4Niv = internal global ptr null +@.lgl_n_VertexAttrib4Niv = private unnamed_addr constant [19 x i8] c"glVertexAttrib4Niv\00" +@lgl_p_VertexAttrib4Nsv = internal global ptr null +@.lgl_n_VertexAttrib4Nsv = private unnamed_addr constant [19 x i8] c"glVertexAttrib4Nsv\00" +@lgl_p_VertexAttrib4Nub = internal global ptr null +@.lgl_n_VertexAttrib4Nub = private unnamed_addr constant [19 x i8] c"glVertexAttrib4Nub\00" +@lgl_p_VertexAttrib4Nubv = internal global ptr null +@.lgl_n_VertexAttrib4Nubv = private unnamed_addr constant [20 x i8] c"glVertexAttrib4Nubv\00" +@lgl_p_VertexAttrib4Nuiv = internal global ptr null +@.lgl_n_VertexAttrib4Nuiv = private unnamed_addr constant [20 x i8] c"glVertexAttrib4Nuiv\00" +@lgl_p_VertexAttrib4Nusv = internal global ptr null +@.lgl_n_VertexAttrib4Nusv = private unnamed_addr constant [20 x i8] c"glVertexAttrib4Nusv\00" +@lgl_p_VertexAttrib4bv = internal global ptr null +@.lgl_n_VertexAttrib4bv = private unnamed_addr constant [18 x i8] c"glVertexAttrib4bv\00" +@lgl_p_VertexAttrib4d = internal global ptr null +@.lgl_n_VertexAttrib4d = private unnamed_addr constant [17 x i8] c"glVertexAttrib4d\00" +@lgl_p_VertexAttrib4dv = internal global ptr null +@.lgl_n_VertexAttrib4dv = private unnamed_addr constant [18 x i8] c"glVertexAttrib4dv\00" +@lgl_p_VertexAttrib4f = internal global ptr null +@.lgl_n_VertexAttrib4f = private unnamed_addr constant [17 x i8] c"glVertexAttrib4f\00" +@lgl_p_VertexAttrib4fv = internal global ptr null +@.lgl_n_VertexAttrib4fv = private unnamed_addr constant [18 x i8] c"glVertexAttrib4fv\00" +@lgl_p_VertexAttrib4iv = internal global ptr null +@.lgl_n_VertexAttrib4iv = private unnamed_addr constant [18 x i8] c"glVertexAttrib4iv\00" +@lgl_p_VertexAttrib4s = internal global ptr null +@.lgl_n_VertexAttrib4s = private unnamed_addr constant [17 x i8] c"glVertexAttrib4s\00" +@lgl_p_VertexAttrib4sv = internal global ptr null +@.lgl_n_VertexAttrib4sv = private unnamed_addr constant [18 x i8] c"glVertexAttrib4sv\00" +@lgl_p_VertexAttrib4ubv = internal global ptr null +@.lgl_n_VertexAttrib4ubv = private unnamed_addr constant [19 x i8] c"glVertexAttrib4ubv\00" +@lgl_p_VertexAttrib4uiv = internal global ptr null +@.lgl_n_VertexAttrib4uiv = private unnamed_addr constant [19 x i8] c"glVertexAttrib4uiv\00" +@lgl_p_VertexAttrib4usv = internal global ptr null +@.lgl_n_VertexAttrib4usv = private unnamed_addr constant [19 x i8] c"glVertexAttrib4usv\00" +@lgl_p_VertexAttribPointer = internal global ptr null +@.lgl_n_VertexAttribPointer = private unnamed_addr constant [22 x i8] c"glVertexAttribPointer\00" +@lgl_p_UniformMatrix2x3fv = internal global ptr null +@.lgl_n_UniformMatrix2x3fv = private unnamed_addr constant [21 x i8] c"glUniformMatrix2x3fv\00" +@lgl_p_UniformMatrix3x2fv = internal global ptr null +@.lgl_n_UniformMatrix3x2fv = private unnamed_addr constant [21 x i8] c"glUniformMatrix3x2fv\00" +@lgl_p_UniformMatrix2x4fv = internal global ptr null +@.lgl_n_UniformMatrix2x4fv = private unnamed_addr constant [21 x i8] c"glUniformMatrix2x4fv\00" +@lgl_p_UniformMatrix4x2fv = internal global ptr null +@.lgl_n_UniformMatrix4x2fv = private unnamed_addr constant [21 x i8] c"glUniformMatrix4x2fv\00" +@lgl_p_UniformMatrix3x4fv = internal global ptr null +@.lgl_n_UniformMatrix3x4fv = private unnamed_addr constant [21 x i8] c"glUniformMatrix3x4fv\00" +@lgl_p_UniformMatrix4x3fv = internal global ptr null +@.lgl_n_UniformMatrix4x3fv = private unnamed_addr constant [21 x i8] c"glUniformMatrix4x3fv\00" +@lgl_p_ColorMaski = internal global ptr null +@.lgl_n_ColorMaski = private unnamed_addr constant [13 x i8] c"glColorMaski\00" +@lgl_p_GetBooleani_v = internal global ptr null +@.lgl_n_GetBooleani_v = private unnamed_addr constant [16 x i8] c"glGetBooleani_v\00" +@lgl_p_GetIntegeri_v = internal global ptr null +@.lgl_n_GetIntegeri_v = private unnamed_addr constant [16 x i8] c"glGetIntegeri_v\00" +@lgl_p_Enablei = internal global ptr null +@.lgl_n_Enablei = private unnamed_addr constant [10 x i8] c"glEnablei\00" +@lgl_p_Disablei = internal global ptr null +@.lgl_n_Disablei = private unnamed_addr constant [11 x i8] c"glDisablei\00" +@lgl_p_IsEnabledi = internal global ptr null +@.lgl_n_IsEnabledi = private unnamed_addr constant [13 x i8] c"glIsEnabledi\00" +@lgl_p_BeginTransformFeedback = internal global ptr null +@.lgl_n_BeginTransformFeedback = private unnamed_addr constant [25 x i8] c"glBeginTransformFeedback\00" +@lgl_p_EndTransformFeedback = internal global ptr null +@.lgl_n_EndTransformFeedback = private unnamed_addr constant [23 x i8] c"glEndTransformFeedback\00" +@lgl_p_BindBufferRange = internal global ptr null +@.lgl_n_BindBufferRange = private unnamed_addr constant [18 x i8] c"glBindBufferRange\00" +@lgl_p_BindBufferBase = internal global ptr null +@.lgl_n_BindBufferBase = private unnamed_addr constant [17 x i8] c"glBindBufferBase\00" +@lgl_p_TransformFeedbackVaryings = internal global ptr null +@.lgl_n_TransformFeedbackVaryings = private unnamed_addr constant [28 x i8] c"glTransformFeedbackVaryings\00" +@lgl_p_GetTransformFeedbackVarying = internal global ptr null +@.lgl_n_GetTransformFeedbackVarying = private unnamed_addr constant [30 x i8] c"glGetTransformFeedbackVarying\00" +@lgl_p_ClampColor = internal global ptr null +@.lgl_n_ClampColor = private unnamed_addr constant [13 x i8] c"glClampColor\00" +@lgl_p_BeginConditionalRender = internal global ptr null +@.lgl_n_BeginConditionalRender = private unnamed_addr constant [25 x i8] c"glBeginConditionalRender\00" +@lgl_p_EndConditionalRender = internal global ptr null +@.lgl_n_EndConditionalRender = private unnamed_addr constant [23 x i8] c"glEndConditionalRender\00" +@lgl_p_VertexAttribIPointer = internal global ptr null +@.lgl_n_VertexAttribIPointer = private unnamed_addr constant [23 x i8] c"glVertexAttribIPointer\00" +@lgl_p_GetVertexAttribIiv = internal global ptr null +@.lgl_n_GetVertexAttribIiv = private unnamed_addr constant [21 x i8] c"glGetVertexAttribIiv\00" +@lgl_p_GetVertexAttribIuiv = internal global ptr null +@.lgl_n_GetVertexAttribIuiv = private unnamed_addr constant [22 x i8] c"glGetVertexAttribIuiv\00" +@lgl_p_VertexAttribI1i = internal global ptr null +@.lgl_n_VertexAttribI1i = private unnamed_addr constant [18 x i8] c"glVertexAttribI1i\00" +@lgl_p_VertexAttribI2i = internal global ptr null +@.lgl_n_VertexAttribI2i = private unnamed_addr constant [18 x i8] c"glVertexAttribI2i\00" +@lgl_p_VertexAttribI3i = internal global ptr null +@.lgl_n_VertexAttribI3i = private unnamed_addr constant [18 x i8] c"glVertexAttribI3i\00" +@lgl_p_VertexAttribI4i = internal global ptr null +@.lgl_n_VertexAttribI4i = private unnamed_addr constant [18 x i8] c"glVertexAttribI4i\00" +@lgl_p_VertexAttribI1ui = internal global ptr null +@.lgl_n_VertexAttribI1ui = private unnamed_addr constant [19 x i8] c"glVertexAttribI1ui\00" +@lgl_p_VertexAttribI2ui = internal global ptr null +@.lgl_n_VertexAttribI2ui = private unnamed_addr constant [19 x i8] c"glVertexAttribI2ui\00" +@lgl_p_VertexAttribI3ui = internal global ptr null +@.lgl_n_VertexAttribI3ui = private unnamed_addr constant [19 x i8] c"glVertexAttribI3ui\00" +@lgl_p_VertexAttribI4ui = internal global ptr null +@.lgl_n_VertexAttribI4ui = private unnamed_addr constant [19 x i8] c"glVertexAttribI4ui\00" +@lgl_p_VertexAttribI1iv = internal global ptr null +@.lgl_n_VertexAttribI1iv = private unnamed_addr constant [19 x i8] c"glVertexAttribI1iv\00" +@lgl_p_VertexAttribI2iv = internal global ptr null +@.lgl_n_VertexAttribI2iv = private unnamed_addr constant [19 x i8] c"glVertexAttribI2iv\00" +@lgl_p_VertexAttribI3iv = internal global ptr null +@.lgl_n_VertexAttribI3iv = private unnamed_addr constant [19 x i8] c"glVertexAttribI3iv\00" +@lgl_p_VertexAttribI4iv = internal global ptr null +@.lgl_n_VertexAttribI4iv = private unnamed_addr constant [19 x i8] c"glVertexAttribI4iv\00" +@lgl_p_VertexAttribI1uiv = internal global ptr null +@.lgl_n_VertexAttribI1uiv = private unnamed_addr constant [20 x i8] c"glVertexAttribI1uiv\00" +@lgl_p_VertexAttribI2uiv = internal global ptr null +@.lgl_n_VertexAttribI2uiv = private unnamed_addr constant [20 x i8] c"glVertexAttribI2uiv\00" +@lgl_p_VertexAttribI3uiv = internal global ptr null +@.lgl_n_VertexAttribI3uiv = private unnamed_addr constant [20 x i8] c"glVertexAttribI3uiv\00" +@lgl_p_VertexAttribI4uiv = internal global ptr null +@.lgl_n_VertexAttribI4uiv = private unnamed_addr constant [20 x i8] c"glVertexAttribI4uiv\00" +@lgl_p_VertexAttribI4bv = internal global ptr null +@.lgl_n_VertexAttribI4bv = private unnamed_addr constant [19 x i8] c"glVertexAttribI4bv\00" +@lgl_p_VertexAttribI4sv = internal global ptr null +@.lgl_n_VertexAttribI4sv = private unnamed_addr constant [19 x i8] c"glVertexAttribI4sv\00" +@lgl_p_VertexAttribI4ubv = internal global ptr null +@.lgl_n_VertexAttribI4ubv = private unnamed_addr constant [20 x i8] c"glVertexAttribI4ubv\00" +@lgl_p_VertexAttribI4usv = internal global ptr null +@.lgl_n_VertexAttribI4usv = private unnamed_addr constant [20 x i8] c"glVertexAttribI4usv\00" +@lgl_p_GetUniformuiv = internal global ptr null +@.lgl_n_GetUniformuiv = private unnamed_addr constant [16 x i8] c"glGetUniformuiv\00" +@lgl_p_BindFragDataLocation = internal global ptr null +@.lgl_n_BindFragDataLocation = private unnamed_addr constant [23 x i8] c"glBindFragDataLocation\00" +@lgl_p_GetFragDataLocation = internal global ptr null +@.lgl_n_GetFragDataLocation = private unnamed_addr constant [22 x i8] c"glGetFragDataLocation\00" +@lgl_p_Uniform1ui = internal global ptr null +@.lgl_n_Uniform1ui = private unnamed_addr constant [13 x i8] c"glUniform1ui\00" +@lgl_p_Uniform2ui = internal global ptr null +@.lgl_n_Uniform2ui = private unnamed_addr constant [13 x i8] c"glUniform2ui\00" +@lgl_p_Uniform3ui = internal global ptr null +@.lgl_n_Uniform3ui = private unnamed_addr constant [13 x i8] c"glUniform3ui\00" +@lgl_p_Uniform4ui = internal global ptr null +@.lgl_n_Uniform4ui = private unnamed_addr constant [13 x i8] c"glUniform4ui\00" +@lgl_p_Uniform1uiv = internal global ptr null +@.lgl_n_Uniform1uiv = private unnamed_addr constant [14 x i8] c"glUniform1uiv\00" +@lgl_p_Uniform2uiv = internal global ptr null +@.lgl_n_Uniform2uiv = private unnamed_addr constant [14 x i8] c"glUniform2uiv\00" +@lgl_p_Uniform3uiv = internal global ptr null +@.lgl_n_Uniform3uiv = private unnamed_addr constant [14 x i8] c"glUniform3uiv\00" +@lgl_p_Uniform4uiv = internal global ptr null +@.lgl_n_Uniform4uiv = private unnamed_addr constant [14 x i8] c"glUniform4uiv\00" +@lgl_p_TexParameterIiv = internal global ptr null +@.lgl_n_TexParameterIiv = private unnamed_addr constant [18 x i8] c"glTexParameterIiv\00" +@lgl_p_TexParameterIuiv = internal global ptr null +@.lgl_n_TexParameterIuiv = private unnamed_addr constant [19 x i8] c"glTexParameterIuiv\00" +@lgl_p_GetTexParameterIiv = internal global ptr null +@.lgl_n_GetTexParameterIiv = private unnamed_addr constant [21 x i8] c"glGetTexParameterIiv\00" +@lgl_p_GetTexParameterIuiv = internal global ptr null +@.lgl_n_GetTexParameterIuiv = private unnamed_addr constant [22 x i8] c"glGetTexParameterIuiv\00" +@lgl_p_ClearBufferiv = internal global ptr null +@.lgl_n_ClearBufferiv = private unnamed_addr constant [16 x i8] c"glClearBufferiv\00" +@lgl_p_ClearBufferuiv = internal global ptr null +@.lgl_n_ClearBufferuiv = private unnamed_addr constant [17 x i8] c"glClearBufferuiv\00" +@lgl_p_ClearBufferfv = internal global ptr null +@.lgl_n_ClearBufferfv = private unnamed_addr constant [16 x i8] c"glClearBufferfv\00" +@lgl_p_ClearBufferfi = internal global ptr null +@.lgl_n_ClearBufferfi = private unnamed_addr constant [16 x i8] c"glClearBufferfi\00" +@lgl_p_GetStringi = internal global ptr null +@.lgl_n_GetStringi = private unnamed_addr constant [13 x i8] c"glGetStringi\00" +@lgl_p_DrawArraysInstanced = internal global ptr null +@.lgl_n_DrawArraysInstanced = private unnamed_addr constant [22 x i8] c"glDrawArraysInstanced\00" +@lgl_p_DrawElementsInstanced = internal global ptr null +@.lgl_n_DrawElementsInstanced = private unnamed_addr constant [24 x i8] c"glDrawElementsInstanced\00" +@lgl_p_TexBuffer = internal global ptr null +@.lgl_n_TexBuffer = private unnamed_addr constant [12 x i8] c"glTexBuffer\00" +@lgl_p_PrimitiveRestartIndex = internal global ptr null +@.lgl_n_PrimitiveRestartIndex = private unnamed_addr constant [24 x i8] c"glPrimitiveRestartIndex\00" +@lgl_p_GetInteger64i_v = internal global ptr null +@.lgl_n_GetInteger64i_v = private unnamed_addr constant [18 x i8] c"glGetInteger64i_v\00" +@lgl_p_GetBufferParameteri64v = internal global ptr null +@.lgl_n_GetBufferParameteri64v = private unnamed_addr constant [25 x i8] c"glGetBufferParameteri64v\00" +@lgl_p_FramebufferTexture = internal global ptr null +@.lgl_n_FramebufferTexture = private unnamed_addr constant [21 x i8] c"glFramebufferTexture\00" +@lgl_p_VertexAttribDivisor = internal global ptr null +@.lgl_n_VertexAttribDivisor = private unnamed_addr constant [22 x i8] c"glVertexAttribDivisor\00" +@lgl_p_MinSampleShading = internal global ptr null +@.lgl_n_MinSampleShading = private unnamed_addr constant [19 x i8] c"glMinSampleShading\00" +@lgl_p_BlendEquationi = internal global ptr null +@.lgl_n_BlendEquationi = private unnamed_addr constant [17 x i8] c"glBlendEquationi\00" +@lgl_p_BlendEquationSeparatei = internal global ptr null +@.lgl_n_BlendEquationSeparatei = private unnamed_addr constant [25 x i8] c"glBlendEquationSeparatei\00" +@lgl_p_BlendFunci = internal global ptr null +@.lgl_n_BlendFunci = private unnamed_addr constant [13 x i8] c"glBlendFunci\00" +@lgl_p_BlendFuncSeparatei = internal global ptr null +@.lgl_n_BlendFuncSeparatei = private unnamed_addr constant [21 x i8] c"glBlendFuncSeparatei\00" +@lgl_p_IsRenderbuffer = internal global ptr null +@.lgl_n_IsRenderbuffer = private unnamed_addr constant [17 x i8] c"glIsRenderbuffer\00" +@lgl_p_BindRenderbuffer = internal global ptr null +@.lgl_n_BindRenderbuffer = private unnamed_addr constant [19 x i8] c"glBindRenderbuffer\00" +@lgl_p_DeleteRenderbuffers = internal global ptr null +@.lgl_n_DeleteRenderbuffers = private unnamed_addr constant [22 x i8] c"glDeleteRenderbuffers\00" +@lgl_p_GenRenderbuffers = internal global ptr null +@.lgl_n_GenRenderbuffers = private unnamed_addr constant [19 x i8] c"glGenRenderbuffers\00" +@lgl_p_RenderbufferStorage = internal global ptr null +@.lgl_n_RenderbufferStorage = private unnamed_addr constant [22 x i8] c"glRenderbufferStorage\00" +@lgl_p_GetRenderbufferParameteriv = internal global ptr null +@.lgl_n_GetRenderbufferParameteriv = private unnamed_addr constant [29 x i8] c"glGetRenderbufferParameteriv\00" +@lgl_p_IsFramebuffer = internal global ptr null +@.lgl_n_IsFramebuffer = private unnamed_addr constant [16 x i8] c"glIsFramebuffer\00" +@lgl_p_BindFramebuffer = internal global ptr null +@.lgl_n_BindFramebuffer = private unnamed_addr constant [18 x i8] c"glBindFramebuffer\00" +@lgl_p_DeleteFramebuffers = internal global ptr null +@.lgl_n_DeleteFramebuffers = private unnamed_addr constant [21 x i8] c"glDeleteFramebuffers\00" +@lgl_p_GenFramebuffers = internal global ptr null +@.lgl_n_GenFramebuffers = private unnamed_addr constant [18 x i8] c"glGenFramebuffers\00" +@lgl_p_CheckFramebufferStatus = internal global ptr null +@.lgl_n_CheckFramebufferStatus = private unnamed_addr constant [25 x i8] c"glCheckFramebufferStatus\00" +@lgl_p_FramebufferTexture1D = internal global ptr null +@.lgl_n_FramebufferTexture1D = private unnamed_addr constant [23 x i8] c"glFramebufferTexture1D\00" +@lgl_p_FramebufferTexture2D = internal global ptr null +@.lgl_n_FramebufferTexture2D = private unnamed_addr constant [23 x i8] c"glFramebufferTexture2D\00" +@lgl_p_FramebufferTexture3D = internal global ptr null +@.lgl_n_FramebufferTexture3D = private unnamed_addr constant [23 x i8] c"glFramebufferTexture3D\00" +@lgl_p_FramebufferRenderbuffer = internal global ptr null +@.lgl_n_FramebufferRenderbuffer = private unnamed_addr constant [26 x i8] c"glFramebufferRenderbuffer\00" +@lgl_p_GetFramebufferAttachmentParameteriv = internal global ptr null +@.lgl_n_GetFramebufferAttachmentParameteriv = private unnamed_addr constant [38 x i8] c"glGetFramebufferAttachmentParameteriv\00" +@lgl_p_GenerateMipmap = internal global ptr null +@.lgl_n_GenerateMipmap = private unnamed_addr constant [17 x i8] c"glGenerateMipmap\00" +@lgl_p_BlitFramebuffer = internal global ptr null +@.lgl_n_BlitFramebuffer = private unnamed_addr constant [18 x i8] c"glBlitFramebuffer\00" +@lgl_p_RenderbufferStorageMultisample = internal global ptr null +@.lgl_n_RenderbufferStorageMultisample = private unnamed_addr constant [33 x i8] c"glRenderbufferStorageMultisample\00" +@lgl_p_FramebufferTextureLayer = internal global ptr null +@.lgl_n_FramebufferTextureLayer = private unnamed_addr constant [26 x i8] c"glFramebufferTextureLayer\00" +@lgl_p_MapBufferRange = internal global ptr null +@.lgl_n_MapBufferRange = private unnamed_addr constant [17 x i8] c"glMapBufferRange\00" +@lgl_p_FlushMappedBufferRange = internal global ptr null +@.lgl_n_FlushMappedBufferRange = private unnamed_addr constant [25 x i8] c"glFlushMappedBufferRange\00" +@lgl_p_BindVertexArray = internal global ptr null +@.lgl_n_BindVertexArray = private unnamed_addr constant [18 x i8] c"glBindVertexArray\00" +@lgl_p_DeleteVertexArrays = internal global ptr null +@.lgl_n_DeleteVertexArrays = private unnamed_addr constant [21 x i8] c"glDeleteVertexArrays\00" +@lgl_p_GenVertexArrays = internal global ptr null +@.lgl_n_GenVertexArrays = private unnamed_addr constant [18 x i8] c"glGenVertexArrays\00" +@lgl_p_IsVertexArray = internal global ptr null +@.lgl_n_IsVertexArray = private unnamed_addr constant [16 x i8] c"glIsVertexArray\00" +@lgl_p_GetUniformIndices = internal global ptr null +@.lgl_n_GetUniformIndices = private unnamed_addr constant [20 x i8] c"glGetUniformIndices\00" +@lgl_p_GetActiveUniformsiv = internal global ptr null +@.lgl_n_GetActiveUniformsiv = private unnamed_addr constant [22 x i8] c"glGetActiveUniformsiv\00" +@lgl_p_GetActiveUniformName = internal global ptr null +@.lgl_n_GetActiveUniformName = private unnamed_addr constant [23 x i8] c"glGetActiveUniformName\00" +@lgl_p_GetUniformBlockIndex = internal global ptr null +@.lgl_n_GetUniformBlockIndex = private unnamed_addr constant [23 x i8] c"glGetUniformBlockIndex\00" +@lgl_p_GetActiveUniformBlockiv = internal global ptr null +@.lgl_n_GetActiveUniformBlockiv = private unnamed_addr constant [26 x i8] c"glGetActiveUniformBlockiv\00" +@lgl_p_GetActiveUniformBlockName = internal global ptr null +@.lgl_n_GetActiveUniformBlockName = private unnamed_addr constant [28 x i8] c"glGetActiveUniformBlockName\00" +@lgl_p_UniformBlockBinding = internal global ptr null +@.lgl_n_UniformBlockBinding = private unnamed_addr constant [22 x i8] c"glUniformBlockBinding\00" +@lgl_p_CopyBufferSubData = internal global ptr null +@.lgl_n_CopyBufferSubData = private unnamed_addr constant [20 x i8] c"glCopyBufferSubData\00" +@lgl_p_DrawElementsBaseVertex = internal global ptr null +@.lgl_n_DrawElementsBaseVertex = private unnamed_addr constant [25 x i8] c"glDrawElementsBaseVertex\00" +@lgl_p_DrawRangeElementsBaseVertex = internal global ptr null +@.lgl_n_DrawRangeElementsBaseVertex = private unnamed_addr constant [30 x i8] c"glDrawRangeElementsBaseVertex\00" +@lgl_p_DrawElementsInstancedBaseVertex = internal global ptr null +@.lgl_n_DrawElementsInstancedBaseVertex = private unnamed_addr constant [34 x i8] c"glDrawElementsInstancedBaseVertex\00" +@lgl_p_MultiDrawElementsBaseVertex = internal global ptr null +@.lgl_n_MultiDrawElementsBaseVertex = private unnamed_addr constant [30 x i8] c"glMultiDrawElementsBaseVertex\00" +@lgl_p_ProvokingVertex = internal global ptr null +@.lgl_n_ProvokingVertex = private unnamed_addr constant [18 x i8] c"glProvokingVertex\00" +@lgl_p_FenceSync = internal global ptr null +@.lgl_n_FenceSync = private unnamed_addr constant [12 x i8] c"glFenceSync\00" +@lgl_p_IsSync = internal global ptr null +@.lgl_n_IsSync = private unnamed_addr constant [9 x i8] c"glIsSync\00" +@lgl_p_DeleteSync = internal global ptr null +@.lgl_n_DeleteSync = private unnamed_addr constant [13 x i8] c"glDeleteSync\00" +@lgl_p_ClientWaitSync = internal global ptr null +@.lgl_n_ClientWaitSync = private unnamed_addr constant [17 x i8] c"glClientWaitSync\00" +@lgl_p_WaitSync = internal global ptr null +@.lgl_n_WaitSync = private unnamed_addr constant [11 x i8] c"glWaitSync\00" +@lgl_p_GetInteger64v = internal global ptr null +@.lgl_n_GetInteger64v = private unnamed_addr constant [16 x i8] c"glGetInteger64v\00" +@lgl_p_GetSynciv = internal global ptr null +@.lgl_n_GetSynciv = private unnamed_addr constant [12 x i8] c"glGetSynciv\00" +@lgl_p_TexImage2DMultisample = internal global ptr null +@.lgl_n_TexImage2DMultisample = private unnamed_addr constant [24 x i8] c"glTexImage2DMultisample\00" +@lgl_p_TexImage3DMultisample = internal global ptr null +@.lgl_n_TexImage3DMultisample = private unnamed_addr constant [24 x i8] c"glTexImage3DMultisample\00" +@lgl_p_GetMultisamplefv = internal global ptr null +@.lgl_n_GetMultisamplefv = private unnamed_addr constant [19 x i8] c"glGetMultisamplefv\00" +@lgl_p_SampleMaski = internal global ptr null +@.lgl_n_SampleMaski = private unnamed_addr constant [14 x i8] c"glSampleMaski\00" +@lgl_p_BindFragDataLocationIndexed = internal global ptr null +@.lgl_n_BindFragDataLocationIndexed = private unnamed_addr constant [30 x i8] c"glBindFragDataLocationIndexed\00" +@lgl_p_GetFragDataIndex = internal global ptr null +@.lgl_n_GetFragDataIndex = private unnamed_addr constant [19 x i8] c"glGetFragDataIndex\00" +@lgl_p_GenSamplers = internal global ptr null +@.lgl_n_GenSamplers = private unnamed_addr constant [14 x i8] c"glGenSamplers\00" +@lgl_p_DeleteSamplers = internal global ptr null +@.lgl_n_DeleteSamplers = private unnamed_addr constant [17 x i8] c"glDeleteSamplers\00" +@lgl_p_IsSampler = internal global ptr null +@.lgl_n_IsSampler = private unnamed_addr constant [12 x i8] c"glIsSampler\00" +@lgl_p_BindSampler = internal global ptr null +@.lgl_n_BindSampler = private unnamed_addr constant [14 x i8] c"glBindSampler\00" +@lgl_p_SamplerParameteri = internal global ptr null +@.lgl_n_SamplerParameteri = private unnamed_addr constant [20 x i8] c"glSamplerParameteri\00" +@lgl_p_SamplerParameteriv = internal global ptr null +@.lgl_n_SamplerParameteriv = private unnamed_addr constant [21 x i8] c"glSamplerParameteriv\00" +@lgl_p_SamplerParameterf = internal global ptr null +@.lgl_n_SamplerParameterf = private unnamed_addr constant [20 x i8] c"glSamplerParameterf\00" +@lgl_p_SamplerParameterfv = internal global ptr null +@.lgl_n_SamplerParameterfv = private unnamed_addr constant [21 x i8] c"glSamplerParameterfv\00" +@lgl_p_SamplerParameterIiv = internal global ptr null +@.lgl_n_SamplerParameterIiv = private unnamed_addr constant [22 x i8] c"glSamplerParameterIiv\00" +@lgl_p_SamplerParameterIuiv = internal global ptr null +@.lgl_n_SamplerParameterIuiv = private unnamed_addr constant [23 x i8] c"glSamplerParameterIuiv\00" +@lgl_p_GetSamplerParameteriv = internal global ptr null +@.lgl_n_GetSamplerParameteriv = private unnamed_addr constant [24 x i8] c"glGetSamplerParameteriv\00" +@lgl_p_GetSamplerParameterIiv = internal global ptr null +@.lgl_n_GetSamplerParameterIiv = private unnamed_addr constant [25 x i8] c"glGetSamplerParameterIiv\00" +@lgl_p_GetSamplerParameterfv = internal global ptr null +@.lgl_n_GetSamplerParameterfv = private unnamed_addr constant [24 x i8] c"glGetSamplerParameterfv\00" +@lgl_p_GetSamplerParameterIuiv = internal global ptr null +@.lgl_n_GetSamplerParameterIuiv = private unnamed_addr constant [26 x i8] c"glGetSamplerParameterIuiv\00" +@lgl_p_QueryCounter = internal global ptr null +@.lgl_n_QueryCounter = private unnamed_addr constant [15 x i8] c"glQueryCounter\00" +@lgl_p_GetQueryObjecti64v = internal global ptr null +@.lgl_n_GetQueryObjecti64v = private unnamed_addr constant [21 x i8] c"glGetQueryObjecti64v\00" +@lgl_p_GetQueryObjectui64v = internal global ptr null +@.lgl_n_GetQueryObjectui64v = private unnamed_addr constant [22 x i8] c"glGetQueryObjectui64v\00" +@lgl_p_VertexAttribP1ui = internal global ptr null +@.lgl_n_VertexAttribP1ui = private unnamed_addr constant [19 x i8] c"glVertexAttribP1ui\00" +@lgl_p_VertexAttribP1uiv = internal global ptr null +@.lgl_n_VertexAttribP1uiv = private unnamed_addr constant [20 x i8] c"glVertexAttribP1uiv\00" +@lgl_p_VertexAttribP2ui = internal global ptr null +@.lgl_n_VertexAttribP2ui = private unnamed_addr constant [19 x i8] c"glVertexAttribP2ui\00" +@lgl_p_VertexAttribP2uiv = internal global ptr null +@.lgl_n_VertexAttribP2uiv = private unnamed_addr constant [20 x i8] c"glVertexAttribP2uiv\00" +@lgl_p_VertexAttribP3ui = internal global ptr null +@.lgl_n_VertexAttribP3ui = private unnamed_addr constant [19 x i8] c"glVertexAttribP3ui\00" +@lgl_p_VertexAttribP3uiv = internal global ptr null +@.lgl_n_VertexAttribP3uiv = private unnamed_addr constant [20 x i8] c"glVertexAttribP3uiv\00" +@lgl_p_VertexAttribP4ui = internal global ptr null +@.lgl_n_VertexAttribP4ui = private unnamed_addr constant [19 x i8] c"glVertexAttribP4ui\00" +@lgl_p_VertexAttribP4uiv = internal global ptr null +@.lgl_n_VertexAttribP4uiv = private unnamed_addr constant [20 x i8] c"glVertexAttribP4uiv\00" +@lgl_p_DrawArraysIndirect = internal global ptr null +@.lgl_n_DrawArraysIndirect = private unnamed_addr constant [21 x i8] c"glDrawArraysIndirect\00" +@lgl_p_DrawElementsIndirect = internal global ptr null +@.lgl_n_DrawElementsIndirect = private unnamed_addr constant [23 x i8] c"glDrawElementsIndirect\00" +@lgl_p_Uniform1d = internal global ptr null +@.lgl_n_Uniform1d = private unnamed_addr constant [12 x i8] c"glUniform1d\00" +@lgl_p_Uniform2d = internal global ptr null +@.lgl_n_Uniform2d = private unnamed_addr constant [12 x i8] c"glUniform2d\00" +@lgl_p_Uniform3d = internal global ptr null +@.lgl_n_Uniform3d = private unnamed_addr constant [12 x i8] c"glUniform3d\00" +@lgl_p_Uniform4d = internal global ptr null +@.lgl_n_Uniform4d = private unnamed_addr constant [12 x i8] c"glUniform4d\00" +@lgl_p_Uniform1dv = internal global ptr null +@.lgl_n_Uniform1dv = private unnamed_addr constant [13 x i8] c"glUniform1dv\00" +@lgl_p_Uniform2dv = internal global ptr null +@.lgl_n_Uniform2dv = private unnamed_addr constant [13 x i8] c"glUniform2dv\00" +@lgl_p_Uniform3dv = internal global ptr null +@.lgl_n_Uniform3dv = private unnamed_addr constant [13 x i8] c"glUniform3dv\00" +@lgl_p_Uniform4dv = internal global ptr null +@.lgl_n_Uniform4dv = private unnamed_addr constant [13 x i8] c"glUniform4dv\00" +@lgl_p_UniformMatrix2dv = internal global ptr null +@.lgl_n_UniformMatrix2dv = private unnamed_addr constant [19 x i8] c"glUniformMatrix2dv\00" +@lgl_p_UniformMatrix3dv = internal global ptr null +@.lgl_n_UniformMatrix3dv = private unnamed_addr constant [19 x i8] c"glUniformMatrix3dv\00" +@lgl_p_UniformMatrix4dv = internal global ptr null +@.lgl_n_UniformMatrix4dv = private unnamed_addr constant [19 x i8] c"glUniformMatrix4dv\00" +@lgl_p_UniformMatrix2x3dv = internal global ptr null +@.lgl_n_UniformMatrix2x3dv = private unnamed_addr constant [21 x i8] c"glUniformMatrix2x3dv\00" +@lgl_p_UniformMatrix2x4dv = internal global ptr null +@.lgl_n_UniformMatrix2x4dv = private unnamed_addr constant [21 x i8] c"glUniformMatrix2x4dv\00" +@lgl_p_UniformMatrix3x2dv = internal global ptr null +@.lgl_n_UniformMatrix3x2dv = private unnamed_addr constant [21 x i8] c"glUniformMatrix3x2dv\00" +@lgl_p_UniformMatrix3x4dv = internal global ptr null +@.lgl_n_UniformMatrix3x4dv = private unnamed_addr constant [21 x i8] c"glUniformMatrix3x4dv\00" +@lgl_p_UniformMatrix4x2dv = internal global ptr null +@.lgl_n_UniformMatrix4x2dv = private unnamed_addr constant [21 x i8] c"glUniformMatrix4x2dv\00" +@lgl_p_UniformMatrix4x3dv = internal global ptr null +@.lgl_n_UniformMatrix4x3dv = private unnamed_addr constant [21 x i8] c"glUniformMatrix4x3dv\00" +@lgl_p_GetUniformdv = internal global ptr null +@.lgl_n_GetUniformdv = private unnamed_addr constant [15 x i8] c"glGetUniformdv\00" +@lgl_p_GetSubroutineUniformLocation = internal global ptr null +@.lgl_n_GetSubroutineUniformLocation = private unnamed_addr constant [31 x i8] c"glGetSubroutineUniformLocation\00" +@lgl_p_GetSubroutineIndex = internal global ptr null +@.lgl_n_GetSubroutineIndex = private unnamed_addr constant [21 x i8] c"glGetSubroutineIndex\00" +@lgl_p_GetActiveSubroutineUniformiv = internal global ptr null +@.lgl_n_GetActiveSubroutineUniformiv = private unnamed_addr constant [31 x i8] c"glGetActiveSubroutineUniformiv\00" +@lgl_p_GetActiveSubroutineUniformName = internal global ptr null +@.lgl_n_GetActiveSubroutineUniformName = private unnamed_addr constant [33 x i8] c"glGetActiveSubroutineUniformName\00" +@lgl_p_GetActiveSubroutineName = internal global ptr null +@.lgl_n_GetActiveSubroutineName = private unnamed_addr constant [26 x i8] c"glGetActiveSubroutineName\00" +@lgl_p_UniformSubroutinesuiv = internal global ptr null +@.lgl_n_UniformSubroutinesuiv = private unnamed_addr constant [24 x i8] c"glUniformSubroutinesuiv\00" +@lgl_p_GetUniformSubroutineuiv = internal global ptr null +@.lgl_n_GetUniformSubroutineuiv = private unnamed_addr constant [26 x i8] c"glGetUniformSubroutineuiv\00" +@lgl_p_GetProgramStageiv = internal global ptr null +@.lgl_n_GetProgramStageiv = private unnamed_addr constant [20 x i8] c"glGetProgramStageiv\00" +@lgl_p_PatchParameteri = internal global ptr null +@.lgl_n_PatchParameteri = private unnamed_addr constant [18 x i8] c"glPatchParameteri\00" +@lgl_p_PatchParameterfv = internal global ptr null +@.lgl_n_PatchParameterfv = private unnamed_addr constant [19 x i8] c"glPatchParameterfv\00" +@lgl_p_BindTransformFeedback = internal global ptr null +@.lgl_n_BindTransformFeedback = private unnamed_addr constant [24 x i8] c"glBindTransformFeedback\00" +@lgl_p_DeleteTransformFeedbacks = internal global ptr null +@.lgl_n_DeleteTransformFeedbacks = private unnamed_addr constant [27 x i8] c"glDeleteTransformFeedbacks\00" +@lgl_p_GenTransformFeedbacks = internal global ptr null +@.lgl_n_GenTransformFeedbacks = private unnamed_addr constant [24 x i8] c"glGenTransformFeedbacks\00" +@lgl_p_IsTransformFeedback = internal global ptr null +@.lgl_n_IsTransformFeedback = private unnamed_addr constant [22 x i8] c"glIsTransformFeedback\00" +@lgl_p_PauseTransformFeedback = internal global ptr null +@.lgl_n_PauseTransformFeedback = private unnamed_addr constant [25 x i8] c"glPauseTransformFeedback\00" +@lgl_p_ResumeTransformFeedback = internal global ptr null +@.lgl_n_ResumeTransformFeedback = private unnamed_addr constant [26 x i8] c"glResumeTransformFeedback\00" +@lgl_p_DrawTransformFeedback = internal global ptr null +@.lgl_n_DrawTransformFeedback = private unnamed_addr constant [24 x i8] c"glDrawTransformFeedback\00" +@lgl_p_DrawTransformFeedbackStream = internal global ptr null +@.lgl_n_DrawTransformFeedbackStream = private unnamed_addr constant [30 x i8] c"glDrawTransformFeedbackStream\00" +@lgl_p_BeginQueryIndexed = internal global ptr null +@.lgl_n_BeginQueryIndexed = private unnamed_addr constant [20 x i8] c"glBeginQueryIndexed\00" +@lgl_p_EndQueryIndexed = internal global ptr null +@.lgl_n_EndQueryIndexed = private unnamed_addr constant [18 x i8] c"glEndQueryIndexed\00" +@lgl_p_GetQueryIndexediv = internal global ptr null +@.lgl_n_GetQueryIndexediv = private unnamed_addr constant [20 x i8] c"glGetQueryIndexediv\00" +@lgl_p_ReleaseShaderCompiler = internal global ptr null +@.lgl_n_ReleaseShaderCompiler = private unnamed_addr constant [24 x i8] c"glReleaseShaderCompiler\00" +@lgl_p_ShaderBinary = internal global ptr null +@.lgl_n_ShaderBinary = private unnamed_addr constant [15 x i8] c"glShaderBinary\00" +@lgl_p_GetShaderPrecisionFormat = internal global ptr null +@.lgl_n_GetShaderPrecisionFormat = private unnamed_addr constant [27 x i8] c"glGetShaderPrecisionFormat\00" +@lgl_p_DepthRangef = internal global ptr null +@.lgl_n_DepthRangef = private unnamed_addr constant [14 x i8] c"glDepthRangef\00" +@lgl_p_ClearDepthf = internal global ptr null +@.lgl_n_ClearDepthf = private unnamed_addr constant [14 x i8] c"glClearDepthf\00" +@lgl_p_GetProgramBinary = internal global ptr null +@.lgl_n_GetProgramBinary = private unnamed_addr constant [19 x i8] c"glGetProgramBinary\00" +@lgl_p_ProgramBinary = internal global ptr null +@.lgl_n_ProgramBinary = private unnamed_addr constant [16 x i8] c"glProgramBinary\00" +@lgl_p_ProgramParameteri = internal global ptr null +@.lgl_n_ProgramParameteri = private unnamed_addr constant [20 x i8] c"glProgramParameteri\00" +@lgl_p_UseProgramStages = internal global ptr null +@.lgl_n_UseProgramStages = private unnamed_addr constant [19 x i8] c"glUseProgramStages\00" +@lgl_p_ActiveShaderProgram = internal global ptr null +@.lgl_n_ActiveShaderProgram = private unnamed_addr constant [22 x i8] c"glActiveShaderProgram\00" +@lgl_p_CreateShaderProgramv = internal global ptr null +@.lgl_n_CreateShaderProgramv = private unnamed_addr constant [23 x i8] c"glCreateShaderProgramv\00" +@lgl_p_BindProgramPipeline = internal global ptr null +@.lgl_n_BindProgramPipeline = private unnamed_addr constant [22 x i8] c"glBindProgramPipeline\00" +@lgl_p_DeleteProgramPipelines = internal global ptr null +@.lgl_n_DeleteProgramPipelines = private unnamed_addr constant [25 x i8] c"glDeleteProgramPipelines\00" +@lgl_p_GenProgramPipelines = internal global ptr null +@.lgl_n_GenProgramPipelines = private unnamed_addr constant [22 x i8] c"glGenProgramPipelines\00" +@lgl_p_IsProgramPipeline = internal global ptr null +@.lgl_n_IsProgramPipeline = private unnamed_addr constant [20 x i8] c"glIsProgramPipeline\00" +@lgl_p_GetProgramPipelineiv = internal global ptr null +@.lgl_n_GetProgramPipelineiv = private unnamed_addr constant [23 x i8] c"glGetProgramPipelineiv\00" +@lgl_p_ProgramUniform1i = internal global ptr null +@.lgl_n_ProgramUniform1i = private unnamed_addr constant [19 x i8] c"glProgramUniform1i\00" +@lgl_p_ProgramUniform1iv = internal global ptr null +@.lgl_n_ProgramUniform1iv = private unnamed_addr constant [20 x i8] c"glProgramUniform1iv\00" +@lgl_p_ProgramUniform1f = internal global ptr null +@.lgl_n_ProgramUniform1f = private unnamed_addr constant [19 x i8] c"glProgramUniform1f\00" +@lgl_p_ProgramUniform1fv = internal global ptr null +@.lgl_n_ProgramUniform1fv = private unnamed_addr constant [20 x i8] c"glProgramUniform1fv\00" +@lgl_p_ProgramUniform1d = internal global ptr null +@.lgl_n_ProgramUniform1d = private unnamed_addr constant [19 x i8] c"glProgramUniform1d\00" +@lgl_p_ProgramUniform1dv = internal global ptr null +@.lgl_n_ProgramUniform1dv = private unnamed_addr constant [20 x i8] c"glProgramUniform1dv\00" +@lgl_p_ProgramUniform1ui = internal global ptr null +@.lgl_n_ProgramUniform1ui = private unnamed_addr constant [20 x i8] c"glProgramUniform1ui\00" +@lgl_p_ProgramUniform1uiv = internal global ptr null +@.lgl_n_ProgramUniform1uiv = private unnamed_addr constant [21 x i8] c"glProgramUniform1uiv\00" +@lgl_p_ProgramUniform2i = internal global ptr null +@.lgl_n_ProgramUniform2i = private unnamed_addr constant [19 x i8] c"glProgramUniform2i\00" +@lgl_p_ProgramUniform2iv = internal global ptr null +@.lgl_n_ProgramUniform2iv = private unnamed_addr constant [20 x i8] c"glProgramUniform2iv\00" +@lgl_p_ProgramUniform2f = internal global ptr null +@.lgl_n_ProgramUniform2f = private unnamed_addr constant [19 x i8] c"glProgramUniform2f\00" +@lgl_p_ProgramUniform2fv = internal global ptr null +@.lgl_n_ProgramUniform2fv = private unnamed_addr constant [20 x i8] c"glProgramUniform2fv\00" +@lgl_p_ProgramUniform2d = internal global ptr null +@.lgl_n_ProgramUniform2d = private unnamed_addr constant [19 x i8] c"glProgramUniform2d\00" +@lgl_p_ProgramUniform2dv = internal global ptr null +@.lgl_n_ProgramUniform2dv = private unnamed_addr constant [20 x i8] c"glProgramUniform2dv\00" +@lgl_p_ProgramUniform2ui = internal global ptr null +@.lgl_n_ProgramUniform2ui = private unnamed_addr constant [20 x i8] c"glProgramUniform2ui\00" +@lgl_p_ProgramUniform2uiv = internal global ptr null +@.lgl_n_ProgramUniform2uiv = private unnamed_addr constant [21 x i8] c"glProgramUniform2uiv\00" +@lgl_p_ProgramUniform3i = internal global ptr null +@.lgl_n_ProgramUniform3i = private unnamed_addr constant [19 x i8] c"glProgramUniform3i\00" +@lgl_p_ProgramUniform3iv = internal global ptr null +@.lgl_n_ProgramUniform3iv = private unnamed_addr constant [20 x i8] c"glProgramUniform3iv\00" +@lgl_p_ProgramUniform3f = internal global ptr null +@.lgl_n_ProgramUniform3f = private unnamed_addr constant [19 x i8] c"glProgramUniform3f\00" +@lgl_p_ProgramUniform3fv = internal global ptr null +@.lgl_n_ProgramUniform3fv = private unnamed_addr constant [20 x i8] c"glProgramUniform3fv\00" +@lgl_p_ProgramUniform3d = internal global ptr null +@.lgl_n_ProgramUniform3d = private unnamed_addr constant [19 x i8] c"glProgramUniform3d\00" +@lgl_p_ProgramUniform3dv = internal global ptr null +@.lgl_n_ProgramUniform3dv = private unnamed_addr constant [20 x i8] c"glProgramUniform3dv\00" +@lgl_p_ProgramUniform3ui = internal global ptr null +@.lgl_n_ProgramUniform3ui = private unnamed_addr constant [20 x i8] c"glProgramUniform3ui\00" +@lgl_p_ProgramUniform3uiv = internal global ptr null +@.lgl_n_ProgramUniform3uiv = private unnamed_addr constant [21 x i8] c"glProgramUniform3uiv\00" +@lgl_p_ProgramUniform4i = internal global ptr null +@.lgl_n_ProgramUniform4i = private unnamed_addr constant [19 x i8] c"glProgramUniform4i\00" +@lgl_p_ProgramUniform4iv = internal global ptr null +@.lgl_n_ProgramUniform4iv = private unnamed_addr constant [20 x i8] c"glProgramUniform4iv\00" +@lgl_p_ProgramUniform4f = internal global ptr null +@.lgl_n_ProgramUniform4f = private unnamed_addr constant [19 x i8] c"glProgramUniform4f\00" +@lgl_p_ProgramUniform4fv = internal global ptr null +@.lgl_n_ProgramUniform4fv = private unnamed_addr constant [20 x i8] c"glProgramUniform4fv\00" +@lgl_p_ProgramUniform4d = internal global ptr null +@.lgl_n_ProgramUniform4d = private unnamed_addr constant [19 x i8] c"glProgramUniform4d\00" +@lgl_p_ProgramUniform4dv = internal global ptr null +@.lgl_n_ProgramUniform4dv = private unnamed_addr constant [20 x i8] c"glProgramUniform4dv\00" +@lgl_p_ProgramUniform4ui = internal global ptr null +@.lgl_n_ProgramUniform4ui = private unnamed_addr constant [20 x i8] c"glProgramUniform4ui\00" +@lgl_p_ProgramUniform4uiv = internal global ptr null +@.lgl_n_ProgramUniform4uiv = private unnamed_addr constant [21 x i8] c"glProgramUniform4uiv\00" +@lgl_p_ProgramUniformMatrix2fv = internal global ptr null +@.lgl_n_ProgramUniformMatrix2fv = private unnamed_addr constant [26 x i8] c"glProgramUniformMatrix2fv\00" +@lgl_p_ProgramUniformMatrix3fv = internal global ptr null +@.lgl_n_ProgramUniformMatrix3fv = private unnamed_addr constant [26 x i8] c"glProgramUniformMatrix3fv\00" +@lgl_p_ProgramUniformMatrix4fv = internal global ptr null +@.lgl_n_ProgramUniformMatrix4fv = private unnamed_addr constant [26 x i8] c"glProgramUniformMatrix4fv\00" +@lgl_p_ProgramUniformMatrix2dv = internal global ptr null +@.lgl_n_ProgramUniformMatrix2dv = private unnamed_addr constant [26 x i8] c"glProgramUniformMatrix2dv\00" +@lgl_p_ProgramUniformMatrix3dv = internal global ptr null +@.lgl_n_ProgramUniformMatrix3dv = private unnamed_addr constant [26 x i8] c"glProgramUniformMatrix3dv\00" +@lgl_p_ProgramUniformMatrix4dv = internal global ptr null +@.lgl_n_ProgramUniformMatrix4dv = private unnamed_addr constant [26 x i8] c"glProgramUniformMatrix4dv\00" +@lgl_p_ProgramUniformMatrix2x3fv = internal global ptr null +@.lgl_n_ProgramUniformMatrix2x3fv = private unnamed_addr constant [28 x i8] c"glProgramUniformMatrix2x3fv\00" +@lgl_p_ProgramUniformMatrix3x2fv = internal global ptr null +@.lgl_n_ProgramUniformMatrix3x2fv = private unnamed_addr constant [28 x i8] c"glProgramUniformMatrix3x2fv\00" +@lgl_p_ProgramUniformMatrix2x4fv = internal global ptr null +@.lgl_n_ProgramUniformMatrix2x4fv = private unnamed_addr constant [28 x i8] c"glProgramUniformMatrix2x4fv\00" +@lgl_p_ProgramUniformMatrix4x2fv = internal global ptr null +@.lgl_n_ProgramUniformMatrix4x2fv = private unnamed_addr constant [28 x i8] c"glProgramUniformMatrix4x2fv\00" +@lgl_p_ProgramUniformMatrix3x4fv = internal global ptr null +@.lgl_n_ProgramUniformMatrix3x4fv = private unnamed_addr constant [28 x i8] c"glProgramUniformMatrix3x4fv\00" +@lgl_p_ProgramUniformMatrix4x3fv = internal global ptr null +@.lgl_n_ProgramUniformMatrix4x3fv = private unnamed_addr constant [28 x i8] c"glProgramUniformMatrix4x3fv\00" +@lgl_p_ProgramUniformMatrix2x3dv = internal global ptr null +@.lgl_n_ProgramUniformMatrix2x3dv = private unnamed_addr constant [28 x i8] c"glProgramUniformMatrix2x3dv\00" +@lgl_p_ProgramUniformMatrix3x2dv = internal global ptr null +@.lgl_n_ProgramUniformMatrix3x2dv = private unnamed_addr constant [28 x i8] c"glProgramUniformMatrix3x2dv\00" +@lgl_p_ProgramUniformMatrix2x4dv = internal global ptr null +@.lgl_n_ProgramUniformMatrix2x4dv = private unnamed_addr constant [28 x i8] c"glProgramUniformMatrix2x4dv\00" +@lgl_p_ProgramUniformMatrix4x2dv = internal global ptr null +@.lgl_n_ProgramUniformMatrix4x2dv = private unnamed_addr constant [28 x i8] c"glProgramUniformMatrix4x2dv\00" +@lgl_p_ProgramUniformMatrix3x4dv = internal global ptr null +@.lgl_n_ProgramUniformMatrix3x4dv = private unnamed_addr constant [28 x i8] c"glProgramUniformMatrix3x4dv\00" +@lgl_p_ProgramUniformMatrix4x3dv = internal global ptr null +@.lgl_n_ProgramUniformMatrix4x3dv = private unnamed_addr constant [28 x i8] c"glProgramUniformMatrix4x3dv\00" +@lgl_p_ValidateProgramPipeline = internal global ptr null +@.lgl_n_ValidateProgramPipeline = private unnamed_addr constant [26 x i8] c"glValidateProgramPipeline\00" +@lgl_p_GetProgramPipelineInfoLog = internal global ptr null +@.lgl_n_GetProgramPipelineInfoLog = private unnamed_addr constant [28 x i8] c"glGetProgramPipelineInfoLog\00" +@lgl_p_VertexAttribL1d = internal global ptr null +@.lgl_n_VertexAttribL1d = private unnamed_addr constant [18 x i8] c"glVertexAttribL1d\00" +@lgl_p_VertexAttribL2d = internal global ptr null +@.lgl_n_VertexAttribL2d = private unnamed_addr constant [18 x i8] c"glVertexAttribL2d\00" +@lgl_p_VertexAttribL3d = internal global ptr null +@.lgl_n_VertexAttribL3d = private unnamed_addr constant [18 x i8] c"glVertexAttribL3d\00" +@lgl_p_VertexAttribL4d = internal global ptr null +@.lgl_n_VertexAttribL4d = private unnamed_addr constant [18 x i8] c"glVertexAttribL4d\00" +@lgl_p_VertexAttribL1dv = internal global ptr null +@.lgl_n_VertexAttribL1dv = private unnamed_addr constant [19 x i8] c"glVertexAttribL1dv\00" +@lgl_p_VertexAttribL2dv = internal global ptr null +@.lgl_n_VertexAttribL2dv = private unnamed_addr constant [19 x i8] c"glVertexAttribL2dv\00" +@lgl_p_VertexAttribL3dv = internal global ptr null +@.lgl_n_VertexAttribL3dv = private unnamed_addr constant [19 x i8] c"glVertexAttribL3dv\00" +@lgl_p_VertexAttribL4dv = internal global ptr null +@.lgl_n_VertexAttribL4dv = private unnamed_addr constant [19 x i8] c"glVertexAttribL4dv\00" +@lgl_p_VertexAttribLPointer = internal global ptr null +@.lgl_n_VertexAttribLPointer = private unnamed_addr constant [23 x i8] c"glVertexAttribLPointer\00" +@lgl_p_GetVertexAttribLdv = internal global ptr null +@.lgl_n_GetVertexAttribLdv = private unnamed_addr constant [21 x i8] c"glGetVertexAttribLdv\00" +@lgl_p_ViewportArrayv = internal global ptr null +@.lgl_n_ViewportArrayv = private unnamed_addr constant [17 x i8] c"glViewportArrayv\00" +@lgl_p_ViewportIndexedf = internal global ptr null +@.lgl_n_ViewportIndexedf = private unnamed_addr constant [19 x i8] c"glViewportIndexedf\00" +@lgl_p_ViewportIndexedfv = internal global ptr null +@.lgl_n_ViewportIndexedfv = private unnamed_addr constant [20 x i8] c"glViewportIndexedfv\00" +@lgl_p_ScissorArrayv = internal global ptr null +@.lgl_n_ScissorArrayv = private unnamed_addr constant [16 x i8] c"glScissorArrayv\00" +@lgl_p_ScissorIndexed = internal global ptr null +@.lgl_n_ScissorIndexed = private unnamed_addr constant [17 x i8] c"glScissorIndexed\00" +@lgl_p_ScissorIndexedv = internal global ptr null +@.lgl_n_ScissorIndexedv = private unnamed_addr constant [18 x i8] c"glScissorIndexedv\00" +@lgl_p_DepthRangeArrayv = internal global ptr null +@.lgl_n_DepthRangeArrayv = private unnamed_addr constant [19 x i8] c"glDepthRangeArrayv\00" +@lgl_p_DepthRangeIndexed = internal global ptr null +@.lgl_n_DepthRangeIndexed = private unnamed_addr constant [20 x i8] c"glDepthRangeIndexed\00" +@lgl_p_GetFloati_v = internal global ptr null +@.lgl_n_GetFloati_v = private unnamed_addr constant [14 x i8] c"glGetFloati_v\00" +@lgl_p_GetDoublei_v = internal global ptr null +@.lgl_n_GetDoublei_v = private unnamed_addr constant [15 x i8] c"glGetDoublei_v\00" + +define void @lgl_CullFace(i32 %a0) { +entry: + %fp = load ptr, ptr @lgl_p_CullFace + call void %fp(i32 %a0) + ret void +} +define void @lgl_FrontFace(i32 %a0) { +entry: + %fp = load ptr, ptr @lgl_p_FrontFace + call void %fp(i32 %a0) + ret void +} +define void @lgl_Hint(i32 %a0, i32 %a1) { +entry: + %fp = load ptr, ptr @lgl_p_Hint + call void %fp(i32 %a0, i32 %a1) + ret void +} +define void @lgl_LineWidth(i32 %a0) { +entry: + %fp = load ptr, ptr @lgl_p_LineWidth + %f0 = sitofp i32 %a0 to float + %c0 = fmul float %f0, 0x3EF0000000000000 + call void %fp(float %c0) + ret void +} +define void @lgl_PointSize(i32 %a0) { +entry: + %fp = load ptr, ptr @lgl_p_PointSize + %f0 = sitofp i32 %a0 to float + %c0 = fmul float %f0, 0x3EF0000000000000 + call void %fp(float %c0) + ret void +} +define void @lgl_PolygonMode(i32 %a0, i32 %a1) { +entry: + %fp = load ptr, ptr @lgl_p_PolygonMode + call void %fp(i32 %a0, i32 %a1) + ret void +} +define void @lgl_Scissor(i32 %a0, i32 %a1, i32 %a2, i32 %a3) { +entry: + %fp = load ptr, ptr @lgl_p_Scissor + call void %fp(i32 %a0, i32 %a1, i32 %a2, i32 %a3) + ret void +} +define void @lgl_TexParameterf(i32 %a0, i32 %a1, i32 %a2) { +entry: + %fp = load ptr, ptr @lgl_p_TexParameterf + %f2 = sitofp i32 %a2 to float + %c2 = fmul float %f2, 0x3EF0000000000000 + call void %fp(i32 %a0, i32 %a1, float %c2) + ret void +} +define void @lgl_TexParameterfv(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_TexParameterfv + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} +define void @lgl_TexParameteri(i32 %a0, i32 %a1, i32 %a2) { +entry: + %fp = load ptr, ptr @lgl_p_TexParameteri + call void %fp(i32 %a0, i32 %a1, i32 %a2) + ret void +} +define void @lgl_TexParameteriv(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_TexParameteriv + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} +define void @lgl_TexImage1D(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4, i32 %a5, i32 %a6, ptr %a7) { +entry: + %fp = load ptr, ptr @lgl_p_TexImage1D + call void %fp(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4, i32 %a5, i32 %a6, ptr %a7) + ret void +} +define void @lgl_TexImage2D(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4, i32 %a5, i32 %a6, i32 %a7, ptr %a8) { +entry: + %fp = load ptr, ptr @lgl_p_TexImage2D + call void %fp(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4, i32 %a5, i32 %a6, i32 %a7, ptr %a8) + ret void +} +define void @lgl_DrawBuffer(i32 %a0) { +entry: + %fp = load ptr, ptr @lgl_p_DrawBuffer + call void %fp(i32 %a0) + ret void +} +define void @lgl_Clear(i32 %a0) { +entry: + %fp = load ptr, ptr @lgl_p_Clear + call void %fp(i32 %a0) + ret void +} +define void @lgl_ClearColor(i32 %a0, i32 %a1, i32 %a2, i32 %a3) { +entry: + %fp = load ptr, ptr @lgl_p_ClearColor + %f0 = sitofp i32 %a0 to float + %c0 = fmul float %f0, 0x3EF0000000000000 + %f1 = sitofp i32 %a1 to float + %c1 = fmul float %f1, 0x3EF0000000000000 + %f2 = sitofp i32 %a2 to float + %c2 = fmul float %f2, 0x3EF0000000000000 + %f3 = sitofp i32 %a3 to float + %c3 = fmul float %f3, 0x3EF0000000000000 + call void %fp(float %c0, float %c1, float %c2, float %c3) + ret void +} +define void @lgl_ClearStencil(i32 %a0) { +entry: + %fp = load ptr, ptr @lgl_p_ClearStencil + call void %fp(i32 %a0) + ret void +} +define void @lgl_ClearDepth(i32 %a0) { +entry: + %fp = load ptr, ptr @lgl_p_ClearDepth + %f0 = sitofp i32 %a0 to double + %c0 = fmul double %f0, 0x3EF0000000000000 + call void %fp(double %c0) + ret void +} +define void @lgl_StencilMask(i32 %a0) { +entry: + %fp = load ptr, ptr @lgl_p_StencilMask + call void %fp(i32 %a0) + ret void +} +define void @lgl_ColorMask(i32 %a0, i32 %a1, i32 %a2, i32 %a3) { +entry: + %fp = load ptr, ptr @lgl_p_ColorMask + %c0 = trunc i32 %a0 to i8 + %c1 = trunc i32 %a1 to i8 + %c2 = trunc i32 %a2 to i8 + %c3 = trunc i32 %a3 to i8 + call void %fp(i8 %c0, i8 %c1, i8 %c2, i8 %c3) + ret void +} +define void @lgl_DepthMask(i32 %a0) { +entry: + %fp = load ptr, ptr @lgl_p_DepthMask + %c0 = trunc i32 %a0 to i8 + call void %fp(i8 %c0) + ret void +} +define void @lgl_Disable(i32 %a0) { +entry: + %fp = load ptr, ptr @lgl_p_Disable + call void %fp(i32 %a0) + ret void +} +define void @lgl_Enable(i32 %a0) { +entry: + %fp = load ptr, ptr @lgl_p_Enable + call void %fp(i32 %a0) + ret void +} +define void @lgl_Finish() { +entry: + %fp = load ptr, ptr @lgl_p_Finish + call void %fp() + ret void +} +define void @lgl_Flush() { +entry: + %fp = load ptr, ptr @lgl_p_Flush + call void %fp() + ret void +} +define void @lgl_BlendFunc(i32 %a0, i32 %a1) { +entry: + %fp = load ptr, ptr @lgl_p_BlendFunc + call void %fp(i32 %a0, i32 %a1) + ret void +} +define void @lgl_LogicOp(i32 %a0) { +entry: + %fp = load ptr, ptr @lgl_p_LogicOp + call void %fp(i32 %a0) + ret void +} +define void @lgl_StencilFunc(i32 %a0, i32 %a1, i32 %a2) { +entry: + %fp = load ptr, ptr @lgl_p_StencilFunc + call void %fp(i32 %a0, i32 %a1, i32 %a2) + ret void +} +define void @lgl_StencilOp(i32 %a0, i32 %a1, i32 %a2) { +entry: + %fp = load ptr, ptr @lgl_p_StencilOp + call void %fp(i32 %a0, i32 %a1, i32 %a2) + ret void +} +define void @lgl_DepthFunc(i32 %a0) { +entry: + %fp = load ptr, ptr @lgl_p_DepthFunc + call void %fp(i32 %a0) + ret void +} +define void @lgl_PixelStoref(i32 %a0, i32 %a1) { +entry: + %fp = load ptr, ptr @lgl_p_PixelStoref + %f1 = sitofp i32 %a1 to float + %c1 = fmul float %f1, 0x3EF0000000000000 + call void %fp(i32 %a0, float %c1) + ret void +} +define void @lgl_PixelStorei(i32 %a0, i32 %a1) { +entry: + %fp = load ptr, ptr @lgl_p_PixelStorei + call void %fp(i32 %a0, i32 %a1) + ret void +} +define void @lgl_ReadBuffer(i32 %a0) { +entry: + %fp = load ptr, ptr @lgl_p_ReadBuffer + call void %fp(i32 %a0) + ret void +} +define void @lgl_ReadPixels(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4, i32 %a5, ptr %a6) { +entry: + %fp = load ptr, ptr @lgl_p_ReadPixels + call void %fp(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4, i32 %a5, ptr %a6) + ret void +} +define void @lgl_GetBooleanv(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_GetBooleanv + call void %fp(i32 %a0, ptr %a1) + ret void +} +define void @lgl_GetDoublev(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_GetDoublev + call void %fp(i32 %a0, ptr %a1) + ret void +} +define i32 @lgl_GetError() { +entry: + %fp = load ptr, ptr @lgl_p_GetError + %r = call i32 %fp() + ret i32 %r +} +define void @lgl_GetFloatv(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_GetFloatv + call void %fp(i32 %a0, ptr %a1) + ret void +} +define void @lgl_GetIntegerv(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_GetIntegerv + call void %fp(i32 %a0, ptr %a1) + ret void +} +define ptr @lgl_GetString(i32 %a0) { +entry: + %fp = load ptr, ptr @lgl_p_GetString + %r = call ptr %fp(i32 %a0) + ret ptr %r +} +define void @lgl_GetTexImage(i32 %a0, i32 %a1, i32 %a2, i32 %a3, ptr %a4) { +entry: + %fp = load ptr, ptr @lgl_p_GetTexImage + call void %fp(i32 %a0, i32 %a1, i32 %a2, i32 %a3, ptr %a4) + ret void +} +define void @lgl_GetTexParameterfv(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_GetTexParameterfv + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} +define void @lgl_GetTexParameteriv(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_GetTexParameteriv + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} +define void @lgl_GetTexLevelParameterfv(i32 %a0, i32 %a1, i32 %a2, ptr %a3) { +entry: + %fp = load ptr, ptr @lgl_p_GetTexLevelParameterfv + call void %fp(i32 %a0, i32 %a1, i32 %a2, ptr %a3) + ret void +} +define void @lgl_GetTexLevelParameteriv(i32 %a0, i32 %a1, i32 %a2, ptr %a3) { +entry: + %fp = load ptr, ptr @lgl_p_GetTexLevelParameteriv + call void %fp(i32 %a0, i32 %a1, i32 %a2, ptr %a3) + ret void +} +define i32 @lgl_IsEnabled(i32 %a0) { +entry: + %fp = load ptr, ptr @lgl_p_IsEnabled + %r = call i8 %fp(i32 %a0) + %z = zext i8 %r to i32 + ret i32 %z +} +define void @lgl_DepthRange(i32 %a0, i32 %a1) { +entry: + %fp = load ptr, ptr @lgl_p_DepthRange + %f0 = sitofp i32 %a0 to double + %c0 = fmul double %f0, 0x3EF0000000000000 + %f1 = sitofp i32 %a1 to double + %c1 = fmul double %f1, 0x3EF0000000000000 + call void %fp(double %c0, double %c1) + ret void +} +define void @lgl_Viewport(i32 %a0, i32 %a1, i32 %a2, i32 %a3) { +entry: + %fp = load ptr, ptr @lgl_p_Viewport + call void %fp(i32 %a0, i32 %a1, i32 %a2, i32 %a3) + ret void +} +define void @lgl_DrawArrays(i32 %a0, i32 %a1, i32 %a2) { +entry: + %fp = load ptr, ptr @lgl_p_DrawArrays + call void %fp(i32 %a0, i32 %a1, i32 %a2) + ret void +} +define void @lgl_DrawElements(i32 %a0, i32 %a1, i32 %a2, ptr %a3) { +entry: + %fp = load ptr, ptr @lgl_p_DrawElements + call void %fp(i32 %a0, i32 %a1, i32 %a2, ptr %a3) + ret void +} +define void @lgl_PolygonOffset(i32 %a0, i32 %a1) { +entry: + %fp = load ptr, ptr @lgl_p_PolygonOffset + %f0 = sitofp i32 %a0 to float + %c0 = fmul float %f0, 0x3EF0000000000000 + %f1 = sitofp i32 %a1 to float + %c1 = fmul float %f1, 0x3EF0000000000000 + call void %fp(float %c0, float %c1) + ret void +} +define void @lgl_CopyTexImage1D(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4, i32 %a5, i32 %a6) { +entry: + %fp = load ptr, ptr @lgl_p_CopyTexImage1D + call void %fp(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4, i32 %a5, i32 %a6) + ret void +} +define void @lgl_CopyTexImage2D(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4, i32 %a5, i32 %a6, i32 %a7) { +entry: + %fp = load ptr, ptr @lgl_p_CopyTexImage2D + call void %fp(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4, i32 %a5, i32 %a6, i32 %a7) + ret void +} +define void @lgl_CopyTexSubImage1D(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4, i32 %a5) { +entry: + %fp = load ptr, ptr @lgl_p_CopyTexSubImage1D + call void %fp(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4, i32 %a5) + ret void +} +define void @lgl_CopyTexSubImage2D(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4, i32 %a5, i32 %a6, i32 %a7) { +entry: + %fp = load ptr, ptr @lgl_p_CopyTexSubImage2D + call void %fp(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4, i32 %a5, i32 %a6, i32 %a7) + ret void +} +define void @lgl_TexSubImage1D(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4, i32 %a5, ptr %a6) { +entry: + %fp = load ptr, ptr @lgl_p_TexSubImage1D + call void %fp(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4, i32 %a5, ptr %a6) + ret void +} +define void @lgl_TexSubImage2D(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4, i32 %a5, i32 %a6, i32 %a7, ptr %a8) { +entry: + %fp = load ptr, ptr @lgl_p_TexSubImage2D + call void %fp(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4, i32 %a5, i32 %a6, i32 %a7, ptr %a8) + ret void +} +define void @lgl_BindTexture(i32 %a0, i32 %a1) { +entry: + %fp = load ptr, ptr @lgl_p_BindTexture + call void %fp(i32 %a0, i32 %a1) + ret void +} +define void @lgl_DeleteTextures(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_DeleteTextures + call void %fp(i32 %a0, ptr %a1) + ret void +} +define void @lgl_GenTextures(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_GenTextures + call void %fp(i32 %a0, ptr %a1) + ret void +} +define i32 @lgl_IsTexture(i32 %a0) { +entry: + %fp = load ptr, ptr @lgl_p_IsTexture + %r = call i8 %fp(i32 %a0) + %z = zext i8 %r to i32 + ret i32 %z +} +define void @lgl_BlendColor(i32 %a0, i32 %a1, i32 %a2, i32 %a3) { +entry: + %fp = load ptr, ptr @lgl_p_BlendColor + %f0 = sitofp i32 %a0 to float + %c0 = fmul float %f0, 0x3EF0000000000000 + %f1 = sitofp i32 %a1 to float + %c1 = fmul float %f1, 0x3EF0000000000000 + %f2 = sitofp i32 %a2 to float + %c2 = fmul float %f2, 0x3EF0000000000000 + %f3 = sitofp i32 %a3 to float + %c3 = fmul float %f3, 0x3EF0000000000000 + call void %fp(float %c0, float %c1, float %c2, float %c3) + ret void +} +define void @lgl_BlendEquation(i32 %a0) { +entry: + %fp = load ptr, ptr @lgl_p_BlendEquation + call void %fp(i32 %a0) + ret void +} +define void @lgl_DrawRangeElements(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4, ptr %a5) { +entry: + %fp = load ptr, ptr @lgl_p_DrawRangeElements + call void %fp(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4, ptr %a5) + ret void +} +define void @lgl_TexImage3D(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4, i32 %a5, i32 %a6, i32 %a7, i32 %a8, ptr %a9) { +entry: + %fp = load ptr, ptr @lgl_p_TexImage3D + call void %fp(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4, i32 %a5, i32 %a6, i32 %a7, i32 %a8, ptr %a9) + ret void +} +define void @lgl_TexSubImage3D(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4, i32 %a5, i32 %a6, i32 %a7, i32 %a8, i32 %a9, ptr %a10) { +entry: + %fp = load ptr, ptr @lgl_p_TexSubImage3D + call void %fp(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4, i32 %a5, i32 %a6, i32 %a7, i32 %a8, i32 %a9, ptr %a10) + ret void +} +define void @lgl_CopyTexSubImage3D(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4, i32 %a5, i32 %a6, i32 %a7, i32 %a8) { +entry: + %fp = load ptr, ptr @lgl_p_CopyTexSubImage3D + call void %fp(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4, i32 %a5, i32 %a6, i32 %a7, i32 %a8) + ret void +} +define void @lgl_ActiveTexture(i32 %a0) { +entry: + %fp = load ptr, ptr @lgl_p_ActiveTexture + call void %fp(i32 %a0) + ret void +} +define void @lgl_SampleCoverage(i32 %a0, i32 %a1) { +entry: + %fp = load ptr, ptr @lgl_p_SampleCoverage + %f0 = sitofp i32 %a0 to float + %c0 = fmul float %f0, 0x3EF0000000000000 + %c1 = trunc i32 %a1 to i8 + call void %fp(float %c0, i8 %c1) + ret void +} +define void @lgl_CompressedTexImage3D(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4, i32 %a5, i32 %a6, i32 %a7, ptr %a8) { +entry: + %fp = load ptr, ptr @lgl_p_CompressedTexImage3D + call void %fp(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4, i32 %a5, i32 %a6, i32 %a7, ptr %a8) + ret void +} +define void @lgl_CompressedTexImage2D(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4, i32 %a5, i32 %a6, ptr %a7) { +entry: + %fp = load ptr, ptr @lgl_p_CompressedTexImage2D + call void %fp(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4, i32 %a5, i32 %a6, ptr %a7) + ret void +} +define void @lgl_CompressedTexImage1D(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4, i32 %a5, ptr %a6) { +entry: + %fp = load ptr, ptr @lgl_p_CompressedTexImage1D + call void %fp(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4, i32 %a5, ptr %a6) + ret void +} +define void @lgl_CompressedTexSubImage3D(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4, i32 %a5, i32 %a6, i32 %a7, i32 %a8, i32 %a9, ptr %a10) { +entry: + %fp = load ptr, ptr @lgl_p_CompressedTexSubImage3D + call void %fp(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4, i32 %a5, i32 %a6, i32 %a7, i32 %a8, i32 %a9, ptr %a10) + ret void +} +define void @lgl_CompressedTexSubImage2D(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4, i32 %a5, i32 %a6, i32 %a7, ptr %a8) { +entry: + %fp = load ptr, ptr @lgl_p_CompressedTexSubImage2D + call void %fp(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4, i32 %a5, i32 %a6, i32 %a7, ptr %a8) + ret void +} +define void @lgl_CompressedTexSubImage1D(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4, i32 %a5, ptr %a6) { +entry: + %fp = load ptr, ptr @lgl_p_CompressedTexSubImage1D + call void %fp(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4, i32 %a5, ptr %a6) + ret void +} +define void @lgl_GetCompressedTexImage(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_GetCompressedTexImage + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} +define void @lgl_BlendFuncSeparate(i32 %a0, i32 %a1, i32 %a2, i32 %a3) { +entry: + %fp = load ptr, ptr @lgl_p_BlendFuncSeparate + call void %fp(i32 %a0, i32 %a1, i32 %a2, i32 %a3) + ret void +} +define void @lgl_MultiDrawArrays(i32 %a0, ptr %a1, ptr %a2, i32 %a3) { +entry: + %fp = load ptr, ptr @lgl_p_MultiDrawArrays + call void %fp(i32 %a0, ptr %a1, ptr %a2, i32 %a3) + ret void +} +define void @lgl_MultiDrawElements(i32 %a0, ptr %a1, i32 %a2, ptr %a3, i32 %a4) { +entry: + %fp = load ptr, ptr @lgl_p_MultiDrawElements + call void %fp(i32 %a0, ptr %a1, i32 %a2, ptr %a3, i32 %a4) + ret void +} +define void @lgl_PointParameterf(i32 %a0, i32 %a1) { +entry: + %fp = load ptr, ptr @lgl_p_PointParameterf + %f1 = sitofp i32 %a1 to float + %c1 = fmul float %f1, 0x3EF0000000000000 + call void %fp(i32 %a0, float %c1) + ret void +} +define void @lgl_PointParameterfv(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_PointParameterfv + call void %fp(i32 %a0, ptr %a1) + ret void +} +define void @lgl_PointParameteri(i32 %a0, i32 %a1) { +entry: + %fp = load ptr, ptr @lgl_p_PointParameteri + call void %fp(i32 %a0, i32 %a1) + ret void +} +define void @lgl_PointParameteriv(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_PointParameteriv + call void %fp(i32 %a0, ptr %a1) + ret void +} +define void @lgl_GenQueries(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_GenQueries + call void %fp(i32 %a0, ptr %a1) + ret void +} +define void @lgl_DeleteQueries(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_DeleteQueries + call void %fp(i32 %a0, ptr %a1) + ret void +} +define i32 @lgl_IsQuery(i32 %a0) { +entry: + %fp = load ptr, ptr @lgl_p_IsQuery + %r = call i8 %fp(i32 %a0) + %z = zext i8 %r to i32 + ret i32 %z +} +define void @lgl_BeginQuery(i32 %a0, i32 %a1) { +entry: + %fp = load ptr, ptr @lgl_p_BeginQuery + call void %fp(i32 %a0, i32 %a1) + ret void +} +define void @lgl_EndQuery(i32 %a0) { +entry: + %fp = load ptr, ptr @lgl_p_EndQuery + call void %fp(i32 %a0) + ret void +} +define void @lgl_GetQueryiv(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_GetQueryiv + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} +define void @lgl_GetQueryObjectiv(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_GetQueryObjectiv + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} +define void @lgl_GetQueryObjectuiv(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_GetQueryObjectuiv + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} +define void @lgl_BindBuffer(i32 %a0, i32 %a1) { +entry: + %fp = load ptr, ptr @lgl_p_BindBuffer + call void %fp(i32 %a0, i32 %a1) + ret void +} +define void @lgl_DeleteBuffers(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_DeleteBuffers + call void %fp(i32 %a0, ptr %a1) + ret void +} +define void @lgl_GenBuffers(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_GenBuffers + call void %fp(i32 %a0, ptr %a1) + ret void +} +define i32 @lgl_IsBuffer(i32 %a0) { +entry: + %fp = load ptr, ptr @lgl_p_IsBuffer + %r = call i8 %fp(i32 %a0) + %z = zext i8 %r to i32 + ret i32 %z +} +define void @lgl_BufferData(i32 %a0, i64 %a1, ptr %a2, i32 %a3) { +entry: + %fp = load ptr, ptr @lgl_p_BufferData + call void %fp(i32 %a0, i64 %a1, ptr %a2, i32 %a3) + ret void +} +define void @lgl_BufferSubData(i32 %a0, i64 %a1, i64 %a2, ptr %a3) { +entry: + %fp = load ptr, ptr @lgl_p_BufferSubData + call void %fp(i32 %a0, i64 %a1, i64 %a2, ptr %a3) + ret void +} +define void @lgl_GetBufferSubData(i32 %a0, i64 %a1, i64 %a2, ptr %a3) { +entry: + %fp = load ptr, ptr @lgl_p_GetBufferSubData + call void %fp(i32 %a0, i64 %a1, i64 %a2, ptr %a3) + ret void +} +define ptr @lgl_MapBuffer(i32 %a0, i32 %a1) { +entry: + %fp = load ptr, ptr @lgl_p_MapBuffer + %r = call ptr %fp(i32 %a0, i32 %a1) + ret ptr %r +} +define i32 @lgl_UnmapBuffer(i32 %a0) { +entry: + %fp = load ptr, ptr @lgl_p_UnmapBuffer + %r = call i8 %fp(i32 %a0) + %z = zext i8 %r to i32 + ret i32 %z +} +define void @lgl_GetBufferParameteriv(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_GetBufferParameteriv + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} +define void @lgl_GetBufferPointerv(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_GetBufferPointerv + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} +define void @lgl_BlendEquationSeparate(i32 %a0, i32 %a1) { +entry: + %fp = load ptr, ptr @lgl_p_BlendEquationSeparate + call void %fp(i32 %a0, i32 %a1) + ret void +} +define void @lgl_DrawBuffers(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_DrawBuffers + call void %fp(i32 %a0, ptr %a1) + ret void +} +define void @lgl_StencilOpSeparate(i32 %a0, i32 %a1, i32 %a2, i32 %a3) { +entry: + %fp = load ptr, ptr @lgl_p_StencilOpSeparate + call void %fp(i32 %a0, i32 %a1, i32 %a2, i32 %a3) + ret void +} +define void @lgl_StencilFuncSeparate(i32 %a0, i32 %a1, i32 %a2, i32 %a3) { +entry: + %fp = load ptr, ptr @lgl_p_StencilFuncSeparate + call void %fp(i32 %a0, i32 %a1, i32 %a2, i32 %a3) + ret void +} +define void @lgl_StencilMaskSeparate(i32 %a0, i32 %a1) { +entry: + %fp = load ptr, ptr @lgl_p_StencilMaskSeparate + call void %fp(i32 %a0, i32 %a1) + ret void +} +define void @lgl_AttachShader(i32 %a0, i32 %a1) { +entry: + %fp = load ptr, ptr @lgl_p_AttachShader + call void %fp(i32 %a0, i32 %a1) + ret void +} +define void @lgl_BindAttribLocation(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_BindAttribLocation + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} +define void @lgl_CompileShader(i32 %a0) { +entry: + %fp = load ptr, ptr @lgl_p_CompileShader + call void %fp(i32 %a0) + ret void +} +define i32 @lgl_CreateProgram() { +entry: + %fp = load ptr, ptr @lgl_p_CreateProgram + %r = call i32 %fp() + ret i32 %r +} +define i32 @lgl_CreateShader(i32 %a0) { +entry: + %fp = load ptr, ptr @lgl_p_CreateShader + %r = call i32 %fp(i32 %a0) + ret i32 %r +} +define void @lgl_DeleteProgram(i32 %a0) { +entry: + %fp = load ptr, ptr @lgl_p_DeleteProgram + call void %fp(i32 %a0) + ret void +} +define void @lgl_DeleteShader(i32 %a0) { +entry: + %fp = load ptr, ptr @lgl_p_DeleteShader + call void %fp(i32 %a0) + ret void +} +define void @lgl_DetachShader(i32 %a0, i32 %a1) { +entry: + %fp = load ptr, ptr @lgl_p_DetachShader + call void %fp(i32 %a0, i32 %a1) + ret void +} +define void @lgl_DisableVertexAttribArray(i32 %a0) { +entry: + %fp = load ptr, ptr @lgl_p_DisableVertexAttribArray + call void %fp(i32 %a0) + ret void +} +define void @lgl_EnableVertexAttribArray(i32 %a0) { +entry: + %fp = load ptr, ptr @lgl_p_EnableVertexAttribArray + call void %fp(i32 %a0) + ret void +} +define void @lgl_GetActiveAttrib(i32 %a0, i32 %a1, i32 %a2, ptr %a3, ptr %a4, ptr %a5, ptr %a6) { +entry: + %fp = load ptr, ptr @lgl_p_GetActiveAttrib + call void %fp(i32 %a0, i32 %a1, i32 %a2, ptr %a3, ptr %a4, ptr %a5, ptr %a6) + ret void +} +define void @lgl_GetActiveUniform(i32 %a0, i32 %a1, i32 %a2, ptr %a3, ptr %a4, ptr %a5, ptr %a6) { +entry: + %fp = load ptr, ptr @lgl_p_GetActiveUniform + call void %fp(i32 %a0, i32 %a1, i32 %a2, ptr %a3, ptr %a4, ptr %a5, ptr %a6) + ret void +} +define void @lgl_GetAttachedShaders(i32 %a0, i32 %a1, ptr %a2, ptr %a3) { +entry: + %fp = load ptr, ptr @lgl_p_GetAttachedShaders + call void %fp(i32 %a0, i32 %a1, ptr %a2, ptr %a3) + ret void +} +define i32 @lgl_GetAttribLocation(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_GetAttribLocation + %r = call i32 %fp(i32 %a0, ptr %a1) + ret i32 %r +} +define void @lgl_GetProgramiv(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_GetProgramiv + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} +define void @lgl_GetProgramInfoLog(i32 %a0, i32 %a1, ptr %a2, ptr %a3) { +entry: + %fp = load ptr, ptr @lgl_p_GetProgramInfoLog + call void %fp(i32 %a0, i32 %a1, ptr %a2, ptr %a3) + ret void +} +define void @lgl_GetShaderiv(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_GetShaderiv + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} +define void @lgl_GetShaderInfoLog(i32 %a0, i32 %a1, ptr %a2, ptr %a3) { +entry: + %fp = load ptr, ptr @lgl_p_GetShaderInfoLog + call void %fp(i32 %a0, i32 %a1, ptr %a2, ptr %a3) + ret void +} +define void @lgl_GetShaderSource(i32 %a0, i32 %a1, ptr %a2, ptr %a3) { +entry: + %fp = load ptr, ptr @lgl_p_GetShaderSource + call void %fp(i32 %a0, i32 %a1, ptr %a2, ptr %a3) + ret void +} +define i32 @lgl_GetUniformLocation(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_GetUniformLocation + %r = call i32 %fp(i32 %a0, ptr %a1) + ret i32 %r +} +define void @lgl_GetUniformfv(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_GetUniformfv + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} +define void @lgl_GetUniformiv(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_GetUniformiv + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} +define void @lgl_GetVertexAttribdv(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_GetVertexAttribdv + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} +define void @lgl_GetVertexAttribfv(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_GetVertexAttribfv + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} +define void @lgl_GetVertexAttribiv(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_GetVertexAttribiv + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} +define void @lgl_GetVertexAttribPointerv(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_GetVertexAttribPointerv + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} +define i32 @lgl_IsProgram(i32 %a0) { +entry: + %fp = load ptr, ptr @lgl_p_IsProgram + %r = call i8 %fp(i32 %a0) + %z = zext i8 %r to i32 + ret i32 %z +} +define i32 @lgl_IsShader(i32 %a0) { +entry: + %fp = load ptr, ptr @lgl_p_IsShader + %r = call i8 %fp(i32 %a0) + %z = zext i8 %r to i32 + ret i32 %z +} +define void @lgl_LinkProgram(i32 %a0) { +entry: + %fp = load ptr, ptr @lgl_p_LinkProgram + call void %fp(i32 %a0) + ret void +} +define void @lgl_ShaderSource(i32 %a0, i32 %a1, ptr %a2, ptr %a3) { +entry: + %fp = load ptr, ptr @lgl_p_ShaderSource + call void %fp(i32 %a0, i32 %a1, ptr %a2, ptr %a3) + ret void +} +define void @lgl_UseProgram(i32 %a0) { +entry: + %fp = load ptr, ptr @lgl_p_UseProgram + call void %fp(i32 %a0) + ret void +} +define void @lgl_Uniform1f(i32 %a0, i32 %a1) { +entry: + %fp = load ptr, ptr @lgl_p_Uniform1f + %f1 = sitofp i32 %a1 to float + %c1 = fmul float %f1, 0x3EF0000000000000 + call void %fp(i32 %a0, float %c1) + ret void +} +define void @lgl_Uniform2f(i32 %a0, i32 %a1, i32 %a2) { +entry: + %fp = load ptr, ptr @lgl_p_Uniform2f + %f1 = sitofp i32 %a1 to float + %c1 = fmul float %f1, 0x3EF0000000000000 + %f2 = sitofp i32 %a2 to float + %c2 = fmul float %f2, 0x3EF0000000000000 + call void %fp(i32 %a0, float %c1, float %c2) + ret void +} +define void @lgl_Uniform3f(i32 %a0, i32 %a1, i32 %a2, i32 %a3) { +entry: + %fp = load ptr, ptr @lgl_p_Uniform3f + %f1 = sitofp i32 %a1 to float + %c1 = fmul float %f1, 0x3EF0000000000000 + %f2 = sitofp i32 %a2 to float + %c2 = fmul float %f2, 0x3EF0000000000000 + %f3 = sitofp i32 %a3 to float + %c3 = fmul float %f3, 0x3EF0000000000000 + call void %fp(i32 %a0, float %c1, float %c2, float %c3) + ret void +} +define void @lgl_Uniform4f(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4) { +entry: + %fp = load ptr, ptr @lgl_p_Uniform4f + %f1 = sitofp i32 %a1 to float + %c1 = fmul float %f1, 0x3EF0000000000000 + %f2 = sitofp i32 %a2 to float + %c2 = fmul float %f2, 0x3EF0000000000000 + %f3 = sitofp i32 %a3 to float + %c3 = fmul float %f3, 0x3EF0000000000000 + %f4 = sitofp i32 %a4 to float + %c4 = fmul float %f4, 0x3EF0000000000000 + call void %fp(i32 %a0, float %c1, float %c2, float %c3, float %c4) + ret void +} +define void @lgl_Uniform1i(i32 %a0, i32 %a1) { +entry: + %fp = load ptr, ptr @lgl_p_Uniform1i + call void %fp(i32 %a0, i32 %a1) + ret void +} +define void @lgl_Uniform2i(i32 %a0, i32 %a1, i32 %a2) { +entry: + %fp = load ptr, ptr @lgl_p_Uniform2i + call void %fp(i32 %a0, i32 %a1, i32 %a2) + ret void +} +define void @lgl_Uniform3i(i32 %a0, i32 %a1, i32 %a2, i32 %a3) { +entry: + %fp = load ptr, ptr @lgl_p_Uniform3i + call void %fp(i32 %a0, i32 %a1, i32 %a2, i32 %a3) + ret void +} +define void @lgl_Uniform4i(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4) { +entry: + %fp = load ptr, ptr @lgl_p_Uniform4i + call void %fp(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4) + ret void +} +define void @lgl_Uniform1fv(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_Uniform1fv + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} +define void @lgl_Uniform2fv(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_Uniform2fv + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} +define void @lgl_Uniform3fv(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_Uniform3fv + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} +define void @lgl_Uniform4fv(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_Uniform4fv + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} +define void @lgl_Uniform1iv(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_Uniform1iv + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} +define void @lgl_Uniform2iv(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_Uniform2iv + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} +define void @lgl_Uniform3iv(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_Uniform3iv + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} +define void @lgl_Uniform4iv(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_Uniform4iv + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} +define void @lgl_UniformMatrix2fv(i32 %a0, i32 %a1, i32 %a2, ptr %a3) { +entry: + %fp = load ptr, ptr @lgl_p_UniformMatrix2fv + %c2 = trunc i32 %a2 to i8 + call void %fp(i32 %a0, i32 %a1, i8 %c2, ptr %a3) + ret void +} +define void @lgl_UniformMatrix3fv(i32 %a0, i32 %a1, i32 %a2, ptr %a3) { +entry: + %fp = load ptr, ptr @lgl_p_UniformMatrix3fv + %c2 = trunc i32 %a2 to i8 + call void %fp(i32 %a0, i32 %a1, i8 %c2, ptr %a3) + ret void +} +define void @lgl_UniformMatrix4fv(i32 %a0, i32 %a1, i32 %a2, ptr %a3) { +entry: + %fp = load ptr, ptr @lgl_p_UniformMatrix4fv + %c2 = trunc i32 %a2 to i8 + call void %fp(i32 %a0, i32 %a1, i8 %c2, ptr %a3) + ret void +} +define void @lgl_ValidateProgram(i32 %a0) { +entry: + %fp = load ptr, ptr @lgl_p_ValidateProgram + call void %fp(i32 %a0) + ret void +} +define void @lgl_VertexAttrib1d(i32 %a0, i32 %a1) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttrib1d + %f1 = sitofp i32 %a1 to double + %c1 = fmul double %f1, 0x3EF0000000000000 + call void %fp(i32 %a0, double %c1) + ret void +} +define void @lgl_VertexAttrib1dv(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttrib1dv + call void %fp(i32 %a0, ptr %a1) + ret void +} +define void @lgl_VertexAttrib1f(i32 %a0, i32 %a1) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttrib1f + %f1 = sitofp i32 %a1 to float + %c1 = fmul float %f1, 0x3EF0000000000000 + call void %fp(i32 %a0, float %c1) + ret void +} +define void @lgl_VertexAttrib1fv(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttrib1fv + call void %fp(i32 %a0, ptr %a1) + ret void +} +define void @lgl_VertexAttrib1s(i32 %a0, i32 %a1) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttrib1s + %c1 = trunc i32 %a1 to i16 + call void %fp(i32 %a0, i16 %c1) + ret void +} +define void @lgl_VertexAttrib1sv(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttrib1sv + call void %fp(i32 %a0, ptr %a1) + ret void +} +define void @lgl_VertexAttrib2d(i32 %a0, i32 %a1, i32 %a2) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttrib2d + %f1 = sitofp i32 %a1 to double + %c1 = fmul double %f1, 0x3EF0000000000000 + %f2 = sitofp i32 %a2 to double + %c2 = fmul double %f2, 0x3EF0000000000000 + call void %fp(i32 %a0, double %c1, double %c2) + ret void +} +define void @lgl_VertexAttrib2dv(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttrib2dv + call void %fp(i32 %a0, ptr %a1) + ret void +} +define void @lgl_VertexAttrib2f(i32 %a0, i32 %a1, i32 %a2) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttrib2f + %f1 = sitofp i32 %a1 to float + %c1 = fmul float %f1, 0x3EF0000000000000 + %f2 = sitofp i32 %a2 to float + %c2 = fmul float %f2, 0x3EF0000000000000 + call void %fp(i32 %a0, float %c1, float %c2) + ret void +} +define void @lgl_VertexAttrib2fv(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttrib2fv + call void %fp(i32 %a0, ptr %a1) + ret void +} +define void @lgl_VertexAttrib2s(i32 %a0, i32 %a1, i32 %a2) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttrib2s + %c1 = trunc i32 %a1 to i16 + %c2 = trunc i32 %a2 to i16 + call void %fp(i32 %a0, i16 %c1, i16 %c2) + ret void +} +define void @lgl_VertexAttrib2sv(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttrib2sv + call void %fp(i32 %a0, ptr %a1) + ret void +} +define void @lgl_VertexAttrib3d(i32 %a0, i32 %a1, i32 %a2, i32 %a3) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttrib3d + %f1 = sitofp i32 %a1 to double + %c1 = fmul double %f1, 0x3EF0000000000000 + %f2 = sitofp i32 %a2 to double + %c2 = fmul double %f2, 0x3EF0000000000000 + %f3 = sitofp i32 %a3 to double + %c3 = fmul double %f3, 0x3EF0000000000000 + call void %fp(i32 %a0, double %c1, double %c2, double %c3) + ret void +} +define void @lgl_VertexAttrib3dv(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttrib3dv + call void %fp(i32 %a0, ptr %a1) + ret void +} +define void @lgl_VertexAttrib3f(i32 %a0, i32 %a1, i32 %a2, i32 %a3) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttrib3f + %f1 = sitofp i32 %a1 to float + %c1 = fmul float %f1, 0x3EF0000000000000 + %f2 = sitofp i32 %a2 to float + %c2 = fmul float %f2, 0x3EF0000000000000 + %f3 = sitofp i32 %a3 to float + %c3 = fmul float %f3, 0x3EF0000000000000 + call void %fp(i32 %a0, float %c1, float %c2, float %c3) + ret void +} +define void @lgl_VertexAttrib3fv(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttrib3fv + call void %fp(i32 %a0, ptr %a1) + ret void +} +define void @lgl_VertexAttrib3s(i32 %a0, i32 %a1, i32 %a2, i32 %a3) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttrib3s + %c1 = trunc i32 %a1 to i16 + %c2 = trunc i32 %a2 to i16 + %c3 = trunc i32 %a3 to i16 + call void %fp(i32 %a0, i16 %c1, i16 %c2, i16 %c3) + ret void +} +define void @lgl_VertexAttrib3sv(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttrib3sv + call void %fp(i32 %a0, ptr %a1) + ret void +} +define void @lgl_VertexAttrib4Nbv(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttrib4Nbv + call void %fp(i32 %a0, ptr %a1) + ret void +} +define void @lgl_VertexAttrib4Niv(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttrib4Niv + call void %fp(i32 %a0, ptr %a1) + ret void +} +define void @lgl_VertexAttrib4Nsv(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttrib4Nsv + call void %fp(i32 %a0, ptr %a1) + ret void +} +define void @lgl_VertexAttrib4Nub(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttrib4Nub + %c1 = trunc i32 %a1 to i8 + %c2 = trunc i32 %a2 to i8 + %c3 = trunc i32 %a3 to i8 + %c4 = trunc i32 %a4 to i8 + call void %fp(i32 %a0, i8 %c1, i8 %c2, i8 %c3, i8 %c4) + ret void +} +define void @lgl_VertexAttrib4Nubv(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttrib4Nubv + call void %fp(i32 %a0, ptr %a1) + ret void +} +define void @lgl_VertexAttrib4Nuiv(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttrib4Nuiv + call void %fp(i32 %a0, ptr %a1) + ret void +} +define void @lgl_VertexAttrib4Nusv(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttrib4Nusv + call void %fp(i32 %a0, ptr %a1) + ret void +} +define void @lgl_VertexAttrib4bv(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttrib4bv + call void %fp(i32 %a0, ptr %a1) + ret void +} +define void @lgl_VertexAttrib4d(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttrib4d + %f1 = sitofp i32 %a1 to double + %c1 = fmul double %f1, 0x3EF0000000000000 + %f2 = sitofp i32 %a2 to double + %c2 = fmul double %f2, 0x3EF0000000000000 + %f3 = sitofp i32 %a3 to double + %c3 = fmul double %f3, 0x3EF0000000000000 + %f4 = sitofp i32 %a4 to double + %c4 = fmul double %f4, 0x3EF0000000000000 + call void %fp(i32 %a0, double %c1, double %c2, double %c3, double %c4) + ret void +} +define void @lgl_VertexAttrib4dv(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttrib4dv + call void %fp(i32 %a0, ptr %a1) + ret void +} +define void @lgl_VertexAttrib4f(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttrib4f + %f1 = sitofp i32 %a1 to float + %c1 = fmul float %f1, 0x3EF0000000000000 + %f2 = sitofp i32 %a2 to float + %c2 = fmul float %f2, 0x3EF0000000000000 + %f3 = sitofp i32 %a3 to float + %c3 = fmul float %f3, 0x3EF0000000000000 + %f4 = sitofp i32 %a4 to float + %c4 = fmul float %f4, 0x3EF0000000000000 + call void %fp(i32 %a0, float %c1, float %c2, float %c3, float %c4) + ret void +} +define void @lgl_VertexAttrib4fv(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttrib4fv + call void %fp(i32 %a0, ptr %a1) + ret void +} +define void @lgl_VertexAttrib4iv(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttrib4iv + call void %fp(i32 %a0, ptr %a1) + ret void +} +define void @lgl_VertexAttrib4s(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttrib4s + %c1 = trunc i32 %a1 to i16 + %c2 = trunc i32 %a2 to i16 + %c3 = trunc i32 %a3 to i16 + %c4 = trunc i32 %a4 to i16 + call void %fp(i32 %a0, i16 %c1, i16 %c2, i16 %c3, i16 %c4) + ret void +} +define void @lgl_VertexAttrib4sv(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttrib4sv + call void %fp(i32 %a0, ptr %a1) + ret void +} +define void @lgl_VertexAttrib4ubv(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttrib4ubv + call void %fp(i32 %a0, ptr %a1) + ret void +} +define void @lgl_VertexAttrib4uiv(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttrib4uiv + call void %fp(i32 %a0, ptr %a1) + ret void +} +define void @lgl_VertexAttrib4usv(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttrib4usv + call void %fp(i32 %a0, ptr %a1) + ret void +} +define void @lgl_VertexAttribPointer(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4, ptr %a5) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttribPointer + %c3 = trunc i32 %a3 to i8 + call void %fp(i32 %a0, i32 %a1, i32 %a2, i8 %c3, i32 %a4, ptr %a5) + ret void +} +define void @lgl_UniformMatrix2x3fv(i32 %a0, i32 %a1, i32 %a2, ptr %a3) { +entry: + %fp = load ptr, ptr @lgl_p_UniformMatrix2x3fv + %c2 = trunc i32 %a2 to i8 + call void %fp(i32 %a0, i32 %a1, i8 %c2, ptr %a3) + ret void +} +define void @lgl_UniformMatrix3x2fv(i32 %a0, i32 %a1, i32 %a2, ptr %a3) { +entry: + %fp = load ptr, ptr @lgl_p_UniformMatrix3x2fv + %c2 = trunc i32 %a2 to i8 + call void %fp(i32 %a0, i32 %a1, i8 %c2, ptr %a3) + ret void +} +define void @lgl_UniformMatrix2x4fv(i32 %a0, i32 %a1, i32 %a2, ptr %a3) { +entry: + %fp = load ptr, ptr @lgl_p_UniformMatrix2x4fv + %c2 = trunc i32 %a2 to i8 + call void %fp(i32 %a0, i32 %a1, i8 %c2, ptr %a3) + ret void +} +define void @lgl_UniformMatrix4x2fv(i32 %a0, i32 %a1, i32 %a2, ptr %a3) { +entry: + %fp = load ptr, ptr @lgl_p_UniformMatrix4x2fv + %c2 = trunc i32 %a2 to i8 + call void %fp(i32 %a0, i32 %a1, i8 %c2, ptr %a3) + ret void +} +define void @lgl_UniformMatrix3x4fv(i32 %a0, i32 %a1, i32 %a2, ptr %a3) { +entry: + %fp = load ptr, ptr @lgl_p_UniformMatrix3x4fv + %c2 = trunc i32 %a2 to i8 + call void %fp(i32 %a0, i32 %a1, i8 %c2, ptr %a3) + ret void +} +define void @lgl_UniformMatrix4x3fv(i32 %a0, i32 %a1, i32 %a2, ptr %a3) { +entry: + %fp = load ptr, ptr @lgl_p_UniformMatrix4x3fv + %c2 = trunc i32 %a2 to i8 + call void %fp(i32 %a0, i32 %a1, i8 %c2, ptr %a3) + ret void +} +define void @lgl_ColorMaski(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4) { +entry: + %fp = load ptr, ptr @lgl_p_ColorMaski + %c1 = trunc i32 %a1 to i8 + %c2 = trunc i32 %a2 to i8 + %c3 = trunc i32 %a3 to i8 + %c4 = trunc i32 %a4 to i8 + call void %fp(i32 %a0, i8 %c1, i8 %c2, i8 %c3, i8 %c4) + ret void +} +define void @lgl_GetBooleani_v(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_GetBooleani_v + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} +define void @lgl_GetIntegeri_v(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_GetIntegeri_v + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} +define void @lgl_Enablei(i32 %a0, i32 %a1) { +entry: + %fp = load ptr, ptr @lgl_p_Enablei + call void %fp(i32 %a0, i32 %a1) + ret void +} +define void @lgl_Disablei(i32 %a0, i32 %a1) { +entry: + %fp = load ptr, ptr @lgl_p_Disablei + call void %fp(i32 %a0, i32 %a1) + ret void +} +define i32 @lgl_IsEnabledi(i32 %a0, i32 %a1) { +entry: + %fp = load ptr, ptr @lgl_p_IsEnabledi + %r = call i8 %fp(i32 %a0, i32 %a1) + %z = zext i8 %r to i32 + ret i32 %z +} +define void @lgl_BeginTransformFeedback(i32 %a0) { +entry: + %fp = load ptr, ptr @lgl_p_BeginTransformFeedback + call void %fp(i32 %a0) + ret void +} +define void @lgl_EndTransformFeedback() { +entry: + %fp = load ptr, ptr @lgl_p_EndTransformFeedback + call void %fp() + ret void +} +define void @lgl_BindBufferRange(i32 %a0, i32 %a1, i32 %a2, i64 %a3, i64 %a4) { +entry: + %fp = load ptr, ptr @lgl_p_BindBufferRange + call void %fp(i32 %a0, i32 %a1, i32 %a2, i64 %a3, i64 %a4) + ret void +} +define void @lgl_BindBufferBase(i32 %a0, i32 %a1, i32 %a2) { +entry: + %fp = load ptr, ptr @lgl_p_BindBufferBase + call void %fp(i32 %a0, i32 %a1, i32 %a2) + ret void +} +define void @lgl_TransformFeedbackVaryings(i32 %a0, i32 %a1, ptr %a2, i32 %a3) { +entry: + %fp = load ptr, ptr @lgl_p_TransformFeedbackVaryings + call void %fp(i32 %a0, i32 %a1, ptr %a2, i32 %a3) + ret void +} +define void @lgl_GetTransformFeedbackVarying(i32 %a0, i32 %a1, i32 %a2, ptr %a3, ptr %a4, ptr %a5, ptr %a6) { +entry: + %fp = load ptr, ptr @lgl_p_GetTransformFeedbackVarying + call void %fp(i32 %a0, i32 %a1, i32 %a2, ptr %a3, ptr %a4, ptr %a5, ptr %a6) + ret void +} +define void @lgl_ClampColor(i32 %a0, i32 %a1) { +entry: + %fp = load ptr, ptr @lgl_p_ClampColor + call void %fp(i32 %a0, i32 %a1) + ret void +} +define void @lgl_BeginConditionalRender(i32 %a0, i32 %a1) { +entry: + %fp = load ptr, ptr @lgl_p_BeginConditionalRender + call void %fp(i32 %a0, i32 %a1) + ret void +} +define void @lgl_EndConditionalRender() { +entry: + %fp = load ptr, ptr @lgl_p_EndConditionalRender + call void %fp() + ret void +} +define void @lgl_VertexAttribIPointer(i32 %a0, i32 %a1, i32 %a2, i32 %a3, ptr %a4) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttribIPointer + call void %fp(i32 %a0, i32 %a1, i32 %a2, i32 %a3, ptr %a4) + ret void +} +define void @lgl_GetVertexAttribIiv(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_GetVertexAttribIiv + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} +define void @lgl_GetVertexAttribIuiv(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_GetVertexAttribIuiv + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} +define void @lgl_VertexAttribI1i(i32 %a0, i32 %a1) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttribI1i + call void %fp(i32 %a0, i32 %a1) + ret void +} +define void @lgl_VertexAttribI2i(i32 %a0, i32 %a1, i32 %a2) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttribI2i + call void %fp(i32 %a0, i32 %a1, i32 %a2) + ret void +} +define void @lgl_VertexAttribI3i(i32 %a0, i32 %a1, i32 %a2, i32 %a3) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttribI3i + call void %fp(i32 %a0, i32 %a1, i32 %a2, i32 %a3) + ret void +} +define void @lgl_VertexAttribI4i(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttribI4i + call void %fp(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4) + ret void +} +define void @lgl_VertexAttribI1ui(i32 %a0, i32 %a1) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttribI1ui + call void %fp(i32 %a0, i32 %a1) + ret void +} +define void @lgl_VertexAttribI2ui(i32 %a0, i32 %a1, i32 %a2) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttribI2ui + call void %fp(i32 %a0, i32 %a1, i32 %a2) + ret void +} +define void @lgl_VertexAttribI3ui(i32 %a0, i32 %a1, i32 %a2, i32 %a3) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttribI3ui + call void %fp(i32 %a0, i32 %a1, i32 %a2, i32 %a3) + ret void +} +define void @lgl_VertexAttribI4ui(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttribI4ui + call void %fp(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4) + ret void +} +define void @lgl_VertexAttribI1iv(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttribI1iv + call void %fp(i32 %a0, ptr %a1) + ret void +} +define void @lgl_VertexAttribI2iv(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttribI2iv + call void %fp(i32 %a0, ptr %a1) + ret void +} +define void @lgl_VertexAttribI3iv(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttribI3iv + call void %fp(i32 %a0, ptr %a1) + ret void +} +define void @lgl_VertexAttribI4iv(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttribI4iv + call void %fp(i32 %a0, ptr %a1) + ret void +} +define void @lgl_VertexAttribI1uiv(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttribI1uiv + call void %fp(i32 %a0, ptr %a1) + ret void +} +define void @lgl_VertexAttribI2uiv(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttribI2uiv + call void %fp(i32 %a0, ptr %a1) + ret void +} +define void @lgl_VertexAttribI3uiv(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttribI3uiv + call void %fp(i32 %a0, ptr %a1) + ret void +} +define void @lgl_VertexAttribI4uiv(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttribI4uiv + call void %fp(i32 %a0, ptr %a1) + ret void +} +define void @lgl_VertexAttribI4bv(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttribI4bv + call void %fp(i32 %a0, ptr %a1) + ret void +} +define void @lgl_VertexAttribI4sv(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttribI4sv + call void %fp(i32 %a0, ptr %a1) + ret void +} +define void @lgl_VertexAttribI4ubv(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttribI4ubv + call void %fp(i32 %a0, ptr %a1) + ret void +} +define void @lgl_VertexAttribI4usv(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttribI4usv + call void %fp(i32 %a0, ptr %a1) + ret void +} +define void @lgl_GetUniformuiv(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_GetUniformuiv + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} +define void @lgl_BindFragDataLocation(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_BindFragDataLocation + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} +define i32 @lgl_GetFragDataLocation(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_GetFragDataLocation + %r = call i32 %fp(i32 %a0, ptr %a1) + ret i32 %r +} +define void @lgl_Uniform1ui(i32 %a0, i32 %a1) { +entry: + %fp = load ptr, ptr @lgl_p_Uniform1ui + call void %fp(i32 %a0, i32 %a1) + ret void +} +define void @lgl_Uniform2ui(i32 %a0, i32 %a1, i32 %a2) { +entry: + %fp = load ptr, ptr @lgl_p_Uniform2ui + call void %fp(i32 %a0, i32 %a1, i32 %a2) + ret void +} +define void @lgl_Uniform3ui(i32 %a0, i32 %a1, i32 %a2, i32 %a3) { +entry: + %fp = load ptr, ptr @lgl_p_Uniform3ui + call void %fp(i32 %a0, i32 %a1, i32 %a2, i32 %a3) + ret void +} +define void @lgl_Uniform4ui(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4) { +entry: + %fp = load ptr, ptr @lgl_p_Uniform4ui + call void %fp(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4) + ret void +} +define void @lgl_Uniform1uiv(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_Uniform1uiv + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} +define void @lgl_Uniform2uiv(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_Uniform2uiv + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} +define void @lgl_Uniform3uiv(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_Uniform3uiv + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} +define void @lgl_Uniform4uiv(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_Uniform4uiv + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} +define void @lgl_TexParameterIiv(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_TexParameterIiv + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} +define void @lgl_TexParameterIuiv(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_TexParameterIuiv + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} +define void @lgl_GetTexParameterIiv(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_GetTexParameterIiv + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} +define void @lgl_GetTexParameterIuiv(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_GetTexParameterIuiv + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} +define void @lgl_ClearBufferiv(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_ClearBufferiv + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} +define void @lgl_ClearBufferuiv(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_ClearBufferuiv + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} +define void @lgl_ClearBufferfv(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_ClearBufferfv + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} +define void @lgl_ClearBufferfi(i32 %a0, i32 %a1, i32 %a2, i32 %a3) { +entry: + %fp = load ptr, ptr @lgl_p_ClearBufferfi + %f2 = sitofp i32 %a2 to float + %c2 = fmul float %f2, 0x3EF0000000000000 + call void %fp(i32 %a0, i32 %a1, float %c2, i32 %a3) + ret void +} +define ptr @lgl_GetStringi(i32 %a0, i32 %a1) { +entry: + %fp = load ptr, ptr @lgl_p_GetStringi + %r = call ptr %fp(i32 %a0, i32 %a1) + ret ptr %r +} +define void @lgl_DrawArraysInstanced(i32 %a0, i32 %a1, i32 %a2, i32 %a3) { +entry: + %fp = load ptr, ptr @lgl_p_DrawArraysInstanced + call void %fp(i32 %a0, i32 %a1, i32 %a2, i32 %a3) + ret void +} +define void @lgl_DrawElementsInstanced(i32 %a0, i32 %a1, i32 %a2, ptr %a3, i32 %a4) { +entry: + %fp = load ptr, ptr @lgl_p_DrawElementsInstanced + call void %fp(i32 %a0, i32 %a1, i32 %a2, ptr %a3, i32 %a4) + ret void +} +define void @lgl_TexBuffer(i32 %a0, i32 %a1, i32 %a2) { +entry: + %fp = load ptr, ptr @lgl_p_TexBuffer + call void %fp(i32 %a0, i32 %a1, i32 %a2) + ret void +} +define void @lgl_PrimitiveRestartIndex(i32 %a0) { +entry: + %fp = load ptr, ptr @lgl_p_PrimitiveRestartIndex + call void %fp(i32 %a0) + ret void +} +define void @lgl_GetInteger64i_v(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_GetInteger64i_v + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} +define void @lgl_GetBufferParameteri64v(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_GetBufferParameteri64v + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} +define void @lgl_FramebufferTexture(i32 %a0, i32 %a1, i32 %a2, i32 %a3) { +entry: + %fp = load ptr, ptr @lgl_p_FramebufferTexture + call void %fp(i32 %a0, i32 %a1, i32 %a2, i32 %a3) + ret void +} +define void @lgl_VertexAttribDivisor(i32 %a0, i32 %a1) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttribDivisor + call void %fp(i32 %a0, i32 %a1) + ret void +} +define void @lgl_MinSampleShading(i32 %a0) { +entry: + %fp = load ptr, ptr @lgl_p_MinSampleShading + %f0 = sitofp i32 %a0 to float + %c0 = fmul float %f0, 0x3EF0000000000000 + call void %fp(float %c0) + ret void +} +define void @lgl_BlendEquationi(i32 %a0, i32 %a1) { +entry: + %fp = load ptr, ptr @lgl_p_BlendEquationi + call void %fp(i32 %a0, i32 %a1) + ret void +} +define void @lgl_BlendEquationSeparatei(i32 %a0, i32 %a1, i32 %a2) { +entry: + %fp = load ptr, ptr @lgl_p_BlendEquationSeparatei + call void %fp(i32 %a0, i32 %a1, i32 %a2) + ret void +} +define void @lgl_BlendFunci(i32 %a0, i32 %a1, i32 %a2) { +entry: + %fp = load ptr, ptr @lgl_p_BlendFunci + call void %fp(i32 %a0, i32 %a1, i32 %a2) + ret void +} +define void @lgl_BlendFuncSeparatei(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4) { +entry: + %fp = load ptr, ptr @lgl_p_BlendFuncSeparatei + call void %fp(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4) + ret void +} +define i32 @lgl_IsRenderbuffer(i32 %a0) { +entry: + %fp = load ptr, ptr @lgl_p_IsRenderbuffer + %r = call i8 %fp(i32 %a0) + %z = zext i8 %r to i32 + ret i32 %z +} +define void @lgl_BindRenderbuffer(i32 %a0, i32 %a1) { +entry: + %fp = load ptr, ptr @lgl_p_BindRenderbuffer + call void %fp(i32 %a0, i32 %a1) + ret void +} +define void @lgl_DeleteRenderbuffers(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_DeleteRenderbuffers + call void %fp(i32 %a0, ptr %a1) + ret void +} +define void @lgl_GenRenderbuffers(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_GenRenderbuffers + call void %fp(i32 %a0, ptr %a1) + ret void +} +define void @lgl_RenderbufferStorage(i32 %a0, i32 %a1, i32 %a2, i32 %a3) { +entry: + %fp = load ptr, ptr @lgl_p_RenderbufferStorage + call void %fp(i32 %a0, i32 %a1, i32 %a2, i32 %a3) + ret void +} +define void @lgl_GetRenderbufferParameteriv(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_GetRenderbufferParameteriv + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} +define i32 @lgl_IsFramebuffer(i32 %a0) { +entry: + %fp = load ptr, ptr @lgl_p_IsFramebuffer + %r = call i8 %fp(i32 %a0) + %z = zext i8 %r to i32 + ret i32 %z +} +define void @lgl_BindFramebuffer(i32 %a0, i32 %a1) { +entry: + %fp = load ptr, ptr @lgl_p_BindFramebuffer + call void %fp(i32 %a0, i32 %a1) + ret void +} +define void @lgl_DeleteFramebuffers(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_DeleteFramebuffers + call void %fp(i32 %a0, ptr %a1) + ret void +} +define void @lgl_GenFramebuffers(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_GenFramebuffers + call void %fp(i32 %a0, ptr %a1) + ret void +} +define i32 @lgl_CheckFramebufferStatus(i32 %a0) { +entry: + %fp = load ptr, ptr @lgl_p_CheckFramebufferStatus + %r = call i32 %fp(i32 %a0) + ret i32 %r +} +define void @lgl_FramebufferTexture1D(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4) { +entry: + %fp = load ptr, ptr @lgl_p_FramebufferTexture1D + call void %fp(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4) + ret void +} +define void @lgl_FramebufferTexture2D(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4) { +entry: + %fp = load ptr, ptr @lgl_p_FramebufferTexture2D + call void %fp(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4) + ret void +} +define void @lgl_FramebufferTexture3D(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4, i32 %a5) { +entry: + %fp = load ptr, ptr @lgl_p_FramebufferTexture3D + call void %fp(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4, i32 %a5) + ret void +} +define void @lgl_FramebufferRenderbuffer(i32 %a0, i32 %a1, i32 %a2, i32 %a3) { +entry: + %fp = load ptr, ptr @lgl_p_FramebufferRenderbuffer + call void %fp(i32 %a0, i32 %a1, i32 %a2, i32 %a3) + ret void +} +define void @lgl_GetFramebufferAttachmentParameteriv(i32 %a0, i32 %a1, i32 %a2, ptr %a3) { +entry: + %fp = load ptr, ptr @lgl_p_GetFramebufferAttachmentParameteriv + call void %fp(i32 %a0, i32 %a1, i32 %a2, ptr %a3) + ret void +} +define void @lgl_GenerateMipmap(i32 %a0) { +entry: + %fp = load ptr, ptr @lgl_p_GenerateMipmap + call void %fp(i32 %a0) + ret void +} +define void @lgl_BlitFramebuffer(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4, i32 %a5, i32 %a6, i32 %a7, i32 %a8, i32 %a9) { +entry: + %fp = load ptr, ptr @lgl_p_BlitFramebuffer + call void %fp(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4, i32 %a5, i32 %a6, i32 %a7, i32 %a8, i32 %a9) + ret void +} +define void @lgl_RenderbufferStorageMultisample(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4) { +entry: + %fp = load ptr, ptr @lgl_p_RenderbufferStorageMultisample + call void %fp(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4) + ret void +} +define void @lgl_FramebufferTextureLayer(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4) { +entry: + %fp = load ptr, ptr @lgl_p_FramebufferTextureLayer + call void %fp(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4) + ret void +} +define ptr @lgl_MapBufferRange(i32 %a0, i64 %a1, i64 %a2, i32 %a3) { +entry: + %fp = load ptr, ptr @lgl_p_MapBufferRange + %r = call ptr %fp(i32 %a0, i64 %a1, i64 %a2, i32 %a3) + ret ptr %r +} +define void @lgl_FlushMappedBufferRange(i32 %a0, i64 %a1, i64 %a2) { +entry: + %fp = load ptr, ptr @lgl_p_FlushMappedBufferRange + call void %fp(i32 %a0, i64 %a1, i64 %a2) + ret void +} +define void @lgl_BindVertexArray(i32 %a0) { +entry: + %fp = load ptr, ptr @lgl_p_BindVertexArray + call void %fp(i32 %a0) + ret void +} +define void @lgl_DeleteVertexArrays(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_DeleteVertexArrays + call void %fp(i32 %a0, ptr %a1) + ret void +} +define void @lgl_GenVertexArrays(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_GenVertexArrays + call void %fp(i32 %a0, ptr %a1) + ret void +} +define i32 @lgl_IsVertexArray(i32 %a0) { +entry: + %fp = load ptr, ptr @lgl_p_IsVertexArray + %r = call i8 %fp(i32 %a0) + %z = zext i8 %r to i32 + ret i32 %z +} +define void @lgl_GetUniformIndices(i32 %a0, i32 %a1, ptr %a2, ptr %a3) { +entry: + %fp = load ptr, ptr @lgl_p_GetUniformIndices + call void %fp(i32 %a0, i32 %a1, ptr %a2, ptr %a3) + ret void +} +define void @lgl_GetActiveUniformsiv(i32 %a0, i32 %a1, ptr %a2, i32 %a3, ptr %a4) { +entry: + %fp = load ptr, ptr @lgl_p_GetActiveUniformsiv + call void %fp(i32 %a0, i32 %a1, ptr %a2, i32 %a3, ptr %a4) + ret void +} +define void @lgl_GetActiveUniformName(i32 %a0, i32 %a1, i32 %a2, ptr %a3, ptr %a4) { +entry: + %fp = load ptr, ptr @lgl_p_GetActiveUniformName + call void %fp(i32 %a0, i32 %a1, i32 %a2, ptr %a3, ptr %a4) + ret void +} +define i32 @lgl_GetUniformBlockIndex(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_GetUniformBlockIndex + %r = call i32 %fp(i32 %a0, ptr %a1) + ret i32 %r +} +define void @lgl_GetActiveUniformBlockiv(i32 %a0, i32 %a1, i32 %a2, ptr %a3) { +entry: + %fp = load ptr, ptr @lgl_p_GetActiveUniformBlockiv + call void %fp(i32 %a0, i32 %a1, i32 %a2, ptr %a3) + ret void +} +define void @lgl_GetActiveUniformBlockName(i32 %a0, i32 %a1, i32 %a2, ptr %a3, ptr %a4) { +entry: + %fp = load ptr, ptr @lgl_p_GetActiveUniformBlockName + call void %fp(i32 %a0, i32 %a1, i32 %a2, ptr %a3, ptr %a4) + ret void +} +define void @lgl_UniformBlockBinding(i32 %a0, i32 %a1, i32 %a2) { +entry: + %fp = load ptr, ptr @lgl_p_UniformBlockBinding + call void %fp(i32 %a0, i32 %a1, i32 %a2) + ret void +} +define void @lgl_CopyBufferSubData(i32 %a0, i32 %a1, i64 %a2, i64 %a3, i64 %a4) { +entry: + %fp = load ptr, ptr @lgl_p_CopyBufferSubData + call void %fp(i32 %a0, i32 %a1, i64 %a2, i64 %a3, i64 %a4) + ret void +} +define void @lgl_DrawElementsBaseVertex(i32 %a0, i32 %a1, i32 %a2, ptr %a3, i32 %a4) { +entry: + %fp = load ptr, ptr @lgl_p_DrawElementsBaseVertex + call void %fp(i32 %a0, i32 %a1, i32 %a2, ptr %a3, i32 %a4) + ret void +} +define void @lgl_DrawRangeElementsBaseVertex(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4, ptr %a5, i32 %a6) { +entry: + %fp = load ptr, ptr @lgl_p_DrawRangeElementsBaseVertex + call void %fp(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4, ptr %a5, i32 %a6) + ret void +} +define void @lgl_DrawElementsInstancedBaseVertex(i32 %a0, i32 %a1, i32 %a2, ptr %a3, i32 %a4, i32 %a5) { +entry: + %fp = load ptr, ptr @lgl_p_DrawElementsInstancedBaseVertex + call void %fp(i32 %a0, i32 %a1, i32 %a2, ptr %a3, i32 %a4, i32 %a5) + ret void +} +define void @lgl_MultiDrawElementsBaseVertex(i32 %a0, ptr %a1, i32 %a2, ptr %a3, i32 %a4, ptr %a5) { +entry: + %fp = load ptr, ptr @lgl_p_MultiDrawElementsBaseVertex + call void %fp(i32 %a0, ptr %a1, i32 %a2, ptr %a3, i32 %a4, ptr %a5) + ret void +} +define void @lgl_ProvokingVertex(i32 %a0) { +entry: + %fp = load ptr, ptr @lgl_p_ProvokingVertex + call void %fp(i32 %a0) + ret void +} +define ptr @lgl_FenceSync(i32 %a0, i32 %a1) { +entry: + %fp = load ptr, ptr @lgl_p_FenceSync + %r = call ptr %fp(i32 %a0, i32 %a1) + ret ptr %r +} +define i32 @lgl_IsSync(ptr %a0) { +entry: + %fp = load ptr, ptr @lgl_p_IsSync + %r = call i8 %fp(ptr %a0) + %z = zext i8 %r to i32 + ret i32 %z +} +define void @lgl_DeleteSync(ptr %a0) { +entry: + %fp = load ptr, ptr @lgl_p_DeleteSync + call void %fp(ptr %a0) + ret void +} +define i32 @lgl_ClientWaitSync(ptr %a0, i32 %a1, i64 %a2) { +entry: + %fp = load ptr, ptr @lgl_p_ClientWaitSync + %r = call i32 %fp(ptr %a0, i32 %a1, i64 %a2) + ret i32 %r +} +define void @lgl_WaitSync(ptr %a0, i32 %a1, i64 %a2) { +entry: + %fp = load ptr, ptr @lgl_p_WaitSync + call void %fp(ptr %a0, i32 %a1, i64 %a2) + ret void +} +define void @lgl_GetInteger64v(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_GetInteger64v + call void %fp(i32 %a0, ptr %a1) + ret void +} +define void @lgl_GetSynciv(ptr %a0, i32 %a1, i32 %a2, ptr %a3, ptr %a4) { +entry: + %fp = load ptr, ptr @lgl_p_GetSynciv + call void %fp(ptr %a0, i32 %a1, i32 %a2, ptr %a3, ptr %a4) + ret void +} +define void @lgl_TexImage2DMultisample(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4, i32 %a5) { +entry: + %fp = load ptr, ptr @lgl_p_TexImage2DMultisample + %c5 = trunc i32 %a5 to i8 + call void %fp(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4, i8 %c5) + ret void +} +define void @lgl_TexImage3DMultisample(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4, i32 %a5, i32 %a6) { +entry: + %fp = load ptr, ptr @lgl_p_TexImage3DMultisample + %c6 = trunc i32 %a6 to i8 + call void %fp(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4, i32 %a5, i8 %c6) + ret void +} +define void @lgl_GetMultisamplefv(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_GetMultisamplefv + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} +define void @lgl_SampleMaski(i32 %a0, i32 %a1) { +entry: + %fp = load ptr, ptr @lgl_p_SampleMaski + call void %fp(i32 %a0, i32 %a1) + ret void +} +define void @lgl_BindFragDataLocationIndexed(i32 %a0, i32 %a1, i32 %a2, ptr %a3) { +entry: + %fp = load ptr, ptr @lgl_p_BindFragDataLocationIndexed + call void %fp(i32 %a0, i32 %a1, i32 %a2, ptr %a3) + ret void +} +define i32 @lgl_GetFragDataIndex(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_GetFragDataIndex + %r = call i32 %fp(i32 %a0, ptr %a1) + ret i32 %r +} +define void @lgl_GenSamplers(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_GenSamplers + call void %fp(i32 %a0, ptr %a1) + ret void +} +define void @lgl_DeleteSamplers(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_DeleteSamplers + call void %fp(i32 %a0, ptr %a1) + ret void +} +define i32 @lgl_IsSampler(i32 %a0) { +entry: + %fp = load ptr, ptr @lgl_p_IsSampler + %r = call i8 %fp(i32 %a0) + %z = zext i8 %r to i32 + ret i32 %z +} +define void @lgl_BindSampler(i32 %a0, i32 %a1) { +entry: + %fp = load ptr, ptr @lgl_p_BindSampler + call void %fp(i32 %a0, i32 %a1) + ret void +} +define void @lgl_SamplerParameteri(i32 %a0, i32 %a1, i32 %a2) { +entry: + %fp = load ptr, ptr @lgl_p_SamplerParameteri + call void %fp(i32 %a0, i32 %a1, i32 %a2) + ret void +} +define void @lgl_SamplerParameteriv(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_SamplerParameteriv + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} +define void @lgl_SamplerParameterf(i32 %a0, i32 %a1, i32 %a2) { +entry: + %fp = load ptr, ptr @lgl_p_SamplerParameterf + %f2 = sitofp i32 %a2 to float + %c2 = fmul float %f2, 0x3EF0000000000000 + call void %fp(i32 %a0, i32 %a1, float %c2) + ret void +} +define void @lgl_SamplerParameterfv(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_SamplerParameterfv + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} +define void @lgl_SamplerParameterIiv(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_SamplerParameterIiv + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} +define void @lgl_SamplerParameterIuiv(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_SamplerParameterIuiv + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} +define void @lgl_GetSamplerParameteriv(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_GetSamplerParameteriv + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} +define void @lgl_GetSamplerParameterIiv(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_GetSamplerParameterIiv + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} +define void @lgl_GetSamplerParameterfv(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_GetSamplerParameterfv + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} +define void @lgl_GetSamplerParameterIuiv(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_GetSamplerParameterIuiv + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} +define void @lgl_QueryCounter(i32 %a0, i32 %a1) { +entry: + %fp = load ptr, ptr @lgl_p_QueryCounter + call void %fp(i32 %a0, i32 %a1) + ret void +} +define void @lgl_GetQueryObjecti64v(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_GetQueryObjecti64v + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} +define void @lgl_GetQueryObjectui64v(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_GetQueryObjectui64v + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} +define void @lgl_VertexAttribP1ui(i32 %a0, i32 %a1, i32 %a2, i32 %a3) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttribP1ui + %c2 = trunc i32 %a2 to i8 + call void %fp(i32 %a0, i32 %a1, i8 %c2, i32 %a3) + ret void +} +define void @lgl_VertexAttribP1uiv(i32 %a0, i32 %a1, i32 %a2, ptr %a3) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttribP1uiv + %c2 = trunc i32 %a2 to i8 + call void %fp(i32 %a0, i32 %a1, i8 %c2, ptr %a3) + ret void +} +define void @lgl_VertexAttribP2ui(i32 %a0, i32 %a1, i32 %a2, i32 %a3) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttribP2ui + %c2 = trunc i32 %a2 to i8 + call void %fp(i32 %a0, i32 %a1, i8 %c2, i32 %a3) + ret void +} +define void @lgl_VertexAttribP2uiv(i32 %a0, i32 %a1, i32 %a2, ptr %a3) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttribP2uiv + %c2 = trunc i32 %a2 to i8 + call void %fp(i32 %a0, i32 %a1, i8 %c2, ptr %a3) + ret void +} +define void @lgl_VertexAttribP3ui(i32 %a0, i32 %a1, i32 %a2, i32 %a3) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttribP3ui + %c2 = trunc i32 %a2 to i8 + call void %fp(i32 %a0, i32 %a1, i8 %c2, i32 %a3) + ret void +} +define void @lgl_VertexAttribP3uiv(i32 %a0, i32 %a1, i32 %a2, ptr %a3) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttribP3uiv + %c2 = trunc i32 %a2 to i8 + call void %fp(i32 %a0, i32 %a1, i8 %c2, ptr %a3) + ret void +} +define void @lgl_VertexAttribP4ui(i32 %a0, i32 %a1, i32 %a2, i32 %a3) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttribP4ui + %c2 = trunc i32 %a2 to i8 + call void %fp(i32 %a0, i32 %a1, i8 %c2, i32 %a3) + ret void +} +define void @lgl_VertexAttribP4uiv(i32 %a0, i32 %a1, i32 %a2, ptr %a3) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttribP4uiv + %c2 = trunc i32 %a2 to i8 + call void %fp(i32 %a0, i32 %a1, i8 %c2, ptr %a3) + ret void +} +define void @lgl_DrawArraysIndirect(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_DrawArraysIndirect + call void %fp(i32 %a0, ptr %a1) + ret void +} +define void @lgl_DrawElementsIndirect(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_DrawElementsIndirect + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} +define void @lgl_Uniform1d(i32 %a0, i32 %a1) { +entry: + %fp = load ptr, ptr @lgl_p_Uniform1d + %f1 = sitofp i32 %a1 to double + %c1 = fmul double %f1, 0x3EF0000000000000 + call void %fp(i32 %a0, double %c1) + ret void +} +define void @lgl_Uniform2d(i32 %a0, i32 %a1, i32 %a2) { +entry: + %fp = load ptr, ptr @lgl_p_Uniform2d + %f1 = sitofp i32 %a1 to double + %c1 = fmul double %f1, 0x3EF0000000000000 + %f2 = sitofp i32 %a2 to double + %c2 = fmul double %f2, 0x3EF0000000000000 + call void %fp(i32 %a0, double %c1, double %c2) + ret void +} +define void @lgl_Uniform3d(i32 %a0, i32 %a1, i32 %a2, i32 %a3) { +entry: + %fp = load ptr, ptr @lgl_p_Uniform3d + %f1 = sitofp i32 %a1 to double + %c1 = fmul double %f1, 0x3EF0000000000000 + %f2 = sitofp i32 %a2 to double + %c2 = fmul double %f2, 0x3EF0000000000000 + %f3 = sitofp i32 %a3 to double + %c3 = fmul double %f3, 0x3EF0000000000000 + call void %fp(i32 %a0, double %c1, double %c2, double %c3) + ret void +} +define void @lgl_Uniform4d(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4) { +entry: + %fp = load ptr, ptr @lgl_p_Uniform4d + %f1 = sitofp i32 %a1 to double + %c1 = fmul double %f1, 0x3EF0000000000000 + %f2 = sitofp i32 %a2 to double + %c2 = fmul double %f2, 0x3EF0000000000000 + %f3 = sitofp i32 %a3 to double + %c3 = fmul double %f3, 0x3EF0000000000000 + %f4 = sitofp i32 %a4 to double + %c4 = fmul double %f4, 0x3EF0000000000000 + call void %fp(i32 %a0, double %c1, double %c2, double %c3, double %c4) + ret void +} +define void @lgl_Uniform1dv(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_Uniform1dv + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} +define void @lgl_Uniform2dv(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_Uniform2dv + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} +define void @lgl_Uniform3dv(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_Uniform3dv + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} +define void @lgl_Uniform4dv(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_Uniform4dv + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} +define void @lgl_UniformMatrix2dv(i32 %a0, i32 %a1, i32 %a2, ptr %a3) { +entry: + %fp = load ptr, ptr @lgl_p_UniformMatrix2dv + %c2 = trunc i32 %a2 to i8 + call void %fp(i32 %a0, i32 %a1, i8 %c2, ptr %a3) + ret void +} +define void @lgl_UniformMatrix3dv(i32 %a0, i32 %a1, i32 %a2, ptr %a3) { +entry: + %fp = load ptr, ptr @lgl_p_UniformMatrix3dv + %c2 = trunc i32 %a2 to i8 + call void %fp(i32 %a0, i32 %a1, i8 %c2, ptr %a3) + ret void +} +define void @lgl_UniformMatrix4dv(i32 %a0, i32 %a1, i32 %a2, ptr %a3) { +entry: + %fp = load ptr, ptr @lgl_p_UniformMatrix4dv + %c2 = trunc i32 %a2 to i8 + call void %fp(i32 %a0, i32 %a1, i8 %c2, ptr %a3) + ret void +} +define void @lgl_UniformMatrix2x3dv(i32 %a0, i32 %a1, i32 %a2, ptr %a3) { +entry: + %fp = load ptr, ptr @lgl_p_UniformMatrix2x3dv + %c2 = trunc i32 %a2 to i8 + call void %fp(i32 %a0, i32 %a1, i8 %c2, ptr %a3) + ret void +} +define void @lgl_UniformMatrix2x4dv(i32 %a0, i32 %a1, i32 %a2, ptr %a3) { +entry: + %fp = load ptr, ptr @lgl_p_UniformMatrix2x4dv + %c2 = trunc i32 %a2 to i8 + call void %fp(i32 %a0, i32 %a1, i8 %c2, ptr %a3) + ret void +} +define void @lgl_UniformMatrix3x2dv(i32 %a0, i32 %a1, i32 %a2, ptr %a3) { +entry: + %fp = load ptr, ptr @lgl_p_UniformMatrix3x2dv + %c2 = trunc i32 %a2 to i8 + call void %fp(i32 %a0, i32 %a1, i8 %c2, ptr %a3) + ret void +} +define void @lgl_UniformMatrix3x4dv(i32 %a0, i32 %a1, i32 %a2, ptr %a3) { +entry: + %fp = load ptr, ptr @lgl_p_UniformMatrix3x4dv + %c2 = trunc i32 %a2 to i8 + call void %fp(i32 %a0, i32 %a1, i8 %c2, ptr %a3) + ret void +} +define void @lgl_UniformMatrix4x2dv(i32 %a0, i32 %a1, i32 %a2, ptr %a3) { +entry: + %fp = load ptr, ptr @lgl_p_UniformMatrix4x2dv + %c2 = trunc i32 %a2 to i8 + call void %fp(i32 %a0, i32 %a1, i8 %c2, ptr %a3) + ret void +} +define void @lgl_UniformMatrix4x3dv(i32 %a0, i32 %a1, i32 %a2, ptr %a3) { +entry: + %fp = load ptr, ptr @lgl_p_UniformMatrix4x3dv + %c2 = trunc i32 %a2 to i8 + call void %fp(i32 %a0, i32 %a1, i8 %c2, ptr %a3) + ret void +} +define void @lgl_GetUniformdv(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_GetUniformdv + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} +define i32 @lgl_GetSubroutineUniformLocation(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_GetSubroutineUniformLocation + %r = call i32 %fp(i32 %a0, i32 %a1, ptr %a2) + ret i32 %r +} +define i32 @lgl_GetSubroutineIndex(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_GetSubroutineIndex + %r = call i32 %fp(i32 %a0, i32 %a1, ptr %a2) + ret i32 %r +} +define void @lgl_GetActiveSubroutineUniformiv(i32 %a0, i32 %a1, i32 %a2, i32 %a3, ptr %a4) { +entry: + %fp = load ptr, ptr @lgl_p_GetActiveSubroutineUniformiv + call void %fp(i32 %a0, i32 %a1, i32 %a2, i32 %a3, ptr %a4) + ret void +} +define void @lgl_GetActiveSubroutineUniformName(i32 %a0, i32 %a1, i32 %a2, i32 %a3, ptr %a4, ptr %a5) { +entry: + %fp = load ptr, ptr @lgl_p_GetActiveSubroutineUniformName + call void %fp(i32 %a0, i32 %a1, i32 %a2, i32 %a3, ptr %a4, ptr %a5) + ret void +} +define void @lgl_GetActiveSubroutineName(i32 %a0, i32 %a1, i32 %a2, i32 %a3, ptr %a4, ptr %a5) { +entry: + %fp = load ptr, ptr @lgl_p_GetActiveSubroutineName + call void %fp(i32 %a0, i32 %a1, i32 %a2, i32 %a3, ptr %a4, ptr %a5) + ret void +} +define void @lgl_UniformSubroutinesuiv(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_UniformSubroutinesuiv + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} +define void @lgl_GetUniformSubroutineuiv(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_GetUniformSubroutineuiv + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} +define void @lgl_GetProgramStageiv(i32 %a0, i32 %a1, i32 %a2, ptr %a3) { +entry: + %fp = load ptr, ptr @lgl_p_GetProgramStageiv + call void %fp(i32 %a0, i32 %a1, i32 %a2, ptr %a3) + ret void +} +define void @lgl_PatchParameteri(i32 %a0, i32 %a1) { +entry: + %fp = load ptr, ptr @lgl_p_PatchParameteri + call void %fp(i32 %a0, i32 %a1) + ret void +} +define void @lgl_PatchParameterfv(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_PatchParameterfv + call void %fp(i32 %a0, ptr %a1) + ret void +} +define void @lgl_BindTransformFeedback(i32 %a0, i32 %a1) { +entry: + %fp = load ptr, ptr @lgl_p_BindTransformFeedback + call void %fp(i32 %a0, i32 %a1) + ret void +} +define void @lgl_DeleteTransformFeedbacks(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_DeleteTransformFeedbacks + call void %fp(i32 %a0, ptr %a1) + ret void +} +define void @lgl_GenTransformFeedbacks(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_GenTransformFeedbacks + call void %fp(i32 %a0, ptr %a1) + ret void +} +define i32 @lgl_IsTransformFeedback(i32 %a0) { +entry: + %fp = load ptr, ptr @lgl_p_IsTransformFeedback + %r = call i8 %fp(i32 %a0) + %z = zext i8 %r to i32 + ret i32 %z +} +define void @lgl_PauseTransformFeedback() { +entry: + %fp = load ptr, ptr @lgl_p_PauseTransformFeedback + call void %fp() + ret void +} +define void @lgl_ResumeTransformFeedback() { +entry: + %fp = load ptr, ptr @lgl_p_ResumeTransformFeedback + call void %fp() + ret void +} +define void @lgl_DrawTransformFeedback(i32 %a0, i32 %a1) { +entry: + %fp = load ptr, ptr @lgl_p_DrawTransformFeedback + call void %fp(i32 %a0, i32 %a1) + ret void +} +define void @lgl_DrawTransformFeedbackStream(i32 %a0, i32 %a1, i32 %a2) { +entry: + %fp = load ptr, ptr @lgl_p_DrawTransformFeedbackStream + call void %fp(i32 %a0, i32 %a1, i32 %a2) + ret void +} +define void @lgl_BeginQueryIndexed(i32 %a0, i32 %a1, i32 %a2) { +entry: + %fp = load ptr, ptr @lgl_p_BeginQueryIndexed + call void %fp(i32 %a0, i32 %a1, i32 %a2) + ret void +} +define void @lgl_EndQueryIndexed(i32 %a0, i32 %a1) { +entry: + %fp = load ptr, ptr @lgl_p_EndQueryIndexed + call void %fp(i32 %a0, i32 %a1) + ret void +} +define void @lgl_GetQueryIndexediv(i32 %a0, i32 %a1, i32 %a2, ptr %a3) { +entry: + %fp = load ptr, ptr @lgl_p_GetQueryIndexediv + call void %fp(i32 %a0, i32 %a1, i32 %a2, ptr %a3) + ret void +} +define void @lgl_ReleaseShaderCompiler() { +entry: + %fp = load ptr, ptr @lgl_p_ReleaseShaderCompiler + call void %fp() + ret void +} +define void @lgl_ShaderBinary(i32 %a0, ptr %a1, i32 %a2, ptr %a3, i32 %a4) { +entry: + %fp = load ptr, ptr @lgl_p_ShaderBinary + call void %fp(i32 %a0, ptr %a1, i32 %a2, ptr %a3, i32 %a4) + ret void +} +define void @lgl_GetShaderPrecisionFormat(i32 %a0, i32 %a1, ptr %a2, ptr %a3) { +entry: + %fp = load ptr, ptr @lgl_p_GetShaderPrecisionFormat + call void %fp(i32 %a0, i32 %a1, ptr %a2, ptr %a3) + ret void +} +define void @lgl_DepthRangef(i32 %a0, i32 %a1) { +entry: + %fp = load ptr, ptr @lgl_p_DepthRangef + %f0 = sitofp i32 %a0 to float + %c0 = fmul float %f0, 0x3EF0000000000000 + %f1 = sitofp i32 %a1 to float + %c1 = fmul float %f1, 0x3EF0000000000000 + call void %fp(float %c0, float %c1) + ret void +} +define void @lgl_ClearDepthf(i32 %a0) { +entry: + %fp = load ptr, ptr @lgl_p_ClearDepthf + %f0 = sitofp i32 %a0 to float + %c0 = fmul float %f0, 0x3EF0000000000000 + call void %fp(float %c0) + ret void +} +define void @lgl_GetProgramBinary(i32 %a0, i32 %a1, ptr %a2, ptr %a3, ptr %a4) { +entry: + %fp = load ptr, ptr @lgl_p_GetProgramBinary + call void %fp(i32 %a0, i32 %a1, ptr %a2, ptr %a3, ptr %a4) + ret void +} +define void @lgl_ProgramBinary(i32 %a0, i32 %a1, ptr %a2, i32 %a3) { +entry: + %fp = load ptr, ptr @lgl_p_ProgramBinary + call void %fp(i32 %a0, i32 %a1, ptr %a2, i32 %a3) + ret void +} +define void @lgl_ProgramParameteri(i32 %a0, i32 %a1, i32 %a2) { +entry: + %fp = load ptr, ptr @lgl_p_ProgramParameteri + call void %fp(i32 %a0, i32 %a1, i32 %a2) + ret void +} +define void @lgl_UseProgramStages(i32 %a0, i32 %a1, i32 %a2) { +entry: + %fp = load ptr, ptr @lgl_p_UseProgramStages + call void %fp(i32 %a0, i32 %a1, i32 %a2) + ret void +} +define void @lgl_ActiveShaderProgram(i32 %a0, i32 %a1) { +entry: + %fp = load ptr, ptr @lgl_p_ActiveShaderProgram + call void %fp(i32 %a0, i32 %a1) + ret void +} +define i32 @lgl_CreateShaderProgramv(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_CreateShaderProgramv + %r = call i32 %fp(i32 %a0, i32 %a1, ptr %a2) + ret i32 %r +} +define void @lgl_BindProgramPipeline(i32 %a0) { +entry: + %fp = load ptr, ptr @lgl_p_BindProgramPipeline + call void %fp(i32 %a0) + ret void +} +define void @lgl_DeleteProgramPipelines(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_DeleteProgramPipelines + call void %fp(i32 %a0, ptr %a1) + ret void +} +define void @lgl_GenProgramPipelines(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_GenProgramPipelines + call void %fp(i32 %a0, ptr %a1) + ret void +} +define i32 @lgl_IsProgramPipeline(i32 %a0) { +entry: + %fp = load ptr, ptr @lgl_p_IsProgramPipeline + %r = call i8 %fp(i32 %a0) + %z = zext i8 %r to i32 + ret i32 %z +} +define void @lgl_GetProgramPipelineiv(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_GetProgramPipelineiv + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} +define void @lgl_ProgramUniform1i(i32 %a0, i32 %a1, i32 %a2) { +entry: + %fp = load ptr, ptr @lgl_p_ProgramUniform1i + call void %fp(i32 %a0, i32 %a1, i32 %a2) + ret void +} +define void @lgl_ProgramUniform1iv(i32 %a0, i32 %a1, i32 %a2, ptr %a3) { +entry: + %fp = load ptr, ptr @lgl_p_ProgramUniform1iv + call void %fp(i32 %a0, i32 %a1, i32 %a2, ptr %a3) + ret void +} +define void @lgl_ProgramUniform1f(i32 %a0, i32 %a1, i32 %a2) { +entry: + %fp = load ptr, ptr @lgl_p_ProgramUniform1f + %f2 = sitofp i32 %a2 to float + %c2 = fmul float %f2, 0x3EF0000000000000 + call void %fp(i32 %a0, i32 %a1, float %c2) + ret void +} +define void @lgl_ProgramUniform1fv(i32 %a0, i32 %a1, i32 %a2, ptr %a3) { +entry: + %fp = load ptr, ptr @lgl_p_ProgramUniform1fv + call void %fp(i32 %a0, i32 %a1, i32 %a2, ptr %a3) + ret void +} +define void @lgl_ProgramUniform1d(i32 %a0, i32 %a1, i32 %a2) { +entry: + %fp = load ptr, ptr @lgl_p_ProgramUniform1d + %f2 = sitofp i32 %a2 to double + %c2 = fmul double %f2, 0x3EF0000000000000 + call void %fp(i32 %a0, i32 %a1, double %c2) + ret void +} +define void @lgl_ProgramUniform1dv(i32 %a0, i32 %a1, i32 %a2, ptr %a3) { +entry: + %fp = load ptr, ptr @lgl_p_ProgramUniform1dv + call void %fp(i32 %a0, i32 %a1, i32 %a2, ptr %a3) + ret void +} +define void @lgl_ProgramUniform1ui(i32 %a0, i32 %a1, i32 %a2) { +entry: + %fp = load ptr, ptr @lgl_p_ProgramUniform1ui + call void %fp(i32 %a0, i32 %a1, i32 %a2) + ret void +} +define void @lgl_ProgramUniform1uiv(i32 %a0, i32 %a1, i32 %a2, ptr %a3) { +entry: + %fp = load ptr, ptr @lgl_p_ProgramUniform1uiv + call void %fp(i32 %a0, i32 %a1, i32 %a2, ptr %a3) + ret void +} +define void @lgl_ProgramUniform2i(i32 %a0, i32 %a1, i32 %a2, i32 %a3) { +entry: + %fp = load ptr, ptr @lgl_p_ProgramUniform2i + call void %fp(i32 %a0, i32 %a1, i32 %a2, i32 %a3) + ret void +} +define void @lgl_ProgramUniform2iv(i32 %a0, i32 %a1, i32 %a2, ptr %a3) { +entry: + %fp = load ptr, ptr @lgl_p_ProgramUniform2iv + call void %fp(i32 %a0, i32 %a1, i32 %a2, ptr %a3) + ret void +} +define void @lgl_ProgramUniform2f(i32 %a0, i32 %a1, i32 %a2, i32 %a3) { +entry: + %fp = load ptr, ptr @lgl_p_ProgramUniform2f + %f2 = sitofp i32 %a2 to float + %c2 = fmul float %f2, 0x3EF0000000000000 + %f3 = sitofp i32 %a3 to float + %c3 = fmul float %f3, 0x3EF0000000000000 + call void %fp(i32 %a0, i32 %a1, float %c2, float %c3) + ret void +} +define void @lgl_ProgramUniform2fv(i32 %a0, i32 %a1, i32 %a2, ptr %a3) { +entry: + %fp = load ptr, ptr @lgl_p_ProgramUniform2fv + call void %fp(i32 %a0, i32 %a1, i32 %a2, ptr %a3) + ret void +} +define void @lgl_ProgramUniform2d(i32 %a0, i32 %a1, i32 %a2, i32 %a3) { +entry: + %fp = load ptr, ptr @lgl_p_ProgramUniform2d + %f2 = sitofp i32 %a2 to double + %c2 = fmul double %f2, 0x3EF0000000000000 + %f3 = sitofp i32 %a3 to double + %c3 = fmul double %f3, 0x3EF0000000000000 + call void %fp(i32 %a0, i32 %a1, double %c2, double %c3) + ret void +} +define void @lgl_ProgramUniform2dv(i32 %a0, i32 %a1, i32 %a2, ptr %a3) { +entry: + %fp = load ptr, ptr @lgl_p_ProgramUniform2dv + call void %fp(i32 %a0, i32 %a1, i32 %a2, ptr %a3) + ret void +} +define void @lgl_ProgramUniform2ui(i32 %a0, i32 %a1, i32 %a2, i32 %a3) { +entry: + %fp = load ptr, ptr @lgl_p_ProgramUniform2ui + call void %fp(i32 %a0, i32 %a1, i32 %a2, i32 %a3) + ret void +} +define void @lgl_ProgramUniform2uiv(i32 %a0, i32 %a1, i32 %a2, ptr %a3) { +entry: + %fp = load ptr, ptr @lgl_p_ProgramUniform2uiv + call void %fp(i32 %a0, i32 %a1, i32 %a2, ptr %a3) + ret void +} +define void @lgl_ProgramUniform3i(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4) { +entry: + %fp = load ptr, ptr @lgl_p_ProgramUniform3i + call void %fp(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4) + ret void +} +define void @lgl_ProgramUniform3iv(i32 %a0, i32 %a1, i32 %a2, ptr %a3) { +entry: + %fp = load ptr, ptr @lgl_p_ProgramUniform3iv + call void %fp(i32 %a0, i32 %a1, i32 %a2, ptr %a3) + ret void +} +define void @lgl_ProgramUniform3f(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4) { +entry: + %fp = load ptr, ptr @lgl_p_ProgramUniform3f + %f2 = sitofp i32 %a2 to float + %c2 = fmul float %f2, 0x3EF0000000000000 + %f3 = sitofp i32 %a3 to float + %c3 = fmul float %f3, 0x3EF0000000000000 + %f4 = sitofp i32 %a4 to float + %c4 = fmul float %f4, 0x3EF0000000000000 + call void %fp(i32 %a0, i32 %a1, float %c2, float %c3, float %c4) + ret void +} +define void @lgl_ProgramUniform3fv(i32 %a0, i32 %a1, i32 %a2, ptr %a3) { +entry: + %fp = load ptr, ptr @lgl_p_ProgramUniform3fv + call void %fp(i32 %a0, i32 %a1, i32 %a2, ptr %a3) + ret void +} +define void @lgl_ProgramUniform3d(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4) { +entry: + %fp = load ptr, ptr @lgl_p_ProgramUniform3d + %f2 = sitofp i32 %a2 to double + %c2 = fmul double %f2, 0x3EF0000000000000 + %f3 = sitofp i32 %a3 to double + %c3 = fmul double %f3, 0x3EF0000000000000 + %f4 = sitofp i32 %a4 to double + %c4 = fmul double %f4, 0x3EF0000000000000 + call void %fp(i32 %a0, i32 %a1, double %c2, double %c3, double %c4) + ret void +} +define void @lgl_ProgramUniform3dv(i32 %a0, i32 %a1, i32 %a2, ptr %a3) { +entry: + %fp = load ptr, ptr @lgl_p_ProgramUniform3dv + call void %fp(i32 %a0, i32 %a1, i32 %a2, ptr %a3) + ret void +} +define void @lgl_ProgramUniform3ui(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4) { +entry: + %fp = load ptr, ptr @lgl_p_ProgramUniform3ui + call void %fp(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4) + ret void +} +define void @lgl_ProgramUniform3uiv(i32 %a0, i32 %a1, i32 %a2, ptr %a3) { +entry: + %fp = load ptr, ptr @lgl_p_ProgramUniform3uiv + call void %fp(i32 %a0, i32 %a1, i32 %a2, ptr %a3) + ret void +} +define void @lgl_ProgramUniform4i(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4, i32 %a5) { +entry: + %fp = load ptr, ptr @lgl_p_ProgramUniform4i + call void %fp(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4, i32 %a5) + ret void +} +define void @lgl_ProgramUniform4iv(i32 %a0, i32 %a1, i32 %a2, ptr %a3) { +entry: + %fp = load ptr, ptr @lgl_p_ProgramUniform4iv + call void %fp(i32 %a0, i32 %a1, i32 %a2, ptr %a3) + ret void +} +define void @lgl_ProgramUniform4f(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4, i32 %a5) { +entry: + %fp = load ptr, ptr @lgl_p_ProgramUniform4f + %f2 = sitofp i32 %a2 to float + %c2 = fmul float %f2, 0x3EF0000000000000 + %f3 = sitofp i32 %a3 to float + %c3 = fmul float %f3, 0x3EF0000000000000 + %f4 = sitofp i32 %a4 to float + %c4 = fmul float %f4, 0x3EF0000000000000 + %f5 = sitofp i32 %a5 to float + %c5 = fmul float %f5, 0x3EF0000000000000 + call void %fp(i32 %a0, i32 %a1, float %c2, float %c3, float %c4, float %c5) + ret void +} +define void @lgl_ProgramUniform4fv(i32 %a0, i32 %a1, i32 %a2, ptr %a3) { +entry: + %fp = load ptr, ptr @lgl_p_ProgramUniform4fv + call void %fp(i32 %a0, i32 %a1, i32 %a2, ptr %a3) + ret void +} +define void @lgl_ProgramUniform4d(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4, i32 %a5) { +entry: + %fp = load ptr, ptr @lgl_p_ProgramUniform4d + %f2 = sitofp i32 %a2 to double + %c2 = fmul double %f2, 0x3EF0000000000000 + %f3 = sitofp i32 %a3 to double + %c3 = fmul double %f3, 0x3EF0000000000000 + %f4 = sitofp i32 %a4 to double + %c4 = fmul double %f4, 0x3EF0000000000000 + %f5 = sitofp i32 %a5 to double + %c5 = fmul double %f5, 0x3EF0000000000000 + call void %fp(i32 %a0, i32 %a1, double %c2, double %c3, double %c4, double %c5) + ret void +} +define void @lgl_ProgramUniform4dv(i32 %a0, i32 %a1, i32 %a2, ptr %a3) { +entry: + %fp = load ptr, ptr @lgl_p_ProgramUniform4dv + call void %fp(i32 %a0, i32 %a1, i32 %a2, ptr %a3) + ret void +} +define void @lgl_ProgramUniform4ui(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4, i32 %a5) { +entry: + %fp = load ptr, ptr @lgl_p_ProgramUniform4ui + call void %fp(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4, i32 %a5) + ret void +} +define void @lgl_ProgramUniform4uiv(i32 %a0, i32 %a1, i32 %a2, ptr %a3) { +entry: + %fp = load ptr, ptr @lgl_p_ProgramUniform4uiv + call void %fp(i32 %a0, i32 %a1, i32 %a2, ptr %a3) + ret void +} +define void @lgl_ProgramUniformMatrix2fv(i32 %a0, i32 %a1, i32 %a2, i32 %a3, ptr %a4) { +entry: + %fp = load ptr, ptr @lgl_p_ProgramUniformMatrix2fv + %c3 = trunc i32 %a3 to i8 + call void %fp(i32 %a0, i32 %a1, i32 %a2, i8 %c3, ptr %a4) + ret void +} +define void @lgl_ProgramUniformMatrix3fv(i32 %a0, i32 %a1, i32 %a2, i32 %a3, ptr %a4) { +entry: + %fp = load ptr, ptr @lgl_p_ProgramUniformMatrix3fv + %c3 = trunc i32 %a3 to i8 + call void %fp(i32 %a0, i32 %a1, i32 %a2, i8 %c3, ptr %a4) + ret void +} +define void @lgl_ProgramUniformMatrix4fv(i32 %a0, i32 %a1, i32 %a2, i32 %a3, ptr %a4) { +entry: + %fp = load ptr, ptr @lgl_p_ProgramUniformMatrix4fv + %c3 = trunc i32 %a3 to i8 + call void %fp(i32 %a0, i32 %a1, i32 %a2, i8 %c3, ptr %a4) + ret void +} +define void @lgl_ProgramUniformMatrix2dv(i32 %a0, i32 %a1, i32 %a2, i32 %a3, ptr %a4) { +entry: + %fp = load ptr, ptr @lgl_p_ProgramUniformMatrix2dv + %c3 = trunc i32 %a3 to i8 + call void %fp(i32 %a0, i32 %a1, i32 %a2, i8 %c3, ptr %a4) + ret void +} +define void @lgl_ProgramUniformMatrix3dv(i32 %a0, i32 %a1, i32 %a2, i32 %a3, ptr %a4) { +entry: + %fp = load ptr, ptr @lgl_p_ProgramUniformMatrix3dv + %c3 = trunc i32 %a3 to i8 + call void %fp(i32 %a0, i32 %a1, i32 %a2, i8 %c3, ptr %a4) + ret void +} +define void @lgl_ProgramUniformMatrix4dv(i32 %a0, i32 %a1, i32 %a2, i32 %a3, ptr %a4) { +entry: + %fp = load ptr, ptr @lgl_p_ProgramUniformMatrix4dv + %c3 = trunc i32 %a3 to i8 + call void %fp(i32 %a0, i32 %a1, i32 %a2, i8 %c3, ptr %a4) + ret void +} +define void @lgl_ProgramUniformMatrix2x3fv(i32 %a0, i32 %a1, i32 %a2, i32 %a3, ptr %a4) { +entry: + %fp = load ptr, ptr @lgl_p_ProgramUniformMatrix2x3fv + %c3 = trunc i32 %a3 to i8 + call void %fp(i32 %a0, i32 %a1, i32 %a2, i8 %c3, ptr %a4) + ret void +} +define void @lgl_ProgramUniformMatrix3x2fv(i32 %a0, i32 %a1, i32 %a2, i32 %a3, ptr %a4) { +entry: + %fp = load ptr, ptr @lgl_p_ProgramUniformMatrix3x2fv + %c3 = trunc i32 %a3 to i8 + call void %fp(i32 %a0, i32 %a1, i32 %a2, i8 %c3, ptr %a4) + ret void +} +define void @lgl_ProgramUniformMatrix2x4fv(i32 %a0, i32 %a1, i32 %a2, i32 %a3, ptr %a4) { +entry: + %fp = load ptr, ptr @lgl_p_ProgramUniformMatrix2x4fv + %c3 = trunc i32 %a3 to i8 + call void %fp(i32 %a0, i32 %a1, i32 %a2, i8 %c3, ptr %a4) + ret void +} +define void @lgl_ProgramUniformMatrix4x2fv(i32 %a0, i32 %a1, i32 %a2, i32 %a3, ptr %a4) { +entry: + %fp = load ptr, ptr @lgl_p_ProgramUniformMatrix4x2fv + %c3 = trunc i32 %a3 to i8 + call void %fp(i32 %a0, i32 %a1, i32 %a2, i8 %c3, ptr %a4) + ret void +} +define void @lgl_ProgramUniformMatrix3x4fv(i32 %a0, i32 %a1, i32 %a2, i32 %a3, ptr %a4) { +entry: + %fp = load ptr, ptr @lgl_p_ProgramUniformMatrix3x4fv + %c3 = trunc i32 %a3 to i8 + call void %fp(i32 %a0, i32 %a1, i32 %a2, i8 %c3, ptr %a4) + ret void +} +define void @lgl_ProgramUniformMatrix4x3fv(i32 %a0, i32 %a1, i32 %a2, i32 %a3, ptr %a4) { +entry: + %fp = load ptr, ptr @lgl_p_ProgramUniformMatrix4x3fv + %c3 = trunc i32 %a3 to i8 + call void %fp(i32 %a0, i32 %a1, i32 %a2, i8 %c3, ptr %a4) + ret void +} +define void @lgl_ProgramUniformMatrix2x3dv(i32 %a0, i32 %a1, i32 %a2, i32 %a3, ptr %a4) { +entry: + %fp = load ptr, ptr @lgl_p_ProgramUniformMatrix2x3dv + %c3 = trunc i32 %a3 to i8 + call void %fp(i32 %a0, i32 %a1, i32 %a2, i8 %c3, ptr %a4) + ret void +} +define void @lgl_ProgramUniformMatrix3x2dv(i32 %a0, i32 %a1, i32 %a2, i32 %a3, ptr %a4) { +entry: + %fp = load ptr, ptr @lgl_p_ProgramUniformMatrix3x2dv + %c3 = trunc i32 %a3 to i8 + call void %fp(i32 %a0, i32 %a1, i32 %a2, i8 %c3, ptr %a4) + ret void +} +define void @lgl_ProgramUniformMatrix2x4dv(i32 %a0, i32 %a1, i32 %a2, i32 %a3, ptr %a4) { +entry: + %fp = load ptr, ptr @lgl_p_ProgramUniformMatrix2x4dv + %c3 = trunc i32 %a3 to i8 + call void %fp(i32 %a0, i32 %a1, i32 %a2, i8 %c3, ptr %a4) + ret void +} +define void @lgl_ProgramUniformMatrix4x2dv(i32 %a0, i32 %a1, i32 %a2, i32 %a3, ptr %a4) { +entry: + %fp = load ptr, ptr @lgl_p_ProgramUniformMatrix4x2dv + %c3 = trunc i32 %a3 to i8 + call void %fp(i32 %a0, i32 %a1, i32 %a2, i8 %c3, ptr %a4) + ret void +} +define void @lgl_ProgramUniformMatrix3x4dv(i32 %a0, i32 %a1, i32 %a2, i32 %a3, ptr %a4) { +entry: + %fp = load ptr, ptr @lgl_p_ProgramUniformMatrix3x4dv + %c3 = trunc i32 %a3 to i8 + call void %fp(i32 %a0, i32 %a1, i32 %a2, i8 %c3, ptr %a4) + ret void +} +define void @lgl_ProgramUniformMatrix4x3dv(i32 %a0, i32 %a1, i32 %a2, i32 %a3, ptr %a4) { +entry: + %fp = load ptr, ptr @lgl_p_ProgramUniformMatrix4x3dv + %c3 = trunc i32 %a3 to i8 + call void %fp(i32 %a0, i32 %a1, i32 %a2, i8 %c3, ptr %a4) + ret void +} +define void @lgl_ValidateProgramPipeline(i32 %a0) { +entry: + %fp = load ptr, ptr @lgl_p_ValidateProgramPipeline + call void %fp(i32 %a0) + ret void +} +define void @lgl_GetProgramPipelineInfoLog(i32 %a0, i32 %a1, ptr %a2, ptr %a3) { +entry: + %fp = load ptr, ptr @lgl_p_GetProgramPipelineInfoLog + call void %fp(i32 %a0, i32 %a1, ptr %a2, ptr %a3) + ret void +} +define void @lgl_VertexAttribL1d(i32 %a0, i32 %a1) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttribL1d + %f1 = sitofp i32 %a1 to double + %c1 = fmul double %f1, 0x3EF0000000000000 + call void %fp(i32 %a0, double %c1) + ret void +} +define void @lgl_VertexAttribL2d(i32 %a0, i32 %a1, i32 %a2) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttribL2d + %f1 = sitofp i32 %a1 to double + %c1 = fmul double %f1, 0x3EF0000000000000 + %f2 = sitofp i32 %a2 to double + %c2 = fmul double %f2, 0x3EF0000000000000 + call void %fp(i32 %a0, double %c1, double %c2) + ret void +} +define void @lgl_VertexAttribL3d(i32 %a0, i32 %a1, i32 %a2, i32 %a3) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttribL3d + %f1 = sitofp i32 %a1 to double + %c1 = fmul double %f1, 0x3EF0000000000000 + %f2 = sitofp i32 %a2 to double + %c2 = fmul double %f2, 0x3EF0000000000000 + %f3 = sitofp i32 %a3 to double + %c3 = fmul double %f3, 0x3EF0000000000000 + call void %fp(i32 %a0, double %c1, double %c2, double %c3) + ret void +} +define void @lgl_VertexAttribL4d(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttribL4d + %f1 = sitofp i32 %a1 to double + %c1 = fmul double %f1, 0x3EF0000000000000 + %f2 = sitofp i32 %a2 to double + %c2 = fmul double %f2, 0x3EF0000000000000 + %f3 = sitofp i32 %a3 to double + %c3 = fmul double %f3, 0x3EF0000000000000 + %f4 = sitofp i32 %a4 to double + %c4 = fmul double %f4, 0x3EF0000000000000 + call void %fp(i32 %a0, double %c1, double %c2, double %c3, double %c4) + ret void +} +define void @lgl_VertexAttribL1dv(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttribL1dv + call void %fp(i32 %a0, ptr %a1) + ret void +} +define void @lgl_VertexAttribL2dv(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttribL2dv + call void %fp(i32 %a0, ptr %a1) + ret void +} +define void @lgl_VertexAttribL3dv(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttribL3dv + call void %fp(i32 %a0, ptr %a1) + ret void +} +define void @lgl_VertexAttribL4dv(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttribL4dv + call void %fp(i32 %a0, ptr %a1) + ret void +} +define void @lgl_VertexAttribLPointer(i32 %a0, i32 %a1, i32 %a2, i32 %a3, ptr %a4) { +entry: + %fp = load ptr, ptr @lgl_p_VertexAttribLPointer + call void %fp(i32 %a0, i32 %a1, i32 %a2, i32 %a3, ptr %a4) + ret void +} +define void @lgl_GetVertexAttribLdv(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_GetVertexAttribLdv + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} +define void @lgl_ViewportArrayv(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_ViewportArrayv + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} +define void @lgl_ViewportIndexedf(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4) { +entry: + %fp = load ptr, ptr @lgl_p_ViewportIndexedf + %f1 = sitofp i32 %a1 to float + %c1 = fmul float %f1, 0x3EF0000000000000 + %f2 = sitofp i32 %a2 to float + %c2 = fmul float %f2, 0x3EF0000000000000 + %f3 = sitofp i32 %a3 to float + %c3 = fmul float %f3, 0x3EF0000000000000 + %f4 = sitofp i32 %a4 to float + %c4 = fmul float %f4, 0x3EF0000000000000 + call void %fp(i32 %a0, float %c1, float %c2, float %c3, float %c4) + ret void +} +define void @lgl_ViewportIndexedfv(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_ViewportIndexedfv + call void %fp(i32 %a0, ptr %a1) + ret void +} +define void @lgl_ScissorArrayv(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_ScissorArrayv + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} +define void @lgl_ScissorIndexed(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4) { +entry: + %fp = load ptr, ptr @lgl_p_ScissorIndexed + call void %fp(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4) + ret void +} +define void @lgl_ScissorIndexedv(i32 %a0, ptr %a1) { +entry: + %fp = load ptr, ptr @lgl_p_ScissorIndexedv + call void %fp(i32 %a0, ptr %a1) + ret void +} +define void @lgl_DepthRangeArrayv(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_DepthRangeArrayv + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} +define void @lgl_DepthRangeIndexed(i32 %a0, i32 %a1, i32 %a2) { +entry: + %fp = load ptr, ptr @lgl_p_DepthRangeIndexed + %f1 = sitofp i32 %a1 to double + %c1 = fmul double %f1, 0x3EF0000000000000 + %f2 = sitofp i32 %a2 to double + %c2 = fmul double %f2, 0x3EF0000000000000 + call void %fp(i32 %a0, double %c1, double %c2) + ret void +} +define void @lgl_GetFloati_v(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_GetFloati_v + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} +define void @lgl_GetDoublei_v(i32 %a0, i32 %a1, ptr %a2) { +entry: + %fp = load ptr, ptr @lgl_p_GetDoublei_v + call void %fp(i32 %a0, i32 %a1, ptr %a2) + ret void +} + +define i32 @lgl_win_load() { +entry: + %dll = call ptr @LoadLibraryA(ptr @.lgl_dll) + br label %f0 +f0: + %m0 = phi i32 [ 0, %entry ] + %w0 = call ptr @wglGetProcAddress(ptr @.lgl_n_CullFace) + %wi0 = ptrtoint ptr %w0 to i64 + %wa0 = add i64 %wi0, 1 + %bad0 = icmp ult i64 %wa0, 5 + br i1 %bad0, label %g0, label %s0 +g0: + %e0 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_CullFace) + br label %s0 +s0: + %p0 = phi ptr [ %w0, %f0 ], [ %e0, %g0 ] + store ptr %p0, ptr @lgl_p_CullFace + %u0 = icmp eq ptr %p0, null + %ui0 = zext i1 %u0 to i32 + %m1x = add i32 %m0, %ui0 + br label %f1 +f1: + %m1 = phi i32 [ %m1x, %s0 ] + %w1 = call ptr @wglGetProcAddress(ptr @.lgl_n_FrontFace) + %wi1 = ptrtoint ptr %w1 to i64 + %wa1 = add i64 %wi1, 1 + %bad1 = icmp ult i64 %wa1, 5 + br i1 %bad1, label %g1, label %s1 +g1: + %e1 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_FrontFace) + br label %s1 +s1: + %p1 = phi ptr [ %w1, %f1 ], [ %e1, %g1 ] + store ptr %p1, ptr @lgl_p_FrontFace + %u1 = icmp eq ptr %p1, null + %ui1 = zext i1 %u1 to i32 + %m2x = add i32 %m1, %ui1 + br label %f2 +f2: + %m2 = phi i32 [ %m2x, %s1 ] + %w2 = call ptr @wglGetProcAddress(ptr @.lgl_n_Hint) + %wi2 = ptrtoint ptr %w2 to i64 + %wa2 = add i64 %wi2, 1 + %bad2 = icmp ult i64 %wa2, 5 + br i1 %bad2, label %g2, label %s2 +g2: + %e2 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_Hint) + br label %s2 +s2: + %p2 = phi ptr [ %w2, %f2 ], [ %e2, %g2 ] + store ptr %p2, ptr @lgl_p_Hint + %u2 = icmp eq ptr %p2, null + %ui2 = zext i1 %u2 to i32 + %m3x = add i32 %m2, %ui2 + br label %f3 +f3: + %m3 = phi i32 [ %m3x, %s2 ] + %w3 = call ptr @wglGetProcAddress(ptr @.lgl_n_LineWidth) + %wi3 = ptrtoint ptr %w3 to i64 + %wa3 = add i64 %wi3, 1 + %bad3 = icmp ult i64 %wa3, 5 + br i1 %bad3, label %g3, label %s3 +g3: + %e3 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_LineWidth) + br label %s3 +s3: + %p3 = phi ptr [ %w3, %f3 ], [ %e3, %g3 ] + store ptr %p3, ptr @lgl_p_LineWidth + %u3 = icmp eq ptr %p3, null + %ui3 = zext i1 %u3 to i32 + %m4x = add i32 %m3, %ui3 + br label %f4 +f4: + %m4 = phi i32 [ %m4x, %s3 ] + %w4 = call ptr @wglGetProcAddress(ptr @.lgl_n_PointSize) + %wi4 = ptrtoint ptr %w4 to i64 + %wa4 = add i64 %wi4, 1 + %bad4 = icmp ult i64 %wa4, 5 + br i1 %bad4, label %g4, label %s4 +g4: + %e4 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_PointSize) + br label %s4 +s4: + %p4 = phi ptr [ %w4, %f4 ], [ %e4, %g4 ] + store ptr %p4, ptr @lgl_p_PointSize + %u4 = icmp eq ptr %p4, null + %ui4 = zext i1 %u4 to i32 + %m5x = add i32 %m4, %ui4 + br label %f5 +f5: + %m5 = phi i32 [ %m5x, %s4 ] + %w5 = call ptr @wglGetProcAddress(ptr @.lgl_n_PolygonMode) + %wi5 = ptrtoint ptr %w5 to i64 + %wa5 = add i64 %wi5, 1 + %bad5 = icmp ult i64 %wa5, 5 + br i1 %bad5, label %g5, label %s5 +g5: + %e5 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_PolygonMode) + br label %s5 +s5: + %p5 = phi ptr [ %w5, %f5 ], [ %e5, %g5 ] + store ptr %p5, ptr @lgl_p_PolygonMode + %u5 = icmp eq ptr %p5, null + %ui5 = zext i1 %u5 to i32 + %m6x = add i32 %m5, %ui5 + br label %f6 +f6: + %m6 = phi i32 [ %m6x, %s5 ] + %w6 = call ptr @wglGetProcAddress(ptr @.lgl_n_Scissor) + %wi6 = ptrtoint ptr %w6 to i64 + %wa6 = add i64 %wi6, 1 + %bad6 = icmp ult i64 %wa6, 5 + br i1 %bad6, label %g6, label %s6 +g6: + %e6 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_Scissor) + br label %s6 +s6: + %p6 = phi ptr [ %w6, %f6 ], [ %e6, %g6 ] + store ptr %p6, ptr @lgl_p_Scissor + %u6 = icmp eq ptr %p6, null + %ui6 = zext i1 %u6 to i32 + %m7x = add i32 %m6, %ui6 + br label %f7 +f7: + %m7 = phi i32 [ %m7x, %s6 ] + %w7 = call ptr @wglGetProcAddress(ptr @.lgl_n_TexParameterf) + %wi7 = ptrtoint ptr %w7 to i64 + %wa7 = add i64 %wi7, 1 + %bad7 = icmp ult i64 %wa7, 5 + br i1 %bad7, label %g7, label %s7 +g7: + %e7 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_TexParameterf) + br label %s7 +s7: + %p7 = phi ptr [ %w7, %f7 ], [ %e7, %g7 ] + store ptr %p7, ptr @lgl_p_TexParameterf + %u7 = icmp eq ptr %p7, null + %ui7 = zext i1 %u7 to i32 + %m8x = add i32 %m7, %ui7 + br label %f8 +f8: + %m8 = phi i32 [ %m8x, %s7 ] + %w8 = call ptr @wglGetProcAddress(ptr @.lgl_n_TexParameterfv) + %wi8 = ptrtoint ptr %w8 to i64 + %wa8 = add i64 %wi8, 1 + %bad8 = icmp ult i64 %wa8, 5 + br i1 %bad8, label %g8, label %s8 +g8: + %e8 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_TexParameterfv) + br label %s8 +s8: + %p8 = phi ptr [ %w8, %f8 ], [ %e8, %g8 ] + store ptr %p8, ptr @lgl_p_TexParameterfv + %u8 = icmp eq ptr %p8, null + %ui8 = zext i1 %u8 to i32 + %m9x = add i32 %m8, %ui8 + br label %f9 +f9: + %m9 = phi i32 [ %m9x, %s8 ] + %w9 = call ptr @wglGetProcAddress(ptr @.lgl_n_TexParameteri) + %wi9 = ptrtoint ptr %w9 to i64 + %wa9 = add i64 %wi9, 1 + %bad9 = icmp ult i64 %wa9, 5 + br i1 %bad9, label %g9, label %s9 +g9: + %e9 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_TexParameteri) + br label %s9 +s9: + %p9 = phi ptr [ %w9, %f9 ], [ %e9, %g9 ] + store ptr %p9, ptr @lgl_p_TexParameteri + %u9 = icmp eq ptr %p9, null + %ui9 = zext i1 %u9 to i32 + %m10x = add i32 %m9, %ui9 + br label %f10 +f10: + %m10 = phi i32 [ %m10x, %s9 ] + %w10 = call ptr @wglGetProcAddress(ptr @.lgl_n_TexParameteriv) + %wi10 = ptrtoint ptr %w10 to i64 + %wa10 = add i64 %wi10, 1 + %bad10 = icmp ult i64 %wa10, 5 + br i1 %bad10, label %g10, label %s10 +g10: + %e10 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_TexParameteriv) + br label %s10 +s10: + %p10 = phi ptr [ %w10, %f10 ], [ %e10, %g10 ] + store ptr %p10, ptr @lgl_p_TexParameteriv + %u10 = icmp eq ptr %p10, null + %ui10 = zext i1 %u10 to i32 + %m11x = add i32 %m10, %ui10 + br label %f11 +f11: + %m11 = phi i32 [ %m11x, %s10 ] + %w11 = call ptr @wglGetProcAddress(ptr @.lgl_n_TexImage1D) + %wi11 = ptrtoint ptr %w11 to i64 + %wa11 = add i64 %wi11, 1 + %bad11 = icmp ult i64 %wa11, 5 + br i1 %bad11, label %g11, label %s11 +g11: + %e11 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_TexImage1D) + br label %s11 +s11: + %p11 = phi ptr [ %w11, %f11 ], [ %e11, %g11 ] + store ptr %p11, ptr @lgl_p_TexImage1D + %u11 = icmp eq ptr %p11, null + %ui11 = zext i1 %u11 to i32 + %m12x = add i32 %m11, %ui11 + br label %f12 +f12: + %m12 = phi i32 [ %m12x, %s11 ] + %w12 = call ptr @wglGetProcAddress(ptr @.lgl_n_TexImage2D) + %wi12 = ptrtoint ptr %w12 to i64 + %wa12 = add i64 %wi12, 1 + %bad12 = icmp ult i64 %wa12, 5 + br i1 %bad12, label %g12, label %s12 +g12: + %e12 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_TexImage2D) + br label %s12 +s12: + %p12 = phi ptr [ %w12, %f12 ], [ %e12, %g12 ] + store ptr %p12, ptr @lgl_p_TexImage2D + %u12 = icmp eq ptr %p12, null + %ui12 = zext i1 %u12 to i32 + %m13x = add i32 %m12, %ui12 + br label %f13 +f13: + %m13 = phi i32 [ %m13x, %s12 ] + %w13 = call ptr @wglGetProcAddress(ptr @.lgl_n_DrawBuffer) + %wi13 = ptrtoint ptr %w13 to i64 + %wa13 = add i64 %wi13, 1 + %bad13 = icmp ult i64 %wa13, 5 + br i1 %bad13, label %g13, label %s13 +g13: + %e13 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_DrawBuffer) + br label %s13 +s13: + %p13 = phi ptr [ %w13, %f13 ], [ %e13, %g13 ] + store ptr %p13, ptr @lgl_p_DrawBuffer + %u13 = icmp eq ptr %p13, null + %ui13 = zext i1 %u13 to i32 + %m14x = add i32 %m13, %ui13 + br label %f14 +f14: + %m14 = phi i32 [ %m14x, %s13 ] + %w14 = call ptr @wglGetProcAddress(ptr @.lgl_n_Clear) + %wi14 = ptrtoint ptr %w14 to i64 + %wa14 = add i64 %wi14, 1 + %bad14 = icmp ult i64 %wa14, 5 + br i1 %bad14, label %g14, label %s14 +g14: + %e14 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_Clear) + br label %s14 +s14: + %p14 = phi ptr [ %w14, %f14 ], [ %e14, %g14 ] + store ptr %p14, ptr @lgl_p_Clear + %u14 = icmp eq ptr %p14, null + %ui14 = zext i1 %u14 to i32 + %m15x = add i32 %m14, %ui14 + br label %f15 +f15: + %m15 = phi i32 [ %m15x, %s14 ] + %w15 = call ptr @wglGetProcAddress(ptr @.lgl_n_ClearColor) + %wi15 = ptrtoint ptr %w15 to i64 + %wa15 = add i64 %wi15, 1 + %bad15 = icmp ult i64 %wa15, 5 + br i1 %bad15, label %g15, label %s15 +g15: + %e15 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ClearColor) + br label %s15 +s15: + %p15 = phi ptr [ %w15, %f15 ], [ %e15, %g15 ] + store ptr %p15, ptr @lgl_p_ClearColor + %u15 = icmp eq ptr %p15, null + %ui15 = zext i1 %u15 to i32 + %m16x = add i32 %m15, %ui15 + br label %f16 +f16: + %m16 = phi i32 [ %m16x, %s15 ] + %w16 = call ptr @wglGetProcAddress(ptr @.lgl_n_ClearStencil) + %wi16 = ptrtoint ptr %w16 to i64 + %wa16 = add i64 %wi16, 1 + %bad16 = icmp ult i64 %wa16, 5 + br i1 %bad16, label %g16, label %s16 +g16: + %e16 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ClearStencil) + br label %s16 +s16: + %p16 = phi ptr [ %w16, %f16 ], [ %e16, %g16 ] + store ptr %p16, ptr @lgl_p_ClearStencil + %u16 = icmp eq ptr %p16, null + %ui16 = zext i1 %u16 to i32 + %m17x = add i32 %m16, %ui16 + br label %f17 +f17: + %m17 = phi i32 [ %m17x, %s16 ] + %w17 = call ptr @wglGetProcAddress(ptr @.lgl_n_ClearDepth) + %wi17 = ptrtoint ptr %w17 to i64 + %wa17 = add i64 %wi17, 1 + %bad17 = icmp ult i64 %wa17, 5 + br i1 %bad17, label %g17, label %s17 +g17: + %e17 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ClearDepth) + br label %s17 +s17: + %p17 = phi ptr [ %w17, %f17 ], [ %e17, %g17 ] + store ptr %p17, ptr @lgl_p_ClearDepth + %u17 = icmp eq ptr %p17, null + %ui17 = zext i1 %u17 to i32 + %m18x = add i32 %m17, %ui17 + br label %f18 +f18: + %m18 = phi i32 [ %m18x, %s17 ] + %w18 = call ptr @wglGetProcAddress(ptr @.lgl_n_StencilMask) + %wi18 = ptrtoint ptr %w18 to i64 + %wa18 = add i64 %wi18, 1 + %bad18 = icmp ult i64 %wa18, 5 + br i1 %bad18, label %g18, label %s18 +g18: + %e18 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_StencilMask) + br label %s18 +s18: + %p18 = phi ptr [ %w18, %f18 ], [ %e18, %g18 ] + store ptr %p18, ptr @lgl_p_StencilMask + %u18 = icmp eq ptr %p18, null + %ui18 = zext i1 %u18 to i32 + %m19x = add i32 %m18, %ui18 + br label %f19 +f19: + %m19 = phi i32 [ %m19x, %s18 ] + %w19 = call ptr @wglGetProcAddress(ptr @.lgl_n_ColorMask) + %wi19 = ptrtoint ptr %w19 to i64 + %wa19 = add i64 %wi19, 1 + %bad19 = icmp ult i64 %wa19, 5 + br i1 %bad19, label %g19, label %s19 +g19: + %e19 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ColorMask) + br label %s19 +s19: + %p19 = phi ptr [ %w19, %f19 ], [ %e19, %g19 ] + store ptr %p19, ptr @lgl_p_ColorMask + %u19 = icmp eq ptr %p19, null + %ui19 = zext i1 %u19 to i32 + %m20x = add i32 %m19, %ui19 + br label %f20 +f20: + %m20 = phi i32 [ %m20x, %s19 ] + %w20 = call ptr @wglGetProcAddress(ptr @.lgl_n_DepthMask) + %wi20 = ptrtoint ptr %w20 to i64 + %wa20 = add i64 %wi20, 1 + %bad20 = icmp ult i64 %wa20, 5 + br i1 %bad20, label %g20, label %s20 +g20: + %e20 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_DepthMask) + br label %s20 +s20: + %p20 = phi ptr [ %w20, %f20 ], [ %e20, %g20 ] + store ptr %p20, ptr @lgl_p_DepthMask + %u20 = icmp eq ptr %p20, null + %ui20 = zext i1 %u20 to i32 + %m21x = add i32 %m20, %ui20 + br label %f21 +f21: + %m21 = phi i32 [ %m21x, %s20 ] + %w21 = call ptr @wglGetProcAddress(ptr @.lgl_n_Disable) + %wi21 = ptrtoint ptr %w21 to i64 + %wa21 = add i64 %wi21, 1 + %bad21 = icmp ult i64 %wa21, 5 + br i1 %bad21, label %g21, label %s21 +g21: + %e21 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_Disable) + br label %s21 +s21: + %p21 = phi ptr [ %w21, %f21 ], [ %e21, %g21 ] + store ptr %p21, ptr @lgl_p_Disable + %u21 = icmp eq ptr %p21, null + %ui21 = zext i1 %u21 to i32 + %m22x = add i32 %m21, %ui21 + br label %f22 +f22: + %m22 = phi i32 [ %m22x, %s21 ] + %w22 = call ptr @wglGetProcAddress(ptr @.lgl_n_Enable) + %wi22 = ptrtoint ptr %w22 to i64 + %wa22 = add i64 %wi22, 1 + %bad22 = icmp ult i64 %wa22, 5 + br i1 %bad22, label %g22, label %s22 +g22: + %e22 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_Enable) + br label %s22 +s22: + %p22 = phi ptr [ %w22, %f22 ], [ %e22, %g22 ] + store ptr %p22, ptr @lgl_p_Enable + %u22 = icmp eq ptr %p22, null + %ui22 = zext i1 %u22 to i32 + %m23x = add i32 %m22, %ui22 + br label %f23 +f23: + %m23 = phi i32 [ %m23x, %s22 ] + %w23 = call ptr @wglGetProcAddress(ptr @.lgl_n_Finish) + %wi23 = ptrtoint ptr %w23 to i64 + %wa23 = add i64 %wi23, 1 + %bad23 = icmp ult i64 %wa23, 5 + br i1 %bad23, label %g23, label %s23 +g23: + %e23 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_Finish) + br label %s23 +s23: + %p23 = phi ptr [ %w23, %f23 ], [ %e23, %g23 ] + store ptr %p23, ptr @lgl_p_Finish + %u23 = icmp eq ptr %p23, null + %ui23 = zext i1 %u23 to i32 + %m24x = add i32 %m23, %ui23 + br label %f24 +f24: + %m24 = phi i32 [ %m24x, %s23 ] + %w24 = call ptr @wglGetProcAddress(ptr @.lgl_n_Flush) + %wi24 = ptrtoint ptr %w24 to i64 + %wa24 = add i64 %wi24, 1 + %bad24 = icmp ult i64 %wa24, 5 + br i1 %bad24, label %g24, label %s24 +g24: + %e24 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_Flush) + br label %s24 +s24: + %p24 = phi ptr [ %w24, %f24 ], [ %e24, %g24 ] + store ptr %p24, ptr @lgl_p_Flush + %u24 = icmp eq ptr %p24, null + %ui24 = zext i1 %u24 to i32 + %m25x = add i32 %m24, %ui24 + br label %f25 +f25: + %m25 = phi i32 [ %m25x, %s24 ] + %w25 = call ptr @wglGetProcAddress(ptr @.lgl_n_BlendFunc) + %wi25 = ptrtoint ptr %w25 to i64 + %wa25 = add i64 %wi25, 1 + %bad25 = icmp ult i64 %wa25, 5 + br i1 %bad25, label %g25, label %s25 +g25: + %e25 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_BlendFunc) + br label %s25 +s25: + %p25 = phi ptr [ %w25, %f25 ], [ %e25, %g25 ] + store ptr %p25, ptr @lgl_p_BlendFunc + %u25 = icmp eq ptr %p25, null + %ui25 = zext i1 %u25 to i32 + %m26x = add i32 %m25, %ui25 + br label %f26 +f26: + %m26 = phi i32 [ %m26x, %s25 ] + %w26 = call ptr @wglGetProcAddress(ptr @.lgl_n_LogicOp) + %wi26 = ptrtoint ptr %w26 to i64 + %wa26 = add i64 %wi26, 1 + %bad26 = icmp ult i64 %wa26, 5 + br i1 %bad26, label %g26, label %s26 +g26: + %e26 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_LogicOp) + br label %s26 +s26: + %p26 = phi ptr [ %w26, %f26 ], [ %e26, %g26 ] + store ptr %p26, ptr @lgl_p_LogicOp + %u26 = icmp eq ptr %p26, null + %ui26 = zext i1 %u26 to i32 + %m27x = add i32 %m26, %ui26 + br label %f27 +f27: + %m27 = phi i32 [ %m27x, %s26 ] + %w27 = call ptr @wglGetProcAddress(ptr @.lgl_n_StencilFunc) + %wi27 = ptrtoint ptr %w27 to i64 + %wa27 = add i64 %wi27, 1 + %bad27 = icmp ult i64 %wa27, 5 + br i1 %bad27, label %g27, label %s27 +g27: + %e27 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_StencilFunc) + br label %s27 +s27: + %p27 = phi ptr [ %w27, %f27 ], [ %e27, %g27 ] + store ptr %p27, ptr @lgl_p_StencilFunc + %u27 = icmp eq ptr %p27, null + %ui27 = zext i1 %u27 to i32 + %m28x = add i32 %m27, %ui27 + br label %f28 +f28: + %m28 = phi i32 [ %m28x, %s27 ] + %w28 = call ptr @wglGetProcAddress(ptr @.lgl_n_StencilOp) + %wi28 = ptrtoint ptr %w28 to i64 + %wa28 = add i64 %wi28, 1 + %bad28 = icmp ult i64 %wa28, 5 + br i1 %bad28, label %g28, label %s28 +g28: + %e28 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_StencilOp) + br label %s28 +s28: + %p28 = phi ptr [ %w28, %f28 ], [ %e28, %g28 ] + store ptr %p28, ptr @lgl_p_StencilOp + %u28 = icmp eq ptr %p28, null + %ui28 = zext i1 %u28 to i32 + %m29x = add i32 %m28, %ui28 + br label %f29 +f29: + %m29 = phi i32 [ %m29x, %s28 ] + %w29 = call ptr @wglGetProcAddress(ptr @.lgl_n_DepthFunc) + %wi29 = ptrtoint ptr %w29 to i64 + %wa29 = add i64 %wi29, 1 + %bad29 = icmp ult i64 %wa29, 5 + br i1 %bad29, label %g29, label %s29 +g29: + %e29 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_DepthFunc) + br label %s29 +s29: + %p29 = phi ptr [ %w29, %f29 ], [ %e29, %g29 ] + store ptr %p29, ptr @lgl_p_DepthFunc + %u29 = icmp eq ptr %p29, null + %ui29 = zext i1 %u29 to i32 + %m30x = add i32 %m29, %ui29 + br label %f30 +f30: + %m30 = phi i32 [ %m30x, %s29 ] + %w30 = call ptr @wglGetProcAddress(ptr @.lgl_n_PixelStoref) + %wi30 = ptrtoint ptr %w30 to i64 + %wa30 = add i64 %wi30, 1 + %bad30 = icmp ult i64 %wa30, 5 + br i1 %bad30, label %g30, label %s30 +g30: + %e30 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_PixelStoref) + br label %s30 +s30: + %p30 = phi ptr [ %w30, %f30 ], [ %e30, %g30 ] + store ptr %p30, ptr @lgl_p_PixelStoref + %u30 = icmp eq ptr %p30, null + %ui30 = zext i1 %u30 to i32 + %m31x = add i32 %m30, %ui30 + br label %f31 +f31: + %m31 = phi i32 [ %m31x, %s30 ] + %w31 = call ptr @wglGetProcAddress(ptr @.lgl_n_PixelStorei) + %wi31 = ptrtoint ptr %w31 to i64 + %wa31 = add i64 %wi31, 1 + %bad31 = icmp ult i64 %wa31, 5 + br i1 %bad31, label %g31, label %s31 +g31: + %e31 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_PixelStorei) + br label %s31 +s31: + %p31 = phi ptr [ %w31, %f31 ], [ %e31, %g31 ] + store ptr %p31, ptr @lgl_p_PixelStorei + %u31 = icmp eq ptr %p31, null + %ui31 = zext i1 %u31 to i32 + %m32x = add i32 %m31, %ui31 + br label %f32 +f32: + %m32 = phi i32 [ %m32x, %s31 ] + %w32 = call ptr @wglGetProcAddress(ptr @.lgl_n_ReadBuffer) + %wi32 = ptrtoint ptr %w32 to i64 + %wa32 = add i64 %wi32, 1 + %bad32 = icmp ult i64 %wa32, 5 + br i1 %bad32, label %g32, label %s32 +g32: + %e32 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ReadBuffer) + br label %s32 +s32: + %p32 = phi ptr [ %w32, %f32 ], [ %e32, %g32 ] + store ptr %p32, ptr @lgl_p_ReadBuffer + %u32 = icmp eq ptr %p32, null + %ui32 = zext i1 %u32 to i32 + %m33x = add i32 %m32, %ui32 + br label %f33 +f33: + %m33 = phi i32 [ %m33x, %s32 ] + %w33 = call ptr @wglGetProcAddress(ptr @.lgl_n_ReadPixels) + %wi33 = ptrtoint ptr %w33 to i64 + %wa33 = add i64 %wi33, 1 + %bad33 = icmp ult i64 %wa33, 5 + br i1 %bad33, label %g33, label %s33 +g33: + %e33 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ReadPixels) + br label %s33 +s33: + %p33 = phi ptr [ %w33, %f33 ], [ %e33, %g33 ] + store ptr %p33, ptr @lgl_p_ReadPixels + %u33 = icmp eq ptr %p33, null + %ui33 = zext i1 %u33 to i32 + %m34x = add i32 %m33, %ui33 + br label %f34 +f34: + %m34 = phi i32 [ %m34x, %s33 ] + %w34 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetBooleanv) + %wi34 = ptrtoint ptr %w34 to i64 + %wa34 = add i64 %wi34, 1 + %bad34 = icmp ult i64 %wa34, 5 + br i1 %bad34, label %g34, label %s34 +g34: + %e34 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetBooleanv) + br label %s34 +s34: + %p34 = phi ptr [ %w34, %f34 ], [ %e34, %g34 ] + store ptr %p34, ptr @lgl_p_GetBooleanv + %u34 = icmp eq ptr %p34, null + %ui34 = zext i1 %u34 to i32 + %m35x = add i32 %m34, %ui34 + br label %f35 +f35: + %m35 = phi i32 [ %m35x, %s34 ] + %w35 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetDoublev) + %wi35 = ptrtoint ptr %w35 to i64 + %wa35 = add i64 %wi35, 1 + %bad35 = icmp ult i64 %wa35, 5 + br i1 %bad35, label %g35, label %s35 +g35: + %e35 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetDoublev) + br label %s35 +s35: + %p35 = phi ptr [ %w35, %f35 ], [ %e35, %g35 ] + store ptr %p35, ptr @lgl_p_GetDoublev + %u35 = icmp eq ptr %p35, null + %ui35 = zext i1 %u35 to i32 + %m36x = add i32 %m35, %ui35 + br label %f36 +f36: + %m36 = phi i32 [ %m36x, %s35 ] + %w36 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetError) + %wi36 = ptrtoint ptr %w36 to i64 + %wa36 = add i64 %wi36, 1 + %bad36 = icmp ult i64 %wa36, 5 + br i1 %bad36, label %g36, label %s36 +g36: + %e36 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetError) + br label %s36 +s36: + %p36 = phi ptr [ %w36, %f36 ], [ %e36, %g36 ] + store ptr %p36, ptr @lgl_p_GetError + %u36 = icmp eq ptr %p36, null + %ui36 = zext i1 %u36 to i32 + %m37x = add i32 %m36, %ui36 + br label %f37 +f37: + %m37 = phi i32 [ %m37x, %s36 ] + %w37 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetFloatv) + %wi37 = ptrtoint ptr %w37 to i64 + %wa37 = add i64 %wi37, 1 + %bad37 = icmp ult i64 %wa37, 5 + br i1 %bad37, label %g37, label %s37 +g37: + %e37 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetFloatv) + br label %s37 +s37: + %p37 = phi ptr [ %w37, %f37 ], [ %e37, %g37 ] + store ptr %p37, ptr @lgl_p_GetFloatv + %u37 = icmp eq ptr %p37, null + %ui37 = zext i1 %u37 to i32 + %m38x = add i32 %m37, %ui37 + br label %f38 +f38: + %m38 = phi i32 [ %m38x, %s37 ] + %w38 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetIntegerv) + %wi38 = ptrtoint ptr %w38 to i64 + %wa38 = add i64 %wi38, 1 + %bad38 = icmp ult i64 %wa38, 5 + br i1 %bad38, label %g38, label %s38 +g38: + %e38 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetIntegerv) + br label %s38 +s38: + %p38 = phi ptr [ %w38, %f38 ], [ %e38, %g38 ] + store ptr %p38, ptr @lgl_p_GetIntegerv + %u38 = icmp eq ptr %p38, null + %ui38 = zext i1 %u38 to i32 + %m39x = add i32 %m38, %ui38 + br label %f39 +f39: + %m39 = phi i32 [ %m39x, %s38 ] + %w39 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetString) + %wi39 = ptrtoint ptr %w39 to i64 + %wa39 = add i64 %wi39, 1 + %bad39 = icmp ult i64 %wa39, 5 + br i1 %bad39, label %g39, label %s39 +g39: + %e39 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetString) + br label %s39 +s39: + %p39 = phi ptr [ %w39, %f39 ], [ %e39, %g39 ] + store ptr %p39, ptr @lgl_p_GetString + %u39 = icmp eq ptr %p39, null + %ui39 = zext i1 %u39 to i32 + %m40x = add i32 %m39, %ui39 + br label %f40 +f40: + %m40 = phi i32 [ %m40x, %s39 ] + %w40 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetTexImage) + %wi40 = ptrtoint ptr %w40 to i64 + %wa40 = add i64 %wi40, 1 + %bad40 = icmp ult i64 %wa40, 5 + br i1 %bad40, label %g40, label %s40 +g40: + %e40 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetTexImage) + br label %s40 +s40: + %p40 = phi ptr [ %w40, %f40 ], [ %e40, %g40 ] + store ptr %p40, ptr @lgl_p_GetTexImage + %u40 = icmp eq ptr %p40, null + %ui40 = zext i1 %u40 to i32 + %m41x = add i32 %m40, %ui40 + br label %f41 +f41: + %m41 = phi i32 [ %m41x, %s40 ] + %w41 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetTexParameterfv) + %wi41 = ptrtoint ptr %w41 to i64 + %wa41 = add i64 %wi41, 1 + %bad41 = icmp ult i64 %wa41, 5 + br i1 %bad41, label %g41, label %s41 +g41: + %e41 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetTexParameterfv) + br label %s41 +s41: + %p41 = phi ptr [ %w41, %f41 ], [ %e41, %g41 ] + store ptr %p41, ptr @lgl_p_GetTexParameterfv + %u41 = icmp eq ptr %p41, null + %ui41 = zext i1 %u41 to i32 + %m42x = add i32 %m41, %ui41 + br label %f42 +f42: + %m42 = phi i32 [ %m42x, %s41 ] + %w42 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetTexParameteriv) + %wi42 = ptrtoint ptr %w42 to i64 + %wa42 = add i64 %wi42, 1 + %bad42 = icmp ult i64 %wa42, 5 + br i1 %bad42, label %g42, label %s42 +g42: + %e42 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetTexParameteriv) + br label %s42 +s42: + %p42 = phi ptr [ %w42, %f42 ], [ %e42, %g42 ] + store ptr %p42, ptr @lgl_p_GetTexParameteriv + %u42 = icmp eq ptr %p42, null + %ui42 = zext i1 %u42 to i32 + %m43x = add i32 %m42, %ui42 + br label %f43 +f43: + %m43 = phi i32 [ %m43x, %s42 ] + %w43 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetTexLevelParameterfv) + %wi43 = ptrtoint ptr %w43 to i64 + %wa43 = add i64 %wi43, 1 + %bad43 = icmp ult i64 %wa43, 5 + br i1 %bad43, label %g43, label %s43 +g43: + %e43 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetTexLevelParameterfv) + br label %s43 +s43: + %p43 = phi ptr [ %w43, %f43 ], [ %e43, %g43 ] + store ptr %p43, ptr @lgl_p_GetTexLevelParameterfv + %u43 = icmp eq ptr %p43, null + %ui43 = zext i1 %u43 to i32 + %m44x = add i32 %m43, %ui43 + br label %f44 +f44: + %m44 = phi i32 [ %m44x, %s43 ] + %w44 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetTexLevelParameteriv) + %wi44 = ptrtoint ptr %w44 to i64 + %wa44 = add i64 %wi44, 1 + %bad44 = icmp ult i64 %wa44, 5 + br i1 %bad44, label %g44, label %s44 +g44: + %e44 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetTexLevelParameteriv) + br label %s44 +s44: + %p44 = phi ptr [ %w44, %f44 ], [ %e44, %g44 ] + store ptr %p44, ptr @lgl_p_GetTexLevelParameteriv + %u44 = icmp eq ptr %p44, null + %ui44 = zext i1 %u44 to i32 + %m45x = add i32 %m44, %ui44 + br label %f45 +f45: + %m45 = phi i32 [ %m45x, %s44 ] + %w45 = call ptr @wglGetProcAddress(ptr @.lgl_n_IsEnabled) + %wi45 = ptrtoint ptr %w45 to i64 + %wa45 = add i64 %wi45, 1 + %bad45 = icmp ult i64 %wa45, 5 + br i1 %bad45, label %g45, label %s45 +g45: + %e45 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_IsEnabled) + br label %s45 +s45: + %p45 = phi ptr [ %w45, %f45 ], [ %e45, %g45 ] + store ptr %p45, ptr @lgl_p_IsEnabled + %u45 = icmp eq ptr %p45, null + %ui45 = zext i1 %u45 to i32 + %m46x = add i32 %m45, %ui45 + br label %f46 +f46: + %m46 = phi i32 [ %m46x, %s45 ] + %w46 = call ptr @wglGetProcAddress(ptr @.lgl_n_DepthRange) + %wi46 = ptrtoint ptr %w46 to i64 + %wa46 = add i64 %wi46, 1 + %bad46 = icmp ult i64 %wa46, 5 + br i1 %bad46, label %g46, label %s46 +g46: + %e46 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_DepthRange) + br label %s46 +s46: + %p46 = phi ptr [ %w46, %f46 ], [ %e46, %g46 ] + store ptr %p46, ptr @lgl_p_DepthRange + %u46 = icmp eq ptr %p46, null + %ui46 = zext i1 %u46 to i32 + %m47x = add i32 %m46, %ui46 + br label %f47 +f47: + %m47 = phi i32 [ %m47x, %s46 ] + %w47 = call ptr @wglGetProcAddress(ptr @.lgl_n_Viewport) + %wi47 = ptrtoint ptr %w47 to i64 + %wa47 = add i64 %wi47, 1 + %bad47 = icmp ult i64 %wa47, 5 + br i1 %bad47, label %g47, label %s47 +g47: + %e47 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_Viewport) + br label %s47 +s47: + %p47 = phi ptr [ %w47, %f47 ], [ %e47, %g47 ] + store ptr %p47, ptr @lgl_p_Viewport + %u47 = icmp eq ptr %p47, null + %ui47 = zext i1 %u47 to i32 + %m48x = add i32 %m47, %ui47 + br label %f48 +f48: + %m48 = phi i32 [ %m48x, %s47 ] + %w48 = call ptr @wglGetProcAddress(ptr @.lgl_n_DrawArrays) + %wi48 = ptrtoint ptr %w48 to i64 + %wa48 = add i64 %wi48, 1 + %bad48 = icmp ult i64 %wa48, 5 + br i1 %bad48, label %g48, label %s48 +g48: + %e48 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_DrawArrays) + br label %s48 +s48: + %p48 = phi ptr [ %w48, %f48 ], [ %e48, %g48 ] + store ptr %p48, ptr @lgl_p_DrawArrays + %u48 = icmp eq ptr %p48, null + %ui48 = zext i1 %u48 to i32 + %m49x = add i32 %m48, %ui48 + br label %f49 +f49: + %m49 = phi i32 [ %m49x, %s48 ] + %w49 = call ptr @wglGetProcAddress(ptr @.lgl_n_DrawElements) + %wi49 = ptrtoint ptr %w49 to i64 + %wa49 = add i64 %wi49, 1 + %bad49 = icmp ult i64 %wa49, 5 + br i1 %bad49, label %g49, label %s49 +g49: + %e49 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_DrawElements) + br label %s49 +s49: + %p49 = phi ptr [ %w49, %f49 ], [ %e49, %g49 ] + store ptr %p49, ptr @lgl_p_DrawElements + %u49 = icmp eq ptr %p49, null + %ui49 = zext i1 %u49 to i32 + %m50x = add i32 %m49, %ui49 + br label %f50 +f50: + %m50 = phi i32 [ %m50x, %s49 ] + %w50 = call ptr @wglGetProcAddress(ptr @.lgl_n_PolygonOffset) + %wi50 = ptrtoint ptr %w50 to i64 + %wa50 = add i64 %wi50, 1 + %bad50 = icmp ult i64 %wa50, 5 + br i1 %bad50, label %g50, label %s50 +g50: + %e50 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_PolygonOffset) + br label %s50 +s50: + %p50 = phi ptr [ %w50, %f50 ], [ %e50, %g50 ] + store ptr %p50, ptr @lgl_p_PolygonOffset + %u50 = icmp eq ptr %p50, null + %ui50 = zext i1 %u50 to i32 + %m51x = add i32 %m50, %ui50 + br label %f51 +f51: + %m51 = phi i32 [ %m51x, %s50 ] + %w51 = call ptr @wglGetProcAddress(ptr @.lgl_n_CopyTexImage1D) + %wi51 = ptrtoint ptr %w51 to i64 + %wa51 = add i64 %wi51, 1 + %bad51 = icmp ult i64 %wa51, 5 + br i1 %bad51, label %g51, label %s51 +g51: + %e51 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_CopyTexImage1D) + br label %s51 +s51: + %p51 = phi ptr [ %w51, %f51 ], [ %e51, %g51 ] + store ptr %p51, ptr @lgl_p_CopyTexImage1D + %u51 = icmp eq ptr %p51, null + %ui51 = zext i1 %u51 to i32 + %m52x = add i32 %m51, %ui51 + br label %f52 +f52: + %m52 = phi i32 [ %m52x, %s51 ] + %w52 = call ptr @wglGetProcAddress(ptr @.lgl_n_CopyTexImage2D) + %wi52 = ptrtoint ptr %w52 to i64 + %wa52 = add i64 %wi52, 1 + %bad52 = icmp ult i64 %wa52, 5 + br i1 %bad52, label %g52, label %s52 +g52: + %e52 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_CopyTexImage2D) + br label %s52 +s52: + %p52 = phi ptr [ %w52, %f52 ], [ %e52, %g52 ] + store ptr %p52, ptr @lgl_p_CopyTexImage2D + %u52 = icmp eq ptr %p52, null + %ui52 = zext i1 %u52 to i32 + %m53x = add i32 %m52, %ui52 + br label %f53 +f53: + %m53 = phi i32 [ %m53x, %s52 ] + %w53 = call ptr @wglGetProcAddress(ptr @.lgl_n_CopyTexSubImage1D) + %wi53 = ptrtoint ptr %w53 to i64 + %wa53 = add i64 %wi53, 1 + %bad53 = icmp ult i64 %wa53, 5 + br i1 %bad53, label %g53, label %s53 +g53: + %e53 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_CopyTexSubImage1D) + br label %s53 +s53: + %p53 = phi ptr [ %w53, %f53 ], [ %e53, %g53 ] + store ptr %p53, ptr @lgl_p_CopyTexSubImage1D + %u53 = icmp eq ptr %p53, null + %ui53 = zext i1 %u53 to i32 + %m54x = add i32 %m53, %ui53 + br label %f54 +f54: + %m54 = phi i32 [ %m54x, %s53 ] + %w54 = call ptr @wglGetProcAddress(ptr @.lgl_n_CopyTexSubImage2D) + %wi54 = ptrtoint ptr %w54 to i64 + %wa54 = add i64 %wi54, 1 + %bad54 = icmp ult i64 %wa54, 5 + br i1 %bad54, label %g54, label %s54 +g54: + %e54 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_CopyTexSubImage2D) + br label %s54 +s54: + %p54 = phi ptr [ %w54, %f54 ], [ %e54, %g54 ] + store ptr %p54, ptr @lgl_p_CopyTexSubImage2D + %u54 = icmp eq ptr %p54, null + %ui54 = zext i1 %u54 to i32 + %m55x = add i32 %m54, %ui54 + br label %f55 +f55: + %m55 = phi i32 [ %m55x, %s54 ] + %w55 = call ptr @wglGetProcAddress(ptr @.lgl_n_TexSubImage1D) + %wi55 = ptrtoint ptr %w55 to i64 + %wa55 = add i64 %wi55, 1 + %bad55 = icmp ult i64 %wa55, 5 + br i1 %bad55, label %g55, label %s55 +g55: + %e55 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_TexSubImage1D) + br label %s55 +s55: + %p55 = phi ptr [ %w55, %f55 ], [ %e55, %g55 ] + store ptr %p55, ptr @lgl_p_TexSubImage1D + %u55 = icmp eq ptr %p55, null + %ui55 = zext i1 %u55 to i32 + %m56x = add i32 %m55, %ui55 + br label %f56 +f56: + %m56 = phi i32 [ %m56x, %s55 ] + %w56 = call ptr @wglGetProcAddress(ptr @.lgl_n_TexSubImage2D) + %wi56 = ptrtoint ptr %w56 to i64 + %wa56 = add i64 %wi56, 1 + %bad56 = icmp ult i64 %wa56, 5 + br i1 %bad56, label %g56, label %s56 +g56: + %e56 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_TexSubImage2D) + br label %s56 +s56: + %p56 = phi ptr [ %w56, %f56 ], [ %e56, %g56 ] + store ptr %p56, ptr @lgl_p_TexSubImage2D + %u56 = icmp eq ptr %p56, null + %ui56 = zext i1 %u56 to i32 + %m57x = add i32 %m56, %ui56 + br label %f57 +f57: + %m57 = phi i32 [ %m57x, %s56 ] + %w57 = call ptr @wglGetProcAddress(ptr @.lgl_n_BindTexture) + %wi57 = ptrtoint ptr %w57 to i64 + %wa57 = add i64 %wi57, 1 + %bad57 = icmp ult i64 %wa57, 5 + br i1 %bad57, label %g57, label %s57 +g57: + %e57 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_BindTexture) + br label %s57 +s57: + %p57 = phi ptr [ %w57, %f57 ], [ %e57, %g57 ] + store ptr %p57, ptr @lgl_p_BindTexture + %u57 = icmp eq ptr %p57, null + %ui57 = zext i1 %u57 to i32 + %m58x = add i32 %m57, %ui57 + br label %f58 +f58: + %m58 = phi i32 [ %m58x, %s57 ] + %w58 = call ptr @wglGetProcAddress(ptr @.lgl_n_DeleteTextures) + %wi58 = ptrtoint ptr %w58 to i64 + %wa58 = add i64 %wi58, 1 + %bad58 = icmp ult i64 %wa58, 5 + br i1 %bad58, label %g58, label %s58 +g58: + %e58 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_DeleteTextures) + br label %s58 +s58: + %p58 = phi ptr [ %w58, %f58 ], [ %e58, %g58 ] + store ptr %p58, ptr @lgl_p_DeleteTextures + %u58 = icmp eq ptr %p58, null + %ui58 = zext i1 %u58 to i32 + %m59x = add i32 %m58, %ui58 + br label %f59 +f59: + %m59 = phi i32 [ %m59x, %s58 ] + %w59 = call ptr @wglGetProcAddress(ptr @.lgl_n_GenTextures) + %wi59 = ptrtoint ptr %w59 to i64 + %wa59 = add i64 %wi59, 1 + %bad59 = icmp ult i64 %wa59, 5 + br i1 %bad59, label %g59, label %s59 +g59: + %e59 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GenTextures) + br label %s59 +s59: + %p59 = phi ptr [ %w59, %f59 ], [ %e59, %g59 ] + store ptr %p59, ptr @lgl_p_GenTextures + %u59 = icmp eq ptr %p59, null + %ui59 = zext i1 %u59 to i32 + %m60x = add i32 %m59, %ui59 + br label %f60 +f60: + %m60 = phi i32 [ %m60x, %s59 ] + %w60 = call ptr @wglGetProcAddress(ptr @.lgl_n_IsTexture) + %wi60 = ptrtoint ptr %w60 to i64 + %wa60 = add i64 %wi60, 1 + %bad60 = icmp ult i64 %wa60, 5 + br i1 %bad60, label %g60, label %s60 +g60: + %e60 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_IsTexture) + br label %s60 +s60: + %p60 = phi ptr [ %w60, %f60 ], [ %e60, %g60 ] + store ptr %p60, ptr @lgl_p_IsTexture + %u60 = icmp eq ptr %p60, null + %ui60 = zext i1 %u60 to i32 + %m61x = add i32 %m60, %ui60 + br label %f61 +f61: + %m61 = phi i32 [ %m61x, %s60 ] + %w61 = call ptr @wglGetProcAddress(ptr @.lgl_n_BlendColor) + %wi61 = ptrtoint ptr %w61 to i64 + %wa61 = add i64 %wi61, 1 + %bad61 = icmp ult i64 %wa61, 5 + br i1 %bad61, label %g61, label %s61 +g61: + %e61 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_BlendColor) + br label %s61 +s61: + %p61 = phi ptr [ %w61, %f61 ], [ %e61, %g61 ] + store ptr %p61, ptr @lgl_p_BlendColor + %u61 = icmp eq ptr %p61, null + %ui61 = zext i1 %u61 to i32 + %m62x = add i32 %m61, %ui61 + br label %f62 +f62: + %m62 = phi i32 [ %m62x, %s61 ] + %w62 = call ptr @wglGetProcAddress(ptr @.lgl_n_BlendEquation) + %wi62 = ptrtoint ptr %w62 to i64 + %wa62 = add i64 %wi62, 1 + %bad62 = icmp ult i64 %wa62, 5 + br i1 %bad62, label %g62, label %s62 +g62: + %e62 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_BlendEquation) + br label %s62 +s62: + %p62 = phi ptr [ %w62, %f62 ], [ %e62, %g62 ] + store ptr %p62, ptr @lgl_p_BlendEquation + %u62 = icmp eq ptr %p62, null + %ui62 = zext i1 %u62 to i32 + %m63x = add i32 %m62, %ui62 + br label %f63 +f63: + %m63 = phi i32 [ %m63x, %s62 ] + %w63 = call ptr @wglGetProcAddress(ptr @.lgl_n_DrawRangeElements) + %wi63 = ptrtoint ptr %w63 to i64 + %wa63 = add i64 %wi63, 1 + %bad63 = icmp ult i64 %wa63, 5 + br i1 %bad63, label %g63, label %s63 +g63: + %e63 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_DrawRangeElements) + br label %s63 +s63: + %p63 = phi ptr [ %w63, %f63 ], [ %e63, %g63 ] + store ptr %p63, ptr @lgl_p_DrawRangeElements + %u63 = icmp eq ptr %p63, null + %ui63 = zext i1 %u63 to i32 + %m64x = add i32 %m63, %ui63 + br label %f64 +f64: + %m64 = phi i32 [ %m64x, %s63 ] + %w64 = call ptr @wglGetProcAddress(ptr @.lgl_n_TexImage3D) + %wi64 = ptrtoint ptr %w64 to i64 + %wa64 = add i64 %wi64, 1 + %bad64 = icmp ult i64 %wa64, 5 + br i1 %bad64, label %g64, label %s64 +g64: + %e64 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_TexImage3D) + br label %s64 +s64: + %p64 = phi ptr [ %w64, %f64 ], [ %e64, %g64 ] + store ptr %p64, ptr @lgl_p_TexImage3D + %u64 = icmp eq ptr %p64, null + %ui64 = zext i1 %u64 to i32 + %m65x = add i32 %m64, %ui64 + br label %f65 +f65: + %m65 = phi i32 [ %m65x, %s64 ] + %w65 = call ptr @wglGetProcAddress(ptr @.lgl_n_TexSubImage3D) + %wi65 = ptrtoint ptr %w65 to i64 + %wa65 = add i64 %wi65, 1 + %bad65 = icmp ult i64 %wa65, 5 + br i1 %bad65, label %g65, label %s65 +g65: + %e65 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_TexSubImage3D) + br label %s65 +s65: + %p65 = phi ptr [ %w65, %f65 ], [ %e65, %g65 ] + store ptr %p65, ptr @lgl_p_TexSubImage3D + %u65 = icmp eq ptr %p65, null + %ui65 = zext i1 %u65 to i32 + %m66x = add i32 %m65, %ui65 + br label %f66 +f66: + %m66 = phi i32 [ %m66x, %s65 ] + %w66 = call ptr @wglGetProcAddress(ptr @.lgl_n_CopyTexSubImage3D) + %wi66 = ptrtoint ptr %w66 to i64 + %wa66 = add i64 %wi66, 1 + %bad66 = icmp ult i64 %wa66, 5 + br i1 %bad66, label %g66, label %s66 +g66: + %e66 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_CopyTexSubImage3D) + br label %s66 +s66: + %p66 = phi ptr [ %w66, %f66 ], [ %e66, %g66 ] + store ptr %p66, ptr @lgl_p_CopyTexSubImage3D + %u66 = icmp eq ptr %p66, null + %ui66 = zext i1 %u66 to i32 + %m67x = add i32 %m66, %ui66 + br label %f67 +f67: + %m67 = phi i32 [ %m67x, %s66 ] + %w67 = call ptr @wglGetProcAddress(ptr @.lgl_n_ActiveTexture) + %wi67 = ptrtoint ptr %w67 to i64 + %wa67 = add i64 %wi67, 1 + %bad67 = icmp ult i64 %wa67, 5 + br i1 %bad67, label %g67, label %s67 +g67: + %e67 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ActiveTexture) + br label %s67 +s67: + %p67 = phi ptr [ %w67, %f67 ], [ %e67, %g67 ] + store ptr %p67, ptr @lgl_p_ActiveTexture + %u67 = icmp eq ptr %p67, null + %ui67 = zext i1 %u67 to i32 + %m68x = add i32 %m67, %ui67 + br label %f68 +f68: + %m68 = phi i32 [ %m68x, %s67 ] + %w68 = call ptr @wglGetProcAddress(ptr @.lgl_n_SampleCoverage) + %wi68 = ptrtoint ptr %w68 to i64 + %wa68 = add i64 %wi68, 1 + %bad68 = icmp ult i64 %wa68, 5 + br i1 %bad68, label %g68, label %s68 +g68: + %e68 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_SampleCoverage) + br label %s68 +s68: + %p68 = phi ptr [ %w68, %f68 ], [ %e68, %g68 ] + store ptr %p68, ptr @lgl_p_SampleCoverage + %u68 = icmp eq ptr %p68, null + %ui68 = zext i1 %u68 to i32 + %m69x = add i32 %m68, %ui68 + br label %f69 +f69: + %m69 = phi i32 [ %m69x, %s68 ] + %w69 = call ptr @wglGetProcAddress(ptr @.lgl_n_CompressedTexImage3D) + %wi69 = ptrtoint ptr %w69 to i64 + %wa69 = add i64 %wi69, 1 + %bad69 = icmp ult i64 %wa69, 5 + br i1 %bad69, label %g69, label %s69 +g69: + %e69 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_CompressedTexImage3D) + br label %s69 +s69: + %p69 = phi ptr [ %w69, %f69 ], [ %e69, %g69 ] + store ptr %p69, ptr @lgl_p_CompressedTexImage3D + %u69 = icmp eq ptr %p69, null + %ui69 = zext i1 %u69 to i32 + %m70x = add i32 %m69, %ui69 + br label %f70 +f70: + %m70 = phi i32 [ %m70x, %s69 ] + %w70 = call ptr @wglGetProcAddress(ptr @.lgl_n_CompressedTexImage2D) + %wi70 = ptrtoint ptr %w70 to i64 + %wa70 = add i64 %wi70, 1 + %bad70 = icmp ult i64 %wa70, 5 + br i1 %bad70, label %g70, label %s70 +g70: + %e70 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_CompressedTexImage2D) + br label %s70 +s70: + %p70 = phi ptr [ %w70, %f70 ], [ %e70, %g70 ] + store ptr %p70, ptr @lgl_p_CompressedTexImage2D + %u70 = icmp eq ptr %p70, null + %ui70 = zext i1 %u70 to i32 + %m71x = add i32 %m70, %ui70 + br label %f71 +f71: + %m71 = phi i32 [ %m71x, %s70 ] + %w71 = call ptr @wglGetProcAddress(ptr @.lgl_n_CompressedTexImage1D) + %wi71 = ptrtoint ptr %w71 to i64 + %wa71 = add i64 %wi71, 1 + %bad71 = icmp ult i64 %wa71, 5 + br i1 %bad71, label %g71, label %s71 +g71: + %e71 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_CompressedTexImage1D) + br label %s71 +s71: + %p71 = phi ptr [ %w71, %f71 ], [ %e71, %g71 ] + store ptr %p71, ptr @lgl_p_CompressedTexImage1D + %u71 = icmp eq ptr %p71, null + %ui71 = zext i1 %u71 to i32 + %m72x = add i32 %m71, %ui71 + br label %f72 +f72: + %m72 = phi i32 [ %m72x, %s71 ] + %w72 = call ptr @wglGetProcAddress(ptr @.lgl_n_CompressedTexSubImage3D) + %wi72 = ptrtoint ptr %w72 to i64 + %wa72 = add i64 %wi72, 1 + %bad72 = icmp ult i64 %wa72, 5 + br i1 %bad72, label %g72, label %s72 +g72: + %e72 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_CompressedTexSubImage3D) + br label %s72 +s72: + %p72 = phi ptr [ %w72, %f72 ], [ %e72, %g72 ] + store ptr %p72, ptr @lgl_p_CompressedTexSubImage3D + %u72 = icmp eq ptr %p72, null + %ui72 = zext i1 %u72 to i32 + %m73x = add i32 %m72, %ui72 + br label %f73 +f73: + %m73 = phi i32 [ %m73x, %s72 ] + %w73 = call ptr @wglGetProcAddress(ptr @.lgl_n_CompressedTexSubImage2D) + %wi73 = ptrtoint ptr %w73 to i64 + %wa73 = add i64 %wi73, 1 + %bad73 = icmp ult i64 %wa73, 5 + br i1 %bad73, label %g73, label %s73 +g73: + %e73 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_CompressedTexSubImage2D) + br label %s73 +s73: + %p73 = phi ptr [ %w73, %f73 ], [ %e73, %g73 ] + store ptr %p73, ptr @lgl_p_CompressedTexSubImage2D + %u73 = icmp eq ptr %p73, null + %ui73 = zext i1 %u73 to i32 + %m74x = add i32 %m73, %ui73 + br label %f74 +f74: + %m74 = phi i32 [ %m74x, %s73 ] + %w74 = call ptr @wglGetProcAddress(ptr @.lgl_n_CompressedTexSubImage1D) + %wi74 = ptrtoint ptr %w74 to i64 + %wa74 = add i64 %wi74, 1 + %bad74 = icmp ult i64 %wa74, 5 + br i1 %bad74, label %g74, label %s74 +g74: + %e74 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_CompressedTexSubImage1D) + br label %s74 +s74: + %p74 = phi ptr [ %w74, %f74 ], [ %e74, %g74 ] + store ptr %p74, ptr @lgl_p_CompressedTexSubImage1D + %u74 = icmp eq ptr %p74, null + %ui74 = zext i1 %u74 to i32 + %m75x = add i32 %m74, %ui74 + br label %f75 +f75: + %m75 = phi i32 [ %m75x, %s74 ] + %w75 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetCompressedTexImage) + %wi75 = ptrtoint ptr %w75 to i64 + %wa75 = add i64 %wi75, 1 + %bad75 = icmp ult i64 %wa75, 5 + br i1 %bad75, label %g75, label %s75 +g75: + %e75 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetCompressedTexImage) + br label %s75 +s75: + %p75 = phi ptr [ %w75, %f75 ], [ %e75, %g75 ] + store ptr %p75, ptr @lgl_p_GetCompressedTexImage + %u75 = icmp eq ptr %p75, null + %ui75 = zext i1 %u75 to i32 + %m76x = add i32 %m75, %ui75 + br label %f76 +f76: + %m76 = phi i32 [ %m76x, %s75 ] + %w76 = call ptr @wglGetProcAddress(ptr @.lgl_n_BlendFuncSeparate) + %wi76 = ptrtoint ptr %w76 to i64 + %wa76 = add i64 %wi76, 1 + %bad76 = icmp ult i64 %wa76, 5 + br i1 %bad76, label %g76, label %s76 +g76: + %e76 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_BlendFuncSeparate) + br label %s76 +s76: + %p76 = phi ptr [ %w76, %f76 ], [ %e76, %g76 ] + store ptr %p76, ptr @lgl_p_BlendFuncSeparate + %u76 = icmp eq ptr %p76, null + %ui76 = zext i1 %u76 to i32 + %m77x = add i32 %m76, %ui76 + br label %f77 +f77: + %m77 = phi i32 [ %m77x, %s76 ] + %w77 = call ptr @wglGetProcAddress(ptr @.lgl_n_MultiDrawArrays) + %wi77 = ptrtoint ptr %w77 to i64 + %wa77 = add i64 %wi77, 1 + %bad77 = icmp ult i64 %wa77, 5 + br i1 %bad77, label %g77, label %s77 +g77: + %e77 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_MultiDrawArrays) + br label %s77 +s77: + %p77 = phi ptr [ %w77, %f77 ], [ %e77, %g77 ] + store ptr %p77, ptr @lgl_p_MultiDrawArrays + %u77 = icmp eq ptr %p77, null + %ui77 = zext i1 %u77 to i32 + %m78x = add i32 %m77, %ui77 + br label %f78 +f78: + %m78 = phi i32 [ %m78x, %s77 ] + %w78 = call ptr @wglGetProcAddress(ptr @.lgl_n_MultiDrawElements) + %wi78 = ptrtoint ptr %w78 to i64 + %wa78 = add i64 %wi78, 1 + %bad78 = icmp ult i64 %wa78, 5 + br i1 %bad78, label %g78, label %s78 +g78: + %e78 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_MultiDrawElements) + br label %s78 +s78: + %p78 = phi ptr [ %w78, %f78 ], [ %e78, %g78 ] + store ptr %p78, ptr @lgl_p_MultiDrawElements + %u78 = icmp eq ptr %p78, null + %ui78 = zext i1 %u78 to i32 + %m79x = add i32 %m78, %ui78 + br label %f79 +f79: + %m79 = phi i32 [ %m79x, %s78 ] + %w79 = call ptr @wglGetProcAddress(ptr @.lgl_n_PointParameterf) + %wi79 = ptrtoint ptr %w79 to i64 + %wa79 = add i64 %wi79, 1 + %bad79 = icmp ult i64 %wa79, 5 + br i1 %bad79, label %g79, label %s79 +g79: + %e79 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_PointParameterf) + br label %s79 +s79: + %p79 = phi ptr [ %w79, %f79 ], [ %e79, %g79 ] + store ptr %p79, ptr @lgl_p_PointParameterf + %u79 = icmp eq ptr %p79, null + %ui79 = zext i1 %u79 to i32 + %m80x = add i32 %m79, %ui79 + br label %f80 +f80: + %m80 = phi i32 [ %m80x, %s79 ] + %w80 = call ptr @wglGetProcAddress(ptr @.lgl_n_PointParameterfv) + %wi80 = ptrtoint ptr %w80 to i64 + %wa80 = add i64 %wi80, 1 + %bad80 = icmp ult i64 %wa80, 5 + br i1 %bad80, label %g80, label %s80 +g80: + %e80 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_PointParameterfv) + br label %s80 +s80: + %p80 = phi ptr [ %w80, %f80 ], [ %e80, %g80 ] + store ptr %p80, ptr @lgl_p_PointParameterfv + %u80 = icmp eq ptr %p80, null + %ui80 = zext i1 %u80 to i32 + %m81x = add i32 %m80, %ui80 + br label %f81 +f81: + %m81 = phi i32 [ %m81x, %s80 ] + %w81 = call ptr @wglGetProcAddress(ptr @.lgl_n_PointParameteri) + %wi81 = ptrtoint ptr %w81 to i64 + %wa81 = add i64 %wi81, 1 + %bad81 = icmp ult i64 %wa81, 5 + br i1 %bad81, label %g81, label %s81 +g81: + %e81 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_PointParameteri) + br label %s81 +s81: + %p81 = phi ptr [ %w81, %f81 ], [ %e81, %g81 ] + store ptr %p81, ptr @lgl_p_PointParameteri + %u81 = icmp eq ptr %p81, null + %ui81 = zext i1 %u81 to i32 + %m82x = add i32 %m81, %ui81 + br label %f82 +f82: + %m82 = phi i32 [ %m82x, %s81 ] + %w82 = call ptr @wglGetProcAddress(ptr @.lgl_n_PointParameteriv) + %wi82 = ptrtoint ptr %w82 to i64 + %wa82 = add i64 %wi82, 1 + %bad82 = icmp ult i64 %wa82, 5 + br i1 %bad82, label %g82, label %s82 +g82: + %e82 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_PointParameteriv) + br label %s82 +s82: + %p82 = phi ptr [ %w82, %f82 ], [ %e82, %g82 ] + store ptr %p82, ptr @lgl_p_PointParameteriv + %u82 = icmp eq ptr %p82, null + %ui82 = zext i1 %u82 to i32 + %m83x = add i32 %m82, %ui82 + br label %f83 +f83: + %m83 = phi i32 [ %m83x, %s82 ] + %w83 = call ptr @wglGetProcAddress(ptr @.lgl_n_GenQueries) + %wi83 = ptrtoint ptr %w83 to i64 + %wa83 = add i64 %wi83, 1 + %bad83 = icmp ult i64 %wa83, 5 + br i1 %bad83, label %g83, label %s83 +g83: + %e83 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GenQueries) + br label %s83 +s83: + %p83 = phi ptr [ %w83, %f83 ], [ %e83, %g83 ] + store ptr %p83, ptr @lgl_p_GenQueries + %u83 = icmp eq ptr %p83, null + %ui83 = zext i1 %u83 to i32 + %m84x = add i32 %m83, %ui83 + br label %f84 +f84: + %m84 = phi i32 [ %m84x, %s83 ] + %w84 = call ptr @wglGetProcAddress(ptr @.lgl_n_DeleteQueries) + %wi84 = ptrtoint ptr %w84 to i64 + %wa84 = add i64 %wi84, 1 + %bad84 = icmp ult i64 %wa84, 5 + br i1 %bad84, label %g84, label %s84 +g84: + %e84 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_DeleteQueries) + br label %s84 +s84: + %p84 = phi ptr [ %w84, %f84 ], [ %e84, %g84 ] + store ptr %p84, ptr @lgl_p_DeleteQueries + %u84 = icmp eq ptr %p84, null + %ui84 = zext i1 %u84 to i32 + %m85x = add i32 %m84, %ui84 + br label %f85 +f85: + %m85 = phi i32 [ %m85x, %s84 ] + %w85 = call ptr @wglGetProcAddress(ptr @.lgl_n_IsQuery) + %wi85 = ptrtoint ptr %w85 to i64 + %wa85 = add i64 %wi85, 1 + %bad85 = icmp ult i64 %wa85, 5 + br i1 %bad85, label %g85, label %s85 +g85: + %e85 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_IsQuery) + br label %s85 +s85: + %p85 = phi ptr [ %w85, %f85 ], [ %e85, %g85 ] + store ptr %p85, ptr @lgl_p_IsQuery + %u85 = icmp eq ptr %p85, null + %ui85 = zext i1 %u85 to i32 + %m86x = add i32 %m85, %ui85 + br label %f86 +f86: + %m86 = phi i32 [ %m86x, %s85 ] + %w86 = call ptr @wglGetProcAddress(ptr @.lgl_n_BeginQuery) + %wi86 = ptrtoint ptr %w86 to i64 + %wa86 = add i64 %wi86, 1 + %bad86 = icmp ult i64 %wa86, 5 + br i1 %bad86, label %g86, label %s86 +g86: + %e86 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_BeginQuery) + br label %s86 +s86: + %p86 = phi ptr [ %w86, %f86 ], [ %e86, %g86 ] + store ptr %p86, ptr @lgl_p_BeginQuery + %u86 = icmp eq ptr %p86, null + %ui86 = zext i1 %u86 to i32 + %m87x = add i32 %m86, %ui86 + br label %f87 +f87: + %m87 = phi i32 [ %m87x, %s86 ] + %w87 = call ptr @wglGetProcAddress(ptr @.lgl_n_EndQuery) + %wi87 = ptrtoint ptr %w87 to i64 + %wa87 = add i64 %wi87, 1 + %bad87 = icmp ult i64 %wa87, 5 + br i1 %bad87, label %g87, label %s87 +g87: + %e87 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_EndQuery) + br label %s87 +s87: + %p87 = phi ptr [ %w87, %f87 ], [ %e87, %g87 ] + store ptr %p87, ptr @lgl_p_EndQuery + %u87 = icmp eq ptr %p87, null + %ui87 = zext i1 %u87 to i32 + %m88x = add i32 %m87, %ui87 + br label %f88 +f88: + %m88 = phi i32 [ %m88x, %s87 ] + %w88 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetQueryiv) + %wi88 = ptrtoint ptr %w88 to i64 + %wa88 = add i64 %wi88, 1 + %bad88 = icmp ult i64 %wa88, 5 + br i1 %bad88, label %g88, label %s88 +g88: + %e88 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetQueryiv) + br label %s88 +s88: + %p88 = phi ptr [ %w88, %f88 ], [ %e88, %g88 ] + store ptr %p88, ptr @lgl_p_GetQueryiv + %u88 = icmp eq ptr %p88, null + %ui88 = zext i1 %u88 to i32 + %m89x = add i32 %m88, %ui88 + br label %f89 +f89: + %m89 = phi i32 [ %m89x, %s88 ] + %w89 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetQueryObjectiv) + %wi89 = ptrtoint ptr %w89 to i64 + %wa89 = add i64 %wi89, 1 + %bad89 = icmp ult i64 %wa89, 5 + br i1 %bad89, label %g89, label %s89 +g89: + %e89 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetQueryObjectiv) + br label %s89 +s89: + %p89 = phi ptr [ %w89, %f89 ], [ %e89, %g89 ] + store ptr %p89, ptr @lgl_p_GetQueryObjectiv + %u89 = icmp eq ptr %p89, null + %ui89 = zext i1 %u89 to i32 + %m90x = add i32 %m89, %ui89 + br label %f90 +f90: + %m90 = phi i32 [ %m90x, %s89 ] + %w90 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetQueryObjectuiv) + %wi90 = ptrtoint ptr %w90 to i64 + %wa90 = add i64 %wi90, 1 + %bad90 = icmp ult i64 %wa90, 5 + br i1 %bad90, label %g90, label %s90 +g90: + %e90 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetQueryObjectuiv) + br label %s90 +s90: + %p90 = phi ptr [ %w90, %f90 ], [ %e90, %g90 ] + store ptr %p90, ptr @lgl_p_GetQueryObjectuiv + %u90 = icmp eq ptr %p90, null + %ui90 = zext i1 %u90 to i32 + %m91x = add i32 %m90, %ui90 + br label %f91 +f91: + %m91 = phi i32 [ %m91x, %s90 ] + %w91 = call ptr @wglGetProcAddress(ptr @.lgl_n_BindBuffer) + %wi91 = ptrtoint ptr %w91 to i64 + %wa91 = add i64 %wi91, 1 + %bad91 = icmp ult i64 %wa91, 5 + br i1 %bad91, label %g91, label %s91 +g91: + %e91 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_BindBuffer) + br label %s91 +s91: + %p91 = phi ptr [ %w91, %f91 ], [ %e91, %g91 ] + store ptr %p91, ptr @lgl_p_BindBuffer + %u91 = icmp eq ptr %p91, null + %ui91 = zext i1 %u91 to i32 + %m92x = add i32 %m91, %ui91 + br label %f92 +f92: + %m92 = phi i32 [ %m92x, %s91 ] + %w92 = call ptr @wglGetProcAddress(ptr @.lgl_n_DeleteBuffers) + %wi92 = ptrtoint ptr %w92 to i64 + %wa92 = add i64 %wi92, 1 + %bad92 = icmp ult i64 %wa92, 5 + br i1 %bad92, label %g92, label %s92 +g92: + %e92 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_DeleteBuffers) + br label %s92 +s92: + %p92 = phi ptr [ %w92, %f92 ], [ %e92, %g92 ] + store ptr %p92, ptr @lgl_p_DeleteBuffers + %u92 = icmp eq ptr %p92, null + %ui92 = zext i1 %u92 to i32 + %m93x = add i32 %m92, %ui92 + br label %f93 +f93: + %m93 = phi i32 [ %m93x, %s92 ] + %w93 = call ptr @wglGetProcAddress(ptr @.lgl_n_GenBuffers) + %wi93 = ptrtoint ptr %w93 to i64 + %wa93 = add i64 %wi93, 1 + %bad93 = icmp ult i64 %wa93, 5 + br i1 %bad93, label %g93, label %s93 +g93: + %e93 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GenBuffers) + br label %s93 +s93: + %p93 = phi ptr [ %w93, %f93 ], [ %e93, %g93 ] + store ptr %p93, ptr @lgl_p_GenBuffers + %u93 = icmp eq ptr %p93, null + %ui93 = zext i1 %u93 to i32 + %m94x = add i32 %m93, %ui93 + br label %f94 +f94: + %m94 = phi i32 [ %m94x, %s93 ] + %w94 = call ptr @wglGetProcAddress(ptr @.lgl_n_IsBuffer) + %wi94 = ptrtoint ptr %w94 to i64 + %wa94 = add i64 %wi94, 1 + %bad94 = icmp ult i64 %wa94, 5 + br i1 %bad94, label %g94, label %s94 +g94: + %e94 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_IsBuffer) + br label %s94 +s94: + %p94 = phi ptr [ %w94, %f94 ], [ %e94, %g94 ] + store ptr %p94, ptr @lgl_p_IsBuffer + %u94 = icmp eq ptr %p94, null + %ui94 = zext i1 %u94 to i32 + %m95x = add i32 %m94, %ui94 + br label %f95 +f95: + %m95 = phi i32 [ %m95x, %s94 ] + %w95 = call ptr @wglGetProcAddress(ptr @.lgl_n_BufferData) + %wi95 = ptrtoint ptr %w95 to i64 + %wa95 = add i64 %wi95, 1 + %bad95 = icmp ult i64 %wa95, 5 + br i1 %bad95, label %g95, label %s95 +g95: + %e95 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_BufferData) + br label %s95 +s95: + %p95 = phi ptr [ %w95, %f95 ], [ %e95, %g95 ] + store ptr %p95, ptr @lgl_p_BufferData + %u95 = icmp eq ptr %p95, null + %ui95 = zext i1 %u95 to i32 + %m96x = add i32 %m95, %ui95 + br label %f96 +f96: + %m96 = phi i32 [ %m96x, %s95 ] + %w96 = call ptr @wglGetProcAddress(ptr @.lgl_n_BufferSubData) + %wi96 = ptrtoint ptr %w96 to i64 + %wa96 = add i64 %wi96, 1 + %bad96 = icmp ult i64 %wa96, 5 + br i1 %bad96, label %g96, label %s96 +g96: + %e96 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_BufferSubData) + br label %s96 +s96: + %p96 = phi ptr [ %w96, %f96 ], [ %e96, %g96 ] + store ptr %p96, ptr @lgl_p_BufferSubData + %u96 = icmp eq ptr %p96, null + %ui96 = zext i1 %u96 to i32 + %m97x = add i32 %m96, %ui96 + br label %f97 +f97: + %m97 = phi i32 [ %m97x, %s96 ] + %w97 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetBufferSubData) + %wi97 = ptrtoint ptr %w97 to i64 + %wa97 = add i64 %wi97, 1 + %bad97 = icmp ult i64 %wa97, 5 + br i1 %bad97, label %g97, label %s97 +g97: + %e97 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetBufferSubData) + br label %s97 +s97: + %p97 = phi ptr [ %w97, %f97 ], [ %e97, %g97 ] + store ptr %p97, ptr @lgl_p_GetBufferSubData + %u97 = icmp eq ptr %p97, null + %ui97 = zext i1 %u97 to i32 + %m98x = add i32 %m97, %ui97 + br label %f98 +f98: + %m98 = phi i32 [ %m98x, %s97 ] + %w98 = call ptr @wglGetProcAddress(ptr @.lgl_n_MapBuffer) + %wi98 = ptrtoint ptr %w98 to i64 + %wa98 = add i64 %wi98, 1 + %bad98 = icmp ult i64 %wa98, 5 + br i1 %bad98, label %g98, label %s98 +g98: + %e98 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_MapBuffer) + br label %s98 +s98: + %p98 = phi ptr [ %w98, %f98 ], [ %e98, %g98 ] + store ptr %p98, ptr @lgl_p_MapBuffer + %u98 = icmp eq ptr %p98, null + %ui98 = zext i1 %u98 to i32 + %m99x = add i32 %m98, %ui98 + br label %f99 +f99: + %m99 = phi i32 [ %m99x, %s98 ] + %w99 = call ptr @wglGetProcAddress(ptr @.lgl_n_UnmapBuffer) + %wi99 = ptrtoint ptr %w99 to i64 + %wa99 = add i64 %wi99, 1 + %bad99 = icmp ult i64 %wa99, 5 + br i1 %bad99, label %g99, label %s99 +g99: + %e99 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_UnmapBuffer) + br label %s99 +s99: + %p99 = phi ptr [ %w99, %f99 ], [ %e99, %g99 ] + store ptr %p99, ptr @lgl_p_UnmapBuffer + %u99 = icmp eq ptr %p99, null + %ui99 = zext i1 %u99 to i32 + %m100x = add i32 %m99, %ui99 + br label %f100 +f100: + %m100 = phi i32 [ %m100x, %s99 ] + %w100 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetBufferParameteriv) + %wi100 = ptrtoint ptr %w100 to i64 + %wa100 = add i64 %wi100, 1 + %bad100 = icmp ult i64 %wa100, 5 + br i1 %bad100, label %g100, label %s100 +g100: + %e100 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetBufferParameteriv) + br label %s100 +s100: + %p100 = phi ptr [ %w100, %f100 ], [ %e100, %g100 ] + store ptr %p100, ptr @lgl_p_GetBufferParameteriv + %u100 = icmp eq ptr %p100, null + %ui100 = zext i1 %u100 to i32 + %m101x = add i32 %m100, %ui100 + br label %f101 +f101: + %m101 = phi i32 [ %m101x, %s100 ] + %w101 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetBufferPointerv) + %wi101 = ptrtoint ptr %w101 to i64 + %wa101 = add i64 %wi101, 1 + %bad101 = icmp ult i64 %wa101, 5 + br i1 %bad101, label %g101, label %s101 +g101: + %e101 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetBufferPointerv) + br label %s101 +s101: + %p101 = phi ptr [ %w101, %f101 ], [ %e101, %g101 ] + store ptr %p101, ptr @lgl_p_GetBufferPointerv + %u101 = icmp eq ptr %p101, null + %ui101 = zext i1 %u101 to i32 + %m102x = add i32 %m101, %ui101 + br label %f102 +f102: + %m102 = phi i32 [ %m102x, %s101 ] + %w102 = call ptr @wglGetProcAddress(ptr @.lgl_n_BlendEquationSeparate) + %wi102 = ptrtoint ptr %w102 to i64 + %wa102 = add i64 %wi102, 1 + %bad102 = icmp ult i64 %wa102, 5 + br i1 %bad102, label %g102, label %s102 +g102: + %e102 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_BlendEquationSeparate) + br label %s102 +s102: + %p102 = phi ptr [ %w102, %f102 ], [ %e102, %g102 ] + store ptr %p102, ptr @lgl_p_BlendEquationSeparate + %u102 = icmp eq ptr %p102, null + %ui102 = zext i1 %u102 to i32 + %m103x = add i32 %m102, %ui102 + br label %f103 +f103: + %m103 = phi i32 [ %m103x, %s102 ] + %w103 = call ptr @wglGetProcAddress(ptr @.lgl_n_DrawBuffers) + %wi103 = ptrtoint ptr %w103 to i64 + %wa103 = add i64 %wi103, 1 + %bad103 = icmp ult i64 %wa103, 5 + br i1 %bad103, label %g103, label %s103 +g103: + %e103 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_DrawBuffers) + br label %s103 +s103: + %p103 = phi ptr [ %w103, %f103 ], [ %e103, %g103 ] + store ptr %p103, ptr @lgl_p_DrawBuffers + %u103 = icmp eq ptr %p103, null + %ui103 = zext i1 %u103 to i32 + %m104x = add i32 %m103, %ui103 + br label %f104 +f104: + %m104 = phi i32 [ %m104x, %s103 ] + %w104 = call ptr @wglGetProcAddress(ptr @.lgl_n_StencilOpSeparate) + %wi104 = ptrtoint ptr %w104 to i64 + %wa104 = add i64 %wi104, 1 + %bad104 = icmp ult i64 %wa104, 5 + br i1 %bad104, label %g104, label %s104 +g104: + %e104 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_StencilOpSeparate) + br label %s104 +s104: + %p104 = phi ptr [ %w104, %f104 ], [ %e104, %g104 ] + store ptr %p104, ptr @lgl_p_StencilOpSeparate + %u104 = icmp eq ptr %p104, null + %ui104 = zext i1 %u104 to i32 + %m105x = add i32 %m104, %ui104 + br label %f105 +f105: + %m105 = phi i32 [ %m105x, %s104 ] + %w105 = call ptr @wglGetProcAddress(ptr @.lgl_n_StencilFuncSeparate) + %wi105 = ptrtoint ptr %w105 to i64 + %wa105 = add i64 %wi105, 1 + %bad105 = icmp ult i64 %wa105, 5 + br i1 %bad105, label %g105, label %s105 +g105: + %e105 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_StencilFuncSeparate) + br label %s105 +s105: + %p105 = phi ptr [ %w105, %f105 ], [ %e105, %g105 ] + store ptr %p105, ptr @lgl_p_StencilFuncSeparate + %u105 = icmp eq ptr %p105, null + %ui105 = zext i1 %u105 to i32 + %m106x = add i32 %m105, %ui105 + br label %f106 +f106: + %m106 = phi i32 [ %m106x, %s105 ] + %w106 = call ptr @wglGetProcAddress(ptr @.lgl_n_StencilMaskSeparate) + %wi106 = ptrtoint ptr %w106 to i64 + %wa106 = add i64 %wi106, 1 + %bad106 = icmp ult i64 %wa106, 5 + br i1 %bad106, label %g106, label %s106 +g106: + %e106 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_StencilMaskSeparate) + br label %s106 +s106: + %p106 = phi ptr [ %w106, %f106 ], [ %e106, %g106 ] + store ptr %p106, ptr @lgl_p_StencilMaskSeparate + %u106 = icmp eq ptr %p106, null + %ui106 = zext i1 %u106 to i32 + %m107x = add i32 %m106, %ui106 + br label %f107 +f107: + %m107 = phi i32 [ %m107x, %s106 ] + %w107 = call ptr @wglGetProcAddress(ptr @.lgl_n_AttachShader) + %wi107 = ptrtoint ptr %w107 to i64 + %wa107 = add i64 %wi107, 1 + %bad107 = icmp ult i64 %wa107, 5 + br i1 %bad107, label %g107, label %s107 +g107: + %e107 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_AttachShader) + br label %s107 +s107: + %p107 = phi ptr [ %w107, %f107 ], [ %e107, %g107 ] + store ptr %p107, ptr @lgl_p_AttachShader + %u107 = icmp eq ptr %p107, null + %ui107 = zext i1 %u107 to i32 + %m108x = add i32 %m107, %ui107 + br label %f108 +f108: + %m108 = phi i32 [ %m108x, %s107 ] + %w108 = call ptr @wglGetProcAddress(ptr @.lgl_n_BindAttribLocation) + %wi108 = ptrtoint ptr %w108 to i64 + %wa108 = add i64 %wi108, 1 + %bad108 = icmp ult i64 %wa108, 5 + br i1 %bad108, label %g108, label %s108 +g108: + %e108 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_BindAttribLocation) + br label %s108 +s108: + %p108 = phi ptr [ %w108, %f108 ], [ %e108, %g108 ] + store ptr %p108, ptr @lgl_p_BindAttribLocation + %u108 = icmp eq ptr %p108, null + %ui108 = zext i1 %u108 to i32 + %m109x = add i32 %m108, %ui108 + br label %f109 +f109: + %m109 = phi i32 [ %m109x, %s108 ] + %w109 = call ptr @wglGetProcAddress(ptr @.lgl_n_CompileShader) + %wi109 = ptrtoint ptr %w109 to i64 + %wa109 = add i64 %wi109, 1 + %bad109 = icmp ult i64 %wa109, 5 + br i1 %bad109, label %g109, label %s109 +g109: + %e109 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_CompileShader) + br label %s109 +s109: + %p109 = phi ptr [ %w109, %f109 ], [ %e109, %g109 ] + store ptr %p109, ptr @lgl_p_CompileShader + %u109 = icmp eq ptr %p109, null + %ui109 = zext i1 %u109 to i32 + %m110x = add i32 %m109, %ui109 + br label %f110 +f110: + %m110 = phi i32 [ %m110x, %s109 ] + %w110 = call ptr @wglGetProcAddress(ptr @.lgl_n_CreateProgram) + %wi110 = ptrtoint ptr %w110 to i64 + %wa110 = add i64 %wi110, 1 + %bad110 = icmp ult i64 %wa110, 5 + br i1 %bad110, label %g110, label %s110 +g110: + %e110 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_CreateProgram) + br label %s110 +s110: + %p110 = phi ptr [ %w110, %f110 ], [ %e110, %g110 ] + store ptr %p110, ptr @lgl_p_CreateProgram + %u110 = icmp eq ptr %p110, null + %ui110 = zext i1 %u110 to i32 + %m111x = add i32 %m110, %ui110 + br label %f111 +f111: + %m111 = phi i32 [ %m111x, %s110 ] + %w111 = call ptr @wglGetProcAddress(ptr @.lgl_n_CreateShader) + %wi111 = ptrtoint ptr %w111 to i64 + %wa111 = add i64 %wi111, 1 + %bad111 = icmp ult i64 %wa111, 5 + br i1 %bad111, label %g111, label %s111 +g111: + %e111 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_CreateShader) + br label %s111 +s111: + %p111 = phi ptr [ %w111, %f111 ], [ %e111, %g111 ] + store ptr %p111, ptr @lgl_p_CreateShader + %u111 = icmp eq ptr %p111, null + %ui111 = zext i1 %u111 to i32 + %m112x = add i32 %m111, %ui111 + br label %f112 +f112: + %m112 = phi i32 [ %m112x, %s111 ] + %w112 = call ptr @wglGetProcAddress(ptr @.lgl_n_DeleteProgram) + %wi112 = ptrtoint ptr %w112 to i64 + %wa112 = add i64 %wi112, 1 + %bad112 = icmp ult i64 %wa112, 5 + br i1 %bad112, label %g112, label %s112 +g112: + %e112 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_DeleteProgram) + br label %s112 +s112: + %p112 = phi ptr [ %w112, %f112 ], [ %e112, %g112 ] + store ptr %p112, ptr @lgl_p_DeleteProgram + %u112 = icmp eq ptr %p112, null + %ui112 = zext i1 %u112 to i32 + %m113x = add i32 %m112, %ui112 + br label %f113 +f113: + %m113 = phi i32 [ %m113x, %s112 ] + %w113 = call ptr @wglGetProcAddress(ptr @.lgl_n_DeleteShader) + %wi113 = ptrtoint ptr %w113 to i64 + %wa113 = add i64 %wi113, 1 + %bad113 = icmp ult i64 %wa113, 5 + br i1 %bad113, label %g113, label %s113 +g113: + %e113 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_DeleteShader) + br label %s113 +s113: + %p113 = phi ptr [ %w113, %f113 ], [ %e113, %g113 ] + store ptr %p113, ptr @lgl_p_DeleteShader + %u113 = icmp eq ptr %p113, null + %ui113 = zext i1 %u113 to i32 + %m114x = add i32 %m113, %ui113 + br label %f114 +f114: + %m114 = phi i32 [ %m114x, %s113 ] + %w114 = call ptr @wglGetProcAddress(ptr @.lgl_n_DetachShader) + %wi114 = ptrtoint ptr %w114 to i64 + %wa114 = add i64 %wi114, 1 + %bad114 = icmp ult i64 %wa114, 5 + br i1 %bad114, label %g114, label %s114 +g114: + %e114 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_DetachShader) + br label %s114 +s114: + %p114 = phi ptr [ %w114, %f114 ], [ %e114, %g114 ] + store ptr %p114, ptr @lgl_p_DetachShader + %u114 = icmp eq ptr %p114, null + %ui114 = zext i1 %u114 to i32 + %m115x = add i32 %m114, %ui114 + br label %f115 +f115: + %m115 = phi i32 [ %m115x, %s114 ] + %w115 = call ptr @wglGetProcAddress(ptr @.lgl_n_DisableVertexAttribArray) + %wi115 = ptrtoint ptr %w115 to i64 + %wa115 = add i64 %wi115, 1 + %bad115 = icmp ult i64 %wa115, 5 + br i1 %bad115, label %g115, label %s115 +g115: + %e115 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_DisableVertexAttribArray) + br label %s115 +s115: + %p115 = phi ptr [ %w115, %f115 ], [ %e115, %g115 ] + store ptr %p115, ptr @lgl_p_DisableVertexAttribArray + %u115 = icmp eq ptr %p115, null + %ui115 = zext i1 %u115 to i32 + %m116x = add i32 %m115, %ui115 + br label %f116 +f116: + %m116 = phi i32 [ %m116x, %s115 ] + %w116 = call ptr @wglGetProcAddress(ptr @.lgl_n_EnableVertexAttribArray) + %wi116 = ptrtoint ptr %w116 to i64 + %wa116 = add i64 %wi116, 1 + %bad116 = icmp ult i64 %wa116, 5 + br i1 %bad116, label %g116, label %s116 +g116: + %e116 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_EnableVertexAttribArray) + br label %s116 +s116: + %p116 = phi ptr [ %w116, %f116 ], [ %e116, %g116 ] + store ptr %p116, ptr @lgl_p_EnableVertexAttribArray + %u116 = icmp eq ptr %p116, null + %ui116 = zext i1 %u116 to i32 + %m117x = add i32 %m116, %ui116 + br label %f117 +f117: + %m117 = phi i32 [ %m117x, %s116 ] + %w117 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetActiveAttrib) + %wi117 = ptrtoint ptr %w117 to i64 + %wa117 = add i64 %wi117, 1 + %bad117 = icmp ult i64 %wa117, 5 + br i1 %bad117, label %g117, label %s117 +g117: + %e117 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetActiveAttrib) + br label %s117 +s117: + %p117 = phi ptr [ %w117, %f117 ], [ %e117, %g117 ] + store ptr %p117, ptr @lgl_p_GetActiveAttrib + %u117 = icmp eq ptr %p117, null + %ui117 = zext i1 %u117 to i32 + %m118x = add i32 %m117, %ui117 + br label %f118 +f118: + %m118 = phi i32 [ %m118x, %s117 ] + %w118 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetActiveUniform) + %wi118 = ptrtoint ptr %w118 to i64 + %wa118 = add i64 %wi118, 1 + %bad118 = icmp ult i64 %wa118, 5 + br i1 %bad118, label %g118, label %s118 +g118: + %e118 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetActiveUniform) + br label %s118 +s118: + %p118 = phi ptr [ %w118, %f118 ], [ %e118, %g118 ] + store ptr %p118, ptr @lgl_p_GetActiveUniform + %u118 = icmp eq ptr %p118, null + %ui118 = zext i1 %u118 to i32 + %m119x = add i32 %m118, %ui118 + br label %f119 +f119: + %m119 = phi i32 [ %m119x, %s118 ] + %w119 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetAttachedShaders) + %wi119 = ptrtoint ptr %w119 to i64 + %wa119 = add i64 %wi119, 1 + %bad119 = icmp ult i64 %wa119, 5 + br i1 %bad119, label %g119, label %s119 +g119: + %e119 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetAttachedShaders) + br label %s119 +s119: + %p119 = phi ptr [ %w119, %f119 ], [ %e119, %g119 ] + store ptr %p119, ptr @lgl_p_GetAttachedShaders + %u119 = icmp eq ptr %p119, null + %ui119 = zext i1 %u119 to i32 + %m120x = add i32 %m119, %ui119 + br label %f120 +f120: + %m120 = phi i32 [ %m120x, %s119 ] + %w120 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetAttribLocation) + %wi120 = ptrtoint ptr %w120 to i64 + %wa120 = add i64 %wi120, 1 + %bad120 = icmp ult i64 %wa120, 5 + br i1 %bad120, label %g120, label %s120 +g120: + %e120 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetAttribLocation) + br label %s120 +s120: + %p120 = phi ptr [ %w120, %f120 ], [ %e120, %g120 ] + store ptr %p120, ptr @lgl_p_GetAttribLocation + %u120 = icmp eq ptr %p120, null + %ui120 = zext i1 %u120 to i32 + %m121x = add i32 %m120, %ui120 + br label %f121 +f121: + %m121 = phi i32 [ %m121x, %s120 ] + %w121 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetProgramiv) + %wi121 = ptrtoint ptr %w121 to i64 + %wa121 = add i64 %wi121, 1 + %bad121 = icmp ult i64 %wa121, 5 + br i1 %bad121, label %g121, label %s121 +g121: + %e121 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetProgramiv) + br label %s121 +s121: + %p121 = phi ptr [ %w121, %f121 ], [ %e121, %g121 ] + store ptr %p121, ptr @lgl_p_GetProgramiv + %u121 = icmp eq ptr %p121, null + %ui121 = zext i1 %u121 to i32 + %m122x = add i32 %m121, %ui121 + br label %f122 +f122: + %m122 = phi i32 [ %m122x, %s121 ] + %w122 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetProgramInfoLog) + %wi122 = ptrtoint ptr %w122 to i64 + %wa122 = add i64 %wi122, 1 + %bad122 = icmp ult i64 %wa122, 5 + br i1 %bad122, label %g122, label %s122 +g122: + %e122 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetProgramInfoLog) + br label %s122 +s122: + %p122 = phi ptr [ %w122, %f122 ], [ %e122, %g122 ] + store ptr %p122, ptr @lgl_p_GetProgramInfoLog + %u122 = icmp eq ptr %p122, null + %ui122 = zext i1 %u122 to i32 + %m123x = add i32 %m122, %ui122 + br label %f123 +f123: + %m123 = phi i32 [ %m123x, %s122 ] + %w123 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetShaderiv) + %wi123 = ptrtoint ptr %w123 to i64 + %wa123 = add i64 %wi123, 1 + %bad123 = icmp ult i64 %wa123, 5 + br i1 %bad123, label %g123, label %s123 +g123: + %e123 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetShaderiv) + br label %s123 +s123: + %p123 = phi ptr [ %w123, %f123 ], [ %e123, %g123 ] + store ptr %p123, ptr @lgl_p_GetShaderiv + %u123 = icmp eq ptr %p123, null + %ui123 = zext i1 %u123 to i32 + %m124x = add i32 %m123, %ui123 + br label %f124 +f124: + %m124 = phi i32 [ %m124x, %s123 ] + %w124 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetShaderInfoLog) + %wi124 = ptrtoint ptr %w124 to i64 + %wa124 = add i64 %wi124, 1 + %bad124 = icmp ult i64 %wa124, 5 + br i1 %bad124, label %g124, label %s124 +g124: + %e124 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetShaderInfoLog) + br label %s124 +s124: + %p124 = phi ptr [ %w124, %f124 ], [ %e124, %g124 ] + store ptr %p124, ptr @lgl_p_GetShaderInfoLog + %u124 = icmp eq ptr %p124, null + %ui124 = zext i1 %u124 to i32 + %m125x = add i32 %m124, %ui124 + br label %f125 +f125: + %m125 = phi i32 [ %m125x, %s124 ] + %w125 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetShaderSource) + %wi125 = ptrtoint ptr %w125 to i64 + %wa125 = add i64 %wi125, 1 + %bad125 = icmp ult i64 %wa125, 5 + br i1 %bad125, label %g125, label %s125 +g125: + %e125 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetShaderSource) + br label %s125 +s125: + %p125 = phi ptr [ %w125, %f125 ], [ %e125, %g125 ] + store ptr %p125, ptr @lgl_p_GetShaderSource + %u125 = icmp eq ptr %p125, null + %ui125 = zext i1 %u125 to i32 + %m126x = add i32 %m125, %ui125 + br label %f126 +f126: + %m126 = phi i32 [ %m126x, %s125 ] + %w126 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetUniformLocation) + %wi126 = ptrtoint ptr %w126 to i64 + %wa126 = add i64 %wi126, 1 + %bad126 = icmp ult i64 %wa126, 5 + br i1 %bad126, label %g126, label %s126 +g126: + %e126 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetUniformLocation) + br label %s126 +s126: + %p126 = phi ptr [ %w126, %f126 ], [ %e126, %g126 ] + store ptr %p126, ptr @lgl_p_GetUniformLocation + %u126 = icmp eq ptr %p126, null + %ui126 = zext i1 %u126 to i32 + %m127x = add i32 %m126, %ui126 + br label %f127 +f127: + %m127 = phi i32 [ %m127x, %s126 ] + %w127 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetUniformfv) + %wi127 = ptrtoint ptr %w127 to i64 + %wa127 = add i64 %wi127, 1 + %bad127 = icmp ult i64 %wa127, 5 + br i1 %bad127, label %g127, label %s127 +g127: + %e127 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetUniformfv) + br label %s127 +s127: + %p127 = phi ptr [ %w127, %f127 ], [ %e127, %g127 ] + store ptr %p127, ptr @lgl_p_GetUniformfv + %u127 = icmp eq ptr %p127, null + %ui127 = zext i1 %u127 to i32 + %m128x = add i32 %m127, %ui127 + br label %f128 +f128: + %m128 = phi i32 [ %m128x, %s127 ] + %w128 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetUniformiv) + %wi128 = ptrtoint ptr %w128 to i64 + %wa128 = add i64 %wi128, 1 + %bad128 = icmp ult i64 %wa128, 5 + br i1 %bad128, label %g128, label %s128 +g128: + %e128 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetUniformiv) + br label %s128 +s128: + %p128 = phi ptr [ %w128, %f128 ], [ %e128, %g128 ] + store ptr %p128, ptr @lgl_p_GetUniformiv + %u128 = icmp eq ptr %p128, null + %ui128 = zext i1 %u128 to i32 + %m129x = add i32 %m128, %ui128 + br label %f129 +f129: + %m129 = phi i32 [ %m129x, %s128 ] + %w129 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetVertexAttribdv) + %wi129 = ptrtoint ptr %w129 to i64 + %wa129 = add i64 %wi129, 1 + %bad129 = icmp ult i64 %wa129, 5 + br i1 %bad129, label %g129, label %s129 +g129: + %e129 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetVertexAttribdv) + br label %s129 +s129: + %p129 = phi ptr [ %w129, %f129 ], [ %e129, %g129 ] + store ptr %p129, ptr @lgl_p_GetVertexAttribdv + %u129 = icmp eq ptr %p129, null + %ui129 = zext i1 %u129 to i32 + %m130x = add i32 %m129, %ui129 + br label %f130 +f130: + %m130 = phi i32 [ %m130x, %s129 ] + %w130 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetVertexAttribfv) + %wi130 = ptrtoint ptr %w130 to i64 + %wa130 = add i64 %wi130, 1 + %bad130 = icmp ult i64 %wa130, 5 + br i1 %bad130, label %g130, label %s130 +g130: + %e130 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetVertexAttribfv) + br label %s130 +s130: + %p130 = phi ptr [ %w130, %f130 ], [ %e130, %g130 ] + store ptr %p130, ptr @lgl_p_GetVertexAttribfv + %u130 = icmp eq ptr %p130, null + %ui130 = zext i1 %u130 to i32 + %m131x = add i32 %m130, %ui130 + br label %f131 +f131: + %m131 = phi i32 [ %m131x, %s130 ] + %w131 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetVertexAttribiv) + %wi131 = ptrtoint ptr %w131 to i64 + %wa131 = add i64 %wi131, 1 + %bad131 = icmp ult i64 %wa131, 5 + br i1 %bad131, label %g131, label %s131 +g131: + %e131 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetVertexAttribiv) + br label %s131 +s131: + %p131 = phi ptr [ %w131, %f131 ], [ %e131, %g131 ] + store ptr %p131, ptr @lgl_p_GetVertexAttribiv + %u131 = icmp eq ptr %p131, null + %ui131 = zext i1 %u131 to i32 + %m132x = add i32 %m131, %ui131 + br label %f132 +f132: + %m132 = phi i32 [ %m132x, %s131 ] + %w132 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetVertexAttribPointerv) + %wi132 = ptrtoint ptr %w132 to i64 + %wa132 = add i64 %wi132, 1 + %bad132 = icmp ult i64 %wa132, 5 + br i1 %bad132, label %g132, label %s132 +g132: + %e132 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetVertexAttribPointerv) + br label %s132 +s132: + %p132 = phi ptr [ %w132, %f132 ], [ %e132, %g132 ] + store ptr %p132, ptr @lgl_p_GetVertexAttribPointerv + %u132 = icmp eq ptr %p132, null + %ui132 = zext i1 %u132 to i32 + %m133x = add i32 %m132, %ui132 + br label %f133 +f133: + %m133 = phi i32 [ %m133x, %s132 ] + %w133 = call ptr @wglGetProcAddress(ptr @.lgl_n_IsProgram) + %wi133 = ptrtoint ptr %w133 to i64 + %wa133 = add i64 %wi133, 1 + %bad133 = icmp ult i64 %wa133, 5 + br i1 %bad133, label %g133, label %s133 +g133: + %e133 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_IsProgram) + br label %s133 +s133: + %p133 = phi ptr [ %w133, %f133 ], [ %e133, %g133 ] + store ptr %p133, ptr @lgl_p_IsProgram + %u133 = icmp eq ptr %p133, null + %ui133 = zext i1 %u133 to i32 + %m134x = add i32 %m133, %ui133 + br label %f134 +f134: + %m134 = phi i32 [ %m134x, %s133 ] + %w134 = call ptr @wglGetProcAddress(ptr @.lgl_n_IsShader) + %wi134 = ptrtoint ptr %w134 to i64 + %wa134 = add i64 %wi134, 1 + %bad134 = icmp ult i64 %wa134, 5 + br i1 %bad134, label %g134, label %s134 +g134: + %e134 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_IsShader) + br label %s134 +s134: + %p134 = phi ptr [ %w134, %f134 ], [ %e134, %g134 ] + store ptr %p134, ptr @lgl_p_IsShader + %u134 = icmp eq ptr %p134, null + %ui134 = zext i1 %u134 to i32 + %m135x = add i32 %m134, %ui134 + br label %f135 +f135: + %m135 = phi i32 [ %m135x, %s134 ] + %w135 = call ptr @wglGetProcAddress(ptr @.lgl_n_LinkProgram) + %wi135 = ptrtoint ptr %w135 to i64 + %wa135 = add i64 %wi135, 1 + %bad135 = icmp ult i64 %wa135, 5 + br i1 %bad135, label %g135, label %s135 +g135: + %e135 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_LinkProgram) + br label %s135 +s135: + %p135 = phi ptr [ %w135, %f135 ], [ %e135, %g135 ] + store ptr %p135, ptr @lgl_p_LinkProgram + %u135 = icmp eq ptr %p135, null + %ui135 = zext i1 %u135 to i32 + %m136x = add i32 %m135, %ui135 + br label %f136 +f136: + %m136 = phi i32 [ %m136x, %s135 ] + %w136 = call ptr @wglGetProcAddress(ptr @.lgl_n_ShaderSource) + %wi136 = ptrtoint ptr %w136 to i64 + %wa136 = add i64 %wi136, 1 + %bad136 = icmp ult i64 %wa136, 5 + br i1 %bad136, label %g136, label %s136 +g136: + %e136 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ShaderSource) + br label %s136 +s136: + %p136 = phi ptr [ %w136, %f136 ], [ %e136, %g136 ] + store ptr %p136, ptr @lgl_p_ShaderSource + %u136 = icmp eq ptr %p136, null + %ui136 = zext i1 %u136 to i32 + %m137x = add i32 %m136, %ui136 + br label %f137 +f137: + %m137 = phi i32 [ %m137x, %s136 ] + %w137 = call ptr @wglGetProcAddress(ptr @.lgl_n_UseProgram) + %wi137 = ptrtoint ptr %w137 to i64 + %wa137 = add i64 %wi137, 1 + %bad137 = icmp ult i64 %wa137, 5 + br i1 %bad137, label %g137, label %s137 +g137: + %e137 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_UseProgram) + br label %s137 +s137: + %p137 = phi ptr [ %w137, %f137 ], [ %e137, %g137 ] + store ptr %p137, ptr @lgl_p_UseProgram + %u137 = icmp eq ptr %p137, null + %ui137 = zext i1 %u137 to i32 + %m138x = add i32 %m137, %ui137 + br label %f138 +f138: + %m138 = phi i32 [ %m138x, %s137 ] + %w138 = call ptr @wglGetProcAddress(ptr @.lgl_n_Uniform1f) + %wi138 = ptrtoint ptr %w138 to i64 + %wa138 = add i64 %wi138, 1 + %bad138 = icmp ult i64 %wa138, 5 + br i1 %bad138, label %g138, label %s138 +g138: + %e138 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_Uniform1f) + br label %s138 +s138: + %p138 = phi ptr [ %w138, %f138 ], [ %e138, %g138 ] + store ptr %p138, ptr @lgl_p_Uniform1f + %u138 = icmp eq ptr %p138, null + %ui138 = zext i1 %u138 to i32 + %m139x = add i32 %m138, %ui138 + br label %f139 +f139: + %m139 = phi i32 [ %m139x, %s138 ] + %w139 = call ptr @wglGetProcAddress(ptr @.lgl_n_Uniform2f) + %wi139 = ptrtoint ptr %w139 to i64 + %wa139 = add i64 %wi139, 1 + %bad139 = icmp ult i64 %wa139, 5 + br i1 %bad139, label %g139, label %s139 +g139: + %e139 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_Uniform2f) + br label %s139 +s139: + %p139 = phi ptr [ %w139, %f139 ], [ %e139, %g139 ] + store ptr %p139, ptr @lgl_p_Uniform2f + %u139 = icmp eq ptr %p139, null + %ui139 = zext i1 %u139 to i32 + %m140x = add i32 %m139, %ui139 + br label %f140 +f140: + %m140 = phi i32 [ %m140x, %s139 ] + %w140 = call ptr @wglGetProcAddress(ptr @.lgl_n_Uniform3f) + %wi140 = ptrtoint ptr %w140 to i64 + %wa140 = add i64 %wi140, 1 + %bad140 = icmp ult i64 %wa140, 5 + br i1 %bad140, label %g140, label %s140 +g140: + %e140 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_Uniform3f) + br label %s140 +s140: + %p140 = phi ptr [ %w140, %f140 ], [ %e140, %g140 ] + store ptr %p140, ptr @lgl_p_Uniform3f + %u140 = icmp eq ptr %p140, null + %ui140 = zext i1 %u140 to i32 + %m141x = add i32 %m140, %ui140 + br label %f141 +f141: + %m141 = phi i32 [ %m141x, %s140 ] + %w141 = call ptr @wglGetProcAddress(ptr @.lgl_n_Uniform4f) + %wi141 = ptrtoint ptr %w141 to i64 + %wa141 = add i64 %wi141, 1 + %bad141 = icmp ult i64 %wa141, 5 + br i1 %bad141, label %g141, label %s141 +g141: + %e141 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_Uniform4f) + br label %s141 +s141: + %p141 = phi ptr [ %w141, %f141 ], [ %e141, %g141 ] + store ptr %p141, ptr @lgl_p_Uniform4f + %u141 = icmp eq ptr %p141, null + %ui141 = zext i1 %u141 to i32 + %m142x = add i32 %m141, %ui141 + br label %f142 +f142: + %m142 = phi i32 [ %m142x, %s141 ] + %w142 = call ptr @wglGetProcAddress(ptr @.lgl_n_Uniform1i) + %wi142 = ptrtoint ptr %w142 to i64 + %wa142 = add i64 %wi142, 1 + %bad142 = icmp ult i64 %wa142, 5 + br i1 %bad142, label %g142, label %s142 +g142: + %e142 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_Uniform1i) + br label %s142 +s142: + %p142 = phi ptr [ %w142, %f142 ], [ %e142, %g142 ] + store ptr %p142, ptr @lgl_p_Uniform1i + %u142 = icmp eq ptr %p142, null + %ui142 = zext i1 %u142 to i32 + %m143x = add i32 %m142, %ui142 + br label %f143 +f143: + %m143 = phi i32 [ %m143x, %s142 ] + %w143 = call ptr @wglGetProcAddress(ptr @.lgl_n_Uniform2i) + %wi143 = ptrtoint ptr %w143 to i64 + %wa143 = add i64 %wi143, 1 + %bad143 = icmp ult i64 %wa143, 5 + br i1 %bad143, label %g143, label %s143 +g143: + %e143 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_Uniform2i) + br label %s143 +s143: + %p143 = phi ptr [ %w143, %f143 ], [ %e143, %g143 ] + store ptr %p143, ptr @lgl_p_Uniform2i + %u143 = icmp eq ptr %p143, null + %ui143 = zext i1 %u143 to i32 + %m144x = add i32 %m143, %ui143 + br label %f144 +f144: + %m144 = phi i32 [ %m144x, %s143 ] + %w144 = call ptr @wglGetProcAddress(ptr @.lgl_n_Uniform3i) + %wi144 = ptrtoint ptr %w144 to i64 + %wa144 = add i64 %wi144, 1 + %bad144 = icmp ult i64 %wa144, 5 + br i1 %bad144, label %g144, label %s144 +g144: + %e144 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_Uniform3i) + br label %s144 +s144: + %p144 = phi ptr [ %w144, %f144 ], [ %e144, %g144 ] + store ptr %p144, ptr @lgl_p_Uniform3i + %u144 = icmp eq ptr %p144, null + %ui144 = zext i1 %u144 to i32 + %m145x = add i32 %m144, %ui144 + br label %f145 +f145: + %m145 = phi i32 [ %m145x, %s144 ] + %w145 = call ptr @wglGetProcAddress(ptr @.lgl_n_Uniform4i) + %wi145 = ptrtoint ptr %w145 to i64 + %wa145 = add i64 %wi145, 1 + %bad145 = icmp ult i64 %wa145, 5 + br i1 %bad145, label %g145, label %s145 +g145: + %e145 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_Uniform4i) + br label %s145 +s145: + %p145 = phi ptr [ %w145, %f145 ], [ %e145, %g145 ] + store ptr %p145, ptr @lgl_p_Uniform4i + %u145 = icmp eq ptr %p145, null + %ui145 = zext i1 %u145 to i32 + %m146x = add i32 %m145, %ui145 + br label %f146 +f146: + %m146 = phi i32 [ %m146x, %s145 ] + %w146 = call ptr @wglGetProcAddress(ptr @.lgl_n_Uniform1fv) + %wi146 = ptrtoint ptr %w146 to i64 + %wa146 = add i64 %wi146, 1 + %bad146 = icmp ult i64 %wa146, 5 + br i1 %bad146, label %g146, label %s146 +g146: + %e146 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_Uniform1fv) + br label %s146 +s146: + %p146 = phi ptr [ %w146, %f146 ], [ %e146, %g146 ] + store ptr %p146, ptr @lgl_p_Uniform1fv + %u146 = icmp eq ptr %p146, null + %ui146 = zext i1 %u146 to i32 + %m147x = add i32 %m146, %ui146 + br label %f147 +f147: + %m147 = phi i32 [ %m147x, %s146 ] + %w147 = call ptr @wglGetProcAddress(ptr @.lgl_n_Uniform2fv) + %wi147 = ptrtoint ptr %w147 to i64 + %wa147 = add i64 %wi147, 1 + %bad147 = icmp ult i64 %wa147, 5 + br i1 %bad147, label %g147, label %s147 +g147: + %e147 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_Uniform2fv) + br label %s147 +s147: + %p147 = phi ptr [ %w147, %f147 ], [ %e147, %g147 ] + store ptr %p147, ptr @lgl_p_Uniform2fv + %u147 = icmp eq ptr %p147, null + %ui147 = zext i1 %u147 to i32 + %m148x = add i32 %m147, %ui147 + br label %f148 +f148: + %m148 = phi i32 [ %m148x, %s147 ] + %w148 = call ptr @wglGetProcAddress(ptr @.lgl_n_Uniform3fv) + %wi148 = ptrtoint ptr %w148 to i64 + %wa148 = add i64 %wi148, 1 + %bad148 = icmp ult i64 %wa148, 5 + br i1 %bad148, label %g148, label %s148 +g148: + %e148 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_Uniform3fv) + br label %s148 +s148: + %p148 = phi ptr [ %w148, %f148 ], [ %e148, %g148 ] + store ptr %p148, ptr @lgl_p_Uniform3fv + %u148 = icmp eq ptr %p148, null + %ui148 = zext i1 %u148 to i32 + %m149x = add i32 %m148, %ui148 + br label %f149 +f149: + %m149 = phi i32 [ %m149x, %s148 ] + %w149 = call ptr @wglGetProcAddress(ptr @.lgl_n_Uniform4fv) + %wi149 = ptrtoint ptr %w149 to i64 + %wa149 = add i64 %wi149, 1 + %bad149 = icmp ult i64 %wa149, 5 + br i1 %bad149, label %g149, label %s149 +g149: + %e149 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_Uniform4fv) + br label %s149 +s149: + %p149 = phi ptr [ %w149, %f149 ], [ %e149, %g149 ] + store ptr %p149, ptr @lgl_p_Uniform4fv + %u149 = icmp eq ptr %p149, null + %ui149 = zext i1 %u149 to i32 + %m150x = add i32 %m149, %ui149 + br label %f150 +f150: + %m150 = phi i32 [ %m150x, %s149 ] + %w150 = call ptr @wglGetProcAddress(ptr @.lgl_n_Uniform1iv) + %wi150 = ptrtoint ptr %w150 to i64 + %wa150 = add i64 %wi150, 1 + %bad150 = icmp ult i64 %wa150, 5 + br i1 %bad150, label %g150, label %s150 +g150: + %e150 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_Uniform1iv) + br label %s150 +s150: + %p150 = phi ptr [ %w150, %f150 ], [ %e150, %g150 ] + store ptr %p150, ptr @lgl_p_Uniform1iv + %u150 = icmp eq ptr %p150, null + %ui150 = zext i1 %u150 to i32 + %m151x = add i32 %m150, %ui150 + br label %f151 +f151: + %m151 = phi i32 [ %m151x, %s150 ] + %w151 = call ptr @wglGetProcAddress(ptr @.lgl_n_Uniform2iv) + %wi151 = ptrtoint ptr %w151 to i64 + %wa151 = add i64 %wi151, 1 + %bad151 = icmp ult i64 %wa151, 5 + br i1 %bad151, label %g151, label %s151 +g151: + %e151 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_Uniform2iv) + br label %s151 +s151: + %p151 = phi ptr [ %w151, %f151 ], [ %e151, %g151 ] + store ptr %p151, ptr @lgl_p_Uniform2iv + %u151 = icmp eq ptr %p151, null + %ui151 = zext i1 %u151 to i32 + %m152x = add i32 %m151, %ui151 + br label %f152 +f152: + %m152 = phi i32 [ %m152x, %s151 ] + %w152 = call ptr @wglGetProcAddress(ptr @.lgl_n_Uniform3iv) + %wi152 = ptrtoint ptr %w152 to i64 + %wa152 = add i64 %wi152, 1 + %bad152 = icmp ult i64 %wa152, 5 + br i1 %bad152, label %g152, label %s152 +g152: + %e152 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_Uniform3iv) + br label %s152 +s152: + %p152 = phi ptr [ %w152, %f152 ], [ %e152, %g152 ] + store ptr %p152, ptr @lgl_p_Uniform3iv + %u152 = icmp eq ptr %p152, null + %ui152 = zext i1 %u152 to i32 + %m153x = add i32 %m152, %ui152 + br label %f153 +f153: + %m153 = phi i32 [ %m153x, %s152 ] + %w153 = call ptr @wglGetProcAddress(ptr @.lgl_n_Uniform4iv) + %wi153 = ptrtoint ptr %w153 to i64 + %wa153 = add i64 %wi153, 1 + %bad153 = icmp ult i64 %wa153, 5 + br i1 %bad153, label %g153, label %s153 +g153: + %e153 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_Uniform4iv) + br label %s153 +s153: + %p153 = phi ptr [ %w153, %f153 ], [ %e153, %g153 ] + store ptr %p153, ptr @lgl_p_Uniform4iv + %u153 = icmp eq ptr %p153, null + %ui153 = zext i1 %u153 to i32 + %m154x = add i32 %m153, %ui153 + br label %f154 +f154: + %m154 = phi i32 [ %m154x, %s153 ] + %w154 = call ptr @wglGetProcAddress(ptr @.lgl_n_UniformMatrix2fv) + %wi154 = ptrtoint ptr %w154 to i64 + %wa154 = add i64 %wi154, 1 + %bad154 = icmp ult i64 %wa154, 5 + br i1 %bad154, label %g154, label %s154 +g154: + %e154 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_UniformMatrix2fv) + br label %s154 +s154: + %p154 = phi ptr [ %w154, %f154 ], [ %e154, %g154 ] + store ptr %p154, ptr @lgl_p_UniformMatrix2fv + %u154 = icmp eq ptr %p154, null + %ui154 = zext i1 %u154 to i32 + %m155x = add i32 %m154, %ui154 + br label %f155 +f155: + %m155 = phi i32 [ %m155x, %s154 ] + %w155 = call ptr @wglGetProcAddress(ptr @.lgl_n_UniformMatrix3fv) + %wi155 = ptrtoint ptr %w155 to i64 + %wa155 = add i64 %wi155, 1 + %bad155 = icmp ult i64 %wa155, 5 + br i1 %bad155, label %g155, label %s155 +g155: + %e155 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_UniformMatrix3fv) + br label %s155 +s155: + %p155 = phi ptr [ %w155, %f155 ], [ %e155, %g155 ] + store ptr %p155, ptr @lgl_p_UniformMatrix3fv + %u155 = icmp eq ptr %p155, null + %ui155 = zext i1 %u155 to i32 + %m156x = add i32 %m155, %ui155 + br label %f156 +f156: + %m156 = phi i32 [ %m156x, %s155 ] + %w156 = call ptr @wglGetProcAddress(ptr @.lgl_n_UniformMatrix4fv) + %wi156 = ptrtoint ptr %w156 to i64 + %wa156 = add i64 %wi156, 1 + %bad156 = icmp ult i64 %wa156, 5 + br i1 %bad156, label %g156, label %s156 +g156: + %e156 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_UniformMatrix4fv) + br label %s156 +s156: + %p156 = phi ptr [ %w156, %f156 ], [ %e156, %g156 ] + store ptr %p156, ptr @lgl_p_UniformMatrix4fv + %u156 = icmp eq ptr %p156, null + %ui156 = zext i1 %u156 to i32 + %m157x = add i32 %m156, %ui156 + br label %f157 +f157: + %m157 = phi i32 [ %m157x, %s156 ] + %w157 = call ptr @wglGetProcAddress(ptr @.lgl_n_ValidateProgram) + %wi157 = ptrtoint ptr %w157 to i64 + %wa157 = add i64 %wi157, 1 + %bad157 = icmp ult i64 %wa157, 5 + br i1 %bad157, label %g157, label %s157 +g157: + %e157 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ValidateProgram) + br label %s157 +s157: + %p157 = phi ptr [ %w157, %f157 ], [ %e157, %g157 ] + store ptr %p157, ptr @lgl_p_ValidateProgram + %u157 = icmp eq ptr %p157, null + %ui157 = zext i1 %u157 to i32 + %m158x = add i32 %m157, %ui157 + br label %f158 +f158: + %m158 = phi i32 [ %m158x, %s157 ] + %w158 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttrib1d) + %wi158 = ptrtoint ptr %w158 to i64 + %wa158 = add i64 %wi158, 1 + %bad158 = icmp ult i64 %wa158, 5 + br i1 %bad158, label %g158, label %s158 +g158: + %e158 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttrib1d) + br label %s158 +s158: + %p158 = phi ptr [ %w158, %f158 ], [ %e158, %g158 ] + store ptr %p158, ptr @lgl_p_VertexAttrib1d + %u158 = icmp eq ptr %p158, null + %ui158 = zext i1 %u158 to i32 + %m159x = add i32 %m158, %ui158 + br label %f159 +f159: + %m159 = phi i32 [ %m159x, %s158 ] + %w159 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttrib1dv) + %wi159 = ptrtoint ptr %w159 to i64 + %wa159 = add i64 %wi159, 1 + %bad159 = icmp ult i64 %wa159, 5 + br i1 %bad159, label %g159, label %s159 +g159: + %e159 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttrib1dv) + br label %s159 +s159: + %p159 = phi ptr [ %w159, %f159 ], [ %e159, %g159 ] + store ptr %p159, ptr @lgl_p_VertexAttrib1dv + %u159 = icmp eq ptr %p159, null + %ui159 = zext i1 %u159 to i32 + %m160x = add i32 %m159, %ui159 + br label %f160 +f160: + %m160 = phi i32 [ %m160x, %s159 ] + %w160 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttrib1f) + %wi160 = ptrtoint ptr %w160 to i64 + %wa160 = add i64 %wi160, 1 + %bad160 = icmp ult i64 %wa160, 5 + br i1 %bad160, label %g160, label %s160 +g160: + %e160 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttrib1f) + br label %s160 +s160: + %p160 = phi ptr [ %w160, %f160 ], [ %e160, %g160 ] + store ptr %p160, ptr @lgl_p_VertexAttrib1f + %u160 = icmp eq ptr %p160, null + %ui160 = zext i1 %u160 to i32 + %m161x = add i32 %m160, %ui160 + br label %f161 +f161: + %m161 = phi i32 [ %m161x, %s160 ] + %w161 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttrib1fv) + %wi161 = ptrtoint ptr %w161 to i64 + %wa161 = add i64 %wi161, 1 + %bad161 = icmp ult i64 %wa161, 5 + br i1 %bad161, label %g161, label %s161 +g161: + %e161 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttrib1fv) + br label %s161 +s161: + %p161 = phi ptr [ %w161, %f161 ], [ %e161, %g161 ] + store ptr %p161, ptr @lgl_p_VertexAttrib1fv + %u161 = icmp eq ptr %p161, null + %ui161 = zext i1 %u161 to i32 + %m162x = add i32 %m161, %ui161 + br label %f162 +f162: + %m162 = phi i32 [ %m162x, %s161 ] + %w162 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttrib1s) + %wi162 = ptrtoint ptr %w162 to i64 + %wa162 = add i64 %wi162, 1 + %bad162 = icmp ult i64 %wa162, 5 + br i1 %bad162, label %g162, label %s162 +g162: + %e162 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttrib1s) + br label %s162 +s162: + %p162 = phi ptr [ %w162, %f162 ], [ %e162, %g162 ] + store ptr %p162, ptr @lgl_p_VertexAttrib1s + %u162 = icmp eq ptr %p162, null + %ui162 = zext i1 %u162 to i32 + %m163x = add i32 %m162, %ui162 + br label %f163 +f163: + %m163 = phi i32 [ %m163x, %s162 ] + %w163 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttrib1sv) + %wi163 = ptrtoint ptr %w163 to i64 + %wa163 = add i64 %wi163, 1 + %bad163 = icmp ult i64 %wa163, 5 + br i1 %bad163, label %g163, label %s163 +g163: + %e163 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttrib1sv) + br label %s163 +s163: + %p163 = phi ptr [ %w163, %f163 ], [ %e163, %g163 ] + store ptr %p163, ptr @lgl_p_VertexAttrib1sv + %u163 = icmp eq ptr %p163, null + %ui163 = zext i1 %u163 to i32 + %m164x = add i32 %m163, %ui163 + br label %f164 +f164: + %m164 = phi i32 [ %m164x, %s163 ] + %w164 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttrib2d) + %wi164 = ptrtoint ptr %w164 to i64 + %wa164 = add i64 %wi164, 1 + %bad164 = icmp ult i64 %wa164, 5 + br i1 %bad164, label %g164, label %s164 +g164: + %e164 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttrib2d) + br label %s164 +s164: + %p164 = phi ptr [ %w164, %f164 ], [ %e164, %g164 ] + store ptr %p164, ptr @lgl_p_VertexAttrib2d + %u164 = icmp eq ptr %p164, null + %ui164 = zext i1 %u164 to i32 + %m165x = add i32 %m164, %ui164 + br label %f165 +f165: + %m165 = phi i32 [ %m165x, %s164 ] + %w165 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttrib2dv) + %wi165 = ptrtoint ptr %w165 to i64 + %wa165 = add i64 %wi165, 1 + %bad165 = icmp ult i64 %wa165, 5 + br i1 %bad165, label %g165, label %s165 +g165: + %e165 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttrib2dv) + br label %s165 +s165: + %p165 = phi ptr [ %w165, %f165 ], [ %e165, %g165 ] + store ptr %p165, ptr @lgl_p_VertexAttrib2dv + %u165 = icmp eq ptr %p165, null + %ui165 = zext i1 %u165 to i32 + %m166x = add i32 %m165, %ui165 + br label %f166 +f166: + %m166 = phi i32 [ %m166x, %s165 ] + %w166 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttrib2f) + %wi166 = ptrtoint ptr %w166 to i64 + %wa166 = add i64 %wi166, 1 + %bad166 = icmp ult i64 %wa166, 5 + br i1 %bad166, label %g166, label %s166 +g166: + %e166 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttrib2f) + br label %s166 +s166: + %p166 = phi ptr [ %w166, %f166 ], [ %e166, %g166 ] + store ptr %p166, ptr @lgl_p_VertexAttrib2f + %u166 = icmp eq ptr %p166, null + %ui166 = zext i1 %u166 to i32 + %m167x = add i32 %m166, %ui166 + br label %f167 +f167: + %m167 = phi i32 [ %m167x, %s166 ] + %w167 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttrib2fv) + %wi167 = ptrtoint ptr %w167 to i64 + %wa167 = add i64 %wi167, 1 + %bad167 = icmp ult i64 %wa167, 5 + br i1 %bad167, label %g167, label %s167 +g167: + %e167 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttrib2fv) + br label %s167 +s167: + %p167 = phi ptr [ %w167, %f167 ], [ %e167, %g167 ] + store ptr %p167, ptr @lgl_p_VertexAttrib2fv + %u167 = icmp eq ptr %p167, null + %ui167 = zext i1 %u167 to i32 + %m168x = add i32 %m167, %ui167 + br label %f168 +f168: + %m168 = phi i32 [ %m168x, %s167 ] + %w168 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttrib2s) + %wi168 = ptrtoint ptr %w168 to i64 + %wa168 = add i64 %wi168, 1 + %bad168 = icmp ult i64 %wa168, 5 + br i1 %bad168, label %g168, label %s168 +g168: + %e168 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttrib2s) + br label %s168 +s168: + %p168 = phi ptr [ %w168, %f168 ], [ %e168, %g168 ] + store ptr %p168, ptr @lgl_p_VertexAttrib2s + %u168 = icmp eq ptr %p168, null + %ui168 = zext i1 %u168 to i32 + %m169x = add i32 %m168, %ui168 + br label %f169 +f169: + %m169 = phi i32 [ %m169x, %s168 ] + %w169 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttrib2sv) + %wi169 = ptrtoint ptr %w169 to i64 + %wa169 = add i64 %wi169, 1 + %bad169 = icmp ult i64 %wa169, 5 + br i1 %bad169, label %g169, label %s169 +g169: + %e169 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttrib2sv) + br label %s169 +s169: + %p169 = phi ptr [ %w169, %f169 ], [ %e169, %g169 ] + store ptr %p169, ptr @lgl_p_VertexAttrib2sv + %u169 = icmp eq ptr %p169, null + %ui169 = zext i1 %u169 to i32 + %m170x = add i32 %m169, %ui169 + br label %f170 +f170: + %m170 = phi i32 [ %m170x, %s169 ] + %w170 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttrib3d) + %wi170 = ptrtoint ptr %w170 to i64 + %wa170 = add i64 %wi170, 1 + %bad170 = icmp ult i64 %wa170, 5 + br i1 %bad170, label %g170, label %s170 +g170: + %e170 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttrib3d) + br label %s170 +s170: + %p170 = phi ptr [ %w170, %f170 ], [ %e170, %g170 ] + store ptr %p170, ptr @lgl_p_VertexAttrib3d + %u170 = icmp eq ptr %p170, null + %ui170 = zext i1 %u170 to i32 + %m171x = add i32 %m170, %ui170 + br label %f171 +f171: + %m171 = phi i32 [ %m171x, %s170 ] + %w171 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttrib3dv) + %wi171 = ptrtoint ptr %w171 to i64 + %wa171 = add i64 %wi171, 1 + %bad171 = icmp ult i64 %wa171, 5 + br i1 %bad171, label %g171, label %s171 +g171: + %e171 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttrib3dv) + br label %s171 +s171: + %p171 = phi ptr [ %w171, %f171 ], [ %e171, %g171 ] + store ptr %p171, ptr @lgl_p_VertexAttrib3dv + %u171 = icmp eq ptr %p171, null + %ui171 = zext i1 %u171 to i32 + %m172x = add i32 %m171, %ui171 + br label %f172 +f172: + %m172 = phi i32 [ %m172x, %s171 ] + %w172 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttrib3f) + %wi172 = ptrtoint ptr %w172 to i64 + %wa172 = add i64 %wi172, 1 + %bad172 = icmp ult i64 %wa172, 5 + br i1 %bad172, label %g172, label %s172 +g172: + %e172 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttrib3f) + br label %s172 +s172: + %p172 = phi ptr [ %w172, %f172 ], [ %e172, %g172 ] + store ptr %p172, ptr @lgl_p_VertexAttrib3f + %u172 = icmp eq ptr %p172, null + %ui172 = zext i1 %u172 to i32 + %m173x = add i32 %m172, %ui172 + br label %f173 +f173: + %m173 = phi i32 [ %m173x, %s172 ] + %w173 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttrib3fv) + %wi173 = ptrtoint ptr %w173 to i64 + %wa173 = add i64 %wi173, 1 + %bad173 = icmp ult i64 %wa173, 5 + br i1 %bad173, label %g173, label %s173 +g173: + %e173 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttrib3fv) + br label %s173 +s173: + %p173 = phi ptr [ %w173, %f173 ], [ %e173, %g173 ] + store ptr %p173, ptr @lgl_p_VertexAttrib3fv + %u173 = icmp eq ptr %p173, null + %ui173 = zext i1 %u173 to i32 + %m174x = add i32 %m173, %ui173 + br label %f174 +f174: + %m174 = phi i32 [ %m174x, %s173 ] + %w174 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttrib3s) + %wi174 = ptrtoint ptr %w174 to i64 + %wa174 = add i64 %wi174, 1 + %bad174 = icmp ult i64 %wa174, 5 + br i1 %bad174, label %g174, label %s174 +g174: + %e174 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttrib3s) + br label %s174 +s174: + %p174 = phi ptr [ %w174, %f174 ], [ %e174, %g174 ] + store ptr %p174, ptr @lgl_p_VertexAttrib3s + %u174 = icmp eq ptr %p174, null + %ui174 = zext i1 %u174 to i32 + %m175x = add i32 %m174, %ui174 + br label %f175 +f175: + %m175 = phi i32 [ %m175x, %s174 ] + %w175 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttrib3sv) + %wi175 = ptrtoint ptr %w175 to i64 + %wa175 = add i64 %wi175, 1 + %bad175 = icmp ult i64 %wa175, 5 + br i1 %bad175, label %g175, label %s175 +g175: + %e175 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttrib3sv) + br label %s175 +s175: + %p175 = phi ptr [ %w175, %f175 ], [ %e175, %g175 ] + store ptr %p175, ptr @lgl_p_VertexAttrib3sv + %u175 = icmp eq ptr %p175, null + %ui175 = zext i1 %u175 to i32 + %m176x = add i32 %m175, %ui175 + br label %f176 +f176: + %m176 = phi i32 [ %m176x, %s175 ] + %w176 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttrib4Nbv) + %wi176 = ptrtoint ptr %w176 to i64 + %wa176 = add i64 %wi176, 1 + %bad176 = icmp ult i64 %wa176, 5 + br i1 %bad176, label %g176, label %s176 +g176: + %e176 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttrib4Nbv) + br label %s176 +s176: + %p176 = phi ptr [ %w176, %f176 ], [ %e176, %g176 ] + store ptr %p176, ptr @lgl_p_VertexAttrib4Nbv + %u176 = icmp eq ptr %p176, null + %ui176 = zext i1 %u176 to i32 + %m177x = add i32 %m176, %ui176 + br label %f177 +f177: + %m177 = phi i32 [ %m177x, %s176 ] + %w177 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttrib4Niv) + %wi177 = ptrtoint ptr %w177 to i64 + %wa177 = add i64 %wi177, 1 + %bad177 = icmp ult i64 %wa177, 5 + br i1 %bad177, label %g177, label %s177 +g177: + %e177 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttrib4Niv) + br label %s177 +s177: + %p177 = phi ptr [ %w177, %f177 ], [ %e177, %g177 ] + store ptr %p177, ptr @lgl_p_VertexAttrib4Niv + %u177 = icmp eq ptr %p177, null + %ui177 = zext i1 %u177 to i32 + %m178x = add i32 %m177, %ui177 + br label %f178 +f178: + %m178 = phi i32 [ %m178x, %s177 ] + %w178 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttrib4Nsv) + %wi178 = ptrtoint ptr %w178 to i64 + %wa178 = add i64 %wi178, 1 + %bad178 = icmp ult i64 %wa178, 5 + br i1 %bad178, label %g178, label %s178 +g178: + %e178 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttrib4Nsv) + br label %s178 +s178: + %p178 = phi ptr [ %w178, %f178 ], [ %e178, %g178 ] + store ptr %p178, ptr @lgl_p_VertexAttrib4Nsv + %u178 = icmp eq ptr %p178, null + %ui178 = zext i1 %u178 to i32 + %m179x = add i32 %m178, %ui178 + br label %f179 +f179: + %m179 = phi i32 [ %m179x, %s178 ] + %w179 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttrib4Nub) + %wi179 = ptrtoint ptr %w179 to i64 + %wa179 = add i64 %wi179, 1 + %bad179 = icmp ult i64 %wa179, 5 + br i1 %bad179, label %g179, label %s179 +g179: + %e179 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttrib4Nub) + br label %s179 +s179: + %p179 = phi ptr [ %w179, %f179 ], [ %e179, %g179 ] + store ptr %p179, ptr @lgl_p_VertexAttrib4Nub + %u179 = icmp eq ptr %p179, null + %ui179 = zext i1 %u179 to i32 + %m180x = add i32 %m179, %ui179 + br label %f180 +f180: + %m180 = phi i32 [ %m180x, %s179 ] + %w180 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttrib4Nubv) + %wi180 = ptrtoint ptr %w180 to i64 + %wa180 = add i64 %wi180, 1 + %bad180 = icmp ult i64 %wa180, 5 + br i1 %bad180, label %g180, label %s180 +g180: + %e180 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttrib4Nubv) + br label %s180 +s180: + %p180 = phi ptr [ %w180, %f180 ], [ %e180, %g180 ] + store ptr %p180, ptr @lgl_p_VertexAttrib4Nubv + %u180 = icmp eq ptr %p180, null + %ui180 = zext i1 %u180 to i32 + %m181x = add i32 %m180, %ui180 + br label %f181 +f181: + %m181 = phi i32 [ %m181x, %s180 ] + %w181 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttrib4Nuiv) + %wi181 = ptrtoint ptr %w181 to i64 + %wa181 = add i64 %wi181, 1 + %bad181 = icmp ult i64 %wa181, 5 + br i1 %bad181, label %g181, label %s181 +g181: + %e181 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttrib4Nuiv) + br label %s181 +s181: + %p181 = phi ptr [ %w181, %f181 ], [ %e181, %g181 ] + store ptr %p181, ptr @lgl_p_VertexAttrib4Nuiv + %u181 = icmp eq ptr %p181, null + %ui181 = zext i1 %u181 to i32 + %m182x = add i32 %m181, %ui181 + br label %f182 +f182: + %m182 = phi i32 [ %m182x, %s181 ] + %w182 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttrib4Nusv) + %wi182 = ptrtoint ptr %w182 to i64 + %wa182 = add i64 %wi182, 1 + %bad182 = icmp ult i64 %wa182, 5 + br i1 %bad182, label %g182, label %s182 +g182: + %e182 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttrib4Nusv) + br label %s182 +s182: + %p182 = phi ptr [ %w182, %f182 ], [ %e182, %g182 ] + store ptr %p182, ptr @lgl_p_VertexAttrib4Nusv + %u182 = icmp eq ptr %p182, null + %ui182 = zext i1 %u182 to i32 + %m183x = add i32 %m182, %ui182 + br label %f183 +f183: + %m183 = phi i32 [ %m183x, %s182 ] + %w183 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttrib4bv) + %wi183 = ptrtoint ptr %w183 to i64 + %wa183 = add i64 %wi183, 1 + %bad183 = icmp ult i64 %wa183, 5 + br i1 %bad183, label %g183, label %s183 +g183: + %e183 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttrib4bv) + br label %s183 +s183: + %p183 = phi ptr [ %w183, %f183 ], [ %e183, %g183 ] + store ptr %p183, ptr @lgl_p_VertexAttrib4bv + %u183 = icmp eq ptr %p183, null + %ui183 = zext i1 %u183 to i32 + %m184x = add i32 %m183, %ui183 + br label %f184 +f184: + %m184 = phi i32 [ %m184x, %s183 ] + %w184 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttrib4d) + %wi184 = ptrtoint ptr %w184 to i64 + %wa184 = add i64 %wi184, 1 + %bad184 = icmp ult i64 %wa184, 5 + br i1 %bad184, label %g184, label %s184 +g184: + %e184 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttrib4d) + br label %s184 +s184: + %p184 = phi ptr [ %w184, %f184 ], [ %e184, %g184 ] + store ptr %p184, ptr @lgl_p_VertexAttrib4d + %u184 = icmp eq ptr %p184, null + %ui184 = zext i1 %u184 to i32 + %m185x = add i32 %m184, %ui184 + br label %f185 +f185: + %m185 = phi i32 [ %m185x, %s184 ] + %w185 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttrib4dv) + %wi185 = ptrtoint ptr %w185 to i64 + %wa185 = add i64 %wi185, 1 + %bad185 = icmp ult i64 %wa185, 5 + br i1 %bad185, label %g185, label %s185 +g185: + %e185 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttrib4dv) + br label %s185 +s185: + %p185 = phi ptr [ %w185, %f185 ], [ %e185, %g185 ] + store ptr %p185, ptr @lgl_p_VertexAttrib4dv + %u185 = icmp eq ptr %p185, null + %ui185 = zext i1 %u185 to i32 + %m186x = add i32 %m185, %ui185 + br label %f186 +f186: + %m186 = phi i32 [ %m186x, %s185 ] + %w186 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttrib4f) + %wi186 = ptrtoint ptr %w186 to i64 + %wa186 = add i64 %wi186, 1 + %bad186 = icmp ult i64 %wa186, 5 + br i1 %bad186, label %g186, label %s186 +g186: + %e186 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttrib4f) + br label %s186 +s186: + %p186 = phi ptr [ %w186, %f186 ], [ %e186, %g186 ] + store ptr %p186, ptr @lgl_p_VertexAttrib4f + %u186 = icmp eq ptr %p186, null + %ui186 = zext i1 %u186 to i32 + %m187x = add i32 %m186, %ui186 + br label %f187 +f187: + %m187 = phi i32 [ %m187x, %s186 ] + %w187 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttrib4fv) + %wi187 = ptrtoint ptr %w187 to i64 + %wa187 = add i64 %wi187, 1 + %bad187 = icmp ult i64 %wa187, 5 + br i1 %bad187, label %g187, label %s187 +g187: + %e187 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttrib4fv) + br label %s187 +s187: + %p187 = phi ptr [ %w187, %f187 ], [ %e187, %g187 ] + store ptr %p187, ptr @lgl_p_VertexAttrib4fv + %u187 = icmp eq ptr %p187, null + %ui187 = zext i1 %u187 to i32 + %m188x = add i32 %m187, %ui187 + br label %f188 +f188: + %m188 = phi i32 [ %m188x, %s187 ] + %w188 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttrib4iv) + %wi188 = ptrtoint ptr %w188 to i64 + %wa188 = add i64 %wi188, 1 + %bad188 = icmp ult i64 %wa188, 5 + br i1 %bad188, label %g188, label %s188 +g188: + %e188 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttrib4iv) + br label %s188 +s188: + %p188 = phi ptr [ %w188, %f188 ], [ %e188, %g188 ] + store ptr %p188, ptr @lgl_p_VertexAttrib4iv + %u188 = icmp eq ptr %p188, null + %ui188 = zext i1 %u188 to i32 + %m189x = add i32 %m188, %ui188 + br label %f189 +f189: + %m189 = phi i32 [ %m189x, %s188 ] + %w189 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttrib4s) + %wi189 = ptrtoint ptr %w189 to i64 + %wa189 = add i64 %wi189, 1 + %bad189 = icmp ult i64 %wa189, 5 + br i1 %bad189, label %g189, label %s189 +g189: + %e189 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttrib4s) + br label %s189 +s189: + %p189 = phi ptr [ %w189, %f189 ], [ %e189, %g189 ] + store ptr %p189, ptr @lgl_p_VertexAttrib4s + %u189 = icmp eq ptr %p189, null + %ui189 = zext i1 %u189 to i32 + %m190x = add i32 %m189, %ui189 + br label %f190 +f190: + %m190 = phi i32 [ %m190x, %s189 ] + %w190 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttrib4sv) + %wi190 = ptrtoint ptr %w190 to i64 + %wa190 = add i64 %wi190, 1 + %bad190 = icmp ult i64 %wa190, 5 + br i1 %bad190, label %g190, label %s190 +g190: + %e190 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttrib4sv) + br label %s190 +s190: + %p190 = phi ptr [ %w190, %f190 ], [ %e190, %g190 ] + store ptr %p190, ptr @lgl_p_VertexAttrib4sv + %u190 = icmp eq ptr %p190, null + %ui190 = zext i1 %u190 to i32 + %m191x = add i32 %m190, %ui190 + br label %f191 +f191: + %m191 = phi i32 [ %m191x, %s190 ] + %w191 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttrib4ubv) + %wi191 = ptrtoint ptr %w191 to i64 + %wa191 = add i64 %wi191, 1 + %bad191 = icmp ult i64 %wa191, 5 + br i1 %bad191, label %g191, label %s191 +g191: + %e191 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttrib4ubv) + br label %s191 +s191: + %p191 = phi ptr [ %w191, %f191 ], [ %e191, %g191 ] + store ptr %p191, ptr @lgl_p_VertexAttrib4ubv + %u191 = icmp eq ptr %p191, null + %ui191 = zext i1 %u191 to i32 + %m192x = add i32 %m191, %ui191 + br label %f192 +f192: + %m192 = phi i32 [ %m192x, %s191 ] + %w192 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttrib4uiv) + %wi192 = ptrtoint ptr %w192 to i64 + %wa192 = add i64 %wi192, 1 + %bad192 = icmp ult i64 %wa192, 5 + br i1 %bad192, label %g192, label %s192 +g192: + %e192 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttrib4uiv) + br label %s192 +s192: + %p192 = phi ptr [ %w192, %f192 ], [ %e192, %g192 ] + store ptr %p192, ptr @lgl_p_VertexAttrib4uiv + %u192 = icmp eq ptr %p192, null + %ui192 = zext i1 %u192 to i32 + %m193x = add i32 %m192, %ui192 + br label %f193 +f193: + %m193 = phi i32 [ %m193x, %s192 ] + %w193 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttrib4usv) + %wi193 = ptrtoint ptr %w193 to i64 + %wa193 = add i64 %wi193, 1 + %bad193 = icmp ult i64 %wa193, 5 + br i1 %bad193, label %g193, label %s193 +g193: + %e193 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttrib4usv) + br label %s193 +s193: + %p193 = phi ptr [ %w193, %f193 ], [ %e193, %g193 ] + store ptr %p193, ptr @lgl_p_VertexAttrib4usv + %u193 = icmp eq ptr %p193, null + %ui193 = zext i1 %u193 to i32 + %m194x = add i32 %m193, %ui193 + br label %f194 +f194: + %m194 = phi i32 [ %m194x, %s193 ] + %w194 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttribPointer) + %wi194 = ptrtoint ptr %w194 to i64 + %wa194 = add i64 %wi194, 1 + %bad194 = icmp ult i64 %wa194, 5 + br i1 %bad194, label %g194, label %s194 +g194: + %e194 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttribPointer) + br label %s194 +s194: + %p194 = phi ptr [ %w194, %f194 ], [ %e194, %g194 ] + store ptr %p194, ptr @lgl_p_VertexAttribPointer + %u194 = icmp eq ptr %p194, null + %ui194 = zext i1 %u194 to i32 + %m195x = add i32 %m194, %ui194 + br label %f195 +f195: + %m195 = phi i32 [ %m195x, %s194 ] + %w195 = call ptr @wglGetProcAddress(ptr @.lgl_n_UniformMatrix2x3fv) + %wi195 = ptrtoint ptr %w195 to i64 + %wa195 = add i64 %wi195, 1 + %bad195 = icmp ult i64 %wa195, 5 + br i1 %bad195, label %g195, label %s195 +g195: + %e195 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_UniformMatrix2x3fv) + br label %s195 +s195: + %p195 = phi ptr [ %w195, %f195 ], [ %e195, %g195 ] + store ptr %p195, ptr @lgl_p_UniformMatrix2x3fv + %u195 = icmp eq ptr %p195, null + %ui195 = zext i1 %u195 to i32 + %m196x = add i32 %m195, %ui195 + br label %f196 +f196: + %m196 = phi i32 [ %m196x, %s195 ] + %w196 = call ptr @wglGetProcAddress(ptr @.lgl_n_UniformMatrix3x2fv) + %wi196 = ptrtoint ptr %w196 to i64 + %wa196 = add i64 %wi196, 1 + %bad196 = icmp ult i64 %wa196, 5 + br i1 %bad196, label %g196, label %s196 +g196: + %e196 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_UniformMatrix3x2fv) + br label %s196 +s196: + %p196 = phi ptr [ %w196, %f196 ], [ %e196, %g196 ] + store ptr %p196, ptr @lgl_p_UniformMatrix3x2fv + %u196 = icmp eq ptr %p196, null + %ui196 = zext i1 %u196 to i32 + %m197x = add i32 %m196, %ui196 + br label %f197 +f197: + %m197 = phi i32 [ %m197x, %s196 ] + %w197 = call ptr @wglGetProcAddress(ptr @.lgl_n_UniformMatrix2x4fv) + %wi197 = ptrtoint ptr %w197 to i64 + %wa197 = add i64 %wi197, 1 + %bad197 = icmp ult i64 %wa197, 5 + br i1 %bad197, label %g197, label %s197 +g197: + %e197 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_UniformMatrix2x4fv) + br label %s197 +s197: + %p197 = phi ptr [ %w197, %f197 ], [ %e197, %g197 ] + store ptr %p197, ptr @lgl_p_UniformMatrix2x4fv + %u197 = icmp eq ptr %p197, null + %ui197 = zext i1 %u197 to i32 + %m198x = add i32 %m197, %ui197 + br label %f198 +f198: + %m198 = phi i32 [ %m198x, %s197 ] + %w198 = call ptr @wglGetProcAddress(ptr @.lgl_n_UniformMatrix4x2fv) + %wi198 = ptrtoint ptr %w198 to i64 + %wa198 = add i64 %wi198, 1 + %bad198 = icmp ult i64 %wa198, 5 + br i1 %bad198, label %g198, label %s198 +g198: + %e198 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_UniformMatrix4x2fv) + br label %s198 +s198: + %p198 = phi ptr [ %w198, %f198 ], [ %e198, %g198 ] + store ptr %p198, ptr @lgl_p_UniformMatrix4x2fv + %u198 = icmp eq ptr %p198, null + %ui198 = zext i1 %u198 to i32 + %m199x = add i32 %m198, %ui198 + br label %f199 +f199: + %m199 = phi i32 [ %m199x, %s198 ] + %w199 = call ptr @wglGetProcAddress(ptr @.lgl_n_UniformMatrix3x4fv) + %wi199 = ptrtoint ptr %w199 to i64 + %wa199 = add i64 %wi199, 1 + %bad199 = icmp ult i64 %wa199, 5 + br i1 %bad199, label %g199, label %s199 +g199: + %e199 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_UniformMatrix3x4fv) + br label %s199 +s199: + %p199 = phi ptr [ %w199, %f199 ], [ %e199, %g199 ] + store ptr %p199, ptr @lgl_p_UniformMatrix3x4fv + %u199 = icmp eq ptr %p199, null + %ui199 = zext i1 %u199 to i32 + %m200x = add i32 %m199, %ui199 + br label %f200 +f200: + %m200 = phi i32 [ %m200x, %s199 ] + %w200 = call ptr @wglGetProcAddress(ptr @.lgl_n_UniformMatrix4x3fv) + %wi200 = ptrtoint ptr %w200 to i64 + %wa200 = add i64 %wi200, 1 + %bad200 = icmp ult i64 %wa200, 5 + br i1 %bad200, label %g200, label %s200 +g200: + %e200 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_UniformMatrix4x3fv) + br label %s200 +s200: + %p200 = phi ptr [ %w200, %f200 ], [ %e200, %g200 ] + store ptr %p200, ptr @lgl_p_UniformMatrix4x3fv + %u200 = icmp eq ptr %p200, null + %ui200 = zext i1 %u200 to i32 + %m201x = add i32 %m200, %ui200 + br label %f201 +f201: + %m201 = phi i32 [ %m201x, %s200 ] + %w201 = call ptr @wglGetProcAddress(ptr @.lgl_n_ColorMaski) + %wi201 = ptrtoint ptr %w201 to i64 + %wa201 = add i64 %wi201, 1 + %bad201 = icmp ult i64 %wa201, 5 + br i1 %bad201, label %g201, label %s201 +g201: + %e201 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ColorMaski) + br label %s201 +s201: + %p201 = phi ptr [ %w201, %f201 ], [ %e201, %g201 ] + store ptr %p201, ptr @lgl_p_ColorMaski + %u201 = icmp eq ptr %p201, null + %ui201 = zext i1 %u201 to i32 + %m202x = add i32 %m201, %ui201 + br label %f202 +f202: + %m202 = phi i32 [ %m202x, %s201 ] + %w202 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetBooleani_v) + %wi202 = ptrtoint ptr %w202 to i64 + %wa202 = add i64 %wi202, 1 + %bad202 = icmp ult i64 %wa202, 5 + br i1 %bad202, label %g202, label %s202 +g202: + %e202 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetBooleani_v) + br label %s202 +s202: + %p202 = phi ptr [ %w202, %f202 ], [ %e202, %g202 ] + store ptr %p202, ptr @lgl_p_GetBooleani_v + %u202 = icmp eq ptr %p202, null + %ui202 = zext i1 %u202 to i32 + %m203x = add i32 %m202, %ui202 + br label %f203 +f203: + %m203 = phi i32 [ %m203x, %s202 ] + %w203 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetIntegeri_v) + %wi203 = ptrtoint ptr %w203 to i64 + %wa203 = add i64 %wi203, 1 + %bad203 = icmp ult i64 %wa203, 5 + br i1 %bad203, label %g203, label %s203 +g203: + %e203 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetIntegeri_v) + br label %s203 +s203: + %p203 = phi ptr [ %w203, %f203 ], [ %e203, %g203 ] + store ptr %p203, ptr @lgl_p_GetIntegeri_v + %u203 = icmp eq ptr %p203, null + %ui203 = zext i1 %u203 to i32 + %m204x = add i32 %m203, %ui203 + br label %f204 +f204: + %m204 = phi i32 [ %m204x, %s203 ] + %w204 = call ptr @wglGetProcAddress(ptr @.lgl_n_Enablei) + %wi204 = ptrtoint ptr %w204 to i64 + %wa204 = add i64 %wi204, 1 + %bad204 = icmp ult i64 %wa204, 5 + br i1 %bad204, label %g204, label %s204 +g204: + %e204 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_Enablei) + br label %s204 +s204: + %p204 = phi ptr [ %w204, %f204 ], [ %e204, %g204 ] + store ptr %p204, ptr @lgl_p_Enablei + %u204 = icmp eq ptr %p204, null + %ui204 = zext i1 %u204 to i32 + %m205x = add i32 %m204, %ui204 + br label %f205 +f205: + %m205 = phi i32 [ %m205x, %s204 ] + %w205 = call ptr @wglGetProcAddress(ptr @.lgl_n_Disablei) + %wi205 = ptrtoint ptr %w205 to i64 + %wa205 = add i64 %wi205, 1 + %bad205 = icmp ult i64 %wa205, 5 + br i1 %bad205, label %g205, label %s205 +g205: + %e205 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_Disablei) + br label %s205 +s205: + %p205 = phi ptr [ %w205, %f205 ], [ %e205, %g205 ] + store ptr %p205, ptr @lgl_p_Disablei + %u205 = icmp eq ptr %p205, null + %ui205 = zext i1 %u205 to i32 + %m206x = add i32 %m205, %ui205 + br label %f206 +f206: + %m206 = phi i32 [ %m206x, %s205 ] + %w206 = call ptr @wglGetProcAddress(ptr @.lgl_n_IsEnabledi) + %wi206 = ptrtoint ptr %w206 to i64 + %wa206 = add i64 %wi206, 1 + %bad206 = icmp ult i64 %wa206, 5 + br i1 %bad206, label %g206, label %s206 +g206: + %e206 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_IsEnabledi) + br label %s206 +s206: + %p206 = phi ptr [ %w206, %f206 ], [ %e206, %g206 ] + store ptr %p206, ptr @lgl_p_IsEnabledi + %u206 = icmp eq ptr %p206, null + %ui206 = zext i1 %u206 to i32 + %m207x = add i32 %m206, %ui206 + br label %f207 +f207: + %m207 = phi i32 [ %m207x, %s206 ] + %w207 = call ptr @wglGetProcAddress(ptr @.lgl_n_BeginTransformFeedback) + %wi207 = ptrtoint ptr %w207 to i64 + %wa207 = add i64 %wi207, 1 + %bad207 = icmp ult i64 %wa207, 5 + br i1 %bad207, label %g207, label %s207 +g207: + %e207 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_BeginTransformFeedback) + br label %s207 +s207: + %p207 = phi ptr [ %w207, %f207 ], [ %e207, %g207 ] + store ptr %p207, ptr @lgl_p_BeginTransformFeedback + %u207 = icmp eq ptr %p207, null + %ui207 = zext i1 %u207 to i32 + %m208x = add i32 %m207, %ui207 + br label %f208 +f208: + %m208 = phi i32 [ %m208x, %s207 ] + %w208 = call ptr @wglGetProcAddress(ptr @.lgl_n_EndTransformFeedback) + %wi208 = ptrtoint ptr %w208 to i64 + %wa208 = add i64 %wi208, 1 + %bad208 = icmp ult i64 %wa208, 5 + br i1 %bad208, label %g208, label %s208 +g208: + %e208 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_EndTransformFeedback) + br label %s208 +s208: + %p208 = phi ptr [ %w208, %f208 ], [ %e208, %g208 ] + store ptr %p208, ptr @lgl_p_EndTransformFeedback + %u208 = icmp eq ptr %p208, null + %ui208 = zext i1 %u208 to i32 + %m209x = add i32 %m208, %ui208 + br label %f209 +f209: + %m209 = phi i32 [ %m209x, %s208 ] + %w209 = call ptr @wglGetProcAddress(ptr @.lgl_n_BindBufferRange) + %wi209 = ptrtoint ptr %w209 to i64 + %wa209 = add i64 %wi209, 1 + %bad209 = icmp ult i64 %wa209, 5 + br i1 %bad209, label %g209, label %s209 +g209: + %e209 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_BindBufferRange) + br label %s209 +s209: + %p209 = phi ptr [ %w209, %f209 ], [ %e209, %g209 ] + store ptr %p209, ptr @lgl_p_BindBufferRange + %u209 = icmp eq ptr %p209, null + %ui209 = zext i1 %u209 to i32 + %m210x = add i32 %m209, %ui209 + br label %f210 +f210: + %m210 = phi i32 [ %m210x, %s209 ] + %w210 = call ptr @wglGetProcAddress(ptr @.lgl_n_BindBufferBase) + %wi210 = ptrtoint ptr %w210 to i64 + %wa210 = add i64 %wi210, 1 + %bad210 = icmp ult i64 %wa210, 5 + br i1 %bad210, label %g210, label %s210 +g210: + %e210 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_BindBufferBase) + br label %s210 +s210: + %p210 = phi ptr [ %w210, %f210 ], [ %e210, %g210 ] + store ptr %p210, ptr @lgl_p_BindBufferBase + %u210 = icmp eq ptr %p210, null + %ui210 = zext i1 %u210 to i32 + %m211x = add i32 %m210, %ui210 + br label %f211 +f211: + %m211 = phi i32 [ %m211x, %s210 ] + %w211 = call ptr @wglGetProcAddress(ptr @.lgl_n_TransformFeedbackVaryings) + %wi211 = ptrtoint ptr %w211 to i64 + %wa211 = add i64 %wi211, 1 + %bad211 = icmp ult i64 %wa211, 5 + br i1 %bad211, label %g211, label %s211 +g211: + %e211 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_TransformFeedbackVaryings) + br label %s211 +s211: + %p211 = phi ptr [ %w211, %f211 ], [ %e211, %g211 ] + store ptr %p211, ptr @lgl_p_TransformFeedbackVaryings + %u211 = icmp eq ptr %p211, null + %ui211 = zext i1 %u211 to i32 + %m212x = add i32 %m211, %ui211 + br label %f212 +f212: + %m212 = phi i32 [ %m212x, %s211 ] + %w212 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetTransformFeedbackVarying) + %wi212 = ptrtoint ptr %w212 to i64 + %wa212 = add i64 %wi212, 1 + %bad212 = icmp ult i64 %wa212, 5 + br i1 %bad212, label %g212, label %s212 +g212: + %e212 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetTransformFeedbackVarying) + br label %s212 +s212: + %p212 = phi ptr [ %w212, %f212 ], [ %e212, %g212 ] + store ptr %p212, ptr @lgl_p_GetTransformFeedbackVarying + %u212 = icmp eq ptr %p212, null + %ui212 = zext i1 %u212 to i32 + %m213x = add i32 %m212, %ui212 + br label %f213 +f213: + %m213 = phi i32 [ %m213x, %s212 ] + %w213 = call ptr @wglGetProcAddress(ptr @.lgl_n_ClampColor) + %wi213 = ptrtoint ptr %w213 to i64 + %wa213 = add i64 %wi213, 1 + %bad213 = icmp ult i64 %wa213, 5 + br i1 %bad213, label %g213, label %s213 +g213: + %e213 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ClampColor) + br label %s213 +s213: + %p213 = phi ptr [ %w213, %f213 ], [ %e213, %g213 ] + store ptr %p213, ptr @lgl_p_ClampColor + %u213 = icmp eq ptr %p213, null + %ui213 = zext i1 %u213 to i32 + %m214x = add i32 %m213, %ui213 + br label %f214 +f214: + %m214 = phi i32 [ %m214x, %s213 ] + %w214 = call ptr @wglGetProcAddress(ptr @.lgl_n_BeginConditionalRender) + %wi214 = ptrtoint ptr %w214 to i64 + %wa214 = add i64 %wi214, 1 + %bad214 = icmp ult i64 %wa214, 5 + br i1 %bad214, label %g214, label %s214 +g214: + %e214 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_BeginConditionalRender) + br label %s214 +s214: + %p214 = phi ptr [ %w214, %f214 ], [ %e214, %g214 ] + store ptr %p214, ptr @lgl_p_BeginConditionalRender + %u214 = icmp eq ptr %p214, null + %ui214 = zext i1 %u214 to i32 + %m215x = add i32 %m214, %ui214 + br label %f215 +f215: + %m215 = phi i32 [ %m215x, %s214 ] + %w215 = call ptr @wglGetProcAddress(ptr @.lgl_n_EndConditionalRender) + %wi215 = ptrtoint ptr %w215 to i64 + %wa215 = add i64 %wi215, 1 + %bad215 = icmp ult i64 %wa215, 5 + br i1 %bad215, label %g215, label %s215 +g215: + %e215 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_EndConditionalRender) + br label %s215 +s215: + %p215 = phi ptr [ %w215, %f215 ], [ %e215, %g215 ] + store ptr %p215, ptr @lgl_p_EndConditionalRender + %u215 = icmp eq ptr %p215, null + %ui215 = zext i1 %u215 to i32 + %m216x = add i32 %m215, %ui215 + br label %f216 +f216: + %m216 = phi i32 [ %m216x, %s215 ] + %w216 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttribIPointer) + %wi216 = ptrtoint ptr %w216 to i64 + %wa216 = add i64 %wi216, 1 + %bad216 = icmp ult i64 %wa216, 5 + br i1 %bad216, label %g216, label %s216 +g216: + %e216 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttribIPointer) + br label %s216 +s216: + %p216 = phi ptr [ %w216, %f216 ], [ %e216, %g216 ] + store ptr %p216, ptr @lgl_p_VertexAttribIPointer + %u216 = icmp eq ptr %p216, null + %ui216 = zext i1 %u216 to i32 + %m217x = add i32 %m216, %ui216 + br label %f217 +f217: + %m217 = phi i32 [ %m217x, %s216 ] + %w217 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetVertexAttribIiv) + %wi217 = ptrtoint ptr %w217 to i64 + %wa217 = add i64 %wi217, 1 + %bad217 = icmp ult i64 %wa217, 5 + br i1 %bad217, label %g217, label %s217 +g217: + %e217 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetVertexAttribIiv) + br label %s217 +s217: + %p217 = phi ptr [ %w217, %f217 ], [ %e217, %g217 ] + store ptr %p217, ptr @lgl_p_GetVertexAttribIiv + %u217 = icmp eq ptr %p217, null + %ui217 = zext i1 %u217 to i32 + %m218x = add i32 %m217, %ui217 + br label %f218 +f218: + %m218 = phi i32 [ %m218x, %s217 ] + %w218 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetVertexAttribIuiv) + %wi218 = ptrtoint ptr %w218 to i64 + %wa218 = add i64 %wi218, 1 + %bad218 = icmp ult i64 %wa218, 5 + br i1 %bad218, label %g218, label %s218 +g218: + %e218 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetVertexAttribIuiv) + br label %s218 +s218: + %p218 = phi ptr [ %w218, %f218 ], [ %e218, %g218 ] + store ptr %p218, ptr @lgl_p_GetVertexAttribIuiv + %u218 = icmp eq ptr %p218, null + %ui218 = zext i1 %u218 to i32 + %m219x = add i32 %m218, %ui218 + br label %f219 +f219: + %m219 = phi i32 [ %m219x, %s218 ] + %w219 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttribI1i) + %wi219 = ptrtoint ptr %w219 to i64 + %wa219 = add i64 %wi219, 1 + %bad219 = icmp ult i64 %wa219, 5 + br i1 %bad219, label %g219, label %s219 +g219: + %e219 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttribI1i) + br label %s219 +s219: + %p219 = phi ptr [ %w219, %f219 ], [ %e219, %g219 ] + store ptr %p219, ptr @lgl_p_VertexAttribI1i + %u219 = icmp eq ptr %p219, null + %ui219 = zext i1 %u219 to i32 + %m220x = add i32 %m219, %ui219 + br label %f220 +f220: + %m220 = phi i32 [ %m220x, %s219 ] + %w220 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttribI2i) + %wi220 = ptrtoint ptr %w220 to i64 + %wa220 = add i64 %wi220, 1 + %bad220 = icmp ult i64 %wa220, 5 + br i1 %bad220, label %g220, label %s220 +g220: + %e220 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttribI2i) + br label %s220 +s220: + %p220 = phi ptr [ %w220, %f220 ], [ %e220, %g220 ] + store ptr %p220, ptr @lgl_p_VertexAttribI2i + %u220 = icmp eq ptr %p220, null + %ui220 = zext i1 %u220 to i32 + %m221x = add i32 %m220, %ui220 + br label %f221 +f221: + %m221 = phi i32 [ %m221x, %s220 ] + %w221 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttribI3i) + %wi221 = ptrtoint ptr %w221 to i64 + %wa221 = add i64 %wi221, 1 + %bad221 = icmp ult i64 %wa221, 5 + br i1 %bad221, label %g221, label %s221 +g221: + %e221 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttribI3i) + br label %s221 +s221: + %p221 = phi ptr [ %w221, %f221 ], [ %e221, %g221 ] + store ptr %p221, ptr @lgl_p_VertexAttribI3i + %u221 = icmp eq ptr %p221, null + %ui221 = zext i1 %u221 to i32 + %m222x = add i32 %m221, %ui221 + br label %f222 +f222: + %m222 = phi i32 [ %m222x, %s221 ] + %w222 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttribI4i) + %wi222 = ptrtoint ptr %w222 to i64 + %wa222 = add i64 %wi222, 1 + %bad222 = icmp ult i64 %wa222, 5 + br i1 %bad222, label %g222, label %s222 +g222: + %e222 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttribI4i) + br label %s222 +s222: + %p222 = phi ptr [ %w222, %f222 ], [ %e222, %g222 ] + store ptr %p222, ptr @lgl_p_VertexAttribI4i + %u222 = icmp eq ptr %p222, null + %ui222 = zext i1 %u222 to i32 + %m223x = add i32 %m222, %ui222 + br label %f223 +f223: + %m223 = phi i32 [ %m223x, %s222 ] + %w223 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttribI1ui) + %wi223 = ptrtoint ptr %w223 to i64 + %wa223 = add i64 %wi223, 1 + %bad223 = icmp ult i64 %wa223, 5 + br i1 %bad223, label %g223, label %s223 +g223: + %e223 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttribI1ui) + br label %s223 +s223: + %p223 = phi ptr [ %w223, %f223 ], [ %e223, %g223 ] + store ptr %p223, ptr @lgl_p_VertexAttribI1ui + %u223 = icmp eq ptr %p223, null + %ui223 = zext i1 %u223 to i32 + %m224x = add i32 %m223, %ui223 + br label %f224 +f224: + %m224 = phi i32 [ %m224x, %s223 ] + %w224 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttribI2ui) + %wi224 = ptrtoint ptr %w224 to i64 + %wa224 = add i64 %wi224, 1 + %bad224 = icmp ult i64 %wa224, 5 + br i1 %bad224, label %g224, label %s224 +g224: + %e224 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttribI2ui) + br label %s224 +s224: + %p224 = phi ptr [ %w224, %f224 ], [ %e224, %g224 ] + store ptr %p224, ptr @lgl_p_VertexAttribI2ui + %u224 = icmp eq ptr %p224, null + %ui224 = zext i1 %u224 to i32 + %m225x = add i32 %m224, %ui224 + br label %f225 +f225: + %m225 = phi i32 [ %m225x, %s224 ] + %w225 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttribI3ui) + %wi225 = ptrtoint ptr %w225 to i64 + %wa225 = add i64 %wi225, 1 + %bad225 = icmp ult i64 %wa225, 5 + br i1 %bad225, label %g225, label %s225 +g225: + %e225 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttribI3ui) + br label %s225 +s225: + %p225 = phi ptr [ %w225, %f225 ], [ %e225, %g225 ] + store ptr %p225, ptr @lgl_p_VertexAttribI3ui + %u225 = icmp eq ptr %p225, null + %ui225 = zext i1 %u225 to i32 + %m226x = add i32 %m225, %ui225 + br label %f226 +f226: + %m226 = phi i32 [ %m226x, %s225 ] + %w226 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttribI4ui) + %wi226 = ptrtoint ptr %w226 to i64 + %wa226 = add i64 %wi226, 1 + %bad226 = icmp ult i64 %wa226, 5 + br i1 %bad226, label %g226, label %s226 +g226: + %e226 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttribI4ui) + br label %s226 +s226: + %p226 = phi ptr [ %w226, %f226 ], [ %e226, %g226 ] + store ptr %p226, ptr @lgl_p_VertexAttribI4ui + %u226 = icmp eq ptr %p226, null + %ui226 = zext i1 %u226 to i32 + %m227x = add i32 %m226, %ui226 + br label %f227 +f227: + %m227 = phi i32 [ %m227x, %s226 ] + %w227 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttribI1iv) + %wi227 = ptrtoint ptr %w227 to i64 + %wa227 = add i64 %wi227, 1 + %bad227 = icmp ult i64 %wa227, 5 + br i1 %bad227, label %g227, label %s227 +g227: + %e227 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttribI1iv) + br label %s227 +s227: + %p227 = phi ptr [ %w227, %f227 ], [ %e227, %g227 ] + store ptr %p227, ptr @lgl_p_VertexAttribI1iv + %u227 = icmp eq ptr %p227, null + %ui227 = zext i1 %u227 to i32 + %m228x = add i32 %m227, %ui227 + br label %f228 +f228: + %m228 = phi i32 [ %m228x, %s227 ] + %w228 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttribI2iv) + %wi228 = ptrtoint ptr %w228 to i64 + %wa228 = add i64 %wi228, 1 + %bad228 = icmp ult i64 %wa228, 5 + br i1 %bad228, label %g228, label %s228 +g228: + %e228 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttribI2iv) + br label %s228 +s228: + %p228 = phi ptr [ %w228, %f228 ], [ %e228, %g228 ] + store ptr %p228, ptr @lgl_p_VertexAttribI2iv + %u228 = icmp eq ptr %p228, null + %ui228 = zext i1 %u228 to i32 + %m229x = add i32 %m228, %ui228 + br label %f229 +f229: + %m229 = phi i32 [ %m229x, %s228 ] + %w229 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttribI3iv) + %wi229 = ptrtoint ptr %w229 to i64 + %wa229 = add i64 %wi229, 1 + %bad229 = icmp ult i64 %wa229, 5 + br i1 %bad229, label %g229, label %s229 +g229: + %e229 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttribI3iv) + br label %s229 +s229: + %p229 = phi ptr [ %w229, %f229 ], [ %e229, %g229 ] + store ptr %p229, ptr @lgl_p_VertexAttribI3iv + %u229 = icmp eq ptr %p229, null + %ui229 = zext i1 %u229 to i32 + %m230x = add i32 %m229, %ui229 + br label %f230 +f230: + %m230 = phi i32 [ %m230x, %s229 ] + %w230 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttribI4iv) + %wi230 = ptrtoint ptr %w230 to i64 + %wa230 = add i64 %wi230, 1 + %bad230 = icmp ult i64 %wa230, 5 + br i1 %bad230, label %g230, label %s230 +g230: + %e230 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttribI4iv) + br label %s230 +s230: + %p230 = phi ptr [ %w230, %f230 ], [ %e230, %g230 ] + store ptr %p230, ptr @lgl_p_VertexAttribI4iv + %u230 = icmp eq ptr %p230, null + %ui230 = zext i1 %u230 to i32 + %m231x = add i32 %m230, %ui230 + br label %f231 +f231: + %m231 = phi i32 [ %m231x, %s230 ] + %w231 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttribI1uiv) + %wi231 = ptrtoint ptr %w231 to i64 + %wa231 = add i64 %wi231, 1 + %bad231 = icmp ult i64 %wa231, 5 + br i1 %bad231, label %g231, label %s231 +g231: + %e231 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttribI1uiv) + br label %s231 +s231: + %p231 = phi ptr [ %w231, %f231 ], [ %e231, %g231 ] + store ptr %p231, ptr @lgl_p_VertexAttribI1uiv + %u231 = icmp eq ptr %p231, null + %ui231 = zext i1 %u231 to i32 + %m232x = add i32 %m231, %ui231 + br label %f232 +f232: + %m232 = phi i32 [ %m232x, %s231 ] + %w232 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttribI2uiv) + %wi232 = ptrtoint ptr %w232 to i64 + %wa232 = add i64 %wi232, 1 + %bad232 = icmp ult i64 %wa232, 5 + br i1 %bad232, label %g232, label %s232 +g232: + %e232 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttribI2uiv) + br label %s232 +s232: + %p232 = phi ptr [ %w232, %f232 ], [ %e232, %g232 ] + store ptr %p232, ptr @lgl_p_VertexAttribI2uiv + %u232 = icmp eq ptr %p232, null + %ui232 = zext i1 %u232 to i32 + %m233x = add i32 %m232, %ui232 + br label %f233 +f233: + %m233 = phi i32 [ %m233x, %s232 ] + %w233 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttribI3uiv) + %wi233 = ptrtoint ptr %w233 to i64 + %wa233 = add i64 %wi233, 1 + %bad233 = icmp ult i64 %wa233, 5 + br i1 %bad233, label %g233, label %s233 +g233: + %e233 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttribI3uiv) + br label %s233 +s233: + %p233 = phi ptr [ %w233, %f233 ], [ %e233, %g233 ] + store ptr %p233, ptr @lgl_p_VertexAttribI3uiv + %u233 = icmp eq ptr %p233, null + %ui233 = zext i1 %u233 to i32 + %m234x = add i32 %m233, %ui233 + br label %f234 +f234: + %m234 = phi i32 [ %m234x, %s233 ] + %w234 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttribI4uiv) + %wi234 = ptrtoint ptr %w234 to i64 + %wa234 = add i64 %wi234, 1 + %bad234 = icmp ult i64 %wa234, 5 + br i1 %bad234, label %g234, label %s234 +g234: + %e234 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttribI4uiv) + br label %s234 +s234: + %p234 = phi ptr [ %w234, %f234 ], [ %e234, %g234 ] + store ptr %p234, ptr @lgl_p_VertexAttribI4uiv + %u234 = icmp eq ptr %p234, null + %ui234 = zext i1 %u234 to i32 + %m235x = add i32 %m234, %ui234 + br label %f235 +f235: + %m235 = phi i32 [ %m235x, %s234 ] + %w235 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttribI4bv) + %wi235 = ptrtoint ptr %w235 to i64 + %wa235 = add i64 %wi235, 1 + %bad235 = icmp ult i64 %wa235, 5 + br i1 %bad235, label %g235, label %s235 +g235: + %e235 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttribI4bv) + br label %s235 +s235: + %p235 = phi ptr [ %w235, %f235 ], [ %e235, %g235 ] + store ptr %p235, ptr @lgl_p_VertexAttribI4bv + %u235 = icmp eq ptr %p235, null + %ui235 = zext i1 %u235 to i32 + %m236x = add i32 %m235, %ui235 + br label %f236 +f236: + %m236 = phi i32 [ %m236x, %s235 ] + %w236 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttribI4sv) + %wi236 = ptrtoint ptr %w236 to i64 + %wa236 = add i64 %wi236, 1 + %bad236 = icmp ult i64 %wa236, 5 + br i1 %bad236, label %g236, label %s236 +g236: + %e236 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttribI4sv) + br label %s236 +s236: + %p236 = phi ptr [ %w236, %f236 ], [ %e236, %g236 ] + store ptr %p236, ptr @lgl_p_VertexAttribI4sv + %u236 = icmp eq ptr %p236, null + %ui236 = zext i1 %u236 to i32 + %m237x = add i32 %m236, %ui236 + br label %f237 +f237: + %m237 = phi i32 [ %m237x, %s236 ] + %w237 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttribI4ubv) + %wi237 = ptrtoint ptr %w237 to i64 + %wa237 = add i64 %wi237, 1 + %bad237 = icmp ult i64 %wa237, 5 + br i1 %bad237, label %g237, label %s237 +g237: + %e237 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttribI4ubv) + br label %s237 +s237: + %p237 = phi ptr [ %w237, %f237 ], [ %e237, %g237 ] + store ptr %p237, ptr @lgl_p_VertexAttribI4ubv + %u237 = icmp eq ptr %p237, null + %ui237 = zext i1 %u237 to i32 + %m238x = add i32 %m237, %ui237 + br label %f238 +f238: + %m238 = phi i32 [ %m238x, %s237 ] + %w238 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttribI4usv) + %wi238 = ptrtoint ptr %w238 to i64 + %wa238 = add i64 %wi238, 1 + %bad238 = icmp ult i64 %wa238, 5 + br i1 %bad238, label %g238, label %s238 +g238: + %e238 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttribI4usv) + br label %s238 +s238: + %p238 = phi ptr [ %w238, %f238 ], [ %e238, %g238 ] + store ptr %p238, ptr @lgl_p_VertexAttribI4usv + %u238 = icmp eq ptr %p238, null + %ui238 = zext i1 %u238 to i32 + %m239x = add i32 %m238, %ui238 + br label %f239 +f239: + %m239 = phi i32 [ %m239x, %s238 ] + %w239 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetUniformuiv) + %wi239 = ptrtoint ptr %w239 to i64 + %wa239 = add i64 %wi239, 1 + %bad239 = icmp ult i64 %wa239, 5 + br i1 %bad239, label %g239, label %s239 +g239: + %e239 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetUniformuiv) + br label %s239 +s239: + %p239 = phi ptr [ %w239, %f239 ], [ %e239, %g239 ] + store ptr %p239, ptr @lgl_p_GetUniformuiv + %u239 = icmp eq ptr %p239, null + %ui239 = zext i1 %u239 to i32 + %m240x = add i32 %m239, %ui239 + br label %f240 +f240: + %m240 = phi i32 [ %m240x, %s239 ] + %w240 = call ptr @wglGetProcAddress(ptr @.lgl_n_BindFragDataLocation) + %wi240 = ptrtoint ptr %w240 to i64 + %wa240 = add i64 %wi240, 1 + %bad240 = icmp ult i64 %wa240, 5 + br i1 %bad240, label %g240, label %s240 +g240: + %e240 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_BindFragDataLocation) + br label %s240 +s240: + %p240 = phi ptr [ %w240, %f240 ], [ %e240, %g240 ] + store ptr %p240, ptr @lgl_p_BindFragDataLocation + %u240 = icmp eq ptr %p240, null + %ui240 = zext i1 %u240 to i32 + %m241x = add i32 %m240, %ui240 + br label %f241 +f241: + %m241 = phi i32 [ %m241x, %s240 ] + %w241 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetFragDataLocation) + %wi241 = ptrtoint ptr %w241 to i64 + %wa241 = add i64 %wi241, 1 + %bad241 = icmp ult i64 %wa241, 5 + br i1 %bad241, label %g241, label %s241 +g241: + %e241 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetFragDataLocation) + br label %s241 +s241: + %p241 = phi ptr [ %w241, %f241 ], [ %e241, %g241 ] + store ptr %p241, ptr @lgl_p_GetFragDataLocation + %u241 = icmp eq ptr %p241, null + %ui241 = zext i1 %u241 to i32 + %m242x = add i32 %m241, %ui241 + br label %f242 +f242: + %m242 = phi i32 [ %m242x, %s241 ] + %w242 = call ptr @wglGetProcAddress(ptr @.lgl_n_Uniform1ui) + %wi242 = ptrtoint ptr %w242 to i64 + %wa242 = add i64 %wi242, 1 + %bad242 = icmp ult i64 %wa242, 5 + br i1 %bad242, label %g242, label %s242 +g242: + %e242 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_Uniform1ui) + br label %s242 +s242: + %p242 = phi ptr [ %w242, %f242 ], [ %e242, %g242 ] + store ptr %p242, ptr @lgl_p_Uniform1ui + %u242 = icmp eq ptr %p242, null + %ui242 = zext i1 %u242 to i32 + %m243x = add i32 %m242, %ui242 + br label %f243 +f243: + %m243 = phi i32 [ %m243x, %s242 ] + %w243 = call ptr @wglGetProcAddress(ptr @.lgl_n_Uniform2ui) + %wi243 = ptrtoint ptr %w243 to i64 + %wa243 = add i64 %wi243, 1 + %bad243 = icmp ult i64 %wa243, 5 + br i1 %bad243, label %g243, label %s243 +g243: + %e243 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_Uniform2ui) + br label %s243 +s243: + %p243 = phi ptr [ %w243, %f243 ], [ %e243, %g243 ] + store ptr %p243, ptr @lgl_p_Uniform2ui + %u243 = icmp eq ptr %p243, null + %ui243 = zext i1 %u243 to i32 + %m244x = add i32 %m243, %ui243 + br label %f244 +f244: + %m244 = phi i32 [ %m244x, %s243 ] + %w244 = call ptr @wglGetProcAddress(ptr @.lgl_n_Uniform3ui) + %wi244 = ptrtoint ptr %w244 to i64 + %wa244 = add i64 %wi244, 1 + %bad244 = icmp ult i64 %wa244, 5 + br i1 %bad244, label %g244, label %s244 +g244: + %e244 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_Uniform3ui) + br label %s244 +s244: + %p244 = phi ptr [ %w244, %f244 ], [ %e244, %g244 ] + store ptr %p244, ptr @lgl_p_Uniform3ui + %u244 = icmp eq ptr %p244, null + %ui244 = zext i1 %u244 to i32 + %m245x = add i32 %m244, %ui244 + br label %f245 +f245: + %m245 = phi i32 [ %m245x, %s244 ] + %w245 = call ptr @wglGetProcAddress(ptr @.lgl_n_Uniform4ui) + %wi245 = ptrtoint ptr %w245 to i64 + %wa245 = add i64 %wi245, 1 + %bad245 = icmp ult i64 %wa245, 5 + br i1 %bad245, label %g245, label %s245 +g245: + %e245 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_Uniform4ui) + br label %s245 +s245: + %p245 = phi ptr [ %w245, %f245 ], [ %e245, %g245 ] + store ptr %p245, ptr @lgl_p_Uniform4ui + %u245 = icmp eq ptr %p245, null + %ui245 = zext i1 %u245 to i32 + %m246x = add i32 %m245, %ui245 + br label %f246 +f246: + %m246 = phi i32 [ %m246x, %s245 ] + %w246 = call ptr @wglGetProcAddress(ptr @.lgl_n_Uniform1uiv) + %wi246 = ptrtoint ptr %w246 to i64 + %wa246 = add i64 %wi246, 1 + %bad246 = icmp ult i64 %wa246, 5 + br i1 %bad246, label %g246, label %s246 +g246: + %e246 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_Uniform1uiv) + br label %s246 +s246: + %p246 = phi ptr [ %w246, %f246 ], [ %e246, %g246 ] + store ptr %p246, ptr @lgl_p_Uniform1uiv + %u246 = icmp eq ptr %p246, null + %ui246 = zext i1 %u246 to i32 + %m247x = add i32 %m246, %ui246 + br label %f247 +f247: + %m247 = phi i32 [ %m247x, %s246 ] + %w247 = call ptr @wglGetProcAddress(ptr @.lgl_n_Uniform2uiv) + %wi247 = ptrtoint ptr %w247 to i64 + %wa247 = add i64 %wi247, 1 + %bad247 = icmp ult i64 %wa247, 5 + br i1 %bad247, label %g247, label %s247 +g247: + %e247 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_Uniform2uiv) + br label %s247 +s247: + %p247 = phi ptr [ %w247, %f247 ], [ %e247, %g247 ] + store ptr %p247, ptr @lgl_p_Uniform2uiv + %u247 = icmp eq ptr %p247, null + %ui247 = zext i1 %u247 to i32 + %m248x = add i32 %m247, %ui247 + br label %f248 +f248: + %m248 = phi i32 [ %m248x, %s247 ] + %w248 = call ptr @wglGetProcAddress(ptr @.lgl_n_Uniform3uiv) + %wi248 = ptrtoint ptr %w248 to i64 + %wa248 = add i64 %wi248, 1 + %bad248 = icmp ult i64 %wa248, 5 + br i1 %bad248, label %g248, label %s248 +g248: + %e248 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_Uniform3uiv) + br label %s248 +s248: + %p248 = phi ptr [ %w248, %f248 ], [ %e248, %g248 ] + store ptr %p248, ptr @lgl_p_Uniform3uiv + %u248 = icmp eq ptr %p248, null + %ui248 = zext i1 %u248 to i32 + %m249x = add i32 %m248, %ui248 + br label %f249 +f249: + %m249 = phi i32 [ %m249x, %s248 ] + %w249 = call ptr @wglGetProcAddress(ptr @.lgl_n_Uniform4uiv) + %wi249 = ptrtoint ptr %w249 to i64 + %wa249 = add i64 %wi249, 1 + %bad249 = icmp ult i64 %wa249, 5 + br i1 %bad249, label %g249, label %s249 +g249: + %e249 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_Uniform4uiv) + br label %s249 +s249: + %p249 = phi ptr [ %w249, %f249 ], [ %e249, %g249 ] + store ptr %p249, ptr @lgl_p_Uniform4uiv + %u249 = icmp eq ptr %p249, null + %ui249 = zext i1 %u249 to i32 + %m250x = add i32 %m249, %ui249 + br label %f250 +f250: + %m250 = phi i32 [ %m250x, %s249 ] + %w250 = call ptr @wglGetProcAddress(ptr @.lgl_n_TexParameterIiv) + %wi250 = ptrtoint ptr %w250 to i64 + %wa250 = add i64 %wi250, 1 + %bad250 = icmp ult i64 %wa250, 5 + br i1 %bad250, label %g250, label %s250 +g250: + %e250 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_TexParameterIiv) + br label %s250 +s250: + %p250 = phi ptr [ %w250, %f250 ], [ %e250, %g250 ] + store ptr %p250, ptr @lgl_p_TexParameterIiv + %u250 = icmp eq ptr %p250, null + %ui250 = zext i1 %u250 to i32 + %m251x = add i32 %m250, %ui250 + br label %f251 +f251: + %m251 = phi i32 [ %m251x, %s250 ] + %w251 = call ptr @wglGetProcAddress(ptr @.lgl_n_TexParameterIuiv) + %wi251 = ptrtoint ptr %w251 to i64 + %wa251 = add i64 %wi251, 1 + %bad251 = icmp ult i64 %wa251, 5 + br i1 %bad251, label %g251, label %s251 +g251: + %e251 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_TexParameterIuiv) + br label %s251 +s251: + %p251 = phi ptr [ %w251, %f251 ], [ %e251, %g251 ] + store ptr %p251, ptr @lgl_p_TexParameterIuiv + %u251 = icmp eq ptr %p251, null + %ui251 = zext i1 %u251 to i32 + %m252x = add i32 %m251, %ui251 + br label %f252 +f252: + %m252 = phi i32 [ %m252x, %s251 ] + %w252 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetTexParameterIiv) + %wi252 = ptrtoint ptr %w252 to i64 + %wa252 = add i64 %wi252, 1 + %bad252 = icmp ult i64 %wa252, 5 + br i1 %bad252, label %g252, label %s252 +g252: + %e252 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetTexParameterIiv) + br label %s252 +s252: + %p252 = phi ptr [ %w252, %f252 ], [ %e252, %g252 ] + store ptr %p252, ptr @lgl_p_GetTexParameterIiv + %u252 = icmp eq ptr %p252, null + %ui252 = zext i1 %u252 to i32 + %m253x = add i32 %m252, %ui252 + br label %f253 +f253: + %m253 = phi i32 [ %m253x, %s252 ] + %w253 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetTexParameterIuiv) + %wi253 = ptrtoint ptr %w253 to i64 + %wa253 = add i64 %wi253, 1 + %bad253 = icmp ult i64 %wa253, 5 + br i1 %bad253, label %g253, label %s253 +g253: + %e253 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetTexParameterIuiv) + br label %s253 +s253: + %p253 = phi ptr [ %w253, %f253 ], [ %e253, %g253 ] + store ptr %p253, ptr @lgl_p_GetTexParameterIuiv + %u253 = icmp eq ptr %p253, null + %ui253 = zext i1 %u253 to i32 + %m254x = add i32 %m253, %ui253 + br label %f254 +f254: + %m254 = phi i32 [ %m254x, %s253 ] + %w254 = call ptr @wglGetProcAddress(ptr @.lgl_n_ClearBufferiv) + %wi254 = ptrtoint ptr %w254 to i64 + %wa254 = add i64 %wi254, 1 + %bad254 = icmp ult i64 %wa254, 5 + br i1 %bad254, label %g254, label %s254 +g254: + %e254 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ClearBufferiv) + br label %s254 +s254: + %p254 = phi ptr [ %w254, %f254 ], [ %e254, %g254 ] + store ptr %p254, ptr @lgl_p_ClearBufferiv + %u254 = icmp eq ptr %p254, null + %ui254 = zext i1 %u254 to i32 + %m255x = add i32 %m254, %ui254 + br label %f255 +f255: + %m255 = phi i32 [ %m255x, %s254 ] + %w255 = call ptr @wglGetProcAddress(ptr @.lgl_n_ClearBufferuiv) + %wi255 = ptrtoint ptr %w255 to i64 + %wa255 = add i64 %wi255, 1 + %bad255 = icmp ult i64 %wa255, 5 + br i1 %bad255, label %g255, label %s255 +g255: + %e255 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ClearBufferuiv) + br label %s255 +s255: + %p255 = phi ptr [ %w255, %f255 ], [ %e255, %g255 ] + store ptr %p255, ptr @lgl_p_ClearBufferuiv + %u255 = icmp eq ptr %p255, null + %ui255 = zext i1 %u255 to i32 + %m256x = add i32 %m255, %ui255 + br label %f256 +f256: + %m256 = phi i32 [ %m256x, %s255 ] + %w256 = call ptr @wglGetProcAddress(ptr @.lgl_n_ClearBufferfv) + %wi256 = ptrtoint ptr %w256 to i64 + %wa256 = add i64 %wi256, 1 + %bad256 = icmp ult i64 %wa256, 5 + br i1 %bad256, label %g256, label %s256 +g256: + %e256 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ClearBufferfv) + br label %s256 +s256: + %p256 = phi ptr [ %w256, %f256 ], [ %e256, %g256 ] + store ptr %p256, ptr @lgl_p_ClearBufferfv + %u256 = icmp eq ptr %p256, null + %ui256 = zext i1 %u256 to i32 + %m257x = add i32 %m256, %ui256 + br label %f257 +f257: + %m257 = phi i32 [ %m257x, %s256 ] + %w257 = call ptr @wglGetProcAddress(ptr @.lgl_n_ClearBufferfi) + %wi257 = ptrtoint ptr %w257 to i64 + %wa257 = add i64 %wi257, 1 + %bad257 = icmp ult i64 %wa257, 5 + br i1 %bad257, label %g257, label %s257 +g257: + %e257 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ClearBufferfi) + br label %s257 +s257: + %p257 = phi ptr [ %w257, %f257 ], [ %e257, %g257 ] + store ptr %p257, ptr @lgl_p_ClearBufferfi + %u257 = icmp eq ptr %p257, null + %ui257 = zext i1 %u257 to i32 + %m258x = add i32 %m257, %ui257 + br label %f258 +f258: + %m258 = phi i32 [ %m258x, %s257 ] + %w258 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetStringi) + %wi258 = ptrtoint ptr %w258 to i64 + %wa258 = add i64 %wi258, 1 + %bad258 = icmp ult i64 %wa258, 5 + br i1 %bad258, label %g258, label %s258 +g258: + %e258 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetStringi) + br label %s258 +s258: + %p258 = phi ptr [ %w258, %f258 ], [ %e258, %g258 ] + store ptr %p258, ptr @lgl_p_GetStringi + %u258 = icmp eq ptr %p258, null + %ui258 = zext i1 %u258 to i32 + %m259x = add i32 %m258, %ui258 + br label %f259 +f259: + %m259 = phi i32 [ %m259x, %s258 ] + %w259 = call ptr @wglGetProcAddress(ptr @.lgl_n_DrawArraysInstanced) + %wi259 = ptrtoint ptr %w259 to i64 + %wa259 = add i64 %wi259, 1 + %bad259 = icmp ult i64 %wa259, 5 + br i1 %bad259, label %g259, label %s259 +g259: + %e259 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_DrawArraysInstanced) + br label %s259 +s259: + %p259 = phi ptr [ %w259, %f259 ], [ %e259, %g259 ] + store ptr %p259, ptr @lgl_p_DrawArraysInstanced + %u259 = icmp eq ptr %p259, null + %ui259 = zext i1 %u259 to i32 + %m260x = add i32 %m259, %ui259 + br label %f260 +f260: + %m260 = phi i32 [ %m260x, %s259 ] + %w260 = call ptr @wglGetProcAddress(ptr @.lgl_n_DrawElementsInstanced) + %wi260 = ptrtoint ptr %w260 to i64 + %wa260 = add i64 %wi260, 1 + %bad260 = icmp ult i64 %wa260, 5 + br i1 %bad260, label %g260, label %s260 +g260: + %e260 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_DrawElementsInstanced) + br label %s260 +s260: + %p260 = phi ptr [ %w260, %f260 ], [ %e260, %g260 ] + store ptr %p260, ptr @lgl_p_DrawElementsInstanced + %u260 = icmp eq ptr %p260, null + %ui260 = zext i1 %u260 to i32 + %m261x = add i32 %m260, %ui260 + br label %f261 +f261: + %m261 = phi i32 [ %m261x, %s260 ] + %w261 = call ptr @wglGetProcAddress(ptr @.lgl_n_TexBuffer) + %wi261 = ptrtoint ptr %w261 to i64 + %wa261 = add i64 %wi261, 1 + %bad261 = icmp ult i64 %wa261, 5 + br i1 %bad261, label %g261, label %s261 +g261: + %e261 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_TexBuffer) + br label %s261 +s261: + %p261 = phi ptr [ %w261, %f261 ], [ %e261, %g261 ] + store ptr %p261, ptr @lgl_p_TexBuffer + %u261 = icmp eq ptr %p261, null + %ui261 = zext i1 %u261 to i32 + %m262x = add i32 %m261, %ui261 + br label %f262 +f262: + %m262 = phi i32 [ %m262x, %s261 ] + %w262 = call ptr @wglGetProcAddress(ptr @.lgl_n_PrimitiveRestartIndex) + %wi262 = ptrtoint ptr %w262 to i64 + %wa262 = add i64 %wi262, 1 + %bad262 = icmp ult i64 %wa262, 5 + br i1 %bad262, label %g262, label %s262 +g262: + %e262 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_PrimitiveRestartIndex) + br label %s262 +s262: + %p262 = phi ptr [ %w262, %f262 ], [ %e262, %g262 ] + store ptr %p262, ptr @lgl_p_PrimitiveRestartIndex + %u262 = icmp eq ptr %p262, null + %ui262 = zext i1 %u262 to i32 + %m263x = add i32 %m262, %ui262 + br label %f263 +f263: + %m263 = phi i32 [ %m263x, %s262 ] + %w263 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetInteger64i_v) + %wi263 = ptrtoint ptr %w263 to i64 + %wa263 = add i64 %wi263, 1 + %bad263 = icmp ult i64 %wa263, 5 + br i1 %bad263, label %g263, label %s263 +g263: + %e263 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetInteger64i_v) + br label %s263 +s263: + %p263 = phi ptr [ %w263, %f263 ], [ %e263, %g263 ] + store ptr %p263, ptr @lgl_p_GetInteger64i_v + %u263 = icmp eq ptr %p263, null + %ui263 = zext i1 %u263 to i32 + %m264x = add i32 %m263, %ui263 + br label %f264 +f264: + %m264 = phi i32 [ %m264x, %s263 ] + %w264 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetBufferParameteri64v) + %wi264 = ptrtoint ptr %w264 to i64 + %wa264 = add i64 %wi264, 1 + %bad264 = icmp ult i64 %wa264, 5 + br i1 %bad264, label %g264, label %s264 +g264: + %e264 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetBufferParameteri64v) + br label %s264 +s264: + %p264 = phi ptr [ %w264, %f264 ], [ %e264, %g264 ] + store ptr %p264, ptr @lgl_p_GetBufferParameteri64v + %u264 = icmp eq ptr %p264, null + %ui264 = zext i1 %u264 to i32 + %m265x = add i32 %m264, %ui264 + br label %f265 +f265: + %m265 = phi i32 [ %m265x, %s264 ] + %w265 = call ptr @wglGetProcAddress(ptr @.lgl_n_FramebufferTexture) + %wi265 = ptrtoint ptr %w265 to i64 + %wa265 = add i64 %wi265, 1 + %bad265 = icmp ult i64 %wa265, 5 + br i1 %bad265, label %g265, label %s265 +g265: + %e265 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_FramebufferTexture) + br label %s265 +s265: + %p265 = phi ptr [ %w265, %f265 ], [ %e265, %g265 ] + store ptr %p265, ptr @lgl_p_FramebufferTexture + %u265 = icmp eq ptr %p265, null + %ui265 = zext i1 %u265 to i32 + %m266x = add i32 %m265, %ui265 + br label %f266 +f266: + %m266 = phi i32 [ %m266x, %s265 ] + %w266 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttribDivisor) + %wi266 = ptrtoint ptr %w266 to i64 + %wa266 = add i64 %wi266, 1 + %bad266 = icmp ult i64 %wa266, 5 + br i1 %bad266, label %g266, label %s266 +g266: + %e266 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttribDivisor) + br label %s266 +s266: + %p266 = phi ptr [ %w266, %f266 ], [ %e266, %g266 ] + store ptr %p266, ptr @lgl_p_VertexAttribDivisor + %u266 = icmp eq ptr %p266, null + %ui266 = zext i1 %u266 to i32 + %m267x = add i32 %m266, %ui266 + br label %f267 +f267: + %m267 = phi i32 [ %m267x, %s266 ] + %w267 = call ptr @wglGetProcAddress(ptr @.lgl_n_MinSampleShading) + %wi267 = ptrtoint ptr %w267 to i64 + %wa267 = add i64 %wi267, 1 + %bad267 = icmp ult i64 %wa267, 5 + br i1 %bad267, label %g267, label %s267 +g267: + %e267 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_MinSampleShading) + br label %s267 +s267: + %p267 = phi ptr [ %w267, %f267 ], [ %e267, %g267 ] + store ptr %p267, ptr @lgl_p_MinSampleShading + %u267 = icmp eq ptr %p267, null + %ui267 = zext i1 %u267 to i32 + %m268x = add i32 %m267, %ui267 + br label %f268 +f268: + %m268 = phi i32 [ %m268x, %s267 ] + %w268 = call ptr @wglGetProcAddress(ptr @.lgl_n_BlendEquationi) + %wi268 = ptrtoint ptr %w268 to i64 + %wa268 = add i64 %wi268, 1 + %bad268 = icmp ult i64 %wa268, 5 + br i1 %bad268, label %g268, label %s268 +g268: + %e268 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_BlendEquationi) + br label %s268 +s268: + %p268 = phi ptr [ %w268, %f268 ], [ %e268, %g268 ] + store ptr %p268, ptr @lgl_p_BlendEquationi + %u268 = icmp eq ptr %p268, null + %ui268 = zext i1 %u268 to i32 + %m269x = add i32 %m268, %ui268 + br label %f269 +f269: + %m269 = phi i32 [ %m269x, %s268 ] + %w269 = call ptr @wglGetProcAddress(ptr @.lgl_n_BlendEquationSeparatei) + %wi269 = ptrtoint ptr %w269 to i64 + %wa269 = add i64 %wi269, 1 + %bad269 = icmp ult i64 %wa269, 5 + br i1 %bad269, label %g269, label %s269 +g269: + %e269 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_BlendEquationSeparatei) + br label %s269 +s269: + %p269 = phi ptr [ %w269, %f269 ], [ %e269, %g269 ] + store ptr %p269, ptr @lgl_p_BlendEquationSeparatei + %u269 = icmp eq ptr %p269, null + %ui269 = zext i1 %u269 to i32 + %m270x = add i32 %m269, %ui269 + br label %f270 +f270: + %m270 = phi i32 [ %m270x, %s269 ] + %w270 = call ptr @wglGetProcAddress(ptr @.lgl_n_BlendFunci) + %wi270 = ptrtoint ptr %w270 to i64 + %wa270 = add i64 %wi270, 1 + %bad270 = icmp ult i64 %wa270, 5 + br i1 %bad270, label %g270, label %s270 +g270: + %e270 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_BlendFunci) + br label %s270 +s270: + %p270 = phi ptr [ %w270, %f270 ], [ %e270, %g270 ] + store ptr %p270, ptr @lgl_p_BlendFunci + %u270 = icmp eq ptr %p270, null + %ui270 = zext i1 %u270 to i32 + %m271x = add i32 %m270, %ui270 + br label %f271 +f271: + %m271 = phi i32 [ %m271x, %s270 ] + %w271 = call ptr @wglGetProcAddress(ptr @.lgl_n_BlendFuncSeparatei) + %wi271 = ptrtoint ptr %w271 to i64 + %wa271 = add i64 %wi271, 1 + %bad271 = icmp ult i64 %wa271, 5 + br i1 %bad271, label %g271, label %s271 +g271: + %e271 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_BlendFuncSeparatei) + br label %s271 +s271: + %p271 = phi ptr [ %w271, %f271 ], [ %e271, %g271 ] + store ptr %p271, ptr @lgl_p_BlendFuncSeparatei + %u271 = icmp eq ptr %p271, null + %ui271 = zext i1 %u271 to i32 + %m272x = add i32 %m271, %ui271 + br label %f272 +f272: + %m272 = phi i32 [ %m272x, %s271 ] + %w272 = call ptr @wglGetProcAddress(ptr @.lgl_n_IsRenderbuffer) + %wi272 = ptrtoint ptr %w272 to i64 + %wa272 = add i64 %wi272, 1 + %bad272 = icmp ult i64 %wa272, 5 + br i1 %bad272, label %g272, label %s272 +g272: + %e272 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_IsRenderbuffer) + br label %s272 +s272: + %p272 = phi ptr [ %w272, %f272 ], [ %e272, %g272 ] + store ptr %p272, ptr @lgl_p_IsRenderbuffer + %u272 = icmp eq ptr %p272, null + %ui272 = zext i1 %u272 to i32 + %m273x = add i32 %m272, %ui272 + br label %f273 +f273: + %m273 = phi i32 [ %m273x, %s272 ] + %w273 = call ptr @wglGetProcAddress(ptr @.lgl_n_BindRenderbuffer) + %wi273 = ptrtoint ptr %w273 to i64 + %wa273 = add i64 %wi273, 1 + %bad273 = icmp ult i64 %wa273, 5 + br i1 %bad273, label %g273, label %s273 +g273: + %e273 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_BindRenderbuffer) + br label %s273 +s273: + %p273 = phi ptr [ %w273, %f273 ], [ %e273, %g273 ] + store ptr %p273, ptr @lgl_p_BindRenderbuffer + %u273 = icmp eq ptr %p273, null + %ui273 = zext i1 %u273 to i32 + %m274x = add i32 %m273, %ui273 + br label %f274 +f274: + %m274 = phi i32 [ %m274x, %s273 ] + %w274 = call ptr @wglGetProcAddress(ptr @.lgl_n_DeleteRenderbuffers) + %wi274 = ptrtoint ptr %w274 to i64 + %wa274 = add i64 %wi274, 1 + %bad274 = icmp ult i64 %wa274, 5 + br i1 %bad274, label %g274, label %s274 +g274: + %e274 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_DeleteRenderbuffers) + br label %s274 +s274: + %p274 = phi ptr [ %w274, %f274 ], [ %e274, %g274 ] + store ptr %p274, ptr @lgl_p_DeleteRenderbuffers + %u274 = icmp eq ptr %p274, null + %ui274 = zext i1 %u274 to i32 + %m275x = add i32 %m274, %ui274 + br label %f275 +f275: + %m275 = phi i32 [ %m275x, %s274 ] + %w275 = call ptr @wglGetProcAddress(ptr @.lgl_n_GenRenderbuffers) + %wi275 = ptrtoint ptr %w275 to i64 + %wa275 = add i64 %wi275, 1 + %bad275 = icmp ult i64 %wa275, 5 + br i1 %bad275, label %g275, label %s275 +g275: + %e275 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GenRenderbuffers) + br label %s275 +s275: + %p275 = phi ptr [ %w275, %f275 ], [ %e275, %g275 ] + store ptr %p275, ptr @lgl_p_GenRenderbuffers + %u275 = icmp eq ptr %p275, null + %ui275 = zext i1 %u275 to i32 + %m276x = add i32 %m275, %ui275 + br label %f276 +f276: + %m276 = phi i32 [ %m276x, %s275 ] + %w276 = call ptr @wglGetProcAddress(ptr @.lgl_n_RenderbufferStorage) + %wi276 = ptrtoint ptr %w276 to i64 + %wa276 = add i64 %wi276, 1 + %bad276 = icmp ult i64 %wa276, 5 + br i1 %bad276, label %g276, label %s276 +g276: + %e276 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_RenderbufferStorage) + br label %s276 +s276: + %p276 = phi ptr [ %w276, %f276 ], [ %e276, %g276 ] + store ptr %p276, ptr @lgl_p_RenderbufferStorage + %u276 = icmp eq ptr %p276, null + %ui276 = zext i1 %u276 to i32 + %m277x = add i32 %m276, %ui276 + br label %f277 +f277: + %m277 = phi i32 [ %m277x, %s276 ] + %w277 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetRenderbufferParameteriv) + %wi277 = ptrtoint ptr %w277 to i64 + %wa277 = add i64 %wi277, 1 + %bad277 = icmp ult i64 %wa277, 5 + br i1 %bad277, label %g277, label %s277 +g277: + %e277 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetRenderbufferParameteriv) + br label %s277 +s277: + %p277 = phi ptr [ %w277, %f277 ], [ %e277, %g277 ] + store ptr %p277, ptr @lgl_p_GetRenderbufferParameteriv + %u277 = icmp eq ptr %p277, null + %ui277 = zext i1 %u277 to i32 + %m278x = add i32 %m277, %ui277 + br label %f278 +f278: + %m278 = phi i32 [ %m278x, %s277 ] + %w278 = call ptr @wglGetProcAddress(ptr @.lgl_n_IsFramebuffer) + %wi278 = ptrtoint ptr %w278 to i64 + %wa278 = add i64 %wi278, 1 + %bad278 = icmp ult i64 %wa278, 5 + br i1 %bad278, label %g278, label %s278 +g278: + %e278 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_IsFramebuffer) + br label %s278 +s278: + %p278 = phi ptr [ %w278, %f278 ], [ %e278, %g278 ] + store ptr %p278, ptr @lgl_p_IsFramebuffer + %u278 = icmp eq ptr %p278, null + %ui278 = zext i1 %u278 to i32 + %m279x = add i32 %m278, %ui278 + br label %f279 +f279: + %m279 = phi i32 [ %m279x, %s278 ] + %w279 = call ptr @wglGetProcAddress(ptr @.lgl_n_BindFramebuffer) + %wi279 = ptrtoint ptr %w279 to i64 + %wa279 = add i64 %wi279, 1 + %bad279 = icmp ult i64 %wa279, 5 + br i1 %bad279, label %g279, label %s279 +g279: + %e279 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_BindFramebuffer) + br label %s279 +s279: + %p279 = phi ptr [ %w279, %f279 ], [ %e279, %g279 ] + store ptr %p279, ptr @lgl_p_BindFramebuffer + %u279 = icmp eq ptr %p279, null + %ui279 = zext i1 %u279 to i32 + %m280x = add i32 %m279, %ui279 + br label %f280 +f280: + %m280 = phi i32 [ %m280x, %s279 ] + %w280 = call ptr @wglGetProcAddress(ptr @.lgl_n_DeleteFramebuffers) + %wi280 = ptrtoint ptr %w280 to i64 + %wa280 = add i64 %wi280, 1 + %bad280 = icmp ult i64 %wa280, 5 + br i1 %bad280, label %g280, label %s280 +g280: + %e280 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_DeleteFramebuffers) + br label %s280 +s280: + %p280 = phi ptr [ %w280, %f280 ], [ %e280, %g280 ] + store ptr %p280, ptr @lgl_p_DeleteFramebuffers + %u280 = icmp eq ptr %p280, null + %ui280 = zext i1 %u280 to i32 + %m281x = add i32 %m280, %ui280 + br label %f281 +f281: + %m281 = phi i32 [ %m281x, %s280 ] + %w281 = call ptr @wglGetProcAddress(ptr @.lgl_n_GenFramebuffers) + %wi281 = ptrtoint ptr %w281 to i64 + %wa281 = add i64 %wi281, 1 + %bad281 = icmp ult i64 %wa281, 5 + br i1 %bad281, label %g281, label %s281 +g281: + %e281 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GenFramebuffers) + br label %s281 +s281: + %p281 = phi ptr [ %w281, %f281 ], [ %e281, %g281 ] + store ptr %p281, ptr @lgl_p_GenFramebuffers + %u281 = icmp eq ptr %p281, null + %ui281 = zext i1 %u281 to i32 + %m282x = add i32 %m281, %ui281 + br label %f282 +f282: + %m282 = phi i32 [ %m282x, %s281 ] + %w282 = call ptr @wglGetProcAddress(ptr @.lgl_n_CheckFramebufferStatus) + %wi282 = ptrtoint ptr %w282 to i64 + %wa282 = add i64 %wi282, 1 + %bad282 = icmp ult i64 %wa282, 5 + br i1 %bad282, label %g282, label %s282 +g282: + %e282 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_CheckFramebufferStatus) + br label %s282 +s282: + %p282 = phi ptr [ %w282, %f282 ], [ %e282, %g282 ] + store ptr %p282, ptr @lgl_p_CheckFramebufferStatus + %u282 = icmp eq ptr %p282, null + %ui282 = zext i1 %u282 to i32 + %m283x = add i32 %m282, %ui282 + br label %f283 +f283: + %m283 = phi i32 [ %m283x, %s282 ] + %w283 = call ptr @wglGetProcAddress(ptr @.lgl_n_FramebufferTexture1D) + %wi283 = ptrtoint ptr %w283 to i64 + %wa283 = add i64 %wi283, 1 + %bad283 = icmp ult i64 %wa283, 5 + br i1 %bad283, label %g283, label %s283 +g283: + %e283 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_FramebufferTexture1D) + br label %s283 +s283: + %p283 = phi ptr [ %w283, %f283 ], [ %e283, %g283 ] + store ptr %p283, ptr @lgl_p_FramebufferTexture1D + %u283 = icmp eq ptr %p283, null + %ui283 = zext i1 %u283 to i32 + %m284x = add i32 %m283, %ui283 + br label %f284 +f284: + %m284 = phi i32 [ %m284x, %s283 ] + %w284 = call ptr @wglGetProcAddress(ptr @.lgl_n_FramebufferTexture2D) + %wi284 = ptrtoint ptr %w284 to i64 + %wa284 = add i64 %wi284, 1 + %bad284 = icmp ult i64 %wa284, 5 + br i1 %bad284, label %g284, label %s284 +g284: + %e284 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_FramebufferTexture2D) + br label %s284 +s284: + %p284 = phi ptr [ %w284, %f284 ], [ %e284, %g284 ] + store ptr %p284, ptr @lgl_p_FramebufferTexture2D + %u284 = icmp eq ptr %p284, null + %ui284 = zext i1 %u284 to i32 + %m285x = add i32 %m284, %ui284 + br label %f285 +f285: + %m285 = phi i32 [ %m285x, %s284 ] + %w285 = call ptr @wglGetProcAddress(ptr @.lgl_n_FramebufferTexture3D) + %wi285 = ptrtoint ptr %w285 to i64 + %wa285 = add i64 %wi285, 1 + %bad285 = icmp ult i64 %wa285, 5 + br i1 %bad285, label %g285, label %s285 +g285: + %e285 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_FramebufferTexture3D) + br label %s285 +s285: + %p285 = phi ptr [ %w285, %f285 ], [ %e285, %g285 ] + store ptr %p285, ptr @lgl_p_FramebufferTexture3D + %u285 = icmp eq ptr %p285, null + %ui285 = zext i1 %u285 to i32 + %m286x = add i32 %m285, %ui285 + br label %f286 +f286: + %m286 = phi i32 [ %m286x, %s285 ] + %w286 = call ptr @wglGetProcAddress(ptr @.lgl_n_FramebufferRenderbuffer) + %wi286 = ptrtoint ptr %w286 to i64 + %wa286 = add i64 %wi286, 1 + %bad286 = icmp ult i64 %wa286, 5 + br i1 %bad286, label %g286, label %s286 +g286: + %e286 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_FramebufferRenderbuffer) + br label %s286 +s286: + %p286 = phi ptr [ %w286, %f286 ], [ %e286, %g286 ] + store ptr %p286, ptr @lgl_p_FramebufferRenderbuffer + %u286 = icmp eq ptr %p286, null + %ui286 = zext i1 %u286 to i32 + %m287x = add i32 %m286, %ui286 + br label %f287 +f287: + %m287 = phi i32 [ %m287x, %s286 ] + %w287 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetFramebufferAttachmentParameteriv) + %wi287 = ptrtoint ptr %w287 to i64 + %wa287 = add i64 %wi287, 1 + %bad287 = icmp ult i64 %wa287, 5 + br i1 %bad287, label %g287, label %s287 +g287: + %e287 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetFramebufferAttachmentParameteriv) + br label %s287 +s287: + %p287 = phi ptr [ %w287, %f287 ], [ %e287, %g287 ] + store ptr %p287, ptr @lgl_p_GetFramebufferAttachmentParameteriv + %u287 = icmp eq ptr %p287, null + %ui287 = zext i1 %u287 to i32 + %m288x = add i32 %m287, %ui287 + br label %f288 +f288: + %m288 = phi i32 [ %m288x, %s287 ] + %w288 = call ptr @wglGetProcAddress(ptr @.lgl_n_GenerateMipmap) + %wi288 = ptrtoint ptr %w288 to i64 + %wa288 = add i64 %wi288, 1 + %bad288 = icmp ult i64 %wa288, 5 + br i1 %bad288, label %g288, label %s288 +g288: + %e288 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GenerateMipmap) + br label %s288 +s288: + %p288 = phi ptr [ %w288, %f288 ], [ %e288, %g288 ] + store ptr %p288, ptr @lgl_p_GenerateMipmap + %u288 = icmp eq ptr %p288, null + %ui288 = zext i1 %u288 to i32 + %m289x = add i32 %m288, %ui288 + br label %f289 +f289: + %m289 = phi i32 [ %m289x, %s288 ] + %w289 = call ptr @wglGetProcAddress(ptr @.lgl_n_BlitFramebuffer) + %wi289 = ptrtoint ptr %w289 to i64 + %wa289 = add i64 %wi289, 1 + %bad289 = icmp ult i64 %wa289, 5 + br i1 %bad289, label %g289, label %s289 +g289: + %e289 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_BlitFramebuffer) + br label %s289 +s289: + %p289 = phi ptr [ %w289, %f289 ], [ %e289, %g289 ] + store ptr %p289, ptr @lgl_p_BlitFramebuffer + %u289 = icmp eq ptr %p289, null + %ui289 = zext i1 %u289 to i32 + %m290x = add i32 %m289, %ui289 + br label %f290 +f290: + %m290 = phi i32 [ %m290x, %s289 ] + %w290 = call ptr @wglGetProcAddress(ptr @.lgl_n_RenderbufferStorageMultisample) + %wi290 = ptrtoint ptr %w290 to i64 + %wa290 = add i64 %wi290, 1 + %bad290 = icmp ult i64 %wa290, 5 + br i1 %bad290, label %g290, label %s290 +g290: + %e290 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_RenderbufferStorageMultisample) + br label %s290 +s290: + %p290 = phi ptr [ %w290, %f290 ], [ %e290, %g290 ] + store ptr %p290, ptr @lgl_p_RenderbufferStorageMultisample + %u290 = icmp eq ptr %p290, null + %ui290 = zext i1 %u290 to i32 + %m291x = add i32 %m290, %ui290 + br label %f291 +f291: + %m291 = phi i32 [ %m291x, %s290 ] + %w291 = call ptr @wglGetProcAddress(ptr @.lgl_n_FramebufferTextureLayer) + %wi291 = ptrtoint ptr %w291 to i64 + %wa291 = add i64 %wi291, 1 + %bad291 = icmp ult i64 %wa291, 5 + br i1 %bad291, label %g291, label %s291 +g291: + %e291 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_FramebufferTextureLayer) + br label %s291 +s291: + %p291 = phi ptr [ %w291, %f291 ], [ %e291, %g291 ] + store ptr %p291, ptr @lgl_p_FramebufferTextureLayer + %u291 = icmp eq ptr %p291, null + %ui291 = zext i1 %u291 to i32 + %m292x = add i32 %m291, %ui291 + br label %f292 +f292: + %m292 = phi i32 [ %m292x, %s291 ] + %w292 = call ptr @wglGetProcAddress(ptr @.lgl_n_MapBufferRange) + %wi292 = ptrtoint ptr %w292 to i64 + %wa292 = add i64 %wi292, 1 + %bad292 = icmp ult i64 %wa292, 5 + br i1 %bad292, label %g292, label %s292 +g292: + %e292 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_MapBufferRange) + br label %s292 +s292: + %p292 = phi ptr [ %w292, %f292 ], [ %e292, %g292 ] + store ptr %p292, ptr @lgl_p_MapBufferRange + %u292 = icmp eq ptr %p292, null + %ui292 = zext i1 %u292 to i32 + %m293x = add i32 %m292, %ui292 + br label %f293 +f293: + %m293 = phi i32 [ %m293x, %s292 ] + %w293 = call ptr @wglGetProcAddress(ptr @.lgl_n_FlushMappedBufferRange) + %wi293 = ptrtoint ptr %w293 to i64 + %wa293 = add i64 %wi293, 1 + %bad293 = icmp ult i64 %wa293, 5 + br i1 %bad293, label %g293, label %s293 +g293: + %e293 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_FlushMappedBufferRange) + br label %s293 +s293: + %p293 = phi ptr [ %w293, %f293 ], [ %e293, %g293 ] + store ptr %p293, ptr @lgl_p_FlushMappedBufferRange + %u293 = icmp eq ptr %p293, null + %ui293 = zext i1 %u293 to i32 + %m294x = add i32 %m293, %ui293 + br label %f294 +f294: + %m294 = phi i32 [ %m294x, %s293 ] + %w294 = call ptr @wglGetProcAddress(ptr @.lgl_n_BindVertexArray) + %wi294 = ptrtoint ptr %w294 to i64 + %wa294 = add i64 %wi294, 1 + %bad294 = icmp ult i64 %wa294, 5 + br i1 %bad294, label %g294, label %s294 +g294: + %e294 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_BindVertexArray) + br label %s294 +s294: + %p294 = phi ptr [ %w294, %f294 ], [ %e294, %g294 ] + store ptr %p294, ptr @lgl_p_BindVertexArray + %u294 = icmp eq ptr %p294, null + %ui294 = zext i1 %u294 to i32 + %m295x = add i32 %m294, %ui294 + br label %f295 +f295: + %m295 = phi i32 [ %m295x, %s294 ] + %w295 = call ptr @wglGetProcAddress(ptr @.lgl_n_DeleteVertexArrays) + %wi295 = ptrtoint ptr %w295 to i64 + %wa295 = add i64 %wi295, 1 + %bad295 = icmp ult i64 %wa295, 5 + br i1 %bad295, label %g295, label %s295 +g295: + %e295 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_DeleteVertexArrays) + br label %s295 +s295: + %p295 = phi ptr [ %w295, %f295 ], [ %e295, %g295 ] + store ptr %p295, ptr @lgl_p_DeleteVertexArrays + %u295 = icmp eq ptr %p295, null + %ui295 = zext i1 %u295 to i32 + %m296x = add i32 %m295, %ui295 + br label %f296 +f296: + %m296 = phi i32 [ %m296x, %s295 ] + %w296 = call ptr @wglGetProcAddress(ptr @.lgl_n_GenVertexArrays) + %wi296 = ptrtoint ptr %w296 to i64 + %wa296 = add i64 %wi296, 1 + %bad296 = icmp ult i64 %wa296, 5 + br i1 %bad296, label %g296, label %s296 +g296: + %e296 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GenVertexArrays) + br label %s296 +s296: + %p296 = phi ptr [ %w296, %f296 ], [ %e296, %g296 ] + store ptr %p296, ptr @lgl_p_GenVertexArrays + %u296 = icmp eq ptr %p296, null + %ui296 = zext i1 %u296 to i32 + %m297x = add i32 %m296, %ui296 + br label %f297 +f297: + %m297 = phi i32 [ %m297x, %s296 ] + %w297 = call ptr @wglGetProcAddress(ptr @.lgl_n_IsVertexArray) + %wi297 = ptrtoint ptr %w297 to i64 + %wa297 = add i64 %wi297, 1 + %bad297 = icmp ult i64 %wa297, 5 + br i1 %bad297, label %g297, label %s297 +g297: + %e297 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_IsVertexArray) + br label %s297 +s297: + %p297 = phi ptr [ %w297, %f297 ], [ %e297, %g297 ] + store ptr %p297, ptr @lgl_p_IsVertexArray + %u297 = icmp eq ptr %p297, null + %ui297 = zext i1 %u297 to i32 + %m298x = add i32 %m297, %ui297 + br label %f298 +f298: + %m298 = phi i32 [ %m298x, %s297 ] + %w298 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetUniformIndices) + %wi298 = ptrtoint ptr %w298 to i64 + %wa298 = add i64 %wi298, 1 + %bad298 = icmp ult i64 %wa298, 5 + br i1 %bad298, label %g298, label %s298 +g298: + %e298 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetUniformIndices) + br label %s298 +s298: + %p298 = phi ptr [ %w298, %f298 ], [ %e298, %g298 ] + store ptr %p298, ptr @lgl_p_GetUniformIndices + %u298 = icmp eq ptr %p298, null + %ui298 = zext i1 %u298 to i32 + %m299x = add i32 %m298, %ui298 + br label %f299 +f299: + %m299 = phi i32 [ %m299x, %s298 ] + %w299 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetActiveUniformsiv) + %wi299 = ptrtoint ptr %w299 to i64 + %wa299 = add i64 %wi299, 1 + %bad299 = icmp ult i64 %wa299, 5 + br i1 %bad299, label %g299, label %s299 +g299: + %e299 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetActiveUniformsiv) + br label %s299 +s299: + %p299 = phi ptr [ %w299, %f299 ], [ %e299, %g299 ] + store ptr %p299, ptr @lgl_p_GetActiveUniformsiv + %u299 = icmp eq ptr %p299, null + %ui299 = zext i1 %u299 to i32 + %m300x = add i32 %m299, %ui299 + br label %f300 +f300: + %m300 = phi i32 [ %m300x, %s299 ] + %w300 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetActiveUniformName) + %wi300 = ptrtoint ptr %w300 to i64 + %wa300 = add i64 %wi300, 1 + %bad300 = icmp ult i64 %wa300, 5 + br i1 %bad300, label %g300, label %s300 +g300: + %e300 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetActiveUniformName) + br label %s300 +s300: + %p300 = phi ptr [ %w300, %f300 ], [ %e300, %g300 ] + store ptr %p300, ptr @lgl_p_GetActiveUniformName + %u300 = icmp eq ptr %p300, null + %ui300 = zext i1 %u300 to i32 + %m301x = add i32 %m300, %ui300 + br label %f301 +f301: + %m301 = phi i32 [ %m301x, %s300 ] + %w301 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetUniformBlockIndex) + %wi301 = ptrtoint ptr %w301 to i64 + %wa301 = add i64 %wi301, 1 + %bad301 = icmp ult i64 %wa301, 5 + br i1 %bad301, label %g301, label %s301 +g301: + %e301 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetUniformBlockIndex) + br label %s301 +s301: + %p301 = phi ptr [ %w301, %f301 ], [ %e301, %g301 ] + store ptr %p301, ptr @lgl_p_GetUniformBlockIndex + %u301 = icmp eq ptr %p301, null + %ui301 = zext i1 %u301 to i32 + %m302x = add i32 %m301, %ui301 + br label %f302 +f302: + %m302 = phi i32 [ %m302x, %s301 ] + %w302 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetActiveUniformBlockiv) + %wi302 = ptrtoint ptr %w302 to i64 + %wa302 = add i64 %wi302, 1 + %bad302 = icmp ult i64 %wa302, 5 + br i1 %bad302, label %g302, label %s302 +g302: + %e302 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetActiveUniformBlockiv) + br label %s302 +s302: + %p302 = phi ptr [ %w302, %f302 ], [ %e302, %g302 ] + store ptr %p302, ptr @lgl_p_GetActiveUniformBlockiv + %u302 = icmp eq ptr %p302, null + %ui302 = zext i1 %u302 to i32 + %m303x = add i32 %m302, %ui302 + br label %f303 +f303: + %m303 = phi i32 [ %m303x, %s302 ] + %w303 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetActiveUniformBlockName) + %wi303 = ptrtoint ptr %w303 to i64 + %wa303 = add i64 %wi303, 1 + %bad303 = icmp ult i64 %wa303, 5 + br i1 %bad303, label %g303, label %s303 +g303: + %e303 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetActiveUniformBlockName) + br label %s303 +s303: + %p303 = phi ptr [ %w303, %f303 ], [ %e303, %g303 ] + store ptr %p303, ptr @lgl_p_GetActiveUniformBlockName + %u303 = icmp eq ptr %p303, null + %ui303 = zext i1 %u303 to i32 + %m304x = add i32 %m303, %ui303 + br label %f304 +f304: + %m304 = phi i32 [ %m304x, %s303 ] + %w304 = call ptr @wglGetProcAddress(ptr @.lgl_n_UniformBlockBinding) + %wi304 = ptrtoint ptr %w304 to i64 + %wa304 = add i64 %wi304, 1 + %bad304 = icmp ult i64 %wa304, 5 + br i1 %bad304, label %g304, label %s304 +g304: + %e304 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_UniformBlockBinding) + br label %s304 +s304: + %p304 = phi ptr [ %w304, %f304 ], [ %e304, %g304 ] + store ptr %p304, ptr @lgl_p_UniformBlockBinding + %u304 = icmp eq ptr %p304, null + %ui304 = zext i1 %u304 to i32 + %m305x = add i32 %m304, %ui304 + br label %f305 +f305: + %m305 = phi i32 [ %m305x, %s304 ] + %w305 = call ptr @wglGetProcAddress(ptr @.lgl_n_CopyBufferSubData) + %wi305 = ptrtoint ptr %w305 to i64 + %wa305 = add i64 %wi305, 1 + %bad305 = icmp ult i64 %wa305, 5 + br i1 %bad305, label %g305, label %s305 +g305: + %e305 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_CopyBufferSubData) + br label %s305 +s305: + %p305 = phi ptr [ %w305, %f305 ], [ %e305, %g305 ] + store ptr %p305, ptr @lgl_p_CopyBufferSubData + %u305 = icmp eq ptr %p305, null + %ui305 = zext i1 %u305 to i32 + %m306x = add i32 %m305, %ui305 + br label %f306 +f306: + %m306 = phi i32 [ %m306x, %s305 ] + %w306 = call ptr @wglGetProcAddress(ptr @.lgl_n_DrawElementsBaseVertex) + %wi306 = ptrtoint ptr %w306 to i64 + %wa306 = add i64 %wi306, 1 + %bad306 = icmp ult i64 %wa306, 5 + br i1 %bad306, label %g306, label %s306 +g306: + %e306 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_DrawElementsBaseVertex) + br label %s306 +s306: + %p306 = phi ptr [ %w306, %f306 ], [ %e306, %g306 ] + store ptr %p306, ptr @lgl_p_DrawElementsBaseVertex + %u306 = icmp eq ptr %p306, null + %ui306 = zext i1 %u306 to i32 + %m307x = add i32 %m306, %ui306 + br label %f307 +f307: + %m307 = phi i32 [ %m307x, %s306 ] + %w307 = call ptr @wglGetProcAddress(ptr @.lgl_n_DrawRangeElementsBaseVertex) + %wi307 = ptrtoint ptr %w307 to i64 + %wa307 = add i64 %wi307, 1 + %bad307 = icmp ult i64 %wa307, 5 + br i1 %bad307, label %g307, label %s307 +g307: + %e307 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_DrawRangeElementsBaseVertex) + br label %s307 +s307: + %p307 = phi ptr [ %w307, %f307 ], [ %e307, %g307 ] + store ptr %p307, ptr @lgl_p_DrawRangeElementsBaseVertex + %u307 = icmp eq ptr %p307, null + %ui307 = zext i1 %u307 to i32 + %m308x = add i32 %m307, %ui307 + br label %f308 +f308: + %m308 = phi i32 [ %m308x, %s307 ] + %w308 = call ptr @wglGetProcAddress(ptr @.lgl_n_DrawElementsInstancedBaseVertex) + %wi308 = ptrtoint ptr %w308 to i64 + %wa308 = add i64 %wi308, 1 + %bad308 = icmp ult i64 %wa308, 5 + br i1 %bad308, label %g308, label %s308 +g308: + %e308 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_DrawElementsInstancedBaseVertex) + br label %s308 +s308: + %p308 = phi ptr [ %w308, %f308 ], [ %e308, %g308 ] + store ptr %p308, ptr @lgl_p_DrawElementsInstancedBaseVertex + %u308 = icmp eq ptr %p308, null + %ui308 = zext i1 %u308 to i32 + %m309x = add i32 %m308, %ui308 + br label %f309 +f309: + %m309 = phi i32 [ %m309x, %s308 ] + %w309 = call ptr @wglGetProcAddress(ptr @.lgl_n_MultiDrawElementsBaseVertex) + %wi309 = ptrtoint ptr %w309 to i64 + %wa309 = add i64 %wi309, 1 + %bad309 = icmp ult i64 %wa309, 5 + br i1 %bad309, label %g309, label %s309 +g309: + %e309 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_MultiDrawElementsBaseVertex) + br label %s309 +s309: + %p309 = phi ptr [ %w309, %f309 ], [ %e309, %g309 ] + store ptr %p309, ptr @lgl_p_MultiDrawElementsBaseVertex + %u309 = icmp eq ptr %p309, null + %ui309 = zext i1 %u309 to i32 + %m310x = add i32 %m309, %ui309 + br label %f310 +f310: + %m310 = phi i32 [ %m310x, %s309 ] + %w310 = call ptr @wglGetProcAddress(ptr @.lgl_n_ProvokingVertex) + %wi310 = ptrtoint ptr %w310 to i64 + %wa310 = add i64 %wi310, 1 + %bad310 = icmp ult i64 %wa310, 5 + br i1 %bad310, label %g310, label %s310 +g310: + %e310 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ProvokingVertex) + br label %s310 +s310: + %p310 = phi ptr [ %w310, %f310 ], [ %e310, %g310 ] + store ptr %p310, ptr @lgl_p_ProvokingVertex + %u310 = icmp eq ptr %p310, null + %ui310 = zext i1 %u310 to i32 + %m311x = add i32 %m310, %ui310 + br label %f311 +f311: + %m311 = phi i32 [ %m311x, %s310 ] + %w311 = call ptr @wglGetProcAddress(ptr @.lgl_n_FenceSync) + %wi311 = ptrtoint ptr %w311 to i64 + %wa311 = add i64 %wi311, 1 + %bad311 = icmp ult i64 %wa311, 5 + br i1 %bad311, label %g311, label %s311 +g311: + %e311 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_FenceSync) + br label %s311 +s311: + %p311 = phi ptr [ %w311, %f311 ], [ %e311, %g311 ] + store ptr %p311, ptr @lgl_p_FenceSync + %u311 = icmp eq ptr %p311, null + %ui311 = zext i1 %u311 to i32 + %m312x = add i32 %m311, %ui311 + br label %f312 +f312: + %m312 = phi i32 [ %m312x, %s311 ] + %w312 = call ptr @wglGetProcAddress(ptr @.lgl_n_IsSync) + %wi312 = ptrtoint ptr %w312 to i64 + %wa312 = add i64 %wi312, 1 + %bad312 = icmp ult i64 %wa312, 5 + br i1 %bad312, label %g312, label %s312 +g312: + %e312 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_IsSync) + br label %s312 +s312: + %p312 = phi ptr [ %w312, %f312 ], [ %e312, %g312 ] + store ptr %p312, ptr @lgl_p_IsSync + %u312 = icmp eq ptr %p312, null + %ui312 = zext i1 %u312 to i32 + %m313x = add i32 %m312, %ui312 + br label %f313 +f313: + %m313 = phi i32 [ %m313x, %s312 ] + %w313 = call ptr @wglGetProcAddress(ptr @.lgl_n_DeleteSync) + %wi313 = ptrtoint ptr %w313 to i64 + %wa313 = add i64 %wi313, 1 + %bad313 = icmp ult i64 %wa313, 5 + br i1 %bad313, label %g313, label %s313 +g313: + %e313 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_DeleteSync) + br label %s313 +s313: + %p313 = phi ptr [ %w313, %f313 ], [ %e313, %g313 ] + store ptr %p313, ptr @lgl_p_DeleteSync + %u313 = icmp eq ptr %p313, null + %ui313 = zext i1 %u313 to i32 + %m314x = add i32 %m313, %ui313 + br label %f314 +f314: + %m314 = phi i32 [ %m314x, %s313 ] + %w314 = call ptr @wglGetProcAddress(ptr @.lgl_n_ClientWaitSync) + %wi314 = ptrtoint ptr %w314 to i64 + %wa314 = add i64 %wi314, 1 + %bad314 = icmp ult i64 %wa314, 5 + br i1 %bad314, label %g314, label %s314 +g314: + %e314 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ClientWaitSync) + br label %s314 +s314: + %p314 = phi ptr [ %w314, %f314 ], [ %e314, %g314 ] + store ptr %p314, ptr @lgl_p_ClientWaitSync + %u314 = icmp eq ptr %p314, null + %ui314 = zext i1 %u314 to i32 + %m315x = add i32 %m314, %ui314 + br label %f315 +f315: + %m315 = phi i32 [ %m315x, %s314 ] + %w315 = call ptr @wglGetProcAddress(ptr @.lgl_n_WaitSync) + %wi315 = ptrtoint ptr %w315 to i64 + %wa315 = add i64 %wi315, 1 + %bad315 = icmp ult i64 %wa315, 5 + br i1 %bad315, label %g315, label %s315 +g315: + %e315 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_WaitSync) + br label %s315 +s315: + %p315 = phi ptr [ %w315, %f315 ], [ %e315, %g315 ] + store ptr %p315, ptr @lgl_p_WaitSync + %u315 = icmp eq ptr %p315, null + %ui315 = zext i1 %u315 to i32 + %m316x = add i32 %m315, %ui315 + br label %f316 +f316: + %m316 = phi i32 [ %m316x, %s315 ] + %w316 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetInteger64v) + %wi316 = ptrtoint ptr %w316 to i64 + %wa316 = add i64 %wi316, 1 + %bad316 = icmp ult i64 %wa316, 5 + br i1 %bad316, label %g316, label %s316 +g316: + %e316 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetInteger64v) + br label %s316 +s316: + %p316 = phi ptr [ %w316, %f316 ], [ %e316, %g316 ] + store ptr %p316, ptr @lgl_p_GetInteger64v + %u316 = icmp eq ptr %p316, null + %ui316 = zext i1 %u316 to i32 + %m317x = add i32 %m316, %ui316 + br label %f317 +f317: + %m317 = phi i32 [ %m317x, %s316 ] + %w317 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetSynciv) + %wi317 = ptrtoint ptr %w317 to i64 + %wa317 = add i64 %wi317, 1 + %bad317 = icmp ult i64 %wa317, 5 + br i1 %bad317, label %g317, label %s317 +g317: + %e317 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetSynciv) + br label %s317 +s317: + %p317 = phi ptr [ %w317, %f317 ], [ %e317, %g317 ] + store ptr %p317, ptr @lgl_p_GetSynciv + %u317 = icmp eq ptr %p317, null + %ui317 = zext i1 %u317 to i32 + %m318x = add i32 %m317, %ui317 + br label %f318 +f318: + %m318 = phi i32 [ %m318x, %s317 ] + %w318 = call ptr @wglGetProcAddress(ptr @.lgl_n_TexImage2DMultisample) + %wi318 = ptrtoint ptr %w318 to i64 + %wa318 = add i64 %wi318, 1 + %bad318 = icmp ult i64 %wa318, 5 + br i1 %bad318, label %g318, label %s318 +g318: + %e318 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_TexImage2DMultisample) + br label %s318 +s318: + %p318 = phi ptr [ %w318, %f318 ], [ %e318, %g318 ] + store ptr %p318, ptr @lgl_p_TexImage2DMultisample + %u318 = icmp eq ptr %p318, null + %ui318 = zext i1 %u318 to i32 + %m319x = add i32 %m318, %ui318 + br label %f319 +f319: + %m319 = phi i32 [ %m319x, %s318 ] + %w319 = call ptr @wglGetProcAddress(ptr @.lgl_n_TexImage3DMultisample) + %wi319 = ptrtoint ptr %w319 to i64 + %wa319 = add i64 %wi319, 1 + %bad319 = icmp ult i64 %wa319, 5 + br i1 %bad319, label %g319, label %s319 +g319: + %e319 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_TexImage3DMultisample) + br label %s319 +s319: + %p319 = phi ptr [ %w319, %f319 ], [ %e319, %g319 ] + store ptr %p319, ptr @lgl_p_TexImage3DMultisample + %u319 = icmp eq ptr %p319, null + %ui319 = zext i1 %u319 to i32 + %m320x = add i32 %m319, %ui319 + br label %f320 +f320: + %m320 = phi i32 [ %m320x, %s319 ] + %w320 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetMultisamplefv) + %wi320 = ptrtoint ptr %w320 to i64 + %wa320 = add i64 %wi320, 1 + %bad320 = icmp ult i64 %wa320, 5 + br i1 %bad320, label %g320, label %s320 +g320: + %e320 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetMultisamplefv) + br label %s320 +s320: + %p320 = phi ptr [ %w320, %f320 ], [ %e320, %g320 ] + store ptr %p320, ptr @lgl_p_GetMultisamplefv + %u320 = icmp eq ptr %p320, null + %ui320 = zext i1 %u320 to i32 + %m321x = add i32 %m320, %ui320 + br label %f321 +f321: + %m321 = phi i32 [ %m321x, %s320 ] + %w321 = call ptr @wglGetProcAddress(ptr @.lgl_n_SampleMaski) + %wi321 = ptrtoint ptr %w321 to i64 + %wa321 = add i64 %wi321, 1 + %bad321 = icmp ult i64 %wa321, 5 + br i1 %bad321, label %g321, label %s321 +g321: + %e321 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_SampleMaski) + br label %s321 +s321: + %p321 = phi ptr [ %w321, %f321 ], [ %e321, %g321 ] + store ptr %p321, ptr @lgl_p_SampleMaski + %u321 = icmp eq ptr %p321, null + %ui321 = zext i1 %u321 to i32 + %m322x = add i32 %m321, %ui321 + br label %f322 +f322: + %m322 = phi i32 [ %m322x, %s321 ] + %w322 = call ptr @wglGetProcAddress(ptr @.lgl_n_BindFragDataLocationIndexed) + %wi322 = ptrtoint ptr %w322 to i64 + %wa322 = add i64 %wi322, 1 + %bad322 = icmp ult i64 %wa322, 5 + br i1 %bad322, label %g322, label %s322 +g322: + %e322 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_BindFragDataLocationIndexed) + br label %s322 +s322: + %p322 = phi ptr [ %w322, %f322 ], [ %e322, %g322 ] + store ptr %p322, ptr @lgl_p_BindFragDataLocationIndexed + %u322 = icmp eq ptr %p322, null + %ui322 = zext i1 %u322 to i32 + %m323x = add i32 %m322, %ui322 + br label %f323 +f323: + %m323 = phi i32 [ %m323x, %s322 ] + %w323 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetFragDataIndex) + %wi323 = ptrtoint ptr %w323 to i64 + %wa323 = add i64 %wi323, 1 + %bad323 = icmp ult i64 %wa323, 5 + br i1 %bad323, label %g323, label %s323 +g323: + %e323 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetFragDataIndex) + br label %s323 +s323: + %p323 = phi ptr [ %w323, %f323 ], [ %e323, %g323 ] + store ptr %p323, ptr @lgl_p_GetFragDataIndex + %u323 = icmp eq ptr %p323, null + %ui323 = zext i1 %u323 to i32 + %m324x = add i32 %m323, %ui323 + br label %f324 +f324: + %m324 = phi i32 [ %m324x, %s323 ] + %w324 = call ptr @wglGetProcAddress(ptr @.lgl_n_GenSamplers) + %wi324 = ptrtoint ptr %w324 to i64 + %wa324 = add i64 %wi324, 1 + %bad324 = icmp ult i64 %wa324, 5 + br i1 %bad324, label %g324, label %s324 +g324: + %e324 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GenSamplers) + br label %s324 +s324: + %p324 = phi ptr [ %w324, %f324 ], [ %e324, %g324 ] + store ptr %p324, ptr @lgl_p_GenSamplers + %u324 = icmp eq ptr %p324, null + %ui324 = zext i1 %u324 to i32 + %m325x = add i32 %m324, %ui324 + br label %f325 +f325: + %m325 = phi i32 [ %m325x, %s324 ] + %w325 = call ptr @wglGetProcAddress(ptr @.lgl_n_DeleteSamplers) + %wi325 = ptrtoint ptr %w325 to i64 + %wa325 = add i64 %wi325, 1 + %bad325 = icmp ult i64 %wa325, 5 + br i1 %bad325, label %g325, label %s325 +g325: + %e325 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_DeleteSamplers) + br label %s325 +s325: + %p325 = phi ptr [ %w325, %f325 ], [ %e325, %g325 ] + store ptr %p325, ptr @lgl_p_DeleteSamplers + %u325 = icmp eq ptr %p325, null + %ui325 = zext i1 %u325 to i32 + %m326x = add i32 %m325, %ui325 + br label %f326 +f326: + %m326 = phi i32 [ %m326x, %s325 ] + %w326 = call ptr @wglGetProcAddress(ptr @.lgl_n_IsSampler) + %wi326 = ptrtoint ptr %w326 to i64 + %wa326 = add i64 %wi326, 1 + %bad326 = icmp ult i64 %wa326, 5 + br i1 %bad326, label %g326, label %s326 +g326: + %e326 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_IsSampler) + br label %s326 +s326: + %p326 = phi ptr [ %w326, %f326 ], [ %e326, %g326 ] + store ptr %p326, ptr @lgl_p_IsSampler + %u326 = icmp eq ptr %p326, null + %ui326 = zext i1 %u326 to i32 + %m327x = add i32 %m326, %ui326 + br label %f327 +f327: + %m327 = phi i32 [ %m327x, %s326 ] + %w327 = call ptr @wglGetProcAddress(ptr @.lgl_n_BindSampler) + %wi327 = ptrtoint ptr %w327 to i64 + %wa327 = add i64 %wi327, 1 + %bad327 = icmp ult i64 %wa327, 5 + br i1 %bad327, label %g327, label %s327 +g327: + %e327 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_BindSampler) + br label %s327 +s327: + %p327 = phi ptr [ %w327, %f327 ], [ %e327, %g327 ] + store ptr %p327, ptr @lgl_p_BindSampler + %u327 = icmp eq ptr %p327, null + %ui327 = zext i1 %u327 to i32 + %m328x = add i32 %m327, %ui327 + br label %f328 +f328: + %m328 = phi i32 [ %m328x, %s327 ] + %w328 = call ptr @wglGetProcAddress(ptr @.lgl_n_SamplerParameteri) + %wi328 = ptrtoint ptr %w328 to i64 + %wa328 = add i64 %wi328, 1 + %bad328 = icmp ult i64 %wa328, 5 + br i1 %bad328, label %g328, label %s328 +g328: + %e328 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_SamplerParameteri) + br label %s328 +s328: + %p328 = phi ptr [ %w328, %f328 ], [ %e328, %g328 ] + store ptr %p328, ptr @lgl_p_SamplerParameteri + %u328 = icmp eq ptr %p328, null + %ui328 = zext i1 %u328 to i32 + %m329x = add i32 %m328, %ui328 + br label %f329 +f329: + %m329 = phi i32 [ %m329x, %s328 ] + %w329 = call ptr @wglGetProcAddress(ptr @.lgl_n_SamplerParameteriv) + %wi329 = ptrtoint ptr %w329 to i64 + %wa329 = add i64 %wi329, 1 + %bad329 = icmp ult i64 %wa329, 5 + br i1 %bad329, label %g329, label %s329 +g329: + %e329 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_SamplerParameteriv) + br label %s329 +s329: + %p329 = phi ptr [ %w329, %f329 ], [ %e329, %g329 ] + store ptr %p329, ptr @lgl_p_SamplerParameteriv + %u329 = icmp eq ptr %p329, null + %ui329 = zext i1 %u329 to i32 + %m330x = add i32 %m329, %ui329 + br label %f330 +f330: + %m330 = phi i32 [ %m330x, %s329 ] + %w330 = call ptr @wglGetProcAddress(ptr @.lgl_n_SamplerParameterf) + %wi330 = ptrtoint ptr %w330 to i64 + %wa330 = add i64 %wi330, 1 + %bad330 = icmp ult i64 %wa330, 5 + br i1 %bad330, label %g330, label %s330 +g330: + %e330 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_SamplerParameterf) + br label %s330 +s330: + %p330 = phi ptr [ %w330, %f330 ], [ %e330, %g330 ] + store ptr %p330, ptr @lgl_p_SamplerParameterf + %u330 = icmp eq ptr %p330, null + %ui330 = zext i1 %u330 to i32 + %m331x = add i32 %m330, %ui330 + br label %f331 +f331: + %m331 = phi i32 [ %m331x, %s330 ] + %w331 = call ptr @wglGetProcAddress(ptr @.lgl_n_SamplerParameterfv) + %wi331 = ptrtoint ptr %w331 to i64 + %wa331 = add i64 %wi331, 1 + %bad331 = icmp ult i64 %wa331, 5 + br i1 %bad331, label %g331, label %s331 +g331: + %e331 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_SamplerParameterfv) + br label %s331 +s331: + %p331 = phi ptr [ %w331, %f331 ], [ %e331, %g331 ] + store ptr %p331, ptr @lgl_p_SamplerParameterfv + %u331 = icmp eq ptr %p331, null + %ui331 = zext i1 %u331 to i32 + %m332x = add i32 %m331, %ui331 + br label %f332 +f332: + %m332 = phi i32 [ %m332x, %s331 ] + %w332 = call ptr @wglGetProcAddress(ptr @.lgl_n_SamplerParameterIiv) + %wi332 = ptrtoint ptr %w332 to i64 + %wa332 = add i64 %wi332, 1 + %bad332 = icmp ult i64 %wa332, 5 + br i1 %bad332, label %g332, label %s332 +g332: + %e332 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_SamplerParameterIiv) + br label %s332 +s332: + %p332 = phi ptr [ %w332, %f332 ], [ %e332, %g332 ] + store ptr %p332, ptr @lgl_p_SamplerParameterIiv + %u332 = icmp eq ptr %p332, null + %ui332 = zext i1 %u332 to i32 + %m333x = add i32 %m332, %ui332 + br label %f333 +f333: + %m333 = phi i32 [ %m333x, %s332 ] + %w333 = call ptr @wglGetProcAddress(ptr @.lgl_n_SamplerParameterIuiv) + %wi333 = ptrtoint ptr %w333 to i64 + %wa333 = add i64 %wi333, 1 + %bad333 = icmp ult i64 %wa333, 5 + br i1 %bad333, label %g333, label %s333 +g333: + %e333 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_SamplerParameterIuiv) + br label %s333 +s333: + %p333 = phi ptr [ %w333, %f333 ], [ %e333, %g333 ] + store ptr %p333, ptr @lgl_p_SamplerParameterIuiv + %u333 = icmp eq ptr %p333, null + %ui333 = zext i1 %u333 to i32 + %m334x = add i32 %m333, %ui333 + br label %f334 +f334: + %m334 = phi i32 [ %m334x, %s333 ] + %w334 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetSamplerParameteriv) + %wi334 = ptrtoint ptr %w334 to i64 + %wa334 = add i64 %wi334, 1 + %bad334 = icmp ult i64 %wa334, 5 + br i1 %bad334, label %g334, label %s334 +g334: + %e334 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetSamplerParameteriv) + br label %s334 +s334: + %p334 = phi ptr [ %w334, %f334 ], [ %e334, %g334 ] + store ptr %p334, ptr @lgl_p_GetSamplerParameteriv + %u334 = icmp eq ptr %p334, null + %ui334 = zext i1 %u334 to i32 + %m335x = add i32 %m334, %ui334 + br label %f335 +f335: + %m335 = phi i32 [ %m335x, %s334 ] + %w335 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetSamplerParameterIiv) + %wi335 = ptrtoint ptr %w335 to i64 + %wa335 = add i64 %wi335, 1 + %bad335 = icmp ult i64 %wa335, 5 + br i1 %bad335, label %g335, label %s335 +g335: + %e335 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetSamplerParameterIiv) + br label %s335 +s335: + %p335 = phi ptr [ %w335, %f335 ], [ %e335, %g335 ] + store ptr %p335, ptr @lgl_p_GetSamplerParameterIiv + %u335 = icmp eq ptr %p335, null + %ui335 = zext i1 %u335 to i32 + %m336x = add i32 %m335, %ui335 + br label %f336 +f336: + %m336 = phi i32 [ %m336x, %s335 ] + %w336 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetSamplerParameterfv) + %wi336 = ptrtoint ptr %w336 to i64 + %wa336 = add i64 %wi336, 1 + %bad336 = icmp ult i64 %wa336, 5 + br i1 %bad336, label %g336, label %s336 +g336: + %e336 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetSamplerParameterfv) + br label %s336 +s336: + %p336 = phi ptr [ %w336, %f336 ], [ %e336, %g336 ] + store ptr %p336, ptr @lgl_p_GetSamplerParameterfv + %u336 = icmp eq ptr %p336, null + %ui336 = zext i1 %u336 to i32 + %m337x = add i32 %m336, %ui336 + br label %f337 +f337: + %m337 = phi i32 [ %m337x, %s336 ] + %w337 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetSamplerParameterIuiv) + %wi337 = ptrtoint ptr %w337 to i64 + %wa337 = add i64 %wi337, 1 + %bad337 = icmp ult i64 %wa337, 5 + br i1 %bad337, label %g337, label %s337 +g337: + %e337 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetSamplerParameterIuiv) + br label %s337 +s337: + %p337 = phi ptr [ %w337, %f337 ], [ %e337, %g337 ] + store ptr %p337, ptr @lgl_p_GetSamplerParameterIuiv + %u337 = icmp eq ptr %p337, null + %ui337 = zext i1 %u337 to i32 + %m338x = add i32 %m337, %ui337 + br label %f338 +f338: + %m338 = phi i32 [ %m338x, %s337 ] + %w338 = call ptr @wglGetProcAddress(ptr @.lgl_n_QueryCounter) + %wi338 = ptrtoint ptr %w338 to i64 + %wa338 = add i64 %wi338, 1 + %bad338 = icmp ult i64 %wa338, 5 + br i1 %bad338, label %g338, label %s338 +g338: + %e338 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_QueryCounter) + br label %s338 +s338: + %p338 = phi ptr [ %w338, %f338 ], [ %e338, %g338 ] + store ptr %p338, ptr @lgl_p_QueryCounter + %u338 = icmp eq ptr %p338, null + %ui338 = zext i1 %u338 to i32 + %m339x = add i32 %m338, %ui338 + br label %f339 +f339: + %m339 = phi i32 [ %m339x, %s338 ] + %w339 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetQueryObjecti64v) + %wi339 = ptrtoint ptr %w339 to i64 + %wa339 = add i64 %wi339, 1 + %bad339 = icmp ult i64 %wa339, 5 + br i1 %bad339, label %g339, label %s339 +g339: + %e339 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetQueryObjecti64v) + br label %s339 +s339: + %p339 = phi ptr [ %w339, %f339 ], [ %e339, %g339 ] + store ptr %p339, ptr @lgl_p_GetQueryObjecti64v + %u339 = icmp eq ptr %p339, null + %ui339 = zext i1 %u339 to i32 + %m340x = add i32 %m339, %ui339 + br label %f340 +f340: + %m340 = phi i32 [ %m340x, %s339 ] + %w340 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetQueryObjectui64v) + %wi340 = ptrtoint ptr %w340 to i64 + %wa340 = add i64 %wi340, 1 + %bad340 = icmp ult i64 %wa340, 5 + br i1 %bad340, label %g340, label %s340 +g340: + %e340 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetQueryObjectui64v) + br label %s340 +s340: + %p340 = phi ptr [ %w340, %f340 ], [ %e340, %g340 ] + store ptr %p340, ptr @lgl_p_GetQueryObjectui64v + %u340 = icmp eq ptr %p340, null + %ui340 = zext i1 %u340 to i32 + %m341x = add i32 %m340, %ui340 + br label %f341 +f341: + %m341 = phi i32 [ %m341x, %s340 ] + %w341 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttribP1ui) + %wi341 = ptrtoint ptr %w341 to i64 + %wa341 = add i64 %wi341, 1 + %bad341 = icmp ult i64 %wa341, 5 + br i1 %bad341, label %g341, label %s341 +g341: + %e341 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttribP1ui) + br label %s341 +s341: + %p341 = phi ptr [ %w341, %f341 ], [ %e341, %g341 ] + store ptr %p341, ptr @lgl_p_VertexAttribP1ui + %u341 = icmp eq ptr %p341, null + %ui341 = zext i1 %u341 to i32 + %m342x = add i32 %m341, %ui341 + br label %f342 +f342: + %m342 = phi i32 [ %m342x, %s341 ] + %w342 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttribP1uiv) + %wi342 = ptrtoint ptr %w342 to i64 + %wa342 = add i64 %wi342, 1 + %bad342 = icmp ult i64 %wa342, 5 + br i1 %bad342, label %g342, label %s342 +g342: + %e342 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttribP1uiv) + br label %s342 +s342: + %p342 = phi ptr [ %w342, %f342 ], [ %e342, %g342 ] + store ptr %p342, ptr @lgl_p_VertexAttribP1uiv + %u342 = icmp eq ptr %p342, null + %ui342 = zext i1 %u342 to i32 + %m343x = add i32 %m342, %ui342 + br label %f343 +f343: + %m343 = phi i32 [ %m343x, %s342 ] + %w343 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttribP2ui) + %wi343 = ptrtoint ptr %w343 to i64 + %wa343 = add i64 %wi343, 1 + %bad343 = icmp ult i64 %wa343, 5 + br i1 %bad343, label %g343, label %s343 +g343: + %e343 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttribP2ui) + br label %s343 +s343: + %p343 = phi ptr [ %w343, %f343 ], [ %e343, %g343 ] + store ptr %p343, ptr @lgl_p_VertexAttribP2ui + %u343 = icmp eq ptr %p343, null + %ui343 = zext i1 %u343 to i32 + %m344x = add i32 %m343, %ui343 + br label %f344 +f344: + %m344 = phi i32 [ %m344x, %s343 ] + %w344 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttribP2uiv) + %wi344 = ptrtoint ptr %w344 to i64 + %wa344 = add i64 %wi344, 1 + %bad344 = icmp ult i64 %wa344, 5 + br i1 %bad344, label %g344, label %s344 +g344: + %e344 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttribP2uiv) + br label %s344 +s344: + %p344 = phi ptr [ %w344, %f344 ], [ %e344, %g344 ] + store ptr %p344, ptr @lgl_p_VertexAttribP2uiv + %u344 = icmp eq ptr %p344, null + %ui344 = zext i1 %u344 to i32 + %m345x = add i32 %m344, %ui344 + br label %f345 +f345: + %m345 = phi i32 [ %m345x, %s344 ] + %w345 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttribP3ui) + %wi345 = ptrtoint ptr %w345 to i64 + %wa345 = add i64 %wi345, 1 + %bad345 = icmp ult i64 %wa345, 5 + br i1 %bad345, label %g345, label %s345 +g345: + %e345 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttribP3ui) + br label %s345 +s345: + %p345 = phi ptr [ %w345, %f345 ], [ %e345, %g345 ] + store ptr %p345, ptr @lgl_p_VertexAttribP3ui + %u345 = icmp eq ptr %p345, null + %ui345 = zext i1 %u345 to i32 + %m346x = add i32 %m345, %ui345 + br label %f346 +f346: + %m346 = phi i32 [ %m346x, %s345 ] + %w346 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttribP3uiv) + %wi346 = ptrtoint ptr %w346 to i64 + %wa346 = add i64 %wi346, 1 + %bad346 = icmp ult i64 %wa346, 5 + br i1 %bad346, label %g346, label %s346 +g346: + %e346 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttribP3uiv) + br label %s346 +s346: + %p346 = phi ptr [ %w346, %f346 ], [ %e346, %g346 ] + store ptr %p346, ptr @lgl_p_VertexAttribP3uiv + %u346 = icmp eq ptr %p346, null + %ui346 = zext i1 %u346 to i32 + %m347x = add i32 %m346, %ui346 + br label %f347 +f347: + %m347 = phi i32 [ %m347x, %s346 ] + %w347 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttribP4ui) + %wi347 = ptrtoint ptr %w347 to i64 + %wa347 = add i64 %wi347, 1 + %bad347 = icmp ult i64 %wa347, 5 + br i1 %bad347, label %g347, label %s347 +g347: + %e347 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttribP4ui) + br label %s347 +s347: + %p347 = phi ptr [ %w347, %f347 ], [ %e347, %g347 ] + store ptr %p347, ptr @lgl_p_VertexAttribP4ui + %u347 = icmp eq ptr %p347, null + %ui347 = zext i1 %u347 to i32 + %m348x = add i32 %m347, %ui347 + br label %f348 +f348: + %m348 = phi i32 [ %m348x, %s347 ] + %w348 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttribP4uiv) + %wi348 = ptrtoint ptr %w348 to i64 + %wa348 = add i64 %wi348, 1 + %bad348 = icmp ult i64 %wa348, 5 + br i1 %bad348, label %g348, label %s348 +g348: + %e348 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttribP4uiv) + br label %s348 +s348: + %p348 = phi ptr [ %w348, %f348 ], [ %e348, %g348 ] + store ptr %p348, ptr @lgl_p_VertexAttribP4uiv + %u348 = icmp eq ptr %p348, null + %ui348 = zext i1 %u348 to i32 + %m349x = add i32 %m348, %ui348 + br label %f349 +f349: + %m349 = phi i32 [ %m349x, %s348 ] + %w349 = call ptr @wglGetProcAddress(ptr @.lgl_n_DrawArraysIndirect) + %wi349 = ptrtoint ptr %w349 to i64 + %wa349 = add i64 %wi349, 1 + %bad349 = icmp ult i64 %wa349, 5 + br i1 %bad349, label %g349, label %s349 +g349: + %e349 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_DrawArraysIndirect) + br label %s349 +s349: + %p349 = phi ptr [ %w349, %f349 ], [ %e349, %g349 ] + store ptr %p349, ptr @lgl_p_DrawArraysIndirect + %u349 = icmp eq ptr %p349, null + %ui349 = zext i1 %u349 to i32 + %m350x = add i32 %m349, %ui349 + br label %f350 +f350: + %m350 = phi i32 [ %m350x, %s349 ] + %w350 = call ptr @wglGetProcAddress(ptr @.lgl_n_DrawElementsIndirect) + %wi350 = ptrtoint ptr %w350 to i64 + %wa350 = add i64 %wi350, 1 + %bad350 = icmp ult i64 %wa350, 5 + br i1 %bad350, label %g350, label %s350 +g350: + %e350 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_DrawElementsIndirect) + br label %s350 +s350: + %p350 = phi ptr [ %w350, %f350 ], [ %e350, %g350 ] + store ptr %p350, ptr @lgl_p_DrawElementsIndirect + %u350 = icmp eq ptr %p350, null + %ui350 = zext i1 %u350 to i32 + %m351x = add i32 %m350, %ui350 + br label %f351 +f351: + %m351 = phi i32 [ %m351x, %s350 ] + %w351 = call ptr @wglGetProcAddress(ptr @.lgl_n_Uniform1d) + %wi351 = ptrtoint ptr %w351 to i64 + %wa351 = add i64 %wi351, 1 + %bad351 = icmp ult i64 %wa351, 5 + br i1 %bad351, label %g351, label %s351 +g351: + %e351 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_Uniform1d) + br label %s351 +s351: + %p351 = phi ptr [ %w351, %f351 ], [ %e351, %g351 ] + store ptr %p351, ptr @lgl_p_Uniform1d + %u351 = icmp eq ptr %p351, null + %ui351 = zext i1 %u351 to i32 + %m352x = add i32 %m351, %ui351 + br label %f352 +f352: + %m352 = phi i32 [ %m352x, %s351 ] + %w352 = call ptr @wglGetProcAddress(ptr @.lgl_n_Uniform2d) + %wi352 = ptrtoint ptr %w352 to i64 + %wa352 = add i64 %wi352, 1 + %bad352 = icmp ult i64 %wa352, 5 + br i1 %bad352, label %g352, label %s352 +g352: + %e352 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_Uniform2d) + br label %s352 +s352: + %p352 = phi ptr [ %w352, %f352 ], [ %e352, %g352 ] + store ptr %p352, ptr @lgl_p_Uniform2d + %u352 = icmp eq ptr %p352, null + %ui352 = zext i1 %u352 to i32 + %m353x = add i32 %m352, %ui352 + br label %f353 +f353: + %m353 = phi i32 [ %m353x, %s352 ] + %w353 = call ptr @wglGetProcAddress(ptr @.lgl_n_Uniform3d) + %wi353 = ptrtoint ptr %w353 to i64 + %wa353 = add i64 %wi353, 1 + %bad353 = icmp ult i64 %wa353, 5 + br i1 %bad353, label %g353, label %s353 +g353: + %e353 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_Uniform3d) + br label %s353 +s353: + %p353 = phi ptr [ %w353, %f353 ], [ %e353, %g353 ] + store ptr %p353, ptr @lgl_p_Uniform3d + %u353 = icmp eq ptr %p353, null + %ui353 = zext i1 %u353 to i32 + %m354x = add i32 %m353, %ui353 + br label %f354 +f354: + %m354 = phi i32 [ %m354x, %s353 ] + %w354 = call ptr @wglGetProcAddress(ptr @.lgl_n_Uniform4d) + %wi354 = ptrtoint ptr %w354 to i64 + %wa354 = add i64 %wi354, 1 + %bad354 = icmp ult i64 %wa354, 5 + br i1 %bad354, label %g354, label %s354 +g354: + %e354 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_Uniform4d) + br label %s354 +s354: + %p354 = phi ptr [ %w354, %f354 ], [ %e354, %g354 ] + store ptr %p354, ptr @lgl_p_Uniform4d + %u354 = icmp eq ptr %p354, null + %ui354 = zext i1 %u354 to i32 + %m355x = add i32 %m354, %ui354 + br label %f355 +f355: + %m355 = phi i32 [ %m355x, %s354 ] + %w355 = call ptr @wglGetProcAddress(ptr @.lgl_n_Uniform1dv) + %wi355 = ptrtoint ptr %w355 to i64 + %wa355 = add i64 %wi355, 1 + %bad355 = icmp ult i64 %wa355, 5 + br i1 %bad355, label %g355, label %s355 +g355: + %e355 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_Uniform1dv) + br label %s355 +s355: + %p355 = phi ptr [ %w355, %f355 ], [ %e355, %g355 ] + store ptr %p355, ptr @lgl_p_Uniform1dv + %u355 = icmp eq ptr %p355, null + %ui355 = zext i1 %u355 to i32 + %m356x = add i32 %m355, %ui355 + br label %f356 +f356: + %m356 = phi i32 [ %m356x, %s355 ] + %w356 = call ptr @wglGetProcAddress(ptr @.lgl_n_Uniform2dv) + %wi356 = ptrtoint ptr %w356 to i64 + %wa356 = add i64 %wi356, 1 + %bad356 = icmp ult i64 %wa356, 5 + br i1 %bad356, label %g356, label %s356 +g356: + %e356 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_Uniform2dv) + br label %s356 +s356: + %p356 = phi ptr [ %w356, %f356 ], [ %e356, %g356 ] + store ptr %p356, ptr @lgl_p_Uniform2dv + %u356 = icmp eq ptr %p356, null + %ui356 = zext i1 %u356 to i32 + %m357x = add i32 %m356, %ui356 + br label %f357 +f357: + %m357 = phi i32 [ %m357x, %s356 ] + %w357 = call ptr @wglGetProcAddress(ptr @.lgl_n_Uniform3dv) + %wi357 = ptrtoint ptr %w357 to i64 + %wa357 = add i64 %wi357, 1 + %bad357 = icmp ult i64 %wa357, 5 + br i1 %bad357, label %g357, label %s357 +g357: + %e357 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_Uniform3dv) + br label %s357 +s357: + %p357 = phi ptr [ %w357, %f357 ], [ %e357, %g357 ] + store ptr %p357, ptr @lgl_p_Uniform3dv + %u357 = icmp eq ptr %p357, null + %ui357 = zext i1 %u357 to i32 + %m358x = add i32 %m357, %ui357 + br label %f358 +f358: + %m358 = phi i32 [ %m358x, %s357 ] + %w358 = call ptr @wglGetProcAddress(ptr @.lgl_n_Uniform4dv) + %wi358 = ptrtoint ptr %w358 to i64 + %wa358 = add i64 %wi358, 1 + %bad358 = icmp ult i64 %wa358, 5 + br i1 %bad358, label %g358, label %s358 +g358: + %e358 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_Uniform4dv) + br label %s358 +s358: + %p358 = phi ptr [ %w358, %f358 ], [ %e358, %g358 ] + store ptr %p358, ptr @lgl_p_Uniform4dv + %u358 = icmp eq ptr %p358, null + %ui358 = zext i1 %u358 to i32 + %m359x = add i32 %m358, %ui358 + br label %f359 +f359: + %m359 = phi i32 [ %m359x, %s358 ] + %w359 = call ptr @wglGetProcAddress(ptr @.lgl_n_UniformMatrix2dv) + %wi359 = ptrtoint ptr %w359 to i64 + %wa359 = add i64 %wi359, 1 + %bad359 = icmp ult i64 %wa359, 5 + br i1 %bad359, label %g359, label %s359 +g359: + %e359 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_UniformMatrix2dv) + br label %s359 +s359: + %p359 = phi ptr [ %w359, %f359 ], [ %e359, %g359 ] + store ptr %p359, ptr @lgl_p_UniformMatrix2dv + %u359 = icmp eq ptr %p359, null + %ui359 = zext i1 %u359 to i32 + %m360x = add i32 %m359, %ui359 + br label %f360 +f360: + %m360 = phi i32 [ %m360x, %s359 ] + %w360 = call ptr @wglGetProcAddress(ptr @.lgl_n_UniformMatrix3dv) + %wi360 = ptrtoint ptr %w360 to i64 + %wa360 = add i64 %wi360, 1 + %bad360 = icmp ult i64 %wa360, 5 + br i1 %bad360, label %g360, label %s360 +g360: + %e360 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_UniformMatrix3dv) + br label %s360 +s360: + %p360 = phi ptr [ %w360, %f360 ], [ %e360, %g360 ] + store ptr %p360, ptr @lgl_p_UniformMatrix3dv + %u360 = icmp eq ptr %p360, null + %ui360 = zext i1 %u360 to i32 + %m361x = add i32 %m360, %ui360 + br label %f361 +f361: + %m361 = phi i32 [ %m361x, %s360 ] + %w361 = call ptr @wglGetProcAddress(ptr @.lgl_n_UniformMatrix4dv) + %wi361 = ptrtoint ptr %w361 to i64 + %wa361 = add i64 %wi361, 1 + %bad361 = icmp ult i64 %wa361, 5 + br i1 %bad361, label %g361, label %s361 +g361: + %e361 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_UniformMatrix4dv) + br label %s361 +s361: + %p361 = phi ptr [ %w361, %f361 ], [ %e361, %g361 ] + store ptr %p361, ptr @lgl_p_UniformMatrix4dv + %u361 = icmp eq ptr %p361, null + %ui361 = zext i1 %u361 to i32 + %m362x = add i32 %m361, %ui361 + br label %f362 +f362: + %m362 = phi i32 [ %m362x, %s361 ] + %w362 = call ptr @wglGetProcAddress(ptr @.lgl_n_UniformMatrix2x3dv) + %wi362 = ptrtoint ptr %w362 to i64 + %wa362 = add i64 %wi362, 1 + %bad362 = icmp ult i64 %wa362, 5 + br i1 %bad362, label %g362, label %s362 +g362: + %e362 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_UniformMatrix2x3dv) + br label %s362 +s362: + %p362 = phi ptr [ %w362, %f362 ], [ %e362, %g362 ] + store ptr %p362, ptr @lgl_p_UniformMatrix2x3dv + %u362 = icmp eq ptr %p362, null + %ui362 = zext i1 %u362 to i32 + %m363x = add i32 %m362, %ui362 + br label %f363 +f363: + %m363 = phi i32 [ %m363x, %s362 ] + %w363 = call ptr @wglGetProcAddress(ptr @.lgl_n_UniformMatrix2x4dv) + %wi363 = ptrtoint ptr %w363 to i64 + %wa363 = add i64 %wi363, 1 + %bad363 = icmp ult i64 %wa363, 5 + br i1 %bad363, label %g363, label %s363 +g363: + %e363 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_UniformMatrix2x4dv) + br label %s363 +s363: + %p363 = phi ptr [ %w363, %f363 ], [ %e363, %g363 ] + store ptr %p363, ptr @lgl_p_UniformMatrix2x4dv + %u363 = icmp eq ptr %p363, null + %ui363 = zext i1 %u363 to i32 + %m364x = add i32 %m363, %ui363 + br label %f364 +f364: + %m364 = phi i32 [ %m364x, %s363 ] + %w364 = call ptr @wglGetProcAddress(ptr @.lgl_n_UniformMatrix3x2dv) + %wi364 = ptrtoint ptr %w364 to i64 + %wa364 = add i64 %wi364, 1 + %bad364 = icmp ult i64 %wa364, 5 + br i1 %bad364, label %g364, label %s364 +g364: + %e364 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_UniformMatrix3x2dv) + br label %s364 +s364: + %p364 = phi ptr [ %w364, %f364 ], [ %e364, %g364 ] + store ptr %p364, ptr @lgl_p_UniformMatrix3x2dv + %u364 = icmp eq ptr %p364, null + %ui364 = zext i1 %u364 to i32 + %m365x = add i32 %m364, %ui364 + br label %f365 +f365: + %m365 = phi i32 [ %m365x, %s364 ] + %w365 = call ptr @wglGetProcAddress(ptr @.lgl_n_UniformMatrix3x4dv) + %wi365 = ptrtoint ptr %w365 to i64 + %wa365 = add i64 %wi365, 1 + %bad365 = icmp ult i64 %wa365, 5 + br i1 %bad365, label %g365, label %s365 +g365: + %e365 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_UniformMatrix3x4dv) + br label %s365 +s365: + %p365 = phi ptr [ %w365, %f365 ], [ %e365, %g365 ] + store ptr %p365, ptr @lgl_p_UniformMatrix3x4dv + %u365 = icmp eq ptr %p365, null + %ui365 = zext i1 %u365 to i32 + %m366x = add i32 %m365, %ui365 + br label %f366 +f366: + %m366 = phi i32 [ %m366x, %s365 ] + %w366 = call ptr @wglGetProcAddress(ptr @.lgl_n_UniformMatrix4x2dv) + %wi366 = ptrtoint ptr %w366 to i64 + %wa366 = add i64 %wi366, 1 + %bad366 = icmp ult i64 %wa366, 5 + br i1 %bad366, label %g366, label %s366 +g366: + %e366 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_UniformMatrix4x2dv) + br label %s366 +s366: + %p366 = phi ptr [ %w366, %f366 ], [ %e366, %g366 ] + store ptr %p366, ptr @lgl_p_UniformMatrix4x2dv + %u366 = icmp eq ptr %p366, null + %ui366 = zext i1 %u366 to i32 + %m367x = add i32 %m366, %ui366 + br label %f367 +f367: + %m367 = phi i32 [ %m367x, %s366 ] + %w367 = call ptr @wglGetProcAddress(ptr @.lgl_n_UniformMatrix4x3dv) + %wi367 = ptrtoint ptr %w367 to i64 + %wa367 = add i64 %wi367, 1 + %bad367 = icmp ult i64 %wa367, 5 + br i1 %bad367, label %g367, label %s367 +g367: + %e367 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_UniformMatrix4x3dv) + br label %s367 +s367: + %p367 = phi ptr [ %w367, %f367 ], [ %e367, %g367 ] + store ptr %p367, ptr @lgl_p_UniformMatrix4x3dv + %u367 = icmp eq ptr %p367, null + %ui367 = zext i1 %u367 to i32 + %m368x = add i32 %m367, %ui367 + br label %f368 +f368: + %m368 = phi i32 [ %m368x, %s367 ] + %w368 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetUniformdv) + %wi368 = ptrtoint ptr %w368 to i64 + %wa368 = add i64 %wi368, 1 + %bad368 = icmp ult i64 %wa368, 5 + br i1 %bad368, label %g368, label %s368 +g368: + %e368 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetUniformdv) + br label %s368 +s368: + %p368 = phi ptr [ %w368, %f368 ], [ %e368, %g368 ] + store ptr %p368, ptr @lgl_p_GetUniformdv + %u368 = icmp eq ptr %p368, null + %ui368 = zext i1 %u368 to i32 + %m369x = add i32 %m368, %ui368 + br label %f369 +f369: + %m369 = phi i32 [ %m369x, %s368 ] + %w369 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetSubroutineUniformLocation) + %wi369 = ptrtoint ptr %w369 to i64 + %wa369 = add i64 %wi369, 1 + %bad369 = icmp ult i64 %wa369, 5 + br i1 %bad369, label %g369, label %s369 +g369: + %e369 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetSubroutineUniformLocation) + br label %s369 +s369: + %p369 = phi ptr [ %w369, %f369 ], [ %e369, %g369 ] + store ptr %p369, ptr @lgl_p_GetSubroutineUniformLocation + %u369 = icmp eq ptr %p369, null + %ui369 = zext i1 %u369 to i32 + %m370x = add i32 %m369, %ui369 + br label %f370 +f370: + %m370 = phi i32 [ %m370x, %s369 ] + %w370 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetSubroutineIndex) + %wi370 = ptrtoint ptr %w370 to i64 + %wa370 = add i64 %wi370, 1 + %bad370 = icmp ult i64 %wa370, 5 + br i1 %bad370, label %g370, label %s370 +g370: + %e370 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetSubroutineIndex) + br label %s370 +s370: + %p370 = phi ptr [ %w370, %f370 ], [ %e370, %g370 ] + store ptr %p370, ptr @lgl_p_GetSubroutineIndex + %u370 = icmp eq ptr %p370, null + %ui370 = zext i1 %u370 to i32 + %m371x = add i32 %m370, %ui370 + br label %f371 +f371: + %m371 = phi i32 [ %m371x, %s370 ] + %w371 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetActiveSubroutineUniformiv) + %wi371 = ptrtoint ptr %w371 to i64 + %wa371 = add i64 %wi371, 1 + %bad371 = icmp ult i64 %wa371, 5 + br i1 %bad371, label %g371, label %s371 +g371: + %e371 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetActiveSubroutineUniformiv) + br label %s371 +s371: + %p371 = phi ptr [ %w371, %f371 ], [ %e371, %g371 ] + store ptr %p371, ptr @lgl_p_GetActiveSubroutineUniformiv + %u371 = icmp eq ptr %p371, null + %ui371 = zext i1 %u371 to i32 + %m372x = add i32 %m371, %ui371 + br label %f372 +f372: + %m372 = phi i32 [ %m372x, %s371 ] + %w372 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetActiveSubroutineUniformName) + %wi372 = ptrtoint ptr %w372 to i64 + %wa372 = add i64 %wi372, 1 + %bad372 = icmp ult i64 %wa372, 5 + br i1 %bad372, label %g372, label %s372 +g372: + %e372 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetActiveSubroutineUniformName) + br label %s372 +s372: + %p372 = phi ptr [ %w372, %f372 ], [ %e372, %g372 ] + store ptr %p372, ptr @lgl_p_GetActiveSubroutineUniformName + %u372 = icmp eq ptr %p372, null + %ui372 = zext i1 %u372 to i32 + %m373x = add i32 %m372, %ui372 + br label %f373 +f373: + %m373 = phi i32 [ %m373x, %s372 ] + %w373 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetActiveSubroutineName) + %wi373 = ptrtoint ptr %w373 to i64 + %wa373 = add i64 %wi373, 1 + %bad373 = icmp ult i64 %wa373, 5 + br i1 %bad373, label %g373, label %s373 +g373: + %e373 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetActiveSubroutineName) + br label %s373 +s373: + %p373 = phi ptr [ %w373, %f373 ], [ %e373, %g373 ] + store ptr %p373, ptr @lgl_p_GetActiveSubroutineName + %u373 = icmp eq ptr %p373, null + %ui373 = zext i1 %u373 to i32 + %m374x = add i32 %m373, %ui373 + br label %f374 +f374: + %m374 = phi i32 [ %m374x, %s373 ] + %w374 = call ptr @wglGetProcAddress(ptr @.lgl_n_UniformSubroutinesuiv) + %wi374 = ptrtoint ptr %w374 to i64 + %wa374 = add i64 %wi374, 1 + %bad374 = icmp ult i64 %wa374, 5 + br i1 %bad374, label %g374, label %s374 +g374: + %e374 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_UniformSubroutinesuiv) + br label %s374 +s374: + %p374 = phi ptr [ %w374, %f374 ], [ %e374, %g374 ] + store ptr %p374, ptr @lgl_p_UniformSubroutinesuiv + %u374 = icmp eq ptr %p374, null + %ui374 = zext i1 %u374 to i32 + %m375x = add i32 %m374, %ui374 + br label %f375 +f375: + %m375 = phi i32 [ %m375x, %s374 ] + %w375 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetUniformSubroutineuiv) + %wi375 = ptrtoint ptr %w375 to i64 + %wa375 = add i64 %wi375, 1 + %bad375 = icmp ult i64 %wa375, 5 + br i1 %bad375, label %g375, label %s375 +g375: + %e375 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetUniformSubroutineuiv) + br label %s375 +s375: + %p375 = phi ptr [ %w375, %f375 ], [ %e375, %g375 ] + store ptr %p375, ptr @lgl_p_GetUniformSubroutineuiv + %u375 = icmp eq ptr %p375, null + %ui375 = zext i1 %u375 to i32 + %m376x = add i32 %m375, %ui375 + br label %f376 +f376: + %m376 = phi i32 [ %m376x, %s375 ] + %w376 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetProgramStageiv) + %wi376 = ptrtoint ptr %w376 to i64 + %wa376 = add i64 %wi376, 1 + %bad376 = icmp ult i64 %wa376, 5 + br i1 %bad376, label %g376, label %s376 +g376: + %e376 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetProgramStageiv) + br label %s376 +s376: + %p376 = phi ptr [ %w376, %f376 ], [ %e376, %g376 ] + store ptr %p376, ptr @lgl_p_GetProgramStageiv + %u376 = icmp eq ptr %p376, null + %ui376 = zext i1 %u376 to i32 + %m377x = add i32 %m376, %ui376 + br label %f377 +f377: + %m377 = phi i32 [ %m377x, %s376 ] + %w377 = call ptr @wglGetProcAddress(ptr @.lgl_n_PatchParameteri) + %wi377 = ptrtoint ptr %w377 to i64 + %wa377 = add i64 %wi377, 1 + %bad377 = icmp ult i64 %wa377, 5 + br i1 %bad377, label %g377, label %s377 +g377: + %e377 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_PatchParameteri) + br label %s377 +s377: + %p377 = phi ptr [ %w377, %f377 ], [ %e377, %g377 ] + store ptr %p377, ptr @lgl_p_PatchParameteri + %u377 = icmp eq ptr %p377, null + %ui377 = zext i1 %u377 to i32 + %m378x = add i32 %m377, %ui377 + br label %f378 +f378: + %m378 = phi i32 [ %m378x, %s377 ] + %w378 = call ptr @wglGetProcAddress(ptr @.lgl_n_PatchParameterfv) + %wi378 = ptrtoint ptr %w378 to i64 + %wa378 = add i64 %wi378, 1 + %bad378 = icmp ult i64 %wa378, 5 + br i1 %bad378, label %g378, label %s378 +g378: + %e378 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_PatchParameterfv) + br label %s378 +s378: + %p378 = phi ptr [ %w378, %f378 ], [ %e378, %g378 ] + store ptr %p378, ptr @lgl_p_PatchParameterfv + %u378 = icmp eq ptr %p378, null + %ui378 = zext i1 %u378 to i32 + %m379x = add i32 %m378, %ui378 + br label %f379 +f379: + %m379 = phi i32 [ %m379x, %s378 ] + %w379 = call ptr @wglGetProcAddress(ptr @.lgl_n_BindTransformFeedback) + %wi379 = ptrtoint ptr %w379 to i64 + %wa379 = add i64 %wi379, 1 + %bad379 = icmp ult i64 %wa379, 5 + br i1 %bad379, label %g379, label %s379 +g379: + %e379 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_BindTransformFeedback) + br label %s379 +s379: + %p379 = phi ptr [ %w379, %f379 ], [ %e379, %g379 ] + store ptr %p379, ptr @lgl_p_BindTransformFeedback + %u379 = icmp eq ptr %p379, null + %ui379 = zext i1 %u379 to i32 + %m380x = add i32 %m379, %ui379 + br label %f380 +f380: + %m380 = phi i32 [ %m380x, %s379 ] + %w380 = call ptr @wglGetProcAddress(ptr @.lgl_n_DeleteTransformFeedbacks) + %wi380 = ptrtoint ptr %w380 to i64 + %wa380 = add i64 %wi380, 1 + %bad380 = icmp ult i64 %wa380, 5 + br i1 %bad380, label %g380, label %s380 +g380: + %e380 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_DeleteTransformFeedbacks) + br label %s380 +s380: + %p380 = phi ptr [ %w380, %f380 ], [ %e380, %g380 ] + store ptr %p380, ptr @lgl_p_DeleteTransformFeedbacks + %u380 = icmp eq ptr %p380, null + %ui380 = zext i1 %u380 to i32 + %m381x = add i32 %m380, %ui380 + br label %f381 +f381: + %m381 = phi i32 [ %m381x, %s380 ] + %w381 = call ptr @wglGetProcAddress(ptr @.lgl_n_GenTransformFeedbacks) + %wi381 = ptrtoint ptr %w381 to i64 + %wa381 = add i64 %wi381, 1 + %bad381 = icmp ult i64 %wa381, 5 + br i1 %bad381, label %g381, label %s381 +g381: + %e381 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GenTransformFeedbacks) + br label %s381 +s381: + %p381 = phi ptr [ %w381, %f381 ], [ %e381, %g381 ] + store ptr %p381, ptr @lgl_p_GenTransformFeedbacks + %u381 = icmp eq ptr %p381, null + %ui381 = zext i1 %u381 to i32 + %m382x = add i32 %m381, %ui381 + br label %f382 +f382: + %m382 = phi i32 [ %m382x, %s381 ] + %w382 = call ptr @wglGetProcAddress(ptr @.lgl_n_IsTransformFeedback) + %wi382 = ptrtoint ptr %w382 to i64 + %wa382 = add i64 %wi382, 1 + %bad382 = icmp ult i64 %wa382, 5 + br i1 %bad382, label %g382, label %s382 +g382: + %e382 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_IsTransformFeedback) + br label %s382 +s382: + %p382 = phi ptr [ %w382, %f382 ], [ %e382, %g382 ] + store ptr %p382, ptr @lgl_p_IsTransformFeedback + %u382 = icmp eq ptr %p382, null + %ui382 = zext i1 %u382 to i32 + %m383x = add i32 %m382, %ui382 + br label %f383 +f383: + %m383 = phi i32 [ %m383x, %s382 ] + %w383 = call ptr @wglGetProcAddress(ptr @.lgl_n_PauseTransformFeedback) + %wi383 = ptrtoint ptr %w383 to i64 + %wa383 = add i64 %wi383, 1 + %bad383 = icmp ult i64 %wa383, 5 + br i1 %bad383, label %g383, label %s383 +g383: + %e383 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_PauseTransformFeedback) + br label %s383 +s383: + %p383 = phi ptr [ %w383, %f383 ], [ %e383, %g383 ] + store ptr %p383, ptr @lgl_p_PauseTransformFeedback + %u383 = icmp eq ptr %p383, null + %ui383 = zext i1 %u383 to i32 + %m384x = add i32 %m383, %ui383 + br label %f384 +f384: + %m384 = phi i32 [ %m384x, %s383 ] + %w384 = call ptr @wglGetProcAddress(ptr @.lgl_n_ResumeTransformFeedback) + %wi384 = ptrtoint ptr %w384 to i64 + %wa384 = add i64 %wi384, 1 + %bad384 = icmp ult i64 %wa384, 5 + br i1 %bad384, label %g384, label %s384 +g384: + %e384 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ResumeTransformFeedback) + br label %s384 +s384: + %p384 = phi ptr [ %w384, %f384 ], [ %e384, %g384 ] + store ptr %p384, ptr @lgl_p_ResumeTransformFeedback + %u384 = icmp eq ptr %p384, null + %ui384 = zext i1 %u384 to i32 + %m385x = add i32 %m384, %ui384 + br label %f385 +f385: + %m385 = phi i32 [ %m385x, %s384 ] + %w385 = call ptr @wglGetProcAddress(ptr @.lgl_n_DrawTransformFeedback) + %wi385 = ptrtoint ptr %w385 to i64 + %wa385 = add i64 %wi385, 1 + %bad385 = icmp ult i64 %wa385, 5 + br i1 %bad385, label %g385, label %s385 +g385: + %e385 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_DrawTransformFeedback) + br label %s385 +s385: + %p385 = phi ptr [ %w385, %f385 ], [ %e385, %g385 ] + store ptr %p385, ptr @lgl_p_DrawTransformFeedback + %u385 = icmp eq ptr %p385, null + %ui385 = zext i1 %u385 to i32 + %m386x = add i32 %m385, %ui385 + br label %f386 +f386: + %m386 = phi i32 [ %m386x, %s385 ] + %w386 = call ptr @wglGetProcAddress(ptr @.lgl_n_DrawTransformFeedbackStream) + %wi386 = ptrtoint ptr %w386 to i64 + %wa386 = add i64 %wi386, 1 + %bad386 = icmp ult i64 %wa386, 5 + br i1 %bad386, label %g386, label %s386 +g386: + %e386 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_DrawTransformFeedbackStream) + br label %s386 +s386: + %p386 = phi ptr [ %w386, %f386 ], [ %e386, %g386 ] + store ptr %p386, ptr @lgl_p_DrawTransformFeedbackStream + %u386 = icmp eq ptr %p386, null + %ui386 = zext i1 %u386 to i32 + %m387x = add i32 %m386, %ui386 + br label %f387 +f387: + %m387 = phi i32 [ %m387x, %s386 ] + %w387 = call ptr @wglGetProcAddress(ptr @.lgl_n_BeginQueryIndexed) + %wi387 = ptrtoint ptr %w387 to i64 + %wa387 = add i64 %wi387, 1 + %bad387 = icmp ult i64 %wa387, 5 + br i1 %bad387, label %g387, label %s387 +g387: + %e387 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_BeginQueryIndexed) + br label %s387 +s387: + %p387 = phi ptr [ %w387, %f387 ], [ %e387, %g387 ] + store ptr %p387, ptr @lgl_p_BeginQueryIndexed + %u387 = icmp eq ptr %p387, null + %ui387 = zext i1 %u387 to i32 + %m388x = add i32 %m387, %ui387 + br label %f388 +f388: + %m388 = phi i32 [ %m388x, %s387 ] + %w388 = call ptr @wglGetProcAddress(ptr @.lgl_n_EndQueryIndexed) + %wi388 = ptrtoint ptr %w388 to i64 + %wa388 = add i64 %wi388, 1 + %bad388 = icmp ult i64 %wa388, 5 + br i1 %bad388, label %g388, label %s388 +g388: + %e388 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_EndQueryIndexed) + br label %s388 +s388: + %p388 = phi ptr [ %w388, %f388 ], [ %e388, %g388 ] + store ptr %p388, ptr @lgl_p_EndQueryIndexed + %u388 = icmp eq ptr %p388, null + %ui388 = zext i1 %u388 to i32 + %m389x = add i32 %m388, %ui388 + br label %f389 +f389: + %m389 = phi i32 [ %m389x, %s388 ] + %w389 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetQueryIndexediv) + %wi389 = ptrtoint ptr %w389 to i64 + %wa389 = add i64 %wi389, 1 + %bad389 = icmp ult i64 %wa389, 5 + br i1 %bad389, label %g389, label %s389 +g389: + %e389 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetQueryIndexediv) + br label %s389 +s389: + %p389 = phi ptr [ %w389, %f389 ], [ %e389, %g389 ] + store ptr %p389, ptr @lgl_p_GetQueryIndexediv + %u389 = icmp eq ptr %p389, null + %ui389 = zext i1 %u389 to i32 + %m390x = add i32 %m389, %ui389 + br label %f390 +f390: + %m390 = phi i32 [ %m390x, %s389 ] + %w390 = call ptr @wglGetProcAddress(ptr @.lgl_n_ReleaseShaderCompiler) + %wi390 = ptrtoint ptr %w390 to i64 + %wa390 = add i64 %wi390, 1 + %bad390 = icmp ult i64 %wa390, 5 + br i1 %bad390, label %g390, label %s390 +g390: + %e390 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ReleaseShaderCompiler) + br label %s390 +s390: + %p390 = phi ptr [ %w390, %f390 ], [ %e390, %g390 ] + store ptr %p390, ptr @lgl_p_ReleaseShaderCompiler + %u390 = icmp eq ptr %p390, null + %ui390 = zext i1 %u390 to i32 + %m391x = add i32 %m390, %ui390 + br label %f391 +f391: + %m391 = phi i32 [ %m391x, %s390 ] + %w391 = call ptr @wglGetProcAddress(ptr @.lgl_n_ShaderBinary) + %wi391 = ptrtoint ptr %w391 to i64 + %wa391 = add i64 %wi391, 1 + %bad391 = icmp ult i64 %wa391, 5 + br i1 %bad391, label %g391, label %s391 +g391: + %e391 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ShaderBinary) + br label %s391 +s391: + %p391 = phi ptr [ %w391, %f391 ], [ %e391, %g391 ] + store ptr %p391, ptr @lgl_p_ShaderBinary + %u391 = icmp eq ptr %p391, null + %ui391 = zext i1 %u391 to i32 + %m392x = add i32 %m391, %ui391 + br label %f392 +f392: + %m392 = phi i32 [ %m392x, %s391 ] + %w392 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetShaderPrecisionFormat) + %wi392 = ptrtoint ptr %w392 to i64 + %wa392 = add i64 %wi392, 1 + %bad392 = icmp ult i64 %wa392, 5 + br i1 %bad392, label %g392, label %s392 +g392: + %e392 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetShaderPrecisionFormat) + br label %s392 +s392: + %p392 = phi ptr [ %w392, %f392 ], [ %e392, %g392 ] + store ptr %p392, ptr @lgl_p_GetShaderPrecisionFormat + %u392 = icmp eq ptr %p392, null + %ui392 = zext i1 %u392 to i32 + %m393x = add i32 %m392, %ui392 + br label %f393 +f393: + %m393 = phi i32 [ %m393x, %s392 ] + %w393 = call ptr @wglGetProcAddress(ptr @.lgl_n_DepthRangef) + %wi393 = ptrtoint ptr %w393 to i64 + %wa393 = add i64 %wi393, 1 + %bad393 = icmp ult i64 %wa393, 5 + br i1 %bad393, label %g393, label %s393 +g393: + %e393 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_DepthRangef) + br label %s393 +s393: + %p393 = phi ptr [ %w393, %f393 ], [ %e393, %g393 ] + store ptr %p393, ptr @lgl_p_DepthRangef + %u393 = icmp eq ptr %p393, null + %ui393 = zext i1 %u393 to i32 + %m394x = add i32 %m393, %ui393 + br label %f394 +f394: + %m394 = phi i32 [ %m394x, %s393 ] + %w394 = call ptr @wglGetProcAddress(ptr @.lgl_n_ClearDepthf) + %wi394 = ptrtoint ptr %w394 to i64 + %wa394 = add i64 %wi394, 1 + %bad394 = icmp ult i64 %wa394, 5 + br i1 %bad394, label %g394, label %s394 +g394: + %e394 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ClearDepthf) + br label %s394 +s394: + %p394 = phi ptr [ %w394, %f394 ], [ %e394, %g394 ] + store ptr %p394, ptr @lgl_p_ClearDepthf + %u394 = icmp eq ptr %p394, null + %ui394 = zext i1 %u394 to i32 + %m395x = add i32 %m394, %ui394 + br label %f395 +f395: + %m395 = phi i32 [ %m395x, %s394 ] + %w395 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetProgramBinary) + %wi395 = ptrtoint ptr %w395 to i64 + %wa395 = add i64 %wi395, 1 + %bad395 = icmp ult i64 %wa395, 5 + br i1 %bad395, label %g395, label %s395 +g395: + %e395 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetProgramBinary) + br label %s395 +s395: + %p395 = phi ptr [ %w395, %f395 ], [ %e395, %g395 ] + store ptr %p395, ptr @lgl_p_GetProgramBinary + %u395 = icmp eq ptr %p395, null + %ui395 = zext i1 %u395 to i32 + %m396x = add i32 %m395, %ui395 + br label %f396 +f396: + %m396 = phi i32 [ %m396x, %s395 ] + %w396 = call ptr @wglGetProcAddress(ptr @.lgl_n_ProgramBinary) + %wi396 = ptrtoint ptr %w396 to i64 + %wa396 = add i64 %wi396, 1 + %bad396 = icmp ult i64 %wa396, 5 + br i1 %bad396, label %g396, label %s396 +g396: + %e396 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ProgramBinary) + br label %s396 +s396: + %p396 = phi ptr [ %w396, %f396 ], [ %e396, %g396 ] + store ptr %p396, ptr @lgl_p_ProgramBinary + %u396 = icmp eq ptr %p396, null + %ui396 = zext i1 %u396 to i32 + %m397x = add i32 %m396, %ui396 + br label %f397 +f397: + %m397 = phi i32 [ %m397x, %s396 ] + %w397 = call ptr @wglGetProcAddress(ptr @.lgl_n_ProgramParameteri) + %wi397 = ptrtoint ptr %w397 to i64 + %wa397 = add i64 %wi397, 1 + %bad397 = icmp ult i64 %wa397, 5 + br i1 %bad397, label %g397, label %s397 +g397: + %e397 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ProgramParameteri) + br label %s397 +s397: + %p397 = phi ptr [ %w397, %f397 ], [ %e397, %g397 ] + store ptr %p397, ptr @lgl_p_ProgramParameteri + %u397 = icmp eq ptr %p397, null + %ui397 = zext i1 %u397 to i32 + %m398x = add i32 %m397, %ui397 + br label %f398 +f398: + %m398 = phi i32 [ %m398x, %s397 ] + %w398 = call ptr @wglGetProcAddress(ptr @.lgl_n_UseProgramStages) + %wi398 = ptrtoint ptr %w398 to i64 + %wa398 = add i64 %wi398, 1 + %bad398 = icmp ult i64 %wa398, 5 + br i1 %bad398, label %g398, label %s398 +g398: + %e398 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_UseProgramStages) + br label %s398 +s398: + %p398 = phi ptr [ %w398, %f398 ], [ %e398, %g398 ] + store ptr %p398, ptr @lgl_p_UseProgramStages + %u398 = icmp eq ptr %p398, null + %ui398 = zext i1 %u398 to i32 + %m399x = add i32 %m398, %ui398 + br label %f399 +f399: + %m399 = phi i32 [ %m399x, %s398 ] + %w399 = call ptr @wglGetProcAddress(ptr @.lgl_n_ActiveShaderProgram) + %wi399 = ptrtoint ptr %w399 to i64 + %wa399 = add i64 %wi399, 1 + %bad399 = icmp ult i64 %wa399, 5 + br i1 %bad399, label %g399, label %s399 +g399: + %e399 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ActiveShaderProgram) + br label %s399 +s399: + %p399 = phi ptr [ %w399, %f399 ], [ %e399, %g399 ] + store ptr %p399, ptr @lgl_p_ActiveShaderProgram + %u399 = icmp eq ptr %p399, null + %ui399 = zext i1 %u399 to i32 + %m400x = add i32 %m399, %ui399 + br label %f400 +f400: + %m400 = phi i32 [ %m400x, %s399 ] + %w400 = call ptr @wglGetProcAddress(ptr @.lgl_n_CreateShaderProgramv) + %wi400 = ptrtoint ptr %w400 to i64 + %wa400 = add i64 %wi400, 1 + %bad400 = icmp ult i64 %wa400, 5 + br i1 %bad400, label %g400, label %s400 +g400: + %e400 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_CreateShaderProgramv) + br label %s400 +s400: + %p400 = phi ptr [ %w400, %f400 ], [ %e400, %g400 ] + store ptr %p400, ptr @lgl_p_CreateShaderProgramv + %u400 = icmp eq ptr %p400, null + %ui400 = zext i1 %u400 to i32 + %m401x = add i32 %m400, %ui400 + br label %f401 +f401: + %m401 = phi i32 [ %m401x, %s400 ] + %w401 = call ptr @wglGetProcAddress(ptr @.lgl_n_BindProgramPipeline) + %wi401 = ptrtoint ptr %w401 to i64 + %wa401 = add i64 %wi401, 1 + %bad401 = icmp ult i64 %wa401, 5 + br i1 %bad401, label %g401, label %s401 +g401: + %e401 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_BindProgramPipeline) + br label %s401 +s401: + %p401 = phi ptr [ %w401, %f401 ], [ %e401, %g401 ] + store ptr %p401, ptr @lgl_p_BindProgramPipeline + %u401 = icmp eq ptr %p401, null + %ui401 = zext i1 %u401 to i32 + %m402x = add i32 %m401, %ui401 + br label %f402 +f402: + %m402 = phi i32 [ %m402x, %s401 ] + %w402 = call ptr @wglGetProcAddress(ptr @.lgl_n_DeleteProgramPipelines) + %wi402 = ptrtoint ptr %w402 to i64 + %wa402 = add i64 %wi402, 1 + %bad402 = icmp ult i64 %wa402, 5 + br i1 %bad402, label %g402, label %s402 +g402: + %e402 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_DeleteProgramPipelines) + br label %s402 +s402: + %p402 = phi ptr [ %w402, %f402 ], [ %e402, %g402 ] + store ptr %p402, ptr @lgl_p_DeleteProgramPipelines + %u402 = icmp eq ptr %p402, null + %ui402 = zext i1 %u402 to i32 + %m403x = add i32 %m402, %ui402 + br label %f403 +f403: + %m403 = phi i32 [ %m403x, %s402 ] + %w403 = call ptr @wglGetProcAddress(ptr @.lgl_n_GenProgramPipelines) + %wi403 = ptrtoint ptr %w403 to i64 + %wa403 = add i64 %wi403, 1 + %bad403 = icmp ult i64 %wa403, 5 + br i1 %bad403, label %g403, label %s403 +g403: + %e403 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GenProgramPipelines) + br label %s403 +s403: + %p403 = phi ptr [ %w403, %f403 ], [ %e403, %g403 ] + store ptr %p403, ptr @lgl_p_GenProgramPipelines + %u403 = icmp eq ptr %p403, null + %ui403 = zext i1 %u403 to i32 + %m404x = add i32 %m403, %ui403 + br label %f404 +f404: + %m404 = phi i32 [ %m404x, %s403 ] + %w404 = call ptr @wglGetProcAddress(ptr @.lgl_n_IsProgramPipeline) + %wi404 = ptrtoint ptr %w404 to i64 + %wa404 = add i64 %wi404, 1 + %bad404 = icmp ult i64 %wa404, 5 + br i1 %bad404, label %g404, label %s404 +g404: + %e404 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_IsProgramPipeline) + br label %s404 +s404: + %p404 = phi ptr [ %w404, %f404 ], [ %e404, %g404 ] + store ptr %p404, ptr @lgl_p_IsProgramPipeline + %u404 = icmp eq ptr %p404, null + %ui404 = zext i1 %u404 to i32 + %m405x = add i32 %m404, %ui404 + br label %f405 +f405: + %m405 = phi i32 [ %m405x, %s404 ] + %w405 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetProgramPipelineiv) + %wi405 = ptrtoint ptr %w405 to i64 + %wa405 = add i64 %wi405, 1 + %bad405 = icmp ult i64 %wa405, 5 + br i1 %bad405, label %g405, label %s405 +g405: + %e405 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetProgramPipelineiv) + br label %s405 +s405: + %p405 = phi ptr [ %w405, %f405 ], [ %e405, %g405 ] + store ptr %p405, ptr @lgl_p_GetProgramPipelineiv + %u405 = icmp eq ptr %p405, null + %ui405 = zext i1 %u405 to i32 + %m406x = add i32 %m405, %ui405 + br label %f406 +f406: + %m406 = phi i32 [ %m406x, %s405 ] + %w406 = call ptr @wglGetProcAddress(ptr @.lgl_n_ProgramUniform1i) + %wi406 = ptrtoint ptr %w406 to i64 + %wa406 = add i64 %wi406, 1 + %bad406 = icmp ult i64 %wa406, 5 + br i1 %bad406, label %g406, label %s406 +g406: + %e406 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ProgramUniform1i) + br label %s406 +s406: + %p406 = phi ptr [ %w406, %f406 ], [ %e406, %g406 ] + store ptr %p406, ptr @lgl_p_ProgramUniform1i + %u406 = icmp eq ptr %p406, null + %ui406 = zext i1 %u406 to i32 + %m407x = add i32 %m406, %ui406 + br label %f407 +f407: + %m407 = phi i32 [ %m407x, %s406 ] + %w407 = call ptr @wglGetProcAddress(ptr @.lgl_n_ProgramUniform1iv) + %wi407 = ptrtoint ptr %w407 to i64 + %wa407 = add i64 %wi407, 1 + %bad407 = icmp ult i64 %wa407, 5 + br i1 %bad407, label %g407, label %s407 +g407: + %e407 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ProgramUniform1iv) + br label %s407 +s407: + %p407 = phi ptr [ %w407, %f407 ], [ %e407, %g407 ] + store ptr %p407, ptr @lgl_p_ProgramUniform1iv + %u407 = icmp eq ptr %p407, null + %ui407 = zext i1 %u407 to i32 + %m408x = add i32 %m407, %ui407 + br label %f408 +f408: + %m408 = phi i32 [ %m408x, %s407 ] + %w408 = call ptr @wglGetProcAddress(ptr @.lgl_n_ProgramUniform1f) + %wi408 = ptrtoint ptr %w408 to i64 + %wa408 = add i64 %wi408, 1 + %bad408 = icmp ult i64 %wa408, 5 + br i1 %bad408, label %g408, label %s408 +g408: + %e408 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ProgramUniform1f) + br label %s408 +s408: + %p408 = phi ptr [ %w408, %f408 ], [ %e408, %g408 ] + store ptr %p408, ptr @lgl_p_ProgramUniform1f + %u408 = icmp eq ptr %p408, null + %ui408 = zext i1 %u408 to i32 + %m409x = add i32 %m408, %ui408 + br label %f409 +f409: + %m409 = phi i32 [ %m409x, %s408 ] + %w409 = call ptr @wglGetProcAddress(ptr @.lgl_n_ProgramUniform1fv) + %wi409 = ptrtoint ptr %w409 to i64 + %wa409 = add i64 %wi409, 1 + %bad409 = icmp ult i64 %wa409, 5 + br i1 %bad409, label %g409, label %s409 +g409: + %e409 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ProgramUniform1fv) + br label %s409 +s409: + %p409 = phi ptr [ %w409, %f409 ], [ %e409, %g409 ] + store ptr %p409, ptr @lgl_p_ProgramUniform1fv + %u409 = icmp eq ptr %p409, null + %ui409 = zext i1 %u409 to i32 + %m410x = add i32 %m409, %ui409 + br label %f410 +f410: + %m410 = phi i32 [ %m410x, %s409 ] + %w410 = call ptr @wglGetProcAddress(ptr @.lgl_n_ProgramUniform1d) + %wi410 = ptrtoint ptr %w410 to i64 + %wa410 = add i64 %wi410, 1 + %bad410 = icmp ult i64 %wa410, 5 + br i1 %bad410, label %g410, label %s410 +g410: + %e410 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ProgramUniform1d) + br label %s410 +s410: + %p410 = phi ptr [ %w410, %f410 ], [ %e410, %g410 ] + store ptr %p410, ptr @lgl_p_ProgramUniform1d + %u410 = icmp eq ptr %p410, null + %ui410 = zext i1 %u410 to i32 + %m411x = add i32 %m410, %ui410 + br label %f411 +f411: + %m411 = phi i32 [ %m411x, %s410 ] + %w411 = call ptr @wglGetProcAddress(ptr @.lgl_n_ProgramUniform1dv) + %wi411 = ptrtoint ptr %w411 to i64 + %wa411 = add i64 %wi411, 1 + %bad411 = icmp ult i64 %wa411, 5 + br i1 %bad411, label %g411, label %s411 +g411: + %e411 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ProgramUniform1dv) + br label %s411 +s411: + %p411 = phi ptr [ %w411, %f411 ], [ %e411, %g411 ] + store ptr %p411, ptr @lgl_p_ProgramUniform1dv + %u411 = icmp eq ptr %p411, null + %ui411 = zext i1 %u411 to i32 + %m412x = add i32 %m411, %ui411 + br label %f412 +f412: + %m412 = phi i32 [ %m412x, %s411 ] + %w412 = call ptr @wglGetProcAddress(ptr @.lgl_n_ProgramUniform1ui) + %wi412 = ptrtoint ptr %w412 to i64 + %wa412 = add i64 %wi412, 1 + %bad412 = icmp ult i64 %wa412, 5 + br i1 %bad412, label %g412, label %s412 +g412: + %e412 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ProgramUniform1ui) + br label %s412 +s412: + %p412 = phi ptr [ %w412, %f412 ], [ %e412, %g412 ] + store ptr %p412, ptr @lgl_p_ProgramUniform1ui + %u412 = icmp eq ptr %p412, null + %ui412 = zext i1 %u412 to i32 + %m413x = add i32 %m412, %ui412 + br label %f413 +f413: + %m413 = phi i32 [ %m413x, %s412 ] + %w413 = call ptr @wglGetProcAddress(ptr @.lgl_n_ProgramUniform1uiv) + %wi413 = ptrtoint ptr %w413 to i64 + %wa413 = add i64 %wi413, 1 + %bad413 = icmp ult i64 %wa413, 5 + br i1 %bad413, label %g413, label %s413 +g413: + %e413 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ProgramUniform1uiv) + br label %s413 +s413: + %p413 = phi ptr [ %w413, %f413 ], [ %e413, %g413 ] + store ptr %p413, ptr @lgl_p_ProgramUniform1uiv + %u413 = icmp eq ptr %p413, null + %ui413 = zext i1 %u413 to i32 + %m414x = add i32 %m413, %ui413 + br label %f414 +f414: + %m414 = phi i32 [ %m414x, %s413 ] + %w414 = call ptr @wglGetProcAddress(ptr @.lgl_n_ProgramUniform2i) + %wi414 = ptrtoint ptr %w414 to i64 + %wa414 = add i64 %wi414, 1 + %bad414 = icmp ult i64 %wa414, 5 + br i1 %bad414, label %g414, label %s414 +g414: + %e414 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ProgramUniform2i) + br label %s414 +s414: + %p414 = phi ptr [ %w414, %f414 ], [ %e414, %g414 ] + store ptr %p414, ptr @lgl_p_ProgramUniform2i + %u414 = icmp eq ptr %p414, null + %ui414 = zext i1 %u414 to i32 + %m415x = add i32 %m414, %ui414 + br label %f415 +f415: + %m415 = phi i32 [ %m415x, %s414 ] + %w415 = call ptr @wglGetProcAddress(ptr @.lgl_n_ProgramUniform2iv) + %wi415 = ptrtoint ptr %w415 to i64 + %wa415 = add i64 %wi415, 1 + %bad415 = icmp ult i64 %wa415, 5 + br i1 %bad415, label %g415, label %s415 +g415: + %e415 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ProgramUniform2iv) + br label %s415 +s415: + %p415 = phi ptr [ %w415, %f415 ], [ %e415, %g415 ] + store ptr %p415, ptr @lgl_p_ProgramUniform2iv + %u415 = icmp eq ptr %p415, null + %ui415 = zext i1 %u415 to i32 + %m416x = add i32 %m415, %ui415 + br label %f416 +f416: + %m416 = phi i32 [ %m416x, %s415 ] + %w416 = call ptr @wglGetProcAddress(ptr @.lgl_n_ProgramUniform2f) + %wi416 = ptrtoint ptr %w416 to i64 + %wa416 = add i64 %wi416, 1 + %bad416 = icmp ult i64 %wa416, 5 + br i1 %bad416, label %g416, label %s416 +g416: + %e416 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ProgramUniform2f) + br label %s416 +s416: + %p416 = phi ptr [ %w416, %f416 ], [ %e416, %g416 ] + store ptr %p416, ptr @lgl_p_ProgramUniform2f + %u416 = icmp eq ptr %p416, null + %ui416 = zext i1 %u416 to i32 + %m417x = add i32 %m416, %ui416 + br label %f417 +f417: + %m417 = phi i32 [ %m417x, %s416 ] + %w417 = call ptr @wglGetProcAddress(ptr @.lgl_n_ProgramUniform2fv) + %wi417 = ptrtoint ptr %w417 to i64 + %wa417 = add i64 %wi417, 1 + %bad417 = icmp ult i64 %wa417, 5 + br i1 %bad417, label %g417, label %s417 +g417: + %e417 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ProgramUniform2fv) + br label %s417 +s417: + %p417 = phi ptr [ %w417, %f417 ], [ %e417, %g417 ] + store ptr %p417, ptr @lgl_p_ProgramUniform2fv + %u417 = icmp eq ptr %p417, null + %ui417 = zext i1 %u417 to i32 + %m418x = add i32 %m417, %ui417 + br label %f418 +f418: + %m418 = phi i32 [ %m418x, %s417 ] + %w418 = call ptr @wglGetProcAddress(ptr @.lgl_n_ProgramUniform2d) + %wi418 = ptrtoint ptr %w418 to i64 + %wa418 = add i64 %wi418, 1 + %bad418 = icmp ult i64 %wa418, 5 + br i1 %bad418, label %g418, label %s418 +g418: + %e418 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ProgramUniform2d) + br label %s418 +s418: + %p418 = phi ptr [ %w418, %f418 ], [ %e418, %g418 ] + store ptr %p418, ptr @lgl_p_ProgramUniform2d + %u418 = icmp eq ptr %p418, null + %ui418 = zext i1 %u418 to i32 + %m419x = add i32 %m418, %ui418 + br label %f419 +f419: + %m419 = phi i32 [ %m419x, %s418 ] + %w419 = call ptr @wglGetProcAddress(ptr @.lgl_n_ProgramUniform2dv) + %wi419 = ptrtoint ptr %w419 to i64 + %wa419 = add i64 %wi419, 1 + %bad419 = icmp ult i64 %wa419, 5 + br i1 %bad419, label %g419, label %s419 +g419: + %e419 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ProgramUniform2dv) + br label %s419 +s419: + %p419 = phi ptr [ %w419, %f419 ], [ %e419, %g419 ] + store ptr %p419, ptr @lgl_p_ProgramUniform2dv + %u419 = icmp eq ptr %p419, null + %ui419 = zext i1 %u419 to i32 + %m420x = add i32 %m419, %ui419 + br label %f420 +f420: + %m420 = phi i32 [ %m420x, %s419 ] + %w420 = call ptr @wglGetProcAddress(ptr @.lgl_n_ProgramUniform2ui) + %wi420 = ptrtoint ptr %w420 to i64 + %wa420 = add i64 %wi420, 1 + %bad420 = icmp ult i64 %wa420, 5 + br i1 %bad420, label %g420, label %s420 +g420: + %e420 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ProgramUniform2ui) + br label %s420 +s420: + %p420 = phi ptr [ %w420, %f420 ], [ %e420, %g420 ] + store ptr %p420, ptr @lgl_p_ProgramUniform2ui + %u420 = icmp eq ptr %p420, null + %ui420 = zext i1 %u420 to i32 + %m421x = add i32 %m420, %ui420 + br label %f421 +f421: + %m421 = phi i32 [ %m421x, %s420 ] + %w421 = call ptr @wglGetProcAddress(ptr @.lgl_n_ProgramUniform2uiv) + %wi421 = ptrtoint ptr %w421 to i64 + %wa421 = add i64 %wi421, 1 + %bad421 = icmp ult i64 %wa421, 5 + br i1 %bad421, label %g421, label %s421 +g421: + %e421 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ProgramUniform2uiv) + br label %s421 +s421: + %p421 = phi ptr [ %w421, %f421 ], [ %e421, %g421 ] + store ptr %p421, ptr @lgl_p_ProgramUniform2uiv + %u421 = icmp eq ptr %p421, null + %ui421 = zext i1 %u421 to i32 + %m422x = add i32 %m421, %ui421 + br label %f422 +f422: + %m422 = phi i32 [ %m422x, %s421 ] + %w422 = call ptr @wglGetProcAddress(ptr @.lgl_n_ProgramUniform3i) + %wi422 = ptrtoint ptr %w422 to i64 + %wa422 = add i64 %wi422, 1 + %bad422 = icmp ult i64 %wa422, 5 + br i1 %bad422, label %g422, label %s422 +g422: + %e422 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ProgramUniform3i) + br label %s422 +s422: + %p422 = phi ptr [ %w422, %f422 ], [ %e422, %g422 ] + store ptr %p422, ptr @lgl_p_ProgramUniform3i + %u422 = icmp eq ptr %p422, null + %ui422 = zext i1 %u422 to i32 + %m423x = add i32 %m422, %ui422 + br label %f423 +f423: + %m423 = phi i32 [ %m423x, %s422 ] + %w423 = call ptr @wglGetProcAddress(ptr @.lgl_n_ProgramUniform3iv) + %wi423 = ptrtoint ptr %w423 to i64 + %wa423 = add i64 %wi423, 1 + %bad423 = icmp ult i64 %wa423, 5 + br i1 %bad423, label %g423, label %s423 +g423: + %e423 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ProgramUniform3iv) + br label %s423 +s423: + %p423 = phi ptr [ %w423, %f423 ], [ %e423, %g423 ] + store ptr %p423, ptr @lgl_p_ProgramUniform3iv + %u423 = icmp eq ptr %p423, null + %ui423 = zext i1 %u423 to i32 + %m424x = add i32 %m423, %ui423 + br label %f424 +f424: + %m424 = phi i32 [ %m424x, %s423 ] + %w424 = call ptr @wglGetProcAddress(ptr @.lgl_n_ProgramUniform3f) + %wi424 = ptrtoint ptr %w424 to i64 + %wa424 = add i64 %wi424, 1 + %bad424 = icmp ult i64 %wa424, 5 + br i1 %bad424, label %g424, label %s424 +g424: + %e424 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ProgramUniform3f) + br label %s424 +s424: + %p424 = phi ptr [ %w424, %f424 ], [ %e424, %g424 ] + store ptr %p424, ptr @lgl_p_ProgramUniform3f + %u424 = icmp eq ptr %p424, null + %ui424 = zext i1 %u424 to i32 + %m425x = add i32 %m424, %ui424 + br label %f425 +f425: + %m425 = phi i32 [ %m425x, %s424 ] + %w425 = call ptr @wglGetProcAddress(ptr @.lgl_n_ProgramUniform3fv) + %wi425 = ptrtoint ptr %w425 to i64 + %wa425 = add i64 %wi425, 1 + %bad425 = icmp ult i64 %wa425, 5 + br i1 %bad425, label %g425, label %s425 +g425: + %e425 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ProgramUniform3fv) + br label %s425 +s425: + %p425 = phi ptr [ %w425, %f425 ], [ %e425, %g425 ] + store ptr %p425, ptr @lgl_p_ProgramUniform3fv + %u425 = icmp eq ptr %p425, null + %ui425 = zext i1 %u425 to i32 + %m426x = add i32 %m425, %ui425 + br label %f426 +f426: + %m426 = phi i32 [ %m426x, %s425 ] + %w426 = call ptr @wglGetProcAddress(ptr @.lgl_n_ProgramUniform3d) + %wi426 = ptrtoint ptr %w426 to i64 + %wa426 = add i64 %wi426, 1 + %bad426 = icmp ult i64 %wa426, 5 + br i1 %bad426, label %g426, label %s426 +g426: + %e426 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ProgramUniform3d) + br label %s426 +s426: + %p426 = phi ptr [ %w426, %f426 ], [ %e426, %g426 ] + store ptr %p426, ptr @lgl_p_ProgramUniform3d + %u426 = icmp eq ptr %p426, null + %ui426 = zext i1 %u426 to i32 + %m427x = add i32 %m426, %ui426 + br label %f427 +f427: + %m427 = phi i32 [ %m427x, %s426 ] + %w427 = call ptr @wglGetProcAddress(ptr @.lgl_n_ProgramUniform3dv) + %wi427 = ptrtoint ptr %w427 to i64 + %wa427 = add i64 %wi427, 1 + %bad427 = icmp ult i64 %wa427, 5 + br i1 %bad427, label %g427, label %s427 +g427: + %e427 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ProgramUniform3dv) + br label %s427 +s427: + %p427 = phi ptr [ %w427, %f427 ], [ %e427, %g427 ] + store ptr %p427, ptr @lgl_p_ProgramUniform3dv + %u427 = icmp eq ptr %p427, null + %ui427 = zext i1 %u427 to i32 + %m428x = add i32 %m427, %ui427 + br label %f428 +f428: + %m428 = phi i32 [ %m428x, %s427 ] + %w428 = call ptr @wglGetProcAddress(ptr @.lgl_n_ProgramUniform3ui) + %wi428 = ptrtoint ptr %w428 to i64 + %wa428 = add i64 %wi428, 1 + %bad428 = icmp ult i64 %wa428, 5 + br i1 %bad428, label %g428, label %s428 +g428: + %e428 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ProgramUniform3ui) + br label %s428 +s428: + %p428 = phi ptr [ %w428, %f428 ], [ %e428, %g428 ] + store ptr %p428, ptr @lgl_p_ProgramUniform3ui + %u428 = icmp eq ptr %p428, null + %ui428 = zext i1 %u428 to i32 + %m429x = add i32 %m428, %ui428 + br label %f429 +f429: + %m429 = phi i32 [ %m429x, %s428 ] + %w429 = call ptr @wglGetProcAddress(ptr @.lgl_n_ProgramUniform3uiv) + %wi429 = ptrtoint ptr %w429 to i64 + %wa429 = add i64 %wi429, 1 + %bad429 = icmp ult i64 %wa429, 5 + br i1 %bad429, label %g429, label %s429 +g429: + %e429 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ProgramUniform3uiv) + br label %s429 +s429: + %p429 = phi ptr [ %w429, %f429 ], [ %e429, %g429 ] + store ptr %p429, ptr @lgl_p_ProgramUniform3uiv + %u429 = icmp eq ptr %p429, null + %ui429 = zext i1 %u429 to i32 + %m430x = add i32 %m429, %ui429 + br label %f430 +f430: + %m430 = phi i32 [ %m430x, %s429 ] + %w430 = call ptr @wglGetProcAddress(ptr @.lgl_n_ProgramUniform4i) + %wi430 = ptrtoint ptr %w430 to i64 + %wa430 = add i64 %wi430, 1 + %bad430 = icmp ult i64 %wa430, 5 + br i1 %bad430, label %g430, label %s430 +g430: + %e430 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ProgramUniform4i) + br label %s430 +s430: + %p430 = phi ptr [ %w430, %f430 ], [ %e430, %g430 ] + store ptr %p430, ptr @lgl_p_ProgramUniform4i + %u430 = icmp eq ptr %p430, null + %ui430 = zext i1 %u430 to i32 + %m431x = add i32 %m430, %ui430 + br label %f431 +f431: + %m431 = phi i32 [ %m431x, %s430 ] + %w431 = call ptr @wglGetProcAddress(ptr @.lgl_n_ProgramUniform4iv) + %wi431 = ptrtoint ptr %w431 to i64 + %wa431 = add i64 %wi431, 1 + %bad431 = icmp ult i64 %wa431, 5 + br i1 %bad431, label %g431, label %s431 +g431: + %e431 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ProgramUniform4iv) + br label %s431 +s431: + %p431 = phi ptr [ %w431, %f431 ], [ %e431, %g431 ] + store ptr %p431, ptr @lgl_p_ProgramUniform4iv + %u431 = icmp eq ptr %p431, null + %ui431 = zext i1 %u431 to i32 + %m432x = add i32 %m431, %ui431 + br label %f432 +f432: + %m432 = phi i32 [ %m432x, %s431 ] + %w432 = call ptr @wglGetProcAddress(ptr @.lgl_n_ProgramUniform4f) + %wi432 = ptrtoint ptr %w432 to i64 + %wa432 = add i64 %wi432, 1 + %bad432 = icmp ult i64 %wa432, 5 + br i1 %bad432, label %g432, label %s432 +g432: + %e432 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ProgramUniform4f) + br label %s432 +s432: + %p432 = phi ptr [ %w432, %f432 ], [ %e432, %g432 ] + store ptr %p432, ptr @lgl_p_ProgramUniform4f + %u432 = icmp eq ptr %p432, null + %ui432 = zext i1 %u432 to i32 + %m433x = add i32 %m432, %ui432 + br label %f433 +f433: + %m433 = phi i32 [ %m433x, %s432 ] + %w433 = call ptr @wglGetProcAddress(ptr @.lgl_n_ProgramUniform4fv) + %wi433 = ptrtoint ptr %w433 to i64 + %wa433 = add i64 %wi433, 1 + %bad433 = icmp ult i64 %wa433, 5 + br i1 %bad433, label %g433, label %s433 +g433: + %e433 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ProgramUniform4fv) + br label %s433 +s433: + %p433 = phi ptr [ %w433, %f433 ], [ %e433, %g433 ] + store ptr %p433, ptr @lgl_p_ProgramUniform4fv + %u433 = icmp eq ptr %p433, null + %ui433 = zext i1 %u433 to i32 + %m434x = add i32 %m433, %ui433 + br label %f434 +f434: + %m434 = phi i32 [ %m434x, %s433 ] + %w434 = call ptr @wglGetProcAddress(ptr @.lgl_n_ProgramUniform4d) + %wi434 = ptrtoint ptr %w434 to i64 + %wa434 = add i64 %wi434, 1 + %bad434 = icmp ult i64 %wa434, 5 + br i1 %bad434, label %g434, label %s434 +g434: + %e434 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ProgramUniform4d) + br label %s434 +s434: + %p434 = phi ptr [ %w434, %f434 ], [ %e434, %g434 ] + store ptr %p434, ptr @lgl_p_ProgramUniform4d + %u434 = icmp eq ptr %p434, null + %ui434 = zext i1 %u434 to i32 + %m435x = add i32 %m434, %ui434 + br label %f435 +f435: + %m435 = phi i32 [ %m435x, %s434 ] + %w435 = call ptr @wglGetProcAddress(ptr @.lgl_n_ProgramUniform4dv) + %wi435 = ptrtoint ptr %w435 to i64 + %wa435 = add i64 %wi435, 1 + %bad435 = icmp ult i64 %wa435, 5 + br i1 %bad435, label %g435, label %s435 +g435: + %e435 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ProgramUniform4dv) + br label %s435 +s435: + %p435 = phi ptr [ %w435, %f435 ], [ %e435, %g435 ] + store ptr %p435, ptr @lgl_p_ProgramUniform4dv + %u435 = icmp eq ptr %p435, null + %ui435 = zext i1 %u435 to i32 + %m436x = add i32 %m435, %ui435 + br label %f436 +f436: + %m436 = phi i32 [ %m436x, %s435 ] + %w436 = call ptr @wglGetProcAddress(ptr @.lgl_n_ProgramUniform4ui) + %wi436 = ptrtoint ptr %w436 to i64 + %wa436 = add i64 %wi436, 1 + %bad436 = icmp ult i64 %wa436, 5 + br i1 %bad436, label %g436, label %s436 +g436: + %e436 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ProgramUniform4ui) + br label %s436 +s436: + %p436 = phi ptr [ %w436, %f436 ], [ %e436, %g436 ] + store ptr %p436, ptr @lgl_p_ProgramUniform4ui + %u436 = icmp eq ptr %p436, null + %ui436 = zext i1 %u436 to i32 + %m437x = add i32 %m436, %ui436 + br label %f437 +f437: + %m437 = phi i32 [ %m437x, %s436 ] + %w437 = call ptr @wglGetProcAddress(ptr @.lgl_n_ProgramUniform4uiv) + %wi437 = ptrtoint ptr %w437 to i64 + %wa437 = add i64 %wi437, 1 + %bad437 = icmp ult i64 %wa437, 5 + br i1 %bad437, label %g437, label %s437 +g437: + %e437 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ProgramUniform4uiv) + br label %s437 +s437: + %p437 = phi ptr [ %w437, %f437 ], [ %e437, %g437 ] + store ptr %p437, ptr @lgl_p_ProgramUniform4uiv + %u437 = icmp eq ptr %p437, null + %ui437 = zext i1 %u437 to i32 + %m438x = add i32 %m437, %ui437 + br label %f438 +f438: + %m438 = phi i32 [ %m438x, %s437 ] + %w438 = call ptr @wglGetProcAddress(ptr @.lgl_n_ProgramUniformMatrix2fv) + %wi438 = ptrtoint ptr %w438 to i64 + %wa438 = add i64 %wi438, 1 + %bad438 = icmp ult i64 %wa438, 5 + br i1 %bad438, label %g438, label %s438 +g438: + %e438 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ProgramUniformMatrix2fv) + br label %s438 +s438: + %p438 = phi ptr [ %w438, %f438 ], [ %e438, %g438 ] + store ptr %p438, ptr @lgl_p_ProgramUniformMatrix2fv + %u438 = icmp eq ptr %p438, null + %ui438 = zext i1 %u438 to i32 + %m439x = add i32 %m438, %ui438 + br label %f439 +f439: + %m439 = phi i32 [ %m439x, %s438 ] + %w439 = call ptr @wglGetProcAddress(ptr @.lgl_n_ProgramUniformMatrix3fv) + %wi439 = ptrtoint ptr %w439 to i64 + %wa439 = add i64 %wi439, 1 + %bad439 = icmp ult i64 %wa439, 5 + br i1 %bad439, label %g439, label %s439 +g439: + %e439 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ProgramUniformMatrix3fv) + br label %s439 +s439: + %p439 = phi ptr [ %w439, %f439 ], [ %e439, %g439 ] + store ptr %p439, ptr @lgl_p_ProgramUniformMatrix3fv + %u439 = icmp eq ptr %p439, null + %ui439 = zext i1 %u439 to i32 + %m440x = add i32 %m439, %ui439 + br label %f440 +f440: + %m440 = phi i32 [ %m440x, %s439 ] + %w440 = call ptr @wglGetProcAddress(ptr @.lgl_n_ProgramUniformMatrix4fv) + %wi440 = ptrtoint ptr %w440 to i64 + %wa440 = add i64 %wi440, 1 + %bad440 = icmp ult i64 %wa440, 5 + br i1 %bad440, label %g440, label %s440 +g440: + %e440 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ProgramUniformMatrix4fv) + br label %s440 +s440: + %p440 = phi ptr [ %w440, %f440 ], [ %e440, %g440 ] + store ptr %p440, ptr @lgl_p_ProgramUniformMatrix4fv + %u440 = icmp eq ptr %p440, null + %ui440 = zext i1 %u440 to i32 + %m441x = add i32 %m440, %ui440 + br label %f441 +f441: + %m441 = phi i32 [ %m441x, %s440 ] + %w441 = call ptr @wglGetProcAddress(ptr @.lgl_n_ProgramUniformMatrix2dv) + %wi441 = ptrtoint ptr %w441 to i64 + %wa441 = add i64 %wi441, 1 + %bad441 = icmp ult i64 %wa441, 5 + br i1 %bad441, label %g441, label %s441 +g441: + %e441 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ProgramUniformMatrix2dv) + br label %s441 +s441: + %p441 = phi ptr [ %w441, %f441 ], [ %e441, %g441 ] + store ptr %p441, ptr @lgl_p_ProgramUniformMatrix2dv + %u441 = icmp eq ptr %p441, null + %ui441 = zext i1 %u441 to i32 + %m442x = add i32 %m441, %ui441 + br label %f442 +f442: + %m442 = phi i32 [ %m442x, %s441 ] + %w442 = call ptr @wglGetProcAddress(ptr @.lgl_n_ProgramUniformMatrix3dv) + %wi442 = ptrtoint ptr %w442 to i64 + %wa442 = add i64 %wi442, 1 + %bad442 = icmp ult i64 %wa442, 5 + br i1 %bad442, label %g442, label %s442 +g442: + %e442 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ProgramUniformMatrix3dv) + br label %s442 +s442: + %p442 = phi ptr [ %w442, %f442 ], [ %e442, %g442 ] + store ptr %p442, ptr @lgl_p_ProgramUniformMatrix3dv + %u442 = icmp eq ptr %p442, null + %ui442 = zext i1 %u442 to i32 + %m443x = add i32 %m442, %ui442 + br label %f443 +f443: + %m443 = phi i32 [ %m443x, %s442 ] + %w443 = call ptr @wglGetProcAddress(ptr @.lgl_n_ProgramUniformMatrix4dv) + %wi443 = ptrtoint ptr %w443 to i64 + %wa443 = add i64 %wi443, 1 + %bad443 = icmp ult i64 %wa443, 5 + br i1 %bad443, label %g443, label %s443 +g443: + %e443 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ProgramUniformMatrix4dv) + br label %s443 +s443: + %p443 = phi ptr [ %w443, %f443 ], [ %e443, %g443 ] + store ptr %p443, ptr @lgl_p_ProgramUniformMatrix4dv + %u443 = icmp eq ptr %p443, null + %ui443 = zext i1 %u443 to i32 + %m444x = add i32 %m443, %ui443 + br label %f444 +f444: + %m444 = phi i32 [ %m444x, %s443 ] + %w444 = call ptr @wglGetProcAddress(ptr @.lgl_n_ProgramUniformMatrix2x3fv) + %wi444 = ptrtoint ptr %w444 to i64 + %wa444 = add i64 %wi444, 1 + %bad444 = icmp ult i64 %wa444, 5 + br i1 %bad444, label %g444, label %s444 +g444: + %e444 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ProgramUniformMatrix2x3fv) + br label %s444 +s444: + %p444 = phi ptr [ %w444, %f444 ], [ %e444, %g444 ] + store ptr %p444, ptr @lgl_p_ProgramUniformMatrix2x3fv + %u444 = icmp eq ptr %p444, null + %ui444 = zext i1 %u444 to i32 + %m445x = add i32 %m444, %ui444 + br label %f445 +f445: + %m445 = phi i32 [ %m445x, %s444 ] + %w445 = call ptr @wglGetProcAddress(ptr @.lgl_n_ProgramUniformMatrix3x2fv) + %wi445 = ptrtoint ptr %w445 to i64 + %wa445 = add i64 %wi445, 1 + %bad445 = icmp ult i64 %wa445, 5 + br i1 %bad445, label %g445, label %s445 +g445: + %e445 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ProgramUniformMatrix3x2fv) + br label %s445 +s445: + %p445 = phi ptr [ %w445, %f445 ], [ %e445, %g445 ] + store ptr %p445, ptr @lgl_p_ProgramUniformMatrix3x2fv + %u445 = icmp eq ptr %p445, null + %ui445 = zext i1 %u445 to i32 + %m446x = add i32 %m445, %ui445 + br label %f446 +f446: + %m446 = phi i32 [ %m446x, %s445 ] + %w446 = call ptr @wglGetProcAddress(ptr @.lgl_n_ProgramUniformMatrix2x4fv) + %wi446 = ptrtoint ptr %w446 to i64 + %wa446 = add i64 %wi446, 1 + %bad446 = icmp ult i64 %wa446, 5 + br i1 %bad446, label %g446, label %s446 +g446: + %e446 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ProgramUniformMatrix2x4fv) + br label %s446 +s446: + %p446 = phi ptr [ %w446, %f446 ], [ %e446, %g446 ] + store ptr %p446, ptr @lgl_p_ProgramUniformMatrix2x4fv + %u446 = icmp eq ptr %p446, null + %ui446 = zext i1 %u446 to i32 + %m447x = add i32 %m446, %ui446 + br label %f447 +f447: + %m447 = phi i32 [ %m447x, %s446 ] + %w447 = call ptr @wglGetProcAddress(ptr @.lgl_n_ProgramUniformMatrix4x2fv) + %wi447 = ptrtoint ptr %w447 to i64 + %wa447 = add i64 %wi447, 1 + %bad447 = icmp ult i64 %wa447, 5 + br i1 %bad447, label %g447, label %s447 +g447: + %e447 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ProgramUniformMatrix4x2fv) + br label %s447 +s447: + %p447 = phi ptr [ %w447, %f447 ], [ %e447, %g447 ] + store ptr %p447, ptr @lgl_p_ProgramUniformMatrix4x2fv + %u447 = icmp eq ptr %p447, null + %ui447 = zext i1 %u447 to i32 + %m448x = add i32 %m447, %ui447 + br label %f448 +f448: + %m448 = phi i32 [ %m448x, %s447 ] + %w448 = call ptr @wglGetProcAddress(ptr @.lgl_n_ProgramUniformMatrix3x4fv) + %wi448 = ptrtoint ptr %w448 to i64 + %wa448 = add i64 %wi448, 1 + %bad448 = icmp ult i64 %wa448, 5 + br i1 %bad448, label %g448, label %s448 +g448: + %e448 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ProgramUniformMatrix3x4fv) + br label %s448 +s448: + %p448 = phi ptr [ %w448, %f448 ], [ %e448, %g448 ] + store ptr %p448, ptr @lgl_p_ProgramUniformMatrix3x4fv + %u448 = icmp eq ptr %p448, null + %ui448 = zext i1 %u448 to i32 + %m449x = add i32 %m448, %ui448 + br label %f449 +f449: + %m449 = phi i32 [ %m449x, %s448 ] + %w449 = call ptr @wglGetProcAddress(ptr @.lgl_n_ProgramUniformMatrix4x3fv) + %wi449 = ptrtoint ptr %w449 to i64 + %wa449 = add i64 %wi449, 1 + %bad449 = icmp ult i64 %wa449, 5 + br i1 %bad449, label %g449, label %s449 +g449: + %e449 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ProgramUniformMatrix4x3fv) + br label %s449 +s449: + %p449 = phi ptr [ %w449, %f449 ], [ %e449, %g449 ] + store ptr %p449, ptr @lgl_p_ProgramUniformMatrix4x3fv + %u449 = icmp eq ptr %p449, null + %ui449 = zext i1 %u449 to i32 + %m450x = add i32 %m449, %ui449 + br label %f450 +f450: + %m450 = phi i32 [ %m450x, %s449 ] + %w450 = call ptr @wglGetProcAddress(ptr @.lgl_n_ProgramUniformMatrix2x3dv) + %wi450 = ptrtoint ptr %w450 to i64 + %wa450 = add i64 %wi450, 1 + %bad450 = icmp ult i64 %wa450, 5 + br i1 %bad450, label %g450, label %s450 +g450: + %e450 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ProgramUniformMatrix2x3dv) + br label %s450 +s450: + %p450 = phi ptr [ %w450, %f450 ], [ %e450, %g450 ] + store ptr %p450, ptr @lgl_p_ProgramUniformMatrix2x3dv + %u450 = icmp eq ptr %p450, null + %ui450 = zext i1 %u450 to i32 + %m451x = add i32 %m450, %ui450 + br label %f451 +f451: + %m451 = phi i32 [ %m451x, %s450 ] + %w451 = call ptr @wglGetProcAddress(ptr @.lgl_n_ProgramUniformMatrix3x2dv) + %wi451 = ptrtoint ptr %w451 to i64 + %wa451 = add i64 %wi451, 1 + %bad451 = icmp ult i64 %wa451, 5 + br i1 %bad451, label %g451, label %s451 +g451: + %e451 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ProgramUniformMatrix3x2dv) + br label %s451 +s451: + %p451 = phi ptr [ %w451, %f451 ], [ %e451, %g451 ] + store ptr %p451, ptr @lgl_p_ProgramUniformMatrix3x2dv + %u451 = icmp eq ptr %p451, null + %ui451 = zext i1 %u451 to i32 + %m452x = add i32 %m451, %ui451 + br label %f452 +f452: + %m452 = phi i32 [ %m452x, %s451 ] + %w452 = call ptr @wglGetProcAddress(ptr @.lgl_n_ProgramUniformMatrix2x4dv) + %wi452 = ptrtoint ptr %w452 to i64 + %wa452 = add i64 %wi452, 1 + %bad452 = icmp ult i64 %wa452, 5 + br i1 %bad452, label %g452, label %s452 +g452: + %e452 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ProgramUniformMatrix2x4dv) + br label %s452 +s452: + %p452 = phi ptr [ %w452, %f452 ], [ %e452, %g452 ] + store ptr %p452, ptr @lgl_p_ProgramUniformMatrix2x4dv + %u452 = icmp eq ptr %p452, null + %ui452 = zext i1 %u452 to i32 + %m453x = add i32 %m452, %ui452 + br label %f453 +f453: + %m453 = phi i32 [ %m453x, %s452 ] + %w453 = call ptr @wglGetProcAddress(ptr @.lgl_n_ProgramUniformMatrix4x2dv) + %wi453 = ptrtoint ptr %w453 to i64 + %wa453 = add i64 %wi453, 1 + %bad453 = icmp ult i64 %wa453, 5 + br i1 %bad453, label %g453, label %s453 +g453: + %e453 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ProgramUniformMatrix4x2dv) + br label %s453 +s453: + %p453 = phi ptr [ %w453, %f453 ], [ %e453, %g453 ] + store ptr %p453, ptr @lgl_p_ProgramUniformMatrix4x2dv + %u453 = icmp eq ptr %p453, null + %ui453 = zext i1 %u453 to i32 + %m454x = add i32 %m453, %ui453 + br label %f454 +f454: + %m454 = phi i32 [ %m454x, %s453 ] + %w454 = call ptr @wglGetProcAddress(ptr @.lgl_n_ProgramUniformMatrix3x4dv) + %wi454 = ptrtoint ptr %w454 to i64 + %wa454 = add i64 %wi454, 1 + %bad454 = icmp ult i64 %wa454, 5 + br i1 %bad454, label %g454, label %s454 +g454: + %e454 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ProgramUniformMatrix3x4dv) + br label %s454 +s454: + %p454 = phi ptr [ %w454, %f454 ], [ %e454, %g454 ] + store ptr %p454, ptr @lgl_p_ProgramUniformMatrix3x4dv + %u454 = icmp eq ptr %p454, null + %ui454 = zext i1 %u454 to i32 + %m455x = add i32 %m454, %ui454 + br label %f455 +f455: + %m455 = phi i32 [ %m455x, %s454 ] + %w455 = call ptr @wglGetProcAddress(ptr @.lgl_n_ProgramUniformMatrix4x3dv) + %wi455 = ptrtoint ptr %w455 to i64 + %wa455 = add i64 %wi455, 1 + %bad455 = icmp ult i64 %wa455, 5 + br i1 %bad455, label %g455, label %s455 +g455: + %e455 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ProgramUniformMatrix4x3dv) + br label %s455 +s455: + %p455 = phi ptr [ %w455, %f455 ], [ %e455, %g455 ] + store ptr %p455, ptr @lgl_p_ProgramUniformMatrix4x3dv + %u455 = icmp eq ptr %p455, null + %ui455 = zext i1 %u455 to i32 + %m456x = add i32 %m455, %ui455 + br label %f456 +f456: + %m456 = phi i32 [ %m456x, %s455 ] + %w456 = call ptr @wglGetProcAddress(ptr @.lgl_n_ValidateProgramPipeline) + %wi456 = ptrtoint ptr %w456 to i64 + %wa456 = add i64 %wi456, 1 + %bad456 = icmp ult i64 %wa456, 5 + br i1 %bad456, label %g456, label %s456 +g456: + %e456 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ValidateProgramPipeline) + br label %s456 +s456: + %p456 = phi ptr [ %w456, %f456 ], [ %e456, %g456 ] + store ptr %p456, ptr @lgl_p_ValidateProgramPipeline + %u456 = icmp eq ptr %p456, null + %ui456 = zext i1 %u456 to i32 + %m457x = add i32 %m456, %ui456 + br label %f457 +f457: + %m457 = phi i32 [ %m457x, %s456 ] + %w457 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetProgramPipelineInfoLog) + %wi457 = ptrtoint ptr %w457 to i64 + %wa457 = add i64 %wi457, 1 + %bad457 = icmp ult i64 %wa457, 5 + br i1 %bad457, label %g457, label %s457 +g457: + %e457 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetProgramPipelineInfoLog) + br label %s457 +s457: + %p457 = phi ptr [ %w457, %f457 ], [ %e457, %g457 ] + store ptr %p457, ptr @lgl_p_GetProgramPipelineInfoLog + %u457 = icmp eq ptr %p457, null + %ui457 = zext i1 %u457 to i32 + %m458x = add i32 %m457, %ui457 + br label %f458 +f458: + %m458 = phi i32 [ %m458x, %s457 ] + %w458 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttribL1d) + %wi458 = ptrtoint ptr %w458 to i64 + %wa458 = add i64 %wi458, 1 + %bad458 = icmp ult i64 %wa458, 5 + br i1 %bad458, label %g458, label %s458 +g458: + %e458 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttribL1d) + br label %s458 +s458: + %p458 = phi ptr [ %w458, %f458 ], [ %e458, %g458 ] + store ptr %p458, ptr @lgl_p_VertexAttribL1d + %u458 = icmp eq ptr %p458, null + %ui458 = zext i1 %u458 to i32 + %m459x = add i32 %m458, %ui458 + br label %f459 +f459: + %m459 = phi i32 [ %m459x, %s458 ] + %w459 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttribL2d) + %wi459 = ptrtoint ptr %w459 to i64 + %wa459 = add i64 %wi459, 1 + %bad459 = icmp ult i64 %wa459, 5 + br i1 %bad459, label %g459, label %s459 +g459: + %e459 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttribL2d) + br label %s459 +s459: + %p459 = phi ptr [ %w459, %f459 ], [ %e459, %g459 ] + store ptr %p459, ptr @lgl_p_VertexAttribL2d + %u459 = icmp eq ptr %p459, null + %ui459 = zext i1 %u459 to i32 + %m460x = add i32 %m459, %ui459 + br label %f460 +f460: + %m460 = phi i32 [ %m460x, %s459 ] + %w460 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttribL3d) + %wi460 = ptrtoint ptr %w460 to i64 + %wa460 = add i64 %wi460, 1 + %bad460 = icmp ult i64 %wa460, 5 + br i1 %bad460, label %g460, label %s460 +g460: + %e460 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttribL3d) + br label %s460 +s460: + %p460 = phi ptr [ %w460, %f460 ], [ %e460, %g460 ] + store ptr %p460, ptr @lgl_p_VertexAttribL3d + %u460 = icmp eq ptr %p460, null + %ui460 = zext i1 %u460 to i32 + %m461x = add i32 %m460, %ui460 + br label %f461 +f461: + %m461 = phi i32 [ %m461x, %s460 ] + %w461 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttribL4d) + %wi461 = ptrtoint ptr %w461 to i64 + %wa461 = add i64 %wi461, 1 + %bad461 = icmp ult i64 %wa461, 5 + br i1 %bad461, label %g461, label %s461 +g461: + %e461 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttribL4d) + br label %s461 +s461: + %p461 = phi ptr [ %w461, %f461 ], [ %e461, %g461 ] + store ptr %p461, ptr @lgl_p_VertexAttribL4d + %u461 = icmp eq ptr %p461, null + %ui461 = zext i1 %u461 to i32 + %m462x = add i32 %m461, %ui461 + br label %f462 +f462: + %m462 = phi i32 [ %m462x, %s461 ] + %w462 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttribL1dv) + %wi462 = ptrtoint ptr %w462 to i64 + %wa462 = add i64 %wi462, 1 + %bad462 = icmp ult i64 %wa462, 5 + br i1 %bad462, label %g462, label %s462 +g462: + %e462 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttribL1dv) + br label %s462 +s462: + %p462 = phi ptr [ %w462, %f462 ], [ %e462, %g462 ] + store ptr %p462, ptr @lgl_p_VertexAttribL1dv + %u462 = icmp eq ptr %p462, null + %ui462 = zext i1 %u462 to i32 + %m463x = add i32 %m462, %ui462 + br label %f463 +f463: + %m463 = phi i32 [ %m463x, %s462 ] + %w463 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttribL2dv) + %wi463 = ptrtoint ptr %w463 to i64 + %wa463 = add i64 %wi463, 1 + %bad463 = icmp ult i64 %wa463, 5 + br i1 %bad463, label %g463, label %s463 +g463: + %e463 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttribL2dv) + br label %s463 +s463: + %p463 = phi ptr [ %w463, %f463 ], [ %e463, %g463 ] + store ptr %p463, ptr @lgl_p_VertexAttribL2dv + %u463 = icmp eq ptr %p463, null + %ui463 = zext i1 %u463 to i32 + %m464x = add i32 %m463, %ui463 + br label %f464 +f464: + %m464 = phi i32 [ %m464x, %s463 ] + %w464 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttribL3dv) + %wi464 = ptrtoint ptr %w464 to i64 + %wa464 = add i64 %wi464, 1 + %bad464 = icmp ult i64 %wa464, 5 + br i1 %bad464, label %g464, label %s464 +g464: + %e464 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttribL3dv) + br label %s464 +s464: + %p464 = phi ptr [ %w464, %f464 ], [ %e464, %g464 ] + store ptr %p464, ptr @lgl_p_VertexAttribL3dv + %u464 = icmp eq ptr %p464, null + %ui464 = zext i1 %u464 to i32 + %m465x = add i32 %m464, %ui464 + br label %f465 +f465: + %m465 = phi i32 [ %m465x, %s464 ] + %w465 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttribL4dv) + %wi465 = ptrtoint ptr %w465 to i64 + %wa465 = add i64 %wi465, 1 + %bad465 = icmp ult i64 %wa465, 5 + br i1 %bad465, label %g465, label %s465 +g465: + %e465 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttribL4dv) + br label %s465 +s465: + %p465 = phi ptr [ %w465, %f465 ], [ %e465, %g465 ] + store ptr %p465, ptr @lgl_p_VertexAttribL4dv + %u465 = icmp eq ptr %p465, null + %ui465 = zext i1 %u465 to i32 + %m466x = add i32 %m465, %ui465 + br label %f466 +f466: + %m466 = phi i32 [ %m466x, %s465 ] + %w466 = call ptr @wglGetProcAddress(ptr @.lgl_n_VertexAttribLPointer) + %wi466 = ptrtoint ptr %w466 to i64 + %wa466 = add i64 %wi466, 1 + %bad466 = icmp ult i64 %wa466, 5 + br i1 %bad466, label %g466, label %s466 +g466: + %e466 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_VertexAttribLPointer) + br label %s466 +s466: + %p466 = phi ptr [ %w466, %f466 ], [ %e466, %g466 ] + store ptr %p466, ptr @lgl_p_VertexAttribLPointer + %u466 = icmp eq ptr %p466, null + %ui466 = zext i1 %u466 to i32 + %m467x = add i32 %m466, %ui466 + br label %f467 +f467: + %m467 = phi i32 [ %m467x, %s466 ] + %w467 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetVertexAttribLdv) + %wi467 = ptrtoint ptr %w467 to i64 + %wa467 = add i64 %wi467, 1 + %bad467 = icmp ult i64 %wa467, 5 + br i1 %bad467, label %g467, label %s467 +g467: + %e467 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetVertexAttribLdv) + br label %s467 +s467: + %p467 = phi ptr [ %w467, %f467 ], [ %e467, %g467 ] + store ptr %p467, ptr @lgl_p_GetVertexAttribLdv + %u467 = icmp eq ptr %p467, null + %ui467 = zext i1 %u467 to i32 + %m468x = add i32 %m467, %ui467 + br label %f468 +f468: + %m468 = phi i32 [ %m468x, %s467 ] + %w468 = call ptr @wglGetProcAddress(ptr @.lgl_n_ViewportArrayv) + %wi468 = ptrtoint ptr %w468 to i64 + %wa468 = add i64 %wi468, 1 + %bad468 = icmp ult i64 %wa468, 5 + br i1 %bad468, label %g468, label %s468 +g468: + %e468 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ViewportArrayv) + br label %s468 +s468: + %p468 = phi ptr [ %w468, %f468 ], [ %e468, %g468 ] + store ptr %p468, ptr @lgl_p_ViewportArrayv + %u468 = icmp eq ptr %p468, null + %ui468 = zext i1 %u468 to i32 + %m469x = add i32 %m468, %ui468 + br label %f469 +f469: + %m469 = phi i32 [ %m469x, %s468 ] + %w469 = call ptr @wglGetProcAddress(ptr @.lgl_n_ViewportIndexedf) + %wi469 = ptrtoint ptr %w469 to i64 + %wa469 = add i64 %wi469, 1 + %bad469 = icmp ult i64 %wa469, 5 + br i1 %bad469, label %g469, label %s469 +g469: + %e469 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ViewportIndexedf) + br label %s469 +s469: + %p469 = phi ptr [ %w469, %f469 ], [ %e469, %g469 ] + store ptr %p469, ptr @lgl_p_ViewportIndexedf + %u469 = icmp eq ptr %p469, null + %ui469 = zext i1 %u469 to i32 + %m470x = add i32 %m469, %ui469 + br label %f470 +f470: + %m470 = phi i32 [ %m470x, %s469 ] + %w470 = call ptr @wglGetProcAddress(ptr @.lgl_n_ViewportIndexedfv) + %wi470 = ptrtoint ptr %w470 to i64 + %wa470 = add i64 %wi470, 1 + %bad470 = icmp ult i64 %wa470, 5 + br i1 %bad470, label %g470, label %s470 +g470: + %e470 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ViewportIndexedfv) + br label %s470 +s470: + %p470 = phi ptr [ %w470, %f470 ], [ %e470, %g470 ] + store ptr %p470, ptr @lgl_p_ViewportIndexedfv + %u470 = icmp eq ptr %p470, null + %ui470 = zext i1 %u470 to i32 + %m471x = add i32 %m470, %ui470 + br label %f471 +f471: + %m471 = phi i32 [ %m471x, %s470 ] + %w471 = call ptr @wglGetProcAddress(ptr @.lgl_n_ScissorArrayv) + %wi471 = ptrtoint ptr %w471 to i64 + %wa471 = add i64 %wi471, 1 + %bad471 = icmp ult i64 %wa471, 5 + br i1 %bad471, label %g471, label %s471 +g471: + %e471 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ScissorArrayv) + br label %s471 +s471: + %p471 = phi ptr [ %w471, %f471 ], [ %e471, %g471 ] + store ptr %p471, ptr @lgl_p_ScissorArrayv + %u471 = icmp eq ptr %p471, null + %ui471 = zext i1 %u471 to i32 + %m472x = add i32 %m471, %ui471 + br label %f472 +f472: + %m472 = phi i32 [ %m472x, %s471 ] + %w472 = call ptr @wglGetProcAddress(ptr @.lgl_n_ScissorIndexed) + %wi472 = ptrtoint ptr %w472 to i64 + %wa472 = add i64 %wi472, 1 + %bad472 = icmp ult i64 %wa472, 5 + br i1 %bad472, label %g472, label %s472 +g472: + %e472 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ScissorIndexed) + br label %s472 +s472: + %p472 = phi ptr [ %w472, %f472 ], [ %e472, %g472 ] + store ptr %p472, ptr @lgl_p_ScissorIndexed + %u472 = icmp eq ptr %p472, null + %ui472 = zext i1 %u472 to i32 + %m473x = add i32 %m472, %ui472 + br label %f473 +f473: + %m473 = phi i32 [ %m473x, %s472 ] + %w473 = call ptr @wglGetProcAddress(ptr @.lgl_n_ScissorIndexedv) + %wi473 = ptrtoint ptr %w473 to i64 + %wa473 = add i64 %wi473, 1 + %bad473 = icmp ult i64 %wa473, 5 + br i1 %bad473, label %g473, label %s473 +g473: + %e473 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_ScissorIndexedv) + br label %s473 +s473: + %p473 = phi ptr [ %w473, %f473 ], [ %e473, %g473 ] + store ptr %p473, ptr @lgl_p_ScissorIndexedv + %u473 = icmp eq ptr %p473, null + %ui473 = zext i1 %u473 to i32 + %m474x = add i32 %m473, %ui473 + br label %f474 +f474: + %m474 = phi i32 [ %m474x, %s473 ] + %w474 = call ptr @wglGetProcAddress(ptr @.lgl_n_DepthRangeArrayv) + %wi474 = ptrtoint ptr %w474 to i64 + %wa474 = add i64 %wi474, 1 + %bad474 = icmp ult i64 %wa474, 5 + br i1 %bad474, label %g474, label %s474 +g474: + %e474 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_DepthRangeArrayv) + br label %s474 +s474: + %p474 = phi ptr [ %w474, %f474 ], [ %e474, %g474 ] + store ptr %p474, ptr @lgl_p_DepthRangeArrayv + %u474 = icmp eq ptr %p474, null + %ui474 = zext i1 %u474 to i32 + %m475x = add i32 %m474, %ui474 + br label %f475 +f475: + %m475 = phi i32 [ %m475x, %s474 ] + %w475 = call ptr @wglGetProcAddress(ptr @.lgl_n_DepthRangeIndexed) + %wi475 = ptrtoint ptr %w475 to i64 + %wa475 = add i64 %wi475, 1 + %bad475 = icmp ult i64 %wa475, 5 + br i1 %bad475, label %g475, label %s475 +g475: + %e475 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_DepthRangeIndexed) + br label %s475 +s475: + %p475 = phi ptr [ %w475, %f475 ], [ %e475, %g475 ] + store ptr %p475, ptr @lgl_p_DepthRangeIndexed + %u475 = icmp eq ptr %p475, null + %ui475 = zext i1 %u475 to i32 + %m476x = add i32 %m475, %ui475 + br label %f476 +f476: + %m476 = phi i32 [ %m476x, %s475 ] + %w476 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetFloati_v) + %wi476 = ptrtoint ptr %w476 to i64 + %wa476 = add i64 %wi476, 1 + %bad476 = icmp ult i64 %wa476, 5 + br i1 %bad476, label %g476, label %s476 +g476: + %e476 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetFloati_v) + br label %s476 +s476: + %p476 = phi ptr [ %w476, %f476 ], [ %e476, %g476 ] + store ptr %p476, ptr @lgl_p_GetFloati_v + %u476 = icmp eq ptr %p476, null + %ui476 = zext i1 %u476 to i32 + %m477x = add i32 %m476, %ui476 + br label %f477 +f477: + %m477 = phi i32 [ %m477x, %s476 ] + %w477 = call ptr @wglGetProcAddress(ptr @.lgl_n_GetDoublei_v) + %wi477 = ptrtoint ptr %w477 to i64 + %wa477 = add i64 %wi477, 1 + %bad477 = icmp ult i64 %wa477, 5 + br i1 %bad477, label %g477, label %s477 +g477: + %e477 = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_GetDoublei_v) + br label %s477 +s477: + %p477 = phi ptr [ %w477, %f477 ], [ %e477, %g477 ] + store ptr %p477, ptr @lgl_p_GetDoublei_v + %u477 = icmp eq ptr %p477, null + %ui477 = zext i1 %u477 to i32 + %m478x = add i32 %m477, %ui477 + br label %f478 +f478: + %m478 = phi i32 [ %m478x, %s477 ] + ret i32 %m478 +} diff --git a/runtime/native/gl_win.ll b/runtime/native/gl_win.ll new file mode 100644 index 00000000..5e90cb78 --- /dev/null +++ b/runtime/native/gl_win.ll @@ -0,0 +1,458 @@ +; ============================================================================ +; gl_win.ll — the window-independent half of the OpenGL backend on Windows. +; +; The Windows counterpart of gl.ll, linked with gl_thunks_win.ll and opengl32, +; gdi32 and user32 into any Windows program that uses Gl.*. The helpers below the +; context are gl.ll's, unchanged; what differs is how a context comes to exist and +; how the GL entry points are reached. +; +; cgl_offscreen() -> ok a hidden window's DC, a WGL 4.1 core context made +; current on it, and the entry-point table filled +; gl_now_us() -> us QueryPerformanceCounter, in microseconds +; +; Why a window at all: WGL makes a context from a device context with a pixel +; format, and only a window has one. The window is never shown; everything is +; drawn into FBOs exactly as on macOS. +; +; Why the table: opengl32.dll exports only OpenGL 1.1 by name. Every later entry +; point (glCreateShader, glBindVertexArray, ...) belongs to the driver and is found +; with wglGetProcAddress, which only answers while a context is current - so the +; generated thunks call through @lgl_p_* pointers that @lgl_win_load fills once, +; here, after the core context is made current. +; ============================================================================ + +declare ptr @CreateWindowExA(i32, ptr, ptr, i32, i32, i32, i32, i32, ptr, ptr, ptr, ptr) +declare ptr @GetDC(ptr) +declare i32 @ChoosePixelFormat(ptr, ptr) +declare i32 @SetPixelFormat(ptr, i32, ptr) +declare ptr @wglCreateContext(ptr) +declare i32 @wglMakeCurrent(ptr, ptr) +declare i32 @wglDeleteContext(ptr) +declare ptr @wglGetProcAddress(ptr) +declare i32 @QueryPerformanceCounter(ptr) +declare i32 @QueryPerformanceFrequency(ptr) +declare i32 @lgl_win_load() +declare void @llvm.memcpy.p0.p0.i64(ptr, ptr, i64, i1) +declare void @llvm.memset.p0.i64(ptr, i8, i64, i1) +declare float @sinf(float) +declare float @cosf(float) +declare float @tanf(float) +declare float @atan2f(float, float) +declare float @powf(float, float) +declare float @expf(float) +declare float @logf(float) +declare float @floorf(float) +declare float @fmodf(float, float) +declare double @ldexp(double, i32) +declare float @llvm.sqrt.f32(float) +declare float @llvm.fabs.f32(float) + +@.wgl_class = private unnamed_addr constant [7 x i8] c"STATIC\00" +@.wgl_title = private unnamed_addr constant [6 x i8] c"Ludic\00" +@.wgl_arb = private unnamed_addr constant [27 x i8] c"wglCreateContextAttribsARB\00" +; WGL_CONTEXT_MAJOR_VERSION_ARB 4, MINOR 1, WGL_CONTEXT_PROFILE_MASK_ARB = CORE +@.wgl_attrs = private unnamed_addr constant [7 x i32] [i32 8337, i32 4, i32 8338, i32 1, i32 37158, i32 1, i32 0] + +@L_wgl_hwnd = internal global ptr null +@L_wgl_hdc = internal global ptr null +@L_wgl_ctx = internal global ptr null + +define i32 @cgl_offscreen() { +entry: + %cur = load ptr, ptr @L_wgl_ctx + %have = icmp ne ptr %cur, null + br i1 %have, label %ok, label %win +win: + ; WS_POPUP, never shown + %w = call ptr @CreateWindowExA(i32 0, ptr @.wgl_class, ptr @.wgl_title, i32 -2147483648, i32 0, i32 0, i32 16, i32 16, ptr null, ptr null, ptr null, ptr null) + %wn = icmp eq ptr %w, null + br i1 %wn, label %fail, label %pf +pf: + store ptr %w, ptr @L_wgl_hwnd + %hdc = call ptr @GetDC(ptr %w) + store ptr %hdc, ptr @L_wgl_hdc + ; PIXELFORMATDESCRIPTOR: nSize 40, nVersion 1, PFD_DRAW_TO_WINDOW|SUPPORT_OPENGL|DOUBLEBUFFER, + ; 32-bit colour, 24 depth, 8 stencil + %pfd = alloca [40 x i8], align 4 + call void @llvm.memset.p0.i64(ptr %pfd, i8 0, i64 40, i1 false) + store i16 40, ptr %pfd + %ver = getelementptr i8, ptr %pfd, i64 2 + store i16 1, ptr %ver + %fl = getelementptr i8, ptr %pfd, i64 4 + store i32 37, ptr %fl + %cb = getelementptr i8, ptr %pfd, i64 9 + store i8 32, ptr %cb + %db = getelementptr i8, ptr %pfd, i64 23 + store i8 24, ptr %db + %sb = getelementptr i8, ptr %pfd, i64 24 + store i8 8, ptr %sb + %idx = call i32 @ChoosePixelFormat(ptr %hdc, ptr %pfd) + %set = call i32 @SetPixelFormat(ptr %hdc, i32 %idx, ptr %pfd) + %setz = icmp eq i32 %set, 0 + br i1 %setz, label %fail, label %legacy +legacy: + ; a legacy context first: wglCreateContextAttribsARB is only reachable through one + %old = call ptr @wglCreateContext(ptr %hdc) + %oldn = icmp eq ptr %old, null + br i1 %oldn, label %fail, label %arb +arb: + %m1 = call i32 @wglMakeCurrent(ptr %hdc, ptr %old) + %fp = call ptr @wglGetProcAddress(ptr @.wgl_arb) + %fpi = ptrtoint ptr %fp to i64 + %nofp = icmp ult i64 %fpi, 4 + br i1 %nofp, label %drop, label %core +core: + %ctx = call ptr %fp(ptr %hdc, ptr null, ptr @.wgl_attrs) + %ctxn = icmp eq ptr %ctx, null + br i1 %ctxn, label %drop, label %use +use: + %m2 = call i32 @wglMakeCurrent(ptr %hdc, ptr %ctx) + %d1 = call i32 @wglDeleteContext(ptr %old) + store ptr %ctx, ptr @L_wgl_ctx + %n = call i32 @lgl_win_load() + br label %ok +drop: + %m3 = call i32 @wglMakeCurrent(ptr null, ptr null) + %d2 = call i32 @wglDeleteContext(ptr %old) + br label %fail +ok: + ret i32 1 +fail: + ret i32 0 +} + +; ---- Q16.16 <-> IEEE float --------------------------------------------------- +define i32 @fx_to_f32(i32 %fx) { +entry: + %f = sitofp i32 %fx to float + %s = fmul float %f, 0x3EF0000000000000 + %b = bitcast float %s to i32 + ret i32 %b +} +define i32 @f32_to_fx(i32 %bits) { +entry: + %f = bitcast i32 %bits to float + %s = fmul float %f, 65536.0 + %r = fptosi float %s to i32 + ret i32 %r +} + +; ---- raw memory --------------------------------------------------------------- +define ptr @mem_off(ptr %p, i32 %off) { +entry: + %q = getelementptr inbounds i8, ptr %p, i32 %off + ret ptr %q +} +define i32 @mem_get_i32(ptr %p, i32 %off) { +entry: + %q = getelementptr inbounds i8, ptr %p, i32 %off + %v = load i32, ptr %q, align 1 + ret i32 %v +} +define void @mem_put_i32(ptr %p, i32 %off, i32 %v) { +entry: + %q = getelementptr inbounds i8, ptr %p, i32 %off + store i32 %v, ptr %q, align 1 + ret void +} +define i32 @mem_get_u16(ptr %p, i32 %off) { +entry: + %q = getelementptr inbounds i8, ptr %p, i32 %off + %v = load i16, ptr %q, align 1 + %z = zext i16 %v to i32 + ret i32 %z +} +define void @mem_put_u16(ptr %p, i32 %off, i32 %v) { +entry: + %q = getelementptr inbounds i8, ptr %p, i32 %off + %t = trunc i32 %v to i16 + store i16 %t, ptr %q, align 1 + ret void +} +define i32 @mem_get_u8(ptr %p, i32 %off) { +entry: + %q = getelementptr inbounds i8, ptr %p, i32 %off + %v = load i8, ptr %q + %z = zext i8 %v to i32 + ret i32 %z +} +define void @mem_put_u8(ptr %p, i32 %off, i32 %v) { +entry: + %q = getelementptr inbounds i8, ptr %p, i32 %off + %t = trunc i32 %v to i8 + store i8 %t, ptr %q + ret void +} +; float element i of a float buffer, as Q16.16 / as bits +define i32 @mem_get_f32(ptr %p, i32 %i) { +entry: + %q = getelementptr inbounds float, ptr %p, i32 %i + %f = load float, ptr %q, align 1 + %s = fmul float %f, 65536.0 + %r = fptosi float %s to i32 + ret i32 %r +} +define void @mem_put_f32(ptr %p, i32 %i, i32 %fx) { +entry: + %q = getelementptr inbounds float, ptr %p, i32 %i + %f = sitofp i32 %fx to float + %s = fmul float %f, 0x3EF0000000000000 + store float %s, ptr %q, align 1 + ret void +} +define i32 @mem_get_f32_bits(ptr %p, i32 %i) { +entry: + %q = getelementptr inbounds i32, ptr %p, i32 %i + %v = load i32, ptr %q, align 1 + ret i32 %v +} +define void @mem_put_f32_bits(ptr %p, i32 %i, i32 %bits) { +entry: + %q = getelementptr inbounds i32, ptr %p, i32 %i + store i32 %bits, ptr %q, align 1 + ret void +} +define void @mem_copy(ptr %dst, ptr %src, i32 %n) { +entry: + %n64 = sext i32 %n to i64 + call void @llvm.memcpy.p0.p0.i64(ptr %dst, ptr %src, i64 %n64, i1 false) + ret void +} +define void @mem_set(ptr %dst, i32 %v, i32 %n) { +entry: + %n64 = sext i32 %n to i64 + %b = trunc i32 %v to i8 + call void @llvm.memset.p0.i64(ptr %dst, i8 %b, i64 %n64, i1 false) + ret void +} + +; ---- IEEE float arithmetic on bit patterns ------------------------------------ +define i32 @f_add(i32 %a, i32 %b) { +entry: + %x = bitcast i32 %a to float + %y = bitcast i32 %b to float + %r = fadd float %x, %y + %o = bitcast float %r to i32 + ret i32 %o +} +define i32 @f_sub(i32 %a, i32 %b) { +entry: + %x = bitcast i32 %a to float + %y = bitcast i32 %b to float + %r = fsub float %x, %y + %o = bitcast float %r to i32 + ret i32 %o +} +define i32 @f_mul(i32 %a, i32 %b) { +entry: + %x = bitcast i32 %a to float + %y = bitcast i32 %b to float + %r = fmul float %x, %y + %o = bitcast float %r to i32 + ret i32 %o +} +define i32 @f_div(i32 %a, i32 %b) { +entry: + %x = bitcast i32 %a to float + %y = bitcast i32 %b to float + %r = fdiv float %x, %y + %o = bitcast float %r to i32 + ret i32 %o +} +define i32 @f_neg(i32 %a) { +entry: + %x = bitcast i32 %a to float + %r = fneg float %x + %o = bitcast float %r to i32 + ret i32 %o +} +define i32 @f_sqrt(i32 %a) { +entry: + %x = bitcast i32 %a to float + %r = call float @llvm.sqrt.f32(float %x) + %o = bitcast float %r to i32 + ret i32 %o +} +define i32 @f_abs(i32 %a) { +entry: + %x = bitcast i32 %a to float + %r = call float @llvm.fabs.f32(float %x) + %o = bitcast float %r to i32 + ret i32 %o +} +define i32 @f_sin(i32 %a) { +entry: + %x = bitcast i32 %a to float + %r = call float @sinf(float %x) + %o = bitcast float %r to i32 + ret i32 %o +} +define i32 @f_cos(i32 %a) { +entry: + %x = bitcast i32 %a to float + %r = call float @cosf(float %x) + %o = bitcast float %r to i32 + ret i32 %o +} +define i32 @f_tan(i32 %a) { +entry: + %x = bitcast i32 %a to float + %r = call float @tanf(float %x) + %o = bitcast float %r to i32 + ret i32 %o +} +define i32 @f_atan2(i32 %a, i32 %b) { +entry: + %x = bitcast i32 %a to float + %y = bitcast i32 %b to float + %r = call float @atan2f(float %x, float %y) + %o = bitcast float %r to i32 + ret i32 %o +} +define i32 @f_pow(i32 %a, i32 %b) { +entry: + %x = bitcast i32 %a to float + %y = bitcast i32 %b to float + %r = call float @powf(float %x, float %y) + %o = bitcast float %r to i32 + ret i32 %o +} +define i32 @f_exp(i32 %a) { +entry: + %x = bitcast i32 %a to float + %r = call float @expf(float %x) + %o = bitcast float %r to i32 + ret i32 %o +} +define i32 @f_log(i32 %a) { +entry: + %x = bitcast i32 %a to float + %r = call float @logf(float %x) + %o = bitcast float %r to i32 + ret i32 %o +} +define i32 @f_floor(i32 %a) { +entry: + %x = bitcast i32 %a to float + %r = call float @floorf(float %x) + %o = bitcast float %r to i32 + ret i32 %o +} +define i32 @f_mod(i32 %a, i32 %b) { +entry: + %x = bitcast i32 %a to float + %y = bitcast i32 %b to float + %r = call float @fmodf(float %x, float %y) + %o = bitcast float %r to i32 + ret i32 %o +} +; no ldexpf in the UCRT: ldexp on the widened value is exact for every float +define i32 @f_ldexp(i32 %a, i32 %e) { +entry: + %x = bitcast i32 %a to float + %xd = fpext float %x to double + %rd = call double @ldexp(double %xd, i32 %e) + %r = fptrunc double %rd to float + %o = bitcast float %r to i32 + ret i32 %o +} +define i32 @f_min(i32 %a, i32 %b) { +entry: + %x = bitcast i32 %a to float + %y = bitcast i32 %b to float + %c = fcmp olt float %x, %y + %r = select i1 %c, float %x, float %y + %o = bitcast float %r to i32 + ret i32 %o +} +define i32 @f_max(i32 %a, i32 %b) { +entry: + %x = bitcast i32 %a to float + %y = bitcast i32 %b to float + %c = fcmp ogt float %x, %y + %r = select i1 %c, float %x, float %y + %o = bitcast float %r to i32 + ret i32 %o +} +define i32 @f_lt(i32 %a, i32 %b) { +entry: + %x = bitcast i32 %a to float + %y = bitcast i32 %b to float + %c = fcmp olt float %x, %y + %z = zext i1 %c to i32 + ret i32 %z +} +define i32 @f_from_int(i32 %a) { +entry: + %f = sitofp i32 %a to float + %o = bitcast float %f to i32 + ret i32 %o +} +define i32 @f_to_int(i32 %a) { +entry: + %x = bitcast i32 %a to float + %r = fptosi float %x to i32 + ret i32 %r +} + +; ---- a real monotonic microsecond clock ------------------------------------- +; gl.ll reads gettimeofday; Windows has QueryPerformanceCounter, which is +; monotonic as well as fine-grained. Split into whole seconds and remainder so +; the multiply cannot overflow however long the machine has been up. +define i64 @gl_now_us() { +entry: + %c = alloca i64, align 8 + %f = alloca i64, align 8 + %r1 = call i32 @QueryPerformanceCounter(ptr %c) + %r2 = call i32 @QueryPerformanceFrequency(ptr %f) + %cv = load i64, ptr %c + %fv = load i64, ptr %f + %sec = udiv i64 %cv, %fv + %rem = urem i64 %cv, %fv + %sus = mul i64 %sec, 1000000 + %rus = mul i64 %rem, 1000000 + %frac = udiv i64 %rus, %fv + %t = add i64 %sus, %frac + ret i64 %t +} + +; ---- the window half, until there is one ------------------------------------ +; gl.ludic names these on its is_windowed() branch. A headless build compiles that +; branch to nothing, but the names still have to resolve; a windowed Windows +; build will define them in the Win32 platform layer instead of here. +define i32 @win_gl_attach() { +entry: + ret i32 0 +} +define void @win_gl_resize(i32 %w, i32 %h) { +entry: + ret void +} +define void @win_gl_swap() { +entry: + ret void +} +define i32 @win_gl_scale() { +entry: + ret i32 1 +} +define void @win_gl_swap_interval(i32 %n) { +entry: + ret void +} +define void @win_gl_drawable(ptr %out) { +entry: + ret void +} +define void @win_gl_update() { +entry: + ret void +} +define void @win_gl_retina(i32 %on) { +entry: + ret void +} +define void @win_toggle_fullscreen() { +entry: + ret void +} diff --git a/selfhost/ludicc.seed.ll b/selfhost/ludicc.seed.ll index 1e0250a2..bd8179a9 100644 --- a/selfhost/ludicc.seed.ll +++ b/selfhost/ludicc.seed.ll @@ -11308,35 +11308,39 @@ declare void @hs_free(i32) @.str11120 = private unnamed_addr constant [8 x i8] c"windows\00" @.str11121 = private unnamed_addr constant [27 x i8] c"ludicc: cannot open input\0A\00" @.str11122 = private unnamed_addr constant [81 x i8] c"ludicc: a windowed build is not available on Windows yet; build with --headless\0A\00" -@.str11123 = private unnamed_addr constant [46 x i8] c"ludicc: Gl.* is not available on Windows yet\0A\00" -@.str11124 = private unnamed_addr constant [48 x i8] c"ludicc: Http.* is not available on Windows yet\0A\00" -@.str11125 = private unnamed_addr constant [5 x i8] c"TEMP\00" -@.str11126 = private unnamed_addr constant [2 x i8] c".\00" -@.str11127 = private unnamed_addr constant [12 x i8] c"/ludic-run-\00" -@.str11128 = private unnamed_addr constant [16 x i8] c"/tmp/ludic-run-\00" +@.str11123 = private unnamed_addr constant [48 x i8] c"ludicc: Http.* is not available on Windows yet\0A\00" +@.str11124 = private unnamed_addr constant [5 x i8] c"TEMP\00" +@.str11125 = private unnamed_addr constant [2 x i8] c".\00" +@.str11126 = private unnamed_addr constant [12 x i8] c"/ludic-run-\00" +@.str11127 = private unnamed_addr constant [16 x i8] c"/tmp/ludic-run-\00" +@.str11128 = private unnamed_addr constant [5 x i8] c".exe\00" @.str11129 = private unnamed_addr constant [5 x i8] c".exe\00" -@.str11130 = private unnamed_addr constant [5 x i8] c".exe\00" -@.str11131 = private unnamed_addr constant [4 x i8] c".ll\00" -@.str11132 = private unnamed_addr constant [25 x i8] c"ludicc: cannot write IR\0A\00" -@.str11133 = private unnamed_addr constant [27 x i8] c" -O2 -Wno-override-module \00" -@.str11134 = private unnamed_addr constant [24 x i8] c"runtime/native/cocoa.ll\00" -@.str11135 = private unnamed_addr constant [2 x i8] c" \00" -@.str11136 = private unnamed_addr constant [79 x i8] c" -framework Cocoa -Wl,-needed_framework,GameController -Wl,-rpath,@loader_path\00" -@.str11137 = private unnamed_addr constant [24 x i8] c"runtime/native/audio.ll\00" -@.str11138 = private unnamed_addr constant [2 x i8] c" \00" -@.str11139 = private unnamed_addr constant [36 x i8] c" -Wl,-needed_framework,AVFoundation\00" -@.str11140 = private unnamed_addr constant [23 x i8] c"runtime/native/http.ll\00" -@.str11141 = private unnamed_addr constant [2 x i8] c" \00" -@.str11142 = private unnamed_addr constant [34 x i8] c" -Wl,-needed_framework,Foundation\00" -@.str11143 = private unnamed_addr constant [21 x i8] c"runtime/native/gl.ll\00" -@.str11144 = private unnamed_addr constant [28 x i8] c"runtime/native/gl_thunks.ll\00" +@.str11130 = private unnamed_addr constant [4 x i8] c".ll\00" +@.str11131 = private unnamed_addr constant [25 x i8] c"ludicc: cannot write IR\0A\00" +@.str11132 = private unnamed_addr constant [27 x i8] c" -O2 -Wno-override-module \00" +@.str11133 = private unnamed_addr constant [24 x i8] c"runtime/native/cocoa.ll\00" +@.str11134 = private unnamed_addr constant [2 x i8] c" \00" +@.str11135 = private unnamed_addr constant [79 x i8] c" -framework Cocoa -Wl,-needed_framework,GameController -Wl,-rpath,@loader_path\00" +@.str11136 = private unnamed_addr constant [24 x i8] c"runtime/native/audio.ll\00" +@.str11137 = private unnamed_addr constant [2 x i8] c" \00" +@.str11138 = private unnamed_addr constant [36 x i8] c" -Wl,-needed_framework,AVFoundation\00" +@.str11139 = private unnamed_addr constant [23 x i8] c"runtime/native/http.ll\00" +@.str11140 = private unnamed_addr constant [2 x i8] c" \00" +@.str11141 = private unnamed_addr constant [34 x i8] c" -Wl,-needed_framework,Foundation\00" +@.str11142 = private unnamed_addr constant [25 x i8] c"runtime/native/gl_win.ll\00" +@.str11143 = private unnamed_addr constant [32 x i8] c"runtime/native/gl_thunks_win.ll\00" +@.str11144 = private unnamed_addr constant [2 x i8] c" \00" @.str11145 = private unnamed_addr constant [2 x i8] c" \00" -@.str11146 = private unnamed_addr constant [2 x i8] c" \00" -@.str11147 = private unnamed_addr constant [19 x i8] c" -framework OpenGL\00" -@.str11148 = private unnamed_addr constant [5 x i8] c" -o \00" -@.str11149 = private unnamed_addr constant [21 x i8] c"ludicc: link failed\0A\00" -@.str11150 = private unnamed_addr constant [2 x i8] c"\22\00" -@.str11151 = private unnamed_addr constant [2 x i8] c"\22\00" +@.str11146 = private unnamed_addr constant [29 x i8] c" -luser32 -lgdi32 -lopengl32\00" +@.str11147 = private unnamed_addr constant [21 x i8] c"runtime/native/gl.ll\00" +@.str11148 = private unnamed_addr constant [28 x i8] c"runtime/native/gl_thunks.ll\00" +@.str11149 = private unnamed_addr constant [2 x i8] c" \00" +@.str11150 = private unnamed_addr constant [2 x i8] c" \00" +@.str11151 = private unnamed_addr constant [19 x i8] c" -framework OpenGL\00" +@.str11152 = private unnamed_addr constant [5 x i8] c" -o \00" +@.str11153 = private unnamed_addr constant [21 x i8] c"ludicc: link failed\0A\00" +@.str11154 = private unnamed_addr constant [2 x i8] c"\22\00" +@.str11155 = private unnamed_addr constant [2 x i8] c"\22\00" define i32 @lp_str_eq(ptr %a, ptr %b) { entry: br label %loop @@ -12141,56 +12145,56 @@ sod: store i32 %fcnt, ptr %d2 ret ptr %h } -@.str11152 = private unnamed_addr constant [4 x i8] c"png\00" -@.str11153 = private unnamed_addr constant [10 x i8] c"image/png\00" -@.str11154 = private unnamed_addr constant [4 x i8] c"jpg\00" -@.str11155 = private unnamed_addr constant [11 x i8] c"image/jpeg\00" -@.str11156 = private unnamed_addr constant [5 x i8] c"jpeg\00" -@.str11157 = private unnamed_addr constant [11 x i8] c"image/jpeg\00" -@.str11158 = private unnamed_addr constant [4 x i8] c"gif\00" -@.str11159 = private unnamed_addr constant [10 x i8] c"image/gif\00" -@.str11160 = private unnamed_addr constant [4 x i8] c"bmp\00" -@.str11161 = private unnamed_addr constant [10 x i8] c"image/bmp\00" -@.str11162 = private unnamed_addr constant [5 x i8] c"webp\00" -@.str11163 = private unnamed_addr constant [11 x i8] c"image/webp\00" -@.str11164 = private unnamed_addr constant [4 x i8] c"svg\00" -@.str11165 = private unnamed_addr constant [14 x i8] c"image/svg+xml\00" -@.str11166 = private unnamed_addr constant [4 x i8] c"txt\00" -@.str11167 = private unnamed_addr constant [11 x i8] c"text/plain\00" -@.str11168 = private unnamed_addr constant [3 x i8] c"md\00" -@.str11169 = private unnamed_addr constant [14 x i8] c"text/markdown\00" -@.str11170 = private unnamed_addr constant [4 x i8] c"csv\00" -@.str11171 = private unnamed_addr constant [9 x i8] c"text/csv\00" -@.str11172 = private unnamed_addr constant [5 x i8] c"html\00" -@.str11173 = private unnamed_addr constant [10 x i8] c"text/html\00" -@.str11174 = private unnamed_addr constant [4 x i8] c"htm\00" -@.str11175 = private unnamed_addr constant [10 x i8] c"text/html\00" -@.str11176 = private unnamed_addr constant [4 x i8] c"css\00" -@.str11177 = private unnamed_addr constant [9 x i8] c"text/css\00" -@.str11178 = private unnamed_addr constant [3 x i8] c"js\00" -@.str11179 = private unnamed_addr constant [16 x i8] c"text/javascript\00" -@.str11180 = private unnamed_addr constant [5 x i8] c"json\00" -@.str11181 = private unnamed_addr constant [17 x i8] c"application/json\00" -@.str11182 = private unnamed_addr constant [4 x i8] c"xml\00" -@.str11183 = private unnamed_addr constant [16 x i8] c"application/xml\00" -@.str11184 = private unnamed_addr constant [4 x i8] c"zip\00" -@.str11185 = private unnamed_addr constant [16 x i8] c"application/zip\00" -@.str11186 = private unnamed_addr constant [4 x i8] c"pdf\00" -@.str11187 = private unnamed_addr constant [16 x i8] c"application/pdf\00" -@.str11188 = private unnamed_addr constant [4 x i8] c"wav\00" -@.str11189 = private unnamed_addr constant [10 x i8] c"audio/wav\00" -@.str11190 = private unnamed_addr constant [4 x i8] c"ogg\00" -@.str11191 = private unnamed_addr constant [10 x i8] c"audio/ogg\00" -@.str11192 = private unnamed_addr constant [4 x i8] c"mp3\00" -@.str11193 = private unnamed_addr constant [11 x i8] c"audio/mpeg\00" -@.str11194 = private unnamed_addr constant [4 x i8] c"ttf\00" -@.str11195 = private unnamed_addr constant [9 x i8] c"font/ttf\00" -@.str11196 = private unnamed_addr constant [4 x i8] c"otf\00" -@.str11197 = private unnamed_addr constant [9 x i8] c"font/otf\00" -@.str11198 = private unnamed_addr constant [6 x i8] c"ludic\00" -@.str11199 = private unnamed_addr constant [13 x i8] c"text/x-ludic\00" -@.str11200 = private unnamed_addr constant [25 x i8] c"application/octet-stream\00" -@mime_tbl = private unnamed_addr constant [24 x { ptr, ptr }] [{ ptr, ptr } { ptr @.str11152, ptr @.str11153 }, { ptr, ptr } { ptr @.str11154, ptr @.str11155 }, { ptr, ptr } { ptr @.str11156, ptr @.str11157 }, { ptr, ptr } { ptr @.str11158, ptr @.str11159 }, { ptr, ptr } { ptr @.str11160, ptr @.str11161 }, { ptr, ptr } { ptr @.str11162, ptr @.str11163 }, { ptr, ptr } { ptr @.str11164, ptr @.str11165 }, { ptr, ptr } { ptr @.str11166, ptr @.str11167 }, { ptr, ptr } { ptr @.str11168, ptr @.str11169 }, { ptr, ptr } { ptr @.str11170, ptr @.str11171 }, { ptr, ptr } { ptr @.str11172, ptr @.str11173 }, { ptr, ptr } { ptr @.str11174, ptr @.str11175 }, { ptr, ptr } { ptr @.str11176, ptr @.str11177 }, { ptr, ptr } { ptr @.str11178, ptr @.str11179 }, { ptr, ptr } { ptr @.str11180, ptr @.str11181 }, { ptr, ptr } { ptr @.str11182, ptr @.str11183 }, { ptr, ptr } { ptr @.str11184, ptr @.str11185 }, { ptr, ptr } { ptr @.str11186, ptr @.str11187 }, { ptr, ptr } { ptr @.str11188, ptr @.str11189 }, { ptr, ptr } { ptr @.str11190, ptr @.str11191 }, { ptr, ptr } { ptr @.str11192, ptr @.str11193 }, { ptr, ptr } { ptr @.str11194, ptr @.str11195 }, { ptr, ptr } { ptr @.str11196, ptr @.str11197 }, { ptr, ptr } { ptr @.str11198, ptr @.str11199 }] +@.str11156 = private unnamed_addr constant [4 x i8] c"png\00" +@.str11157 = private unnamed_addr constant [10 x i8] c"image/png\00" +@.str11158 = private unnamed_addr constant [4 x i8] c"jpg\00" +@.str11159 = private unnamed_addr constant [11 x i8] c"image/jpeg\00" +@.str11160 = private unnamed_addr constant [5 x i8] c"jpeg\00" +@.str11161 = private unnamed_addr constant [11 x i8] c"image/jpeg\00" +@.str11162 = private unnamed_addr constant [4 x i8] c"gif\00" +@.str11163 = private unnamed_addr constant [10 x i8] c"image/gif\00" +@.str11164 = private unnamed_addr constant [4 x i8] c"bmp\00" +@.str11165 = private unnamed_addr constant [10 x i8] c"image/bmp\00" +@.str11166 = private unnamed_addr constant [5 x i8] c"webp\00" +@.str11167 = private unnamed_addr constant [11 x i8] c"image/webp\00" +@.str11168 = private unnamed_addr constant [4 x i8] c"svg\00" +@.str11169 = private unnamed_addr constant [14 x i8] c"image/svg+xml\00" +@.str11170 = private unnamed_addr constant [4 x i8] c"txt\00" +@.str11171 = private unnamed_addr constant [11 x i8] c"text/plain\00" +@.str11172 = private unnamed_addr constant [3 x i8] c"md\00" +@.str11173 = private unnamed_addr constant [14 x i8] c"text/markdown\00" +@.str11174 = private unnamed_addr constant [4 x i8] c"csv\00" +@.str11175 = private unnamed_addr constant [9 x i8] c"text/csv\00" +@.str11176 = private unnamed_addr constant [5 x i8] c"html\00" +@.str11177 = private unnamed_addr constant [10 x i8] c"text/html\00" +@.str11178 = private unnamed_addr constant [4 x i8] c"htm\00" +@.str11179 = private unnamed_addr constant [10 x i8] c"text/html\00" +@.str11180 = private unnamed_addr constant [4 x i8] c"css\00" +@.str11181 = private unnamed_addr constant [9 x i8] c"text/css\00" +@.str11182 = private unnamed_addr constant [3 x i8] c"js\00" +@.str11183 = private unnamed_addr constant [16 x i8] c"text/javascript\00" +@.str11184 = private unnamed_addr constant [5 x i8] c"json\00" +@.str11185 = private unnamed_addr constant [17 x i8] c"application/json\00" +@.str11186 = private unnamed_addr constant [4 x i8] c"xml\00" +@.str11187 = private unnamed_addr constant [16 x i8] c"application/xml\00" +@.str11188 = private unnamed_addr constant [4 x i8] c"zip\00" +@.str11189 = private unnamed_addr constant [16 x i8] c"application/zip\00" +@.str11190 = private unnamed_addr constant [4 x i8] c"pdf\00" +@.str11191 = private unnamed_addr constant [16 x i8] c"application/pdf\00" +@.str11192 = private unnamed_addr constant [4 x i8] c"wav\00" +@.str11193 = private unnamed_addr constant [10 x i8] c"audio/wav\00" +@.str11194 = private unnamed_addr constant [4 x i8] c"ogg\00" +@.str11195 = private unnamed_addr constant [10 x i8] c"audio/ogg\00" +@.str11196 = private unnamed_addr constant [4 x i8] c"mp3\00" +@.str11197 = private unnamed_addr constant [11 x i8] c"audio/mpeg\00" +@.str11198 = private unnamed_addr constant [4 x i8] c"ttf\00" +@.str11199 = private unnamed_addr constant [9 x i8] c"font/ttf\00" +@.str11200 = private unnamed_addr constant [4 x i8] c"otf\00" +@.str11201 = private unnamed_addr constant [9 x i8] c"font/otf\00" +@.str11202 = private unnamed_addr constant [6 x i8] c"ludic\00" +@.str11203 = private unnamed_addr constant [13 x i8] c"text/x-ludic\00" +@.str11204 = private unnamed_addr constant [25 x i8] c"application/octet-stream\00" +@mime_tbl = private unnamed_addr constant [24 x { ptr, ptr }] [{ ptr, ptr } { ptr @.str11156, ptr @.str11157 }, { ptr, ptr } { ptr @.str11158, ptr @.str11159 }, { ptr, ptr } { ptr @.str11160, ptr @.str11161 }, { ptr, ptr } { ptr @.str11162, ptr @.str11163 }, { ptr, ptr } { ptr @.str11164, ptr @.str11165 }, { ptr, ptr } { ptr @.str11166, ptr @.str11167 }, { ptr, ptr } { ptr @.str11168, ptr @.str11169 }, { ptr, ptr } { ptr @.str11170, ptr @.str11171 }, { ptr, ptr } { ptr @.str11172, ptr @.str11173 }, { ptr, ptr } { ptr @.str11174, ptr @.str11175 }, { ptr, ptr } { ptr @.str11176, ptr @.str11177 }, { ptr, ptr } { ptr @.str11178, ptr @.str11179 }, { ptr, ptr } { ptr @.str11180, ptr @.str11181 }, { ptr, ptr } { ptr @.str11182, ptr @.str11183 }, { ptr, ptr } { ptr @.str11184, ptr @.str11185 }, { ptr, ptr } { ptr @.str11186, ptr @.str11187 }, { ptr, ptr } { ptr @.str11188, ptr @.str11189 }, { ptr, ptr } { ptr @.str11190, ptr @.str11191 }, { ptr, ptr } { ptr @.str11192, ptr @.str11193 }, { ptr, ptr } { ptr @.str11194, ptr @.str11195 }, { ptr, ptr } { ptr @.str11196, ptr @.str11197 }, { ptr, ptr } { ptr @.str11198, ptr @.str11199 }, { ptr, ptr } { ptr @.str11200, ptr @.str11201 }, { ptr, ptr } { ptr @.str11202, ptr @.str11203 }] define ptr @lp_mime_of(ptr %path) { entry: %ext = call ptr @lp_path_ext(ptr %path) @@ -12218,7 +12222,7 @@ nx: store i32 %i1, ptr %ip br label %lp def: - %d = call ptr @lp_fs_strdup(ptr @.str11200) + %d = call ptr @lp_fs_strdup(ptr @.str11204) ret ptr %d } define ptr @lp_mime_lc(ptr %s) { @@ -110095,21 +110099,23 @@ entry: %t125 = alloca i32 %t135 = alloca i32 %t144 = alloca i32 - %t169 = alloca i32 - %t198 = alloca i32 - %t199 = alloca i32 - %t218 = alloca ptr - %t228 = alloca ptr + %t167 = alloca i32 + %t196 = alloca i32 + %t197 = alloca i32 + %t216 = alloca ptr + %t226 = alloca ptr + %t233 = alloca ptr %t235 = alloca ptr - %t237 = alloca ptr - %t242 = alloca ptr - %t247 = alloca ptr - %t257 = alloca ptr - %t267 = alloca ptr + %t240 = alloca ptr + %t245 = alloca ptr + %t255 = alloca ptr + %t265 = alloca ptr %t277 = alloca ptr %t280 = alloca ptr - %t295 = alloca i32 - %t316 = alloca i32 + %t291 = alloca ptr + %t294 = alloca ptr + %t309 = alloca i32 + %t330 = alloca i32 store i32 %argc, ptr @L_argc store ptr %argv, ptr @L_argv store i32 0, ptr %retval @@ -110455,257 +110461,273 @@ then76: call void @fn_die(ptr @.str11122) br label %ifend78 ifend78: - %t165 = load i32, ptr @g_g_uses_gl + %t165 = load i32, ptr @g_g_uses_http %t166 = icmp ne i32 %t165, 0 br i1 %t166, label %then79, label %ifend81 then79: call void @fn_die(ptr @.str11123) br label %ifend81 ifend81: - %t167 = load i32, ptr @g_g_uses_http - %t168 = icmp ne i32 %t167, 0 - br i1 %t168, label %then82, label %ifend84 -then82: - call void @fn_die(ptr @.str11124) - br label %ifend84 -ifend84: br label %ifend75 ifend75: - %t170 = load i32, ptr %t6 - %t171 = icmp ne i32 %t170, 0 - %t172 = zext i1 %t171 to i32 - store i32 %t172, ptr %t169 - br i1 %t171, label %sc85, label %scend86 -sc85: - %t173 = load ptr, ptr %t1 - %t174 = icmp eq ptr %t173, null + %t168 = load i32, ptr %t6 + %t169 = icmp ne i32 %t168, 0 + %t170 = zext i1 %t169 to i32 + store i32 %t170, ptr %t167 + br i1 %t169, label %sc82, label %scend83 +sc82: + %t171 = load ptr, ptr %t1 + %t172 = icmp eq ptr %t171, null + %t173 = zext i1 %t172 to i32 + %t174 = icmp ne i32 %t173, 0 %t175 = zext i1 %t174 to i32 - %t176 = icmp ne i32 %t175, 0 - %t177 = zext i1 %t176 to i32 - store i32 %t177, ptr %t169 - br label %scend86 -scend86: - %t178 = load i32, ptr %t169 + store i32 %t175, ptr %t167 + br label %scend83 +scend83: + %t176 = load i32, ptr %t167 + %t177 = icmp ne i32 %t176, 0 + br i1 %t177, label %then84, label %ifend86 +then84: + %t178 = call i32 @fn_host_is_windows() %t179 = icmp ne i32 %t178, 0 - br i1 %t179, label %then87, label %ifend89 + br i1 %t179, label %then87, label %else88 then87: - %t180 = call i32 @fn_host_is_windows() - %t181 = icmp ne i32 %t180, 0 - br i1 %t181, label %then90, label %else91 -then90: - %t182 = call ptr @fn_getenv_or(ptr @.str11125, ptr @.str11126) - %t183 = call ptr @fn_fwd_slashes(ptr %t182) - %t184 = call ptr @lp_str_concat(ptr %t183, ptr @.str11127) - %t185 = load ptr, ptr %t0 - %t186 = call ptr @fn_base_name(ptr %t185) - %t187 = call ptr @fn_strip_ludic(ptr %t186) - %t188 = call ptr @lp_str_concat(ptr %t184, ptr %t187) - store ptr %t188, ptr %t1 - br label %ifend92 -else91: - %t189 = load ptr, ptr %t0 - %t190 = call ptr @fn_base_name(ptr %t189) - %t191 = call ptr @fn_strip_ludic(ptr %t190) - %t192 = call ptr @lp_str_concat(ptr @.str11128, ptr %t191) - store ptr %t192, ptr %t1 - br label %ifend92 -ifend92: + %t180 = call ptr @fn_getenv_or(ptr @.str11124, ptr @.str11125) + %t181 = call ptr @fn_fwd_slashes(ptr %t180) + %t182 = call ptr @lp_str_concat(ptr %t181, ptr @.str11126) + %t183 = load ptr, ptr %t0 + %t184 = call ptr @fn_base_name(ptr %t183) + %t185 = call ptr @fn_strip_ludic(ptr %t184) + %t186 = call ptr @lp_str_concat(ptr %t182, ptr %t185) + store ptr %t186, ptr %t1 + br label %ifend89 +else88: + %t187 = load ptr, ptr %t0 + %t188 = call ptr @fn_base_name(ptr %t187) + %t189 = call ptr @fn_strip_ludic(ptr %t188) + %t190 = call ptr @lp_str_concat(ptr @.str11127, ptr %t189) + store ptr %t190, ptr %t1 br label %ifend89 ifend89: - %t193 = load i32, ptr @g_g_target_win - %t194 = icmp ne i32 %t193, 0 - br i1 %t194, label %then93, label %ifend95 + br label %ifend86 +ifend86: + %t191 = load i32, ptr @g_g_target_win + %t192 = icmp ne i32 %t191, 0 + br i1 %t192, label %then90, label %ifend92 +then90: + %t193 = load ptr, ptr %t1 + %t194 = call i64 @strlen(ptr %t193) + %t195 = trunc i64 %t194 to i32 + store i32 %t195, ptr %t196 + store i32 0, ptr %t197 + %t198 = load i32, ptr %t196 + %t199 = icmp sge i32 %t198, 4 + %t200 = zext i1 %t199 to i32 + %t201 = icmp ne i32 %t200, 0 + br i1 %t201, label %then93, label %ifend95 then93: - %t195 = load ptr, ptr %t1 - %t196 = call i64 @strlen(ptr %t195) - %t197 = trunc i64 %t196 to i32 - store i32 %t197, ptr %t198 - store i32 0, ptr %t199 - %t200 = load i32, ptr %t198 - %t201 = icmp sge i32 %t200, 4 - %t202 = zext i1 %t201 to i32 - %t203 = icmp ne i32 %t202, 0 - br i1 %t203, label %then96, label %ifend98 -then96: - %t204 = load ptr, ptr %t1 - %t205 = load i32, ptr %t198 - %t206 = sub i32 %t205, 4 - %t207 = load i32, ptr %t198 - %t208 = call ptr @lp_str_slice(ptr %t204, i32 %t206, i32 %t207) - %t209 = call i32 @lp_str_eq(ptr %t208, ptr @.str11129) - store i32 %t209, ptr %t199 - br label %ifend98 -ifend98: - %t210 = load i32, ptr %t199 - %t211 = icmp eq i32 %t210, 0 - %t212 = zext i1 %t211 to i32 - %t213 = icmp ne i32 %t212, 0 - br i1 %t213, label %then99, label %ifend101 -then99: - %t214 = load ptr, ptr %t1 - %t215 = call ptr @lp_str_concat(ptr %t214, ptr @.str11130) - store ptr %t215, ptr %t1 - br label %ifend101 -ifend101: + %t202 = load ptr, ptr %t1 + %t203 = load i32, ptr %t196 + %t204 = sub i32 %t203, 4 + %t205 = load i32, ptr %t196 + %t206 = call ptr @lp_str_slice(ptr %t202, i32 %t204, i32 %t205) + %t207 = call i32 @lp_str_eq(ptr %t206, ptr @.str11128) + store i32 %t207, ptr %t197 br label %ifend95 ifend95: - %t216 = load ptr, ptr %t1 - %t217 = call ptr @fn_dir_of(ptr %t216) - store ptr %t217, ptr %t218 - %t219 = load ptr, ptr %t218 - %t220 = call i64 @strlen(ptr %t219) - %t221 = trunc i64 %t220 to i32 - %t222 = icmp sgt i32 %t221, 0 - %t223 = zext i1 %t222 to i32 - %t224 = icmp ne i32 %t223, 0 - br i1 %t224, label %then102, label %ifend104 + %t208 = load i32, ptr %t197 + %t209 = icmp eq i32 %t208, 0 + %t210 = zext i1 %t209 to i32 + %t211 = icmp ne i32 %t210, 0 + br i1 %t211, label %then96, label %ifend98 +then96: + %t212 = load ptr, ptr %t1 + %t213 = call ptr @lp_str_concat(ptr %t212, ptr @.str11129) + store ptr %t213, ptr %t1 + br label %ifend98 +ifend98: + br label %ifend92 +ifend92: + %t214 = load ptr, ptr %t1 + %t215 = call ptr @fn_dir_of(ptr %t214) + store ptr %t215, ptr %t216 + %t217 = load ptr, ptr %t216 + %t218 = call i64 @strlen(ptr %t217) + %t219 = trunc i64 %t218 to i32 + %t220 = icmp sgt i32 %t219, 0 + %t221 = zext i1 %t220 to i32 + %t222 = icmp ne i32 %t221, 0 + br i1 %t222, label %then99, label %ifend101 +then99: + %t223 = load ptr, ptr %t216 + call void @fn_make_dir(ptr %t223) + br label %ifend101 +ifend101: + %t224 = load ptr, ptr %t1 + %t225 = call ptr @lp_str_concat(ptr %t224, ptr @.str11130) + store ptr %t225, ptr %t226 + %t227 = load ptr, ptr %t226 + %t228 = call i32 @fn_ir_flush(ptr %t227) + %t229 = icmp eq i32 %t228, 0 + %t230 = zext i1 %t229 to i32 + %t231 = icmp ne i32 %t230, 0 + br i1 %t231, label %then102, label %ifend104 then102: - %t225 = load ptr, ptr %t218 - call void @fn_make_dir(ptr %t225) + call void @fn_die(ptr @.str11131) br label %ifend104 ifend104: - %t226 = load ptr, ptr %t1 - %t227 = call ptr @lp_str_concat(ptr %t226, ptr @.str11131) - store ptr %t227, ptr %t228 - %t229 = load ptr, ptr %t228 - %t230 = call i32 @fn_ir_flush(ptr %t229) - %t231 = icmp eq i32 %t230, 0 - %t232 = zext i1 %t231 to i32 - %t233 = icmp ne i32 %t232, 0 - br i1 %t233, label %then105, label %ifend107 -then105: - call void @fn_die(ptr @.str11132) - br label %ifend107 -ifend107: - %t234 = call ptr @fn_find_cc() + %t232 = call ptr @fn_find_cc() + store ptr %t232, ptr %t233 + %t234 = call ptr @fn_ludic_home() store ptr %t234, ptr %t235 - %t236 = call ptr @fn_ludic_home() - store ptr %t236, ptr %t237 - %t238 = load ptr, ptr %t235 - %t239 = call ptr @lp_str_concat(ptr %t238, ptr @.str11133) - %t240 = load ptr, ptr %t228 - %t241 = call ptr @lp_str_concat(ptr %t239, ptr %t240) - store ptr %t241, ptr %t242 - %t243 = load i32, ptr @g_g_windowed - %t244 = icmp ne i32 %t243, 0 - br i1 %t244, label %then108, label %ifend110 + %t236 = load ptr, ptr %t233 + %t237 = call ptr @lp_str_concat(ptr %t236, ptr @.str11132) + %t238 = load ptr, ptr %t226 + %t239 = call ptr @lp_str_concat(ptr %t237, ptr %t238) + store ptr %t239, ptr %t240 + %t241 = load i32, ptr @g_g_windowed + %t242 = icmp ne i32 %t241, 0 + br i1 %t242, label %then105, label %ifend107 +then105: + %t243 = load ptr, ptr %t235 + %t244 = call ptr @fn_join_path(ptr %t243, ptr @.str11133) + store ptr %t244, ptr %t245 + %t246 = load ptr, ptr %t240 + %t247 = call ptr @lp_str_concat(ptr %t246, ptr @.str11134) + %t248 = load ptr, ptr %t245 + %t249 = call ptr @lp_str_concat(ptr %t247, ptr %t248) + %t250 = call ptr @lp_str_concat(ptr %t249, ptr @.str11135) + store ptr %t250, ptr %t240 + %t251 = load i32, ptr @g_g_uses_audio + %t252 = icmp ne i32 %t251, 0 + br i1 %t252, label %then108, label %ifend110 then108: - %t245 = load ptr, ptr %t237 - %t246 = call ptr @fn_join_path(ptr %t245, ptr @.str11134) - store ptr %t246, ptr %t247 - %t248 = load ptr, ptr %t242 - %t249 = call ptr @lp_str_concat(ptr %t248, ptr @.str11135) - %t250 = load ptr, ptr %t247 - %t251 = call ptr @lp_str_concat(ptr %t249, ptr %t250) - %t252 = call ptr @lp_str_concat(ptr %t251, ptr @.str11136) - store ptr %t252, ptr %t242 - %t253 = load i32, ptr @g_g_uses_audio - %t254 = icmp ne i32 %t253, 0 - br i1 %t254, label %then111, label %ifend113 -then111: - %t255 = load ptr, ptr %t237 - %t256 = call ptr @fn_join_path(ptr %t255, ptr @.str11137) - store ptr %t256, ptr %t257 - %t258 = load ptr, ptr %t242 - %t259 = call ptr @lp_str_concat(ptr %t258, ptr @.str11138) - %t260 = load ptr, ptr %t257 - %t261 = call ptr @lp_str_concat(ptr %t259, ptr %t260) - %t262 = call ptr @lp_str_concat(ptr %t261, ptr @.str11139) - store ptr %t262, ptr %t242 - br label %ifend113 -ifend113: + %t253 = load ptr, ptr %t235 + %t254 = call ptr @fn_join_path(ptr %t253, ptr @.str11136) + store ptr %t254, ptr %t255 + %t256 = load ptr, ptr %t240 + %t257 = call ptr @lp_str_concat(ptr %t256, ptr @.str11137) + %t258 = load ptr, ptr %t255 + %t259 = call ptr @lp_str_concat(ptr %t257, ptr %t258) + %t260 = call ptr @lp_str_concat(ptr %t259, ptr @.str11138) + store ptr %t260, ptr %t240 br label %ifend110 ifend110: - %t263 = load i32, ptr @g_g_uses_http - %t264 = icmp ne i32 %t263, 0 - br i1 %t264, label %then114, label %ifend116 + br label %ifend107 +ifend107: + %t261 = load i32, ptr @g_g_uses_http + %t262 = icmp ne i32 %t261, 0 + br i1 %t262, label %then111, label %ifend113 +then111: + %t263 = load ptr, ptr %t235 + %t264 = call ptr @fn_join_path(ptr %t263, ptr @.str11139) + store ptr %t264, ptr %t265 + %t266 = load ptr, ptr %t240 + %t267 = call ptr @lp_str_concat(ptr %t266, ptr @.str11140) + %t268 = load ptr, ptr %t265 + %t269 = call ptr @lp_str_concat(ptr %t267, ptr %t268) + %t270 = call ptr @lp_str_concat(ptr %t269, ptr @.str11141) + store ptr %t270, ptr %t240 + br label %ifend113 +ifend113: + %t271 = load i32, ptr @g_g_uses_gl + %t272 = icmp ne i32 %t271, 0 + br i1 %t272, label %then114, label %ifend116 then114: - %t265 = load ptr, ptr %t237 - %t266 = call ptr @fn_join_path(ptr %t265, ptr @.str11140) - store ptr %t266, ptr %t267 - %t268 = load ptr, ptr %t242 - %t269 = call ptr @lp_str_concat(ptr %t268, ptr @.str11141) - %t270 = load ptr, ptr %t267 - %t271 = call ptr @lp_str_concat(ptr %t269, ptr %t270) - %t272 = call ptr @lp_str_concat(ptr %t271, ptr @.str11142) - store ptr %t272, ptr %t242 - br label %ifend116 -ifend116: - %t273 = load i32, ptr @g_g_uses_gl + %t273 = load i32, ptr @g_g_target_win %t274 = icmp ne i32 %t273, 0 - br i1 %t274, label %then117, label %ifend119 + br i1 %t274, label %then117, label %else118 then117: - %t275 = load ptr, ptr %t237 - %t276 = call ptr @fn_join_path(ptr %t275, ptr @.str11143) + %t275 = load ptr, ptr %t235 + %t276 = call ptr @fn_join_path(ptr %t275, ptr @.str11142) store ptr %t276, ptr %t277 - %t278 = load ptr, ptr %t237 - %t279 = call ptr @fn_join_path(ptr %t278, ptr @.str11144) + %t278 = load ptr, ptr %t235 + %t279 = call ptr @fn_join_path(ptr %t278, ptr @.str11143) store ptr %t279, ptr %t280 - %t281 = load ptr, ptr %t242 - %t282 = call ptr @lp_str_concat(ptr %t281, ptr @.str11145) + %t281 = load ptr, ptr %t240 + %t282 = call ptr @lp_str_concat(ptr %t281, ptr @.str11144) %t283 = load ptr, ptr %t277 %t284 = call ptr @lp_str_concat(ptr %t282, ptr %t283) - %t285 = call ptr @lp_str_concat(ptr %t284, ptr @.str11146) + %t285 = call ptr @lp_str_concat(ptr %t284, ptr @.str11145) %t286 = load ptr, ptr %t280 %t287 = call ptr @lp_str_concat(ptr %t285, ptr %t286) - %t288 = call ptr @lp_str_concat(ptr %t287, ptr @.str11147) - store ptr %t288, ptr %t242 + %t288 = call ptr @lp_str_concat(ptr %t287, ptr @.str11146) + store ptr %t288, ptr %t240 + br label %ifend119 +else118: + %t289 = load ptr, ptr %t235 + %t290 = call ptr @fn_join_path(ptr %t289, ptr @.str11147) + store ptr %t290, ptr %t291 + %t292 = load ptr, ptr %t235 + %t293 = call ptr @fn_join_path(ptr %t292, ptr @.str11148) + store ptr %t293, ptr %t294 + %t295 = load ptr, ptr %t240 + %t296 = call ptr @lp_str_concat(ptr %t295, ptr @.str11149) + %t297 = load ptr, ptr %t291 + %t298 = call ptr @lp_str_concat(ptr %t296, ptr %t297) + %t299 = call ptr @lp_str_concat(ptr %t298, ptr @.str11150) + %t300 = load ptr, ptr %t294 + %t301 = call ptr @lp_str_concat(ptr %t299, ptr %t300) + %t302 = call ptr @lp_str_concat(ptr %t301, ptr @.str11151) + store ptr %t302, ptr %t240 br label %ifend119 ifend119: - %t289 = load ptr, ptr %t242 - %t290 = call ptr @lp_str_concat(ptr %t289, ptr @.str11148) - %t291 = load ptr, ptr %t1 - %t292 = call ptr @lp_str_concat(ptr %t290, ptr %t291) - store ptr %t292, ptr %t242 - %t293 = load ptr, ptr %t242 - %t294 = call i32 @system(ptr %t293) - store i32 %t294, ptr %t295 - %t296 = load i32, ptr %t5 - %t297 = icmp eq i32 %t296, 0 - %t298 = zext i1 %t297 to i32 - %t299 = icmp ne i32 %t298, 0 - br i1 %t299, label %then120, label %ifend122 + br label %ifend116 +ifend116: + %t303 = load ptr, ptr %t240 + %t304 = call ptr @lp_str_concat(ptr %t303, ptr @.str11152) + %t305 = load ptr, ptr %t1 + %t306 = call ptr @lp_str_concat(ptr %t304, ptr %t305) + store ptr %t306, ptr %t240 + %t307 = load ptr, ptr %t240 + %t308 = call i32 @system(ptr %t307) + store i32 %t308, ptr %t309 + %t310 = load i32, ptr %t5 + %t311 = icmp eq i32 %t310, 0 + %t312 = zext i1 %t311 to i32 + %t313 = icmp ne i32 %t312, 0 + br i1 %t313, label %then120, label %ifend122 then120: - %t300 = load ptr, ptr %t228 - call void @fn_remove_file(ptr %t300) + %t314 = load ptr, ptr %t226 + call void @fn_remove_file(ptr %t314) br label %ifend122 ifend122: - %t301 = load i32, ptr %t295 - %t302 = icmp ne i32 %t301, 0 - %t303 = zext i1 %t302 to i32 - %t304 = icmp ne i32 %t303, 0 - br i1 %t304, label %then123, label %ifend125 + %t315 = load i32, ptr %t309 + %t316 = icmp ne i32 %t315, 0 + %t317 = zext i1 %t316 to i32 + %t318 = icmp ne i32 %t317, 0 + br i1 %t318, label %then123, label %ifend125 then123: - call void @fn_die(ptr @.str11149) + call void @fn_die(ptr @.str11153) br label %ifend125 ifend125: - %t305 = load i32, ptr %t6 - %t306 = icmp ne i32 %t305, 0 - br i1 %t306, label %then126, label %ifend128 + %t319 = load i32, ptr %t6 + %t320 = icmp ne i32 %t319, 0 + br i1 %t320, label %then126, label %ifend128 then126: - %t307 = call i32 @fn_host_is_windows() - %t308 = icmp ne i32 %t307, 0 - br i1 %t308, label %then129, label %ifend131 + %t321 = call i32 @fn_host_is_windows() + %t322 = icmp ne i32 %t321, 0 + br i1 %t322, label %then129, label %ifend131 then129: - %t309 = load ptr, ptr %t1 - %t310 = call ptr @fn_win_path(ptr %t309) - %t311 = call ptr @lp_str_concat(ptr @.str11150, ptr %t310) - %t312 = call ptr @lp_str_concat(ptr %t311, ptr @.str11151) - %t313 = call i32 @system(ptr %t312) - call void @exit(i32 %t313) + %t323 = load ptr, ptr %t1 + %t324 = call ptr @fn_win_path(ptr %t323) + %t325 = call ptr @lp_str_concat(ptr @.str11154, ptr %t324) + %t326 = call ptr @lp_str_concat(ptr %t325, ptr @.str11155) + %t327 = call i32 @system(ptr %t326) + call void @exit(i32 %t327) unreachable ifend131: - %t314 = load ptr, ptr %t1 - %t315 = call i32 @system(ptr %t314) - store i32 %t315, ptr %t316 - %t317 = load i32, ptr %t316 - %t318 = lshr i32 %t317, 8 - %t319 = and i32 %t318, 255 - call void @exit(i32 %t319) + %t328 = load ptr, ptr %t1 + %t329 = call i32 @system(ptr %t328) + store i32 %t329, ptr %t330 + %t331 = load i32, ptr %t330 + %t332 = lshr i32 %t331, 8 + %t333 = and i32 %t332, 255 + call void @exit(i32 %t333) unreachable ifend128: br label %ret ret: - %t320 = load i32, ptr %retval - ret i32 %t320 + %t334 = load i32, ptr %retval + ret i32 %t334 } diff --git a/selfhost/main.ludic b/selfhost/main.ludic index 35114584..9546fe70 100644 --- a/selfhost/main.ludic +++ b/selfhost/main.ludic @@ -204,7 +204,6 @@ entry { # would fail on a hundred Objective-C symbols rather than say so. if g_target_win { if g_windowed { die("ludicc: a windowed build is not available on Windows yet; build with --headless\n") } - if g_uses_gl { die("ludicc: Gl.* is not available on Windows yet\n") } if g_uses_http { die("ludicc: Http.* is not available on Windows yet\n") } } @@ -261,10 +260,18 @@ entry { } # Gl.* links the OpenGL backend: gl.ll (offscreen contexts, float helpers), the # generated per-entry-point ABI thunks, and OpenGL.framework. Windowed or not. + # On Windows the same pair is gl_win.ll (a WGL context) and gl_thunks_win.ll (the + # thunks through a table wglGetProcAddress fills), against opengl32/gdi32/user32. if g_uses_gl { - let gl = join_path(home, "runtime/native/gl.ll") - let glt = join_path(home, "runtime/native/gl_thunks.ll") - cmd = `{cmd} {gl} {glt} -framework OpenGL` + if g_target_win { + let glw = join_path(home, "runtime/native/gl_win.ll") + let gltw = join_path(home, "runtime/native/gl_thunks_win.ll") + cmd = `{cmd} {glw} {gltw} -luser32 -lgdi32 -lopengl32` + } else { + let gl = join_path(home, "runtime/native/gl.ll") + let glt = join_path(home, "runtime/native/gl_thunks.ll") + cmd = `{cmd} {gl} {glt} -framework OpenGL` + } } cmd = `{cmd} -o {out}` diff --git a/tools/ludic-cli/glgen.ludic b/tools/ludic-cli/glgen.ludic index f8e08dcd..c44e8e5d 100644 --- a/tools/ludic-cli/glgen.ludic +++ b/tools/ludic-cli/glgen.ludic @@ -530,13 +530,138 @@ function cmd_glgen() -> int { var api_out = "runtime/native/gl_api.ludic" var thunk_out = "runtime/native/gl_thunks.ll" - if check { api_out = tmp_path("gl_api.ludic"); thunk_out = tmp_path("gl_thunks.ll") } + var win_out = "runtime/native/gl_thunks_win.ll" + if check { api_out = tmp_path("gl_api.ludic"); thunk_out = tmp_path("gl_thunks.ll"); win_out = tmp_path("gl_thunks_win.ll") } if not glg_emit_ludic(api_out) { err("glgen: cannot write gl_api.ludic\n"); return 1 } if not glg_emit_thunks(thunk_out) { err("glgen: cannot write gl_thunks.ll\n"); return 1 } + if not glg_emit_thunks_win(win_out) { err("glgen: cannot write gl_thunks_win.ll\n"); return 1 } if check { if not shq(`cmp -s {api_out} runtime/native/gl_api.ludic`) { err("gl_api.ludic drifted from gl3.h (run: ludic-dev glgen)\n"); return 1 } if not shq(`cmp -s {thunk_out} runtime/native/gl_thunks.ll`) { err("gl_thunks.ll drifted from gl3.h (run: ludic-dev glgen)\n"); return 1 } + if not shq(`cmp -s {win_out} runtime/native/gl_thunks_win.ll`) { err("gl_thunks_win.ll drifted from gl3.h (run: ludic-dev glgen)\n"); return 1 } } print(`OK {string(len(glg_cname))} constants, {string(len(glg_fname))} entry points`) return 0 } + +# ---- emit gl_thunks_win.ll -------------------------------------------------- +# The Windows thunks. Same Ludic ABI and the same conversions as gl_thunks.ll, but +# no thunk names a gl* symbol: opengl32.dll exports only OpenGL 1.1, and every later +# entry point belongs to the driver, reachable only through wglGetProcAddress while +# a context is current. So each thunk calls through @lgl_p_, and +# @lgl_win_load (called by gl_win.ll once its 4.1 core context is current) fills +# the table - from the driver first, then from opengl32.dll for the 1.1 functions, +# which wglGetProcAddress does not return. +function glg_emit_thunks_win(path: pointer) -> bool { + let b = sb_new() + sb_puts(b, "; ============================================================================\n") + sb_puts(b, "; gl_thunks_win.ll — one thunk per OpenGL 4.1 core entry point, for Windows.\n") + sb_puts(b, "; GENERATED by `ludic-dev glgen` from gl3.h. The thunks of gl_thunks.ll, calling\n") + sb_puts(b, "; through @lgl_p_* pointers that @lgl_win_load fills from the current context.\n") + sb_puts(b, "; ============================================================================\n") + sb_puts(b, "\n") + sb_puts(b, "declare ptr @wglGetProcAddress(ptr)\n") + sb_puts(b, "declare ptr @LoadLibraryA(ptr)\n") + sb_puts(b, "declare ptr @GetProcAddress(ptr, ptr)\n") + sb_puts(b, "@.lgl_dll = private unnamed_addr constant [13 x i8] c\"opengl32.dll\\00\"\n") + var i = 0 + while i < len(glg_fname) { + let nm = glg_fname[i] + sb_puts(b, `@lgl_p_{nm} = internal global ptr null\n`) + sb_puts(b, `@.lgl_n_{nm} = private unnamed_addr constant [{string(len(nm) + 3)} x i8] c"gl{nm}\\00"\n`) + i += 1 + } + sb_puts(b, "\n") + i = 0 + while i < len(glg_fname) { + let cret = glg_ir_ty(glg_frbase[i], glg_frstar[i]) + let lret = glg_abi_ty(cret) + let sig = sb_new() + let body = sb_new() + let call = sb_new() + var p = 0 + while p < glg_fpcnt[i] { + let ix = glg_fpoff[i] + p + let ct = glg_ir_ty(glg_ppbase[ix], glg_ppstar[ix]) + let lt = glg_abi_ty(ct) + if p > 0 { sb_puts(sig, ", "); sb_puts(call, ", ") } + sb_puts(sig, `{lt} %a{string(p)}`) + if ct == lt { + sb_puts(call, `{ct} %a{string(p)}`) + } else { + if ct == "i8" or ct == "i16" { + sb_puts(body, ` %c{string(p)} = trunc i32 %a{string(p)} to {ct}\n`) + sb_puts(call, `{ct} %c{string(p)}`) + } else { + sb_puts(body, ` %f{string(p)} = sitofp i32 %a{string(p)} to {ct}\n`) + sb_puts(body, ` %c{string(p)} = fmul {ct} %f{string(p)}, 0x3EF0000000000000\n`) + sb_puts(call, `{ct} %c{string(p)}`) + } + } + p += 1 + } + sb_puts(b, `define {lret} @lgl_{glg_fname[i]}({sb_str(sig)}) `) + sb_puts(b, "{\n") + sb_puts(b, "entry:\n") + sb_puts(b, ` %fp = load ptr, ptr @lgl_p_{glg_fname[i]}\n`) + sb_puts(b, sb_str(body)) + let invoke = `call {cret} %fp({sb_str(call)})` + if cret == "void" { + sb_puts(b, ` {invoke}\n`) + sb_puts(b, " ret void\n") + } else { + if cret == lret { + sb_puts(b, ` %r = {invoke}\n`) + sb_puts(b, ` ret {lret} %r\n`) + } else { + if cret == "i8" or cret == "i16" { + sb_puts(b, ` %r = {invoke}\n`) + sb_puts(b, ` %z = zext {cret} %r to i32\n`) + sb_puts(b, " ret i32 %z\n") + } else { + sb_puts(b, ` %r = {invoke}\n`) + sb_puts(b, ` %m = fmul {cret} %r, 65536.0\n`) + sb_puts(b, ` %z = fptosi {cret} %m to i32\n`) + sb_puts(b, " ret i32 %z\n") + } + } + } + sb_puts(b, "}\n") + i += 1 + } + + # the loader: wglGetProcAddress returns 0, 1, 2, 3 or -1 for a name it does not + # know (drivers differ), and never answers for a 1.1 function; both fall back to + # opengl32.dll's own export. Returns how many names are still unresolved. + sb_puts(b, "\ndefine i32 @lgl_win_load() {\n") + sb_puts(b, "entry:\n %dll = call ptr @LoadLibraryA(ptr @.lgl_dll)\n br label %f0\n") + i = 0 + while i < len(glg_fname) { + let nm = glg_fname[i] + let k = string(i) + sb_puts(b, `f{k}:\n %m{k} = phi i32 [ {glg_load_in(i)} ]\n`) + sb_puts(b, ` %w{k} = call ptr @wglGetProcAddress(ptr @.lgl_n_{nm})\n`) + sb_puts(b, ` %wi{k} = ptrtoint ptr %w{k} to i64\n %wa{k} = add i64 %wi{k}, 1\n %bad{k} = icmp ult i64 %wa{k}, 5\n`) + sb_puts(b, ` br i1 %bad{k}, label %g{k}, label %s{k}\n`) + sb_puts(b, `g{k}:\n %e{k} = call ptr @GetProcAddress(ptr %dll, ptr @.lgl_n_{nm})\n br label %s{k}\n`) + sb_puts(b, `s{k}:\n %p{k} = phi ptr [ %w{k}, %f{k} ], [ %e{k}, %g{k} ]\n store ptr %p{k}, ptr @lgl_p_{nm}\n`) + sb_puts(b, ` %u{k} = icmp eq ptr %p{k}, null\n %ui{k} = zext i1 %u{k} to i32\n %m{string(i + 1)}x = add i32 %m{k}, %ui{k}\n`) + sb_puts(b, ` br label %f{string(i + 1)}\n`) + i += 1 + } + let n = string(len(glg_fname)) + sb_puts(b, `f{n}:\n %m{n} = phi i32 [ %m{n}x, %s{glg_prev_idx(len(glg_fname))} ]\n ret i32 %m{n}\n`) + sb_puts(b, "}\n") + return write_file(path, sb_str(b)) +} + +# the loader's blocks: f0 is entered only from `entry` with a count of 0, every +# later fN only from s(N-1), carrying the count that block computed +function glg_load_in(i: int) -> pointer { + if i == 0 { return "0, %entry" } + return `%m{string(i)}x, %s{string(i - 1)}` +} +function glg_prev_idx(i: int) -> pointer { + if i == 0 { return "0" } + return string(i - 1) +}