The modules here are only built when BUILD_EMULATOR_OPENGL is defined to true in your environment or your BoardConfig.mk (see tools/emulator/opengl/Android.mk) Change-Id: I5f32c35b4452fb5a7b4d5f9fc5870ec1da6032e6
301 lines
11 KiB
C
301 lines
11 KiB
C
/*
|
|
* Copyright (C) 2011 The Android Open Source Project
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
#ifndef _GLES_DISPATCH_H
|
|
#define _GLES_DISPATCH_H
|
|
|
|
#include "gl_proc.h"
|
|
|
|
|
|
struct GLDispatch {
|
|
glAlphaFunc_t glAlphaFunc;
|
|
glClearColor_t glClearColor;
|
|
glClearDepthf_t glClearDepthf;
|
|
glClipPlanef_t glClipPlanef;
|
|
glColor4f_t glColor4f;
|
|
glDepthRangef_t glDepthRangef;
|
|
glFogf_t glFogf;
|
|
glFogfv_t glFogfv;
|
|
glFrustumf_t glFrustumf;
|
|
glGetClipPlanef_t glGetClipPlanef;
|
|
glGetFloatv_t glGetFloatv;
|
|
glGetLightfv_t glGetLightfv;
|
|
glGetMaterialfv_t glGetMaterialfv;
|
|
glGetTexEnvfv_t glGetTexEnvfv;
|
|
glGetTexParameterfv_t glGetTexParameterfv;
|
|
glLightModelf_t glLightModelf;
|
|
glLightModelfv_t glLightModelfv;
|
|
glLightf_t glLightf;
|
|
glLightfv_t glLightfv;
|
|
glLineWidth_t glLineWidth;
|
|
glLoadMatrixf_t glLoadMatrixf;
|
|
glMaterialf_t glMaterialf;
|
|
glMaterialfv_t glMaterialfv;
|
|
glMultMatrixf_t glMultMatrixf;
|
|
glMultiTexCoord4f_t glMultiTexCoord4f;
|
|
glNormal3f_t glNormal3f;
|
|
glOrthof_t glOrthof;
|
|
glPointParameterf_t glPointParameterf;
|
|
glPointParameterfv_t glPointParameterfv;
|
|
glPointSize_t glPointSize;
|
|
glPolygonOffset_t glPolygonOffset;
|
|
glRotatef_t glRotatef;
|
|
glScalef_t glScalef;
|
|
glTexEnvf_t glTexEnvf;
|
|
glTexEnvfv_t glTexEnvfv;
|
|
glTexParameterf_t glTexParameterf;
|
|
glTexParameterfv_t glTexParameterfv;
|
|
glTranslatef_t glTranslatef;
|
|
glActiveTexture_t glActiveTexture;
|
|
glAlphaFuncx_t glAlphaFuncx;
|
|
glBindBuffer_t glBindBuffer;
|
|
glBindTexture_t glBindTexture;
|
|
glBlendFunc_t glBlendFunc;
|
|
glBufferData_t glBufferData;
|
|
glBufferSubData_t glBufferSubData;
|
|
glClear_t glClear;
|
|
glClearColorx_t glClearColorx;
|
|
glClearDepthx_t glClearDepthx;
|
|
glClearStencil_t glClearStencil;
|
|
glClientActiveTexture_t glClientActiveTexture;
|
|
glClipPlanex_t glClipPlanex;
|
|
glColor4ub_t glColor4ub;
|
|
glColor4x_t glColor4x;
|
|
glColorMask_t glColorMask;
|
|
glColorPointer_t glColorPointer;
|
|
glCompressedTexImage2D_t glCompressedTexImage2D;
|
|
glCompressedTexSubImage2D_t glCompressedTexSubImage2D;
|
|
glCopyTexImage2D_t glCopyTexImage2D;
|
|
glCopyTexSubImage2D_t glCopyTexSubImage2D;
|
|
glCullFace_t glCullFace;
|
|
glDeleteBuffers_t glDeleteBuffers;
|
|
glDeleteTextures_t glDeleteTextures;
|
|
glDepthFunc_t glDepthFunc;
|
|
glDepthMask_t glDepthMask;
|
|
glDepthRangex_t glDepthRangex;
|
|
glDisable_t glDisable;
|
|
glDisableClientState_t glDisableClientState;
|
|
glDrawArrays_t glDrawArrays;
|
|
glDrawElements_t glDrawElements;
|
|
glEnable_t glEnable;
|
|
glEnableClientState_t glEnableClientState;
|
|
glFinish_t glFinish;
|
|
glFlush_t glFlush;
|
|
glFogx_t glFogx;
|
|
glFogxv_t glFogxv;
|
|
glFrontFace_t glFrontFace;
|
|
glFrustumx_t glFrustumx;
|
|
glGetBooleanv_t glGetBooleanv;
|
|
glGetBufferParameteriv_t glGetBufferParameteriv;
|
|
glGetClipPlanex_t glGetClipPlanex;
|
|
glGenBuffers_t glGenBuffers;
|
|
glGenTextures_t glGenTextures;
|
|
glGetError_t glGetError;
|
|
glGetFixedv_t glGetFixedv;
|
|
glGetIntegerv_t glGetIntegerv;
|
|
glGetLightxv_t glGetLightxv;
|
|
glGetMaterialxv_t glGetMaterialxv;
|
|
glGetPointerv_t glGetPointerv;
|
|
glGetString_t glGetString;
|
|
glGetTexEnviv_t glGetTexEnviv;
|
|
glGetTexEnvxv_t glGetTexEnvxv;
|
|
glGetTexParameteriv_t glGetTexParameteriv;
|
|
glGetTexParameterxv_t glGetTexParameterxv;
|
|
glHint_t glHint;
|
|
glIsBuffer_t glIsBuffer;
|
|
glIsEnabled_t glIsEnabled;
|
|
glIsTexture_t glIsTexture;
|
|
glLightModelx_t glLightModelx;
|
|
glLightModelxv_t glLightModelxv;
|
|
glLightx_t glLightx;
|
|
glLightxv_t glLightxv;
|
|
glLineWidthx_t glLineWidthx;
|
|
glLoadIdentity_t glLoadIdentity;
|
|
glLoadMatrixx_t glLoadMatrixx;
|
|
glLogicOp_t glLogicOp;
|
|
glMaterialx_t glMaterialx;
|
|
glMaterialxv_t glMaterialxv;
|
|
glMatrixMode_t glMatrixMode;
|
|
glMultMatrixx_t glMultMatrixx;
|
|
glMultiTexCoord4x_t glMultiTexCoord4x;
|
|
glNormal3x_t glNormal3x;
|
|
glNormalPointer_t glNormalPointer;
|
|
glOrthox_t glOrthox;
|
|
glPixelStorei_t glPixelStorei;
|
|
glPointParameterx_t glPointParameterx;
|
|
glPointParameterxv_t glPointParameterxv;
|
|
glPointSizex_t glPointSizex;
|
|
glPolygonOffsetx_t glPolygonOffsetx;
|
|
glPopMatrix_t glPopMatrix;
|
|
glPushMatrix_t glPushMatrix;
|
|
glReadPixels_t glReadPixels;
|
|
glRotatex_t glRotatex;
|
|
glSampleCoverage_t glSampleCoverage;
|
|
glSampleCoveragex_t glSampleCoveragex;
|
|
glScalex_t glScalex;
|
|
glScissor_t glScissor;
|
|
glShadeModel_t glShadeModel;
|
|
glStencilFunc_t glStencilFunc;
|
|
glStencilMask_t glStencilMask;
|
|
glStencilOp_t glStencilOp;
|
|
glTexCoordPointer_t glTexCoordPointer;
|
|
glTexEnvi_t glTexEnvi;
|
|
glTexEnvx_t glTexEnvx;
|
|
glTexEnviv_t glTexEnviv;
|
|
glTexEnvxv_t glTexEnvxv;
|
|
glTexImage2D_t glTexImage2D;
|
|
glTexParameteri_t glTexParameteri;
|
|
glTexParameterx_t glTexParameterx;
|
|
glTexParameteriv_t glTexParameteriv;
|
|
glTexParameterxv_t glTexParameterxv;
|
|
glTexSubImage2D_t glTexSubImage2D;
|
|
glTranslatex_t glTranslatex;
|
|
glVertexPointer_t glVertexPointer;
|
|
glViewport_t glViewport;
|
|
glPointSizePointerOES_t glPointSizePointerOES;
|
|
glBlendEquationSeparateOES_t glBlendEquationSeparateOES;
|
|
glBlendFuncSeparateOES_t glBlendFuncSeparateOES;
|
|
glBlendEquationOES_t glBlendEquationOES;
|
|
glDrawTexsOES_t glDrawTexsOES;
|
|
glDrawTexiOES_t glDrawTexiOES;
|
|
glDrawTexxOES_t glDrawTexxOES;
|
|
glDrawTexsvOES_t glDrawTexsvOES;
|
|
glDrawTexivOES_t glDrawTexivOES;
|
|
glDrawTexxvOES_t glDrawTexxvOES;
|
|
glDrawTexfOES_t glDrawTexfOES;
|
|
glDrawTexfvOES_t glDrawTexfvOES;
|
|
glEGLImageTargetTexture2DOES_t glEGLImageTargetTexture2DOES;
|
|
glEGLImageTargetRenderbufferStorageOES_t glEGLImageTargetRenderbufferStorageOES;
|
|
glAlphaFuncxOES_t glAlphaFuncxOES;
|
|
glClearColorxOES_t glClearColorxOES;
|
|
glClearDepthxOES_t glClearDepthxOES;
|
|
glClipPlanexOES_t glClipPlanexOES;
|
|
glColor4xOES_t glColor4xOES;
|
|
glDepthRangexOES_t glDepthRangexOES;
|
|
glFogxOES_t glFogxOES;
|
|
glFogxvOES_t glFogxvOES;
|
|
glFrustumxOES_t glFrustumxOES;
|
|
glGetClipPlanexOES_t glGetClipPlanexOES;
|
|
glGetFixedvOES_t glGetFixedvOES;
|
|
glGetLightxvOES_t glGetLightxvOES;
|
|
glGetMaterialxvOES_t glGetMaterialxvOES;
|
|
glGetTexEnvxvOES_t glGetTexEnvxvOES;
|
|
glGetTexParameterxvOES_t glGetTexParameterxvOES;
|
|
glLightModelxOES_t glLightModelxOES;
|
|
glLightModelxvOES_t glLightModelxvOES;
|
|
glLightxOES_t glLightxOES;
|
|
glLightxvOES_t glLightxvOES;
|
|
glLineWidthxOES_t glLineWidthxOES;
|
|
glLoadMatrixxOES_t glLoadMatrixxOES;
|
|
glMaterialxOES_t glMaterialxOES;
|
|
glMaterialxvOES_t glMaterialxvOES;
|
|
glMultMatrixxOES_t glMultMatrixxOES;
|
|
glMultiTexCoord4xOES_t glMultiTexCoord4xOES;
|
|
glNormal3xOES_t glNormal3xOES;
|
|
glOrthoxOES_t glOrthoxOES;
|
|
glPointParameterxOES_t glPointParameterxOES;
|
|
glPointParameterxvOES_t glPointParameterxvOES;
|
|
glPointSizexOES_t glPointSizexOES;
|
|
glPolygonOffsetxOES_t glPolygonOffsetxOES;
|
|
glRotatexOES_t glRotatexOES;
|
|
glSampleCoveragexOES_t glSampleCoveragexOES;
|
|
glScalexOES_t glScalexOES;
|
|
glTexEnvxOES_t glTexEnvxOES;
|
|
glTexEnvxvOES_t glTexEnvxvOES;
|
|
glTexParameterxOES_t glTexParameterxOES;
|
|
glTexParameterxvOES_t glTexParameterxvOES;
|
|
glTranslatexOES_t glTranslatexOES;
|
|
glIsRenderbufferOES_t glIsRenderbufferOES;
|
|
glBindRenderbufferOES_t glBindRenderbufferOES;
|
|
glDeleteRenderbuffersOES_t glDeleteRenderbuffersOES;
|
|
glGenRenderbuffersOES_t glGenRenderbuffersOES;
|
|
glRenderbufferStorageOES_t glRenderbufferStorageOES;
|
|
glGetRenderbufferParameterivOES_t glGetRenderbufferParameterivOES;
|
|
glIsFramebufferOES_t glIsFramebufferOES;
|
|
glBindFramebufferOES_t glBindFramebufferOES;
|
|
glDeleteFramebuffersOES_t glDeleteFramebuffersOES;
|
|
glGenFramebuffersOES_t glGenFramebuffersOES;
|
|
glCheckFramebufferStatusOES_t glCheckFramebufferStatusOES;
|
|
glFramebufferRenderbufferOES_t glFramebufferRenderbufferOES;
|
|
glFramebufferTexture2DOES_t glFramebufferTexture2DOES;
|
|
glGetFramebufferAttachmentParameterivOES_t glGetFramebufferAttachmentParameterivOES;
|
|
glGenerateMipmapOES_t glGenerateMipmapOES;
|
|
glMapBufferOES_t glMapBufferOES;
|
|
glUnmapBufferOES_t glUnmapBufferOES;
|
|
glGetBufferPointervOES_t glGetBufferPointervOES;
|
|
glCurrentPaletteMatrixOES_t glCurrentPaletteMatrixOES;
|
|
glLoadPaletteFromModelViewMatrixOES_t glLoadPaletteFromModelViewMatrixOES;
|
|
glMatrixIndexPointerOES_t glMatrixIndexPointerOES;
|
|
glWeightPointerOES_t glWeightPointerOES;
|
|
glQueryMatrixxOES_t glQueryMatrixxOES;
|
|
glDepthRangefOES_t glDepthRangefOES;
|
|
glFrustumfOES_t glFrustumfOES;
|
|
glOrthofOES_t glOrthofOES;
|
|
glClipPlanefOES_t glClipPlanefOES;
|
|
glGetClipPlanefOES_t glGetClipPlanefOES;
|
|
glClearDepthfOES_t glClearDepthfOES;
|
|
glTexGenfOES_t glTexGenfOES;
|
|
glTexGenfvOES_t glTexGenfvOES;
|
|
glTexGeniOES_t glTexGeniOES;
|
|
glTexGenivOES_t glTexGenivOES;
|
|
glTexGenxOES_t glTexGenxOES;
|
|
glTexGenxvOES_t glTexGenxvOES;
|
|
glGetTexGenfvOES_t glGetTexGenfvOES;
|
|
glGetTexGenivOES_t glGetTexGenivOES;
|
|
glGetTexGenxvOES_t glGetTexGenxvOES;
|
|
glBindVertexArrayOES_t glBindVertexArrayOES;
|
|
glDeleteVertexArraysOES_t glDeleteVertexArraysOES;
|
|
glGenVertexArraysOES_t glGenVertexArraysOES;
|
|
glIsVertexArrayOES_t glIsVertexArrayOES;
|
|
glDiscardFramebufferEXT_t glDiscardFramebufferEXT;
|
|
glMultiDrawArraysEXT_t glMultiDrawArraysEXT;
|
|
glMultiDrawElementsEXT_t glMultiDrawElementsEXT;
|
|
glClipPlanefIMG_t glClipPlanefIMG;
|
|
glClipPlanexIMG_t glClipPlanexIMG;
|
|
glRenderbufferStorageMultisampleIMG_t glRenderbufferStorageMultisampleIMG;
|
|
glFramebufferTexture2DMultisampleIMG_t glFramebufferTexture2DMultisampleIMG;
|
|
glDeleteFencesNV_t glDeleteFencesNV;
|
|
glGenFencesNV_t glGenFencesNV;
|
|
glIsFenceNV_t glIsFenceNV;
|
|
glTestFenceNV_t glTestFenceNV;
|
|
glGetFenceivNV_t glGetFenceivNV;
|
|
glFinishFenceNV_t glFinishFenceNV;
|
|
glSetFenceNV_t glSetFenceNV;
|
|
glGetDriverControlsQCOM_t glGetDriverControlsQCOM;
|
|
glGetDriverControlStringQCOM_t glGetDriverControlStringQCOM;
|
|
glEnableDriverControlQCOM_t glEnableDriverControlQCOM;
|
|
glDisableDriverControlQCOM_t glDisableDriverControlQCOM;
|
|
glExtGetTexturesQCOM_t glExtGetTexturesQCOM;
|
|
glExtGetBuffersQCOM_t glExtGetBuffersQCOM;
|
|
glExtGetRenderbuffersQCOM_t glExtGetRenderbuffersQCOM;
|
|
glExtGetFramebuffersQCOM_t glExtGetFramebuffersQCOM;
|
|
glExtGetTexLevelParameterivQCOM_t glExtGetTexLevelParameterivQCOM;
|
|
glExtTexObjectStateOverrideiQCOM_t glExtTexObjectStateOverrideiQCOM;
|
|
glExtGetTexSubImageQCOM_t glExtGetTexSubImageQCOM;
|
|
glExtGetBufferPointervQCOM_t glExtGetBufferPointervQCOM;
|
|
glExtGetShadersQCOM_t glExtGetShadersQCOM;
|
|
glExtGetProgramsQCOM_t glExtGetProgramsQCOM;
|
|
glExtIsProgramBinaryQCOM_t glExtIsProgramBinaryQCOM;
|
|
glExtGetProgramBinarySourceQCOM_t glExtGetProgramBinarySourceQCOM;
|
|
glStartTilingQCOM_t glStartTilingQCOM;
|
|
glEndTilingQCOM_t glEndTilingQCOM;
|
|
};
|
|
|
|
bool init_gl_dispatch();
|
|
void *gl_dispatch_get_proc_func(const char *name, void *userData);
|
|
|
|
extern GLDispatch s_gl;
|
|
#endif
|