#include #define PRINT_STUB_ERROR printf("\n!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\nERROR: %s from stub libGLESv2.so library called! This library can be used to resolve OpenGL ES symbols at compile time but must *not* be in your runtime path (You need to use a real OpenGL ES implementation, this one is empty)\n!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n", __func__) void glActiveTexture(void) { PRINT_STUB_ERROR; return; } void glAttachShader(void) { PRINT_STUB_ERROR; return; } void glBindAttribLocation(void) { PRINT_STUB_ERROR; return; } void glBindBuffer(void) { PRINT_STUB_ERROR; return; } void glBindFramebuffer(void) { PRINT_STUB_ERROR; return; } void glBindRenderbuffer(void) { PRINT_STUB_ERROR; return; } void glBindTexture(void) { PRINT_STUB_ERROR; return; } void glBlendColor(void) { PRINT_STUB_ERROR; return; } void glBlendEquation(void) { PRINT_STUB_ERROR; return; } void glBlendEquationSeparate(void) { PRINT_STUB_ERROR; return; } void glBlendFunc(void) { PRINT_STUB_ERROR; return; } void glBlendFuncSeparate(void) { PRINT_STUB_ERROR; return; } void glBufferData(void) { PRINT_STUB_ERROR; return; } void glBufferSubData(void) { PRINT_STUB_ERROR; return; } void glCheckFramebufferStatus(void) { PRINT_STUB_ERROR; return; } void glClear(void) { PRINT_STUB_ERROR; return; } void glClearColor(void) { PRINT_STUB_ERROR; return; } void glClearDepthf(void) { PRINT_STUB_ERROR; return; } void glClearStencil(void) { PRINT_STUB_ERROR; return; } void glColorMask(void) { PRINT_STUB_ERROR; return; } void glCompileShader(void) { PRINT_STUB_ERROR; return; } void glCompressedTexImage2D(void) { PRINT_STUB_ERROR; return; } void glCompressedTexSubImage2D(void) { PRINT_STUB_ERROR; return; } void glCopyTexImage2D(void) { PRINT_STUB_ERROR; return; } void glCopyTexSubImage2D(void) { PRINT_STUB_ERROR; return; } void glCreateProgram(void) { PRINT_STUB_ERROR; return; } void glCreateShader(void) { PRINT_STUB_ERROR; return; } void glCullFace(void) { PRINT_STUB_ERROR; return; } void glDeleteBuffers(void) { PRINT_STUB_ERROR; return; } void glDeleteFramebuffers(void) { PRINT_STUB_ERROR; return; } void glDeleteProgram(void) { PRINT_STUB_ERROR; return; } void glDeleteRenderbuffers(void) { PRINT_STUB_ERROR; return; } void glDeleteShader(void) { PRINT_STUB_ERROR; return; } void glDeleteTextures(void) { PRINT_STUB_ERROR; return; } void glDepthFunc(void) { PRINT_STUB_ERROR; return; } void glDepthMask(void) { PRINT_STUB_ERROR; return; } void glDepthRangef(void) { PRINT_STUB_ERROR; return; } void glDetachShader(void) { PRINT_STUB_ERROR; return; } void glDisable(void) { PRINT_STUB_ERROR; return; } void glDisableVertexAttribArray(void) { PRINT_STUB_ERROR; return; } void glDrawArrays(void) { PRINT_STUB_ERROR; return; } void glDrawElements(void) { PRINT_STUB_ERROR; return; } void glEnable(void) { PRINT_STUB_ERROR; return; } void glEnableVertexAttribArray(void) { PRINT_STUB_ERROR; return; } void glFinish(void) { PRINT_STUB_ERROR; return; } void glFlush(void) { PRINT_STUB_ERROR; return; } void glFramebufferRenderbuffer(void) { PRINT_STUB_ERROR; return; } void glFramebufferTexture2D(void) { PRINT_STUB_ERROR; return; } void glFrontFace(void) { PRINT_STUB_ERROR; return; } void glGenBuffers(void) { PRINT_STUB_ERROR; return; } void glGenerateMipmap(void) { PRINT_STUB_ERROR; return; } void glGenFramebuffers(void) { PRINT_STUB_ERROR; return; } void glGenRenderbuffers(void) { PRINT_STUB_ERROR; return; } void glGenTextures(void) { PRINT_STUB_ERROR; return; } void glGetActiveAttrib(void) { PRINT_STUB_ERROR; return; } void glGetActiveUniform(void) { PRINT_STUB_ERROR; return; } void glGetAttachedShaders(void) { PRINT_STUB_ERROR; return; } void glGetAttribLocation(void) { PRINT_STUB_ERROR; return; } void glGetBooleanv(void) { PRINT_STUB_ERROR; return; } void glGetBufferParameteriv(void) { PRINT_STUB_ERROR; return; } void glGetError(void) { PRINT_STUB_ERROR; return; } void glGetFloatv(void) { PRINT_STUB_ERROR; return; } void glGetFramebufferAttachmentParameteriv(void) { PRINT_STUB_ERROR; return; } void glGetIntegerv(void) { PRINT_STUB_ERROR; return; } void glGetProgramiv(void) { PRINT_STUB_ERROR; return; } void glGetProgramInfoLog(void) { PRINT_STUB_ERROR; return; } void glGetRenderbufferParameteriv(void) { PRINT_STUB_ERROR; return; } void glGetShaderiv(void) { PRINT_STUB_ERROR; return; } void glGetShaderInfoLog(void) { PRINT_STUB_ERROR; return; } void glGetShaderPrecisionFormat(void) { PRINT_STUB_ERROR; return; } void glGetShaderSource(void) { PRINT_STUB_ERROR; return; } void glGetString(void) { PRINT_STUB_ERROR; return; } void glGetTexParameterfv(void) { PRINT_STUB_ERROR; return; } void glGetTexParameteriv(void) { PRINT_STUB_ERROR; return; } void glGetUniformfv(void) { PRINT_STUB_ERROR; return; } void glGetUniformiv(void) { PRINT_STUB_ERROR; return; } void glGetUniformLocation(void) { PRINT_STUB_ERROR; return; } void glGetVertexAttribfv(void) { PRINT_STUB_ERROR; return; } void glGetVertexAttribiv(void) { PRINT_STUB_ERROR; return; } void glGetVertexAttribPointerv(void) { PRINT_STUB_ERROR; return; } void glHint(void) { PRINT_STUB_ERROR; return; } void glIsBuffer(void) { PRINT_STUB_ERROR; return; } void glIsEnabled(void) { PRINT_STUB_ERROR; return; } void glIsFramebuffer(void) { PRINT_STUB_ERROR; return; } void glIsProgram(void) { PRINT_STUB_ERROR; return; } void glIsRenderbuffer(void) { PRINT_STUB_ERROR; return; } void glIsShader(void) { PRINT_STUB_ERROR; return; } void glIsTexture(void) { PRINT_STUB_ERROR; return; } void glLineWidth(void) { PRINT_STUB_ERROR; return; } void glLinkProgram(void) { PRINT_STUB_ERROR; return; } void glPixelStorei(void) { PRINT_STUB_ERROR; return; } void glPolygonOffset(void) { PRINT_STUB_ERROR; return; } void glReadPixels(void) { PRINT_STUB_ERROR; return; } void glReleaseShaderCompiler(void) { PRINT_STUB_ERROR; return; } void glRenderbufferStorage(void) { PRINT_STUB_ERROR; return; } void glSampleCoverage(void) { PRINT_STUB_ERROR; return; } void glScissor(void) { PRINT_STUB_ERROR; return; } void glShaderBinary(void) { PRINT_STUB_ERROR; return; } void glShaderSource(void) { PRINT_STUB_ERROR; return; } void glStencilFunc(void) { PRINT_STUB_ERROR; return; } void glStencilFuncSeparate(void) { PRINT_STUB_ERROR; return; } void glStencilMask(void) { PRINT_STUB_ERROR; return; } void glStencilMaskSeparate(void) { PRINT_STUB_ERROR; return; } void glStencilOp(void) { PRINT_STUB_ERROR; return; } void glStencilOpSeparate(void) { PRINT_STUB_ERROR; return; } void glTexImage2D(void) { PRINT_STUB_ERROR; return; } void glTexParameterf(void) { PRINT_STUB_ERROR; return; } void glTexParameterfv(void) { PRINT_STUB_ERROR; return; } void glTexParameteri(void) { PRINT_STUB_ERROR; return; } void glTexParameteriv(void) { PRINT_STUB_ERROR; return; } void glTexSubImage2D(void) { PRINT_STUB_ERROR; return; } void glUniform1f(void) { PRINT_STUB_ERROR; return; } void glUniform1fv(void) { PRINT_STUB_ERROR; return; } void glUniform1i(void) { PRINT_STUB_ERROR; return; } void glUniform1iv(void) { PRINT_STUB_ERROR; return; } void glUniform2f(void) { PRINT_STUB_ERROR; return; } void glUniform2fv(void) { PRINT_STUB_ERROR; return; } void glUniform2i(void) { PRINT_STUB_ERROR; return; } void glUniform2iv(void) { PRINT_STUB_ERROR; return; } void glUniform3f(void) { PRINT_STUB_ERROR; return; } void glUniform3fv(void) { PRINT_STUB_ERROR; return; } void glUniform3i(void) { PRINT_STUB_ERROR; return; } void glUniform3iv(void) { PRINT_STUB_ERROR; return; } void glUniform4f(void) { PRINT_STUB_ERROR; return; } void glUniform4fv(void) { PRINT_STUB_ERROR; return; } void glUniform4i(void) { PRINT_STUB_ERROR; return; } void glUniform4iv(void) { PRINT_STUB_ERROR; return; } void glUniformMatrix2fv(void) { PRINT_STUB_ERROR; return; } void glUniformMatrix3fv(void) { PRINT_STUB_ERROR; return; } void glUniformMatrix4fv(void) { PRINT_STUB_ERROR; return; } void glUseProgram(void) { PRINT_STUB_ERROR; return; } void glValidateProgram(void) { PRINT_STUB_ERROR; return; } void glVertexAttrib1f(void) { PRINT_STUB_ERROR; return; } void glVertexAttrib1fv(void) { PRINT_STUB_ERROR; return; } void glVertexAttrib2f(void) { PRINT_STUB_ERROR; return; } void glVertexAttrib2fv(void) { PRINT_STUB_ERROR; return; } void glVertexAttrib3f(void) { PRINT_STUB_ERROR; return; } void glVertexAttrib3fv(void) { PRINT_STUB_ERROR; return; } void glVertexAttrib4f(void) { PRINT_STUB_ERROR; return; } void glVertexAttrib4fv(void) { PRINT_STUB_ERROR; return; } void glVertexAttribPointer(void) { PRINT_STUB_ERROR; return; } void glViewport(void) { PRINT_STUB_ERROR; return; } /* OpenGL ES 3.0 */ void glReadBuffer(void) { PRINT_STUB_ERROR; return; } void glDrawRangeElements(void) { PRINT_STUB_ERROR; return; } void glTexImage3D(void) { PRINT_STUB_ERROR; return; } void glTexSubImage3D(void) { PRINT_STUB_ERROR; return; } void glCopyTexSubImage3D(void) { PRINT_STUB_ERROR; return; } void glCompressedTexImage3D(void) { PRINT_STUB_ERROR; return; } void glCompressedTexSubImage3D(void) { PRINT_STUB_ERROR; return; } void glGenQueries(void) { PRINT_STUB_ERROR; return; } void glDeleteQueries(void) { PRINT_STUB_ERROR; return; } void glIsQuery(void) { PRINT_STUB_ERROR; return; } void glBeginQuery(void) { PRINT_STUB_ERROR; return; } void glEndQuery(void) { PRINT_STUB_ERROR; return; } void glGetQueryiv(void) { PRINT_STUB_ERROR; return; } void glGetQueryObjectuiv(void) { PRINT_STUB_ERROR; return; } void glUnmapBuffer(void) { PRINT_STUB_ERROR; return; } void glGetBufferPointerv(void) { PRINT_STUB_ERROR; return; } void glDrawBuffers(void) { PRINT_STUB_ERROR; return; } void glUniformMatrix2x3fv(void) { PRINT_STUB_ERROR; return; } void glUniformMatrix3x2fv(void) { PRINT_STUB_ERROR; return; } void glUniformMatrix2x4fv(void) { PRINT_STUB_ERROR; return; } void glUniformMatrix4x2fv(void) { PRINT_STUB_ERROR; return; } void glUniformMatrix3x4fv(void) { PRINT_STUB_ERROR; return; } void glUniformMatrix4x3fv(void) { PRINT_STUB_ERROR; return; } void glBlitFramebuffer(void) { PRINT_STUB_ERROR; return; } void glRenderbufferStorageMultisample(void) { PRINT_STUB_ERROR; return; } void glFramebufferTextureLayer(void) { PRINT_STUB_ERROR; return; } void glMapBufferRange(void) { PRINT_STUB_ERROR; return; } void glFlushMappedBufferRange(void) { PRINT_STUB_ERROR; return; } void glBindVertexArray(void) { PRINT_STUB_ERROR; return; } void glDeleteVertexArrays(void) { PRINT_STUB_ERROR; return; } void glGenVertexArrays(void) { PRINT_STUB_ERROR; return; } void glIsVertexArray(void) { PRINT_STUB_ERROR; return; } void glGetIntegeri_v(void) { PRINT_STUB_ERROR; return; } void glBeginTransformFeedback(void) { PRINT_STUB_ERROR; return; } void glEndTransformFeedback(void) { PRINT_STUB_ERROR; return; } void glBindBufferRange(void) { PRINT_STUB_ERROR; return; } void glBindBufferBase(void) { PRINT_STUB_ERROR; return; } void glTransformFeedbackVaryings(void) { PRINT_STUB_ERROR; return; } void glGetTransformFeedbackVarying(void) { PRINT_STUB_ERROR; return; } void glVertexAttribIPointer(void) { PRINT_STUB_ERROR; return; } void glGetVertexAttribIiv(void) { PRINT_STUB_ERROR; return; } void glGetVertexAttribIuiv(void) { PRINT_STUB_ERROR; return; } void glVertexAttribI4i(void) { PRINT_STUB_ERROR; return; } void glVertexAttribI4ui(void) { PRINT_STUB_ERROR; return; } void glVertexAttribI4iv(void) { PRINT_STUB_ERROR; return; } void glVertexAttribI4uiv(void) { PRINT_STUB_ERROR; return; } void glGetUniformuiv(void) { PRINT_STUB_ERROR; return; } void glGetFragDataLocation(void) { PRINT_STUB_ERROR; return; } void glUniform1ui(void) { PRINT_STUB_ERROR; return; } void glUniform2ui(void) { PRINT_STUB_ERROR; return; } void glUniform3ui(void) { PRINT_STUB_ERROR; return; } void glUniform4ui(void) { PRINT_STUB_ERROR; return; } void glUniform1uiv(void) { PRINT_STUB_ERROR; return; } void glUniform2uiv(void) { PRINT_STUB_ERROR; return; } void glUniform3uiv(void) { PRINT_STUB_ERROR; return; } void glUniform4uiv(void) { PRINT_STUB_ERROR; return; } void glClearBufferiv(void) { PRINT_STUB_ERROR; return; } void glClearBufferuiv(void) { PRINT_STUB_ERROR; return; } void glClearBufferfv(void) { PRINT_STUB_ERROR; return; } void glClearBufferfi(void) { PRINT_STUB_ERROR; return; } void glGetStringi(void) { PRINT_STUB_ERROR; return; } void glCopyBufferSubData(void) { PRINT_STUB_ERROR; return; } void glGetUniformIndices(void) { PRINT_STUB_ERROR; return; } void glGetActiveUniformsiv(void) { PRINT_STUB_ERROR; return; } void glGetUniformBlockIndex(void) { PRINT_STUB_ERROR; return; } void glGetActiveUniformBlockiv(void) { PRINT_STUB_ERROR; return; } void glGetActiveUniformBlockName(void) { PRINT_STUB_ERROR; return; } void glUniformBlockBinding(void) { PRINT_STUB_ERROR; return; } void glDrawArraysInstanced(void) { PRINT_STUB_ERROR; return; } void glDrawElementsInstanced(void) { PRINT_STUB_ERROR; return; } void glFenceSync(void) { PRINT_STUB_ERROR; return; } void glIsSync(void) { PRINT_STUB_ERROR; return; } void glDeleteSync(void) { PRINT_STUB_ERROR; return; } void glClientWaitSync(void) { PRINT_STUB_ERROR; return; } void glWaitSync(void) { PRINT_STUB_ERROR; return; } void glGetInteger64v(void) { PRINT_STUB_ERROR; return; } void glGetSynciv(void) { PRINT_STUB_ERROR; return; } void glGetInteger64i_v(void) { PRINT_STUB_ERROR; return; } void glGetBufferParameteri64v(void) { PRINT_STUB_ERROR; return; } void glGenSamplers(void) { PRINT_STUB_ERROR; return; } void glDeleteSamplers(void) { PRINT_STUB_ERROR; return; } void glIsSampler(void) { PRINT_STUB_ERROR; return; } void glBindSampler(void) { PRINT_STUB_ERROR; return; } void glSamplerParameteri(void) { PRINT_STUB_ERROR; return; } void glSamplerParameteriv(void) { PRINT_STUB_ERROR; return; } void glSamplerParameterf(void) { PRINT_STUB_ERROR; return; } void glSamplerParameterfv(void) { PRINT_STUB_ERROR; return; } void glGetSamplerParameteriv(void) { PRINT_STUB_ERROR; return; } void glGetSamplerParameterfv(void) { PRINT_STUB_ERROR; return; } void glVertexAttribDivisor(void) { PRINT_STUB_ERROR; return; } void glBindTransformFeedback(void) { PRINT_STUB_ERROR; return; } void glDeleteTransformFeedbacks(void) { PRINT_STUB_ERROR; return; } void glGenTransformFeedbacks(void) { PRINT_STUB_ERROR; return; } void glIsTransformFeedback(void) { PRINT_STUB_ERROR; return; } void glPauseTransformFeedback(void) { PRINT_STUB_ERROR; return; } void glResumeTransformFeedback(void) { PRINT_STUB_ERROR; return; } void glGetProgramBinary(void) { PRINT_STUB_ERROR; return; } void glProgramBinary(void) { PRINT_STUB_ERROR; return; } void glProgramParameteri(void) { PRINT_STUB_ERROR; return; } void glInvalidateFramebuffer(void) { PRINT_STUB_ERROR; return; } void glInvalidateSubFramebuffer(void) { PRINT_STUB_ERROR; return; } void glTexStorage2D(void) { PRINT_STUB_ERROR; return; } void glTexStorage3D(void) { PRINT_STUB_ERROR; return; } void glGetInternalformativ(void) { PRINT_STUB_ERROR; return; } /* OpenGL ES 3.1, incomplete */ void glProgramUniform1ui(void) { PRINT_STUB_ERROR; return; } void glDispatchCompute(void) { PRINT_STUB_ERROR; return; } void glMemoryBarrier(void) { PRINT_STUB_ERROR; return; } void glBindImageTexture(void) { PRINT_STUB_ERROR; return; } void glProgramUniformMatrix4fv(void) { PRINT_STUB_ERROR; return; } void glProgramUniform1f(void) { PRINT_STUB_ERROR; return; } void glProgramUniform2f(void) { PRINT_STUB_ERROR; return; } void glProgramUniform3f(void) { PRINT_STUB_ERROR; return; } void glProgramUniform3fv(void) { PRINT_STUB_ERROR; return; } void glProgramUniform4f(void) { PRINT_STUB_ERROR; return; } void glDrawElementsIndirect(void) { PRINT_STUB_ERROR; return; }