mesa/tests: Add ES1.1 dispatch table sanity test
authorIan Romanick <ian.d.romanick@intel.com>
Mon, 15 Oct 2012 22:22:57 +0000 (15:22 -0700)
committerIan Romanick <ian.d.romanick@intel.com>
Tue, 16 Oct 2012 21:57:20 +0000 (14:57 -0700)
This test actually depends on FEATURE_ES1 because
_mesa_create_exec_table_es1 doesn't exist without it.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Paul Berry <stereotype441@gmail.com>
src/mesa/main/tests/dispatch_sanity.cpp

index a1d0223d0f27b99976a942983d8b45c9bcc454e0..dbca5810437d937f67bab0a941eb517cdbe6354e 100644 (file)
@@ -74,6 +74,11 @@ struct function {
 
 extern const struct function gles2_functions_possible[];
 
+#if FEATURE_ES1
+extern "C" _glapi_table *_mesa_create_exec_table_es1(void);
+extern const struct function gles11_functions_possible[];
+#endif /* FEATURE_ES1 */
+
 class DispatchSanity_test : public ::testing::Test {
 public:
    virtual void SetUp();
@@ -121,6 +126,14 @@ validate_functions(_glapi_proc *table, const struct function *function_table)
    }
 }
 
+#if FEATURE_ES1
+TEST_F(DispatchSanity_test, GLES11)
+{
+   _glapi_proc *exec = (_glapi_proc *) _mesa_create_exec_table_es1();
+   validate_functions(exec, gles11_functions_possible);
+}
+#endif /* FEATURE_ES1 */
+
 TEST_F(DispatchSanity_test, GLES2)
 {
    ctx.Version = 20;
@@ -138,6 +151,200 @@ TEST_F(DispatchSanity_test, GLES2)
    validate_functions((_glapi_proc *) ctx.Exec, gles2_functions_possible);
 }
 
+#if FEATURE_ES1
+const struct function gles11_functions_possible[] = {
+   { "glActiveTexture", _gloffset_ActiveTextureARB },
+   { "glAlphaFunc", _gloffset_AlphaFunc },
+   { "glAlphaFuncx", -1 },
+   { "glBindBuffer", -1 },
+   { "glBindFramebufferOES", -1 },
+   { "glBindRenderbufferOES", -1 },
+   { "glBindTexture", _gloffset_BindTexture },
+   { "glBlendEquationOES", _gloffset_BlendEquation },
+   { "glBlendEquationSeparateOES", -1 },
+   { "glBlendFunc", _gloffset_BlendFunc },
+   { "glBlendFuncSeparateOES", -1 },
+   { "glBufferData", -1 },
+   { "glBufferSubData", -1 },
+   { "glCheckFramebufferStatusOES", -1 },
+   { "glClear", _gloffset_Clear },
+   { "glClearColor", _gloffset_ClearColor },
+   { "glClearColorx", -1 },
+   { "glClearDepthf", -1 },
+   { "glClearDepthx", -1 },
+   { "glClearStencil", _gloffset_ClearStencil },
+   { "glClientActiveTexture", _gloffset_ClientActiveTextureARB },
+   { "glClipPlanef", -1 },
+   { "glClipPlanex", -1 },
+   { "glColor4f", _gloffset_Color4f },
+   { "glColor4ub", _gloffset_Color4ub },
+   { "glColor4x", -1 },
+   { "glColorMask", _gloffset_ColorMask },
+   { "glColorPointer", _gloffset_ColorPointer },
+   { "glCompressedTexImage2D", -1 },
+   { "glCompressedTexSubImage2D", -1 },
+   { "glCopyTexImage2D", _gloffset_CopyTexImage2D },
+   { "glCopyTexSubImage2D", _gloffset_CopyTexSubImage2D },
+   { "glCullFace", _gloffset_CullFace },
+   { "glDeleteBuffers", -1 },
+   { "glDeleteFramebuffersOES", -1 },
+   { "glDeleteRenderbuffersOES", -1 },
+   { "glDeleteTextures", _gloffset_DeleteTextures },
+   { "glDepthFunc", _gloffset_DepthFunc },
+   { "glDepthMask", _gloffset_DepthMask },
+   { "glDepthRangef", -1 },
+   { "glDepthRangex", -1 },
+   { "glDisable", _gloffset_Disable },
+   { "glDisableClientState", _gloffset_DisableClientState },
+   { "glDrawArrays", _gloffset_DrawArrays },
+   { "glDrawElements", _gloffset_DrawElements },
+   { "glDrawTexfOES", -1 },
+   { "glDrawTexfvOES", -1 },
+   { "glDrawTexiOES", -1 },
+   { "glDrawTexivOES", -1 },
+   { "glDrawTexsOES", -1 },
+   { "glDrawTexsvOES", -1 },
+   { "glDrawTexxOES", -1 },
+   { "glDrawTexxvOES", -1 },
+   { "glEGLImageTargetRenderbufferStorageOES", -1 },
+   { "glEGLImageTargetTexture2DOES", -1 },
+   { "glEnable", _gloffset_Enable },
+   { "glEnableClientState", _gloffset_EnableClientState },
+   { "glFinish", _gloffset_Finish },
+   { "glFlush", _gloffset_Flush },
+   { "glFogf", _gloffset_Fogf },
+   { "glFogfv", _gloffset_Fogfv },
+   { "glFogx", -1 },
+   { "glFogxv", -1 },
+   { "glFramebufferRenderbufferOES", -1 },
+   { "glFramebufferTexture2DOES", -1 },
+   { "glFrontFace", _gloffset_FrontFace },
+   { "glFrustumf", -1 },
+   { "glFrustumx", -1 },
+   { "glGenBuffers", -1 },
+   { "glGenFramebuffersOES", -1 },
+   { "glGenRenderbuffersOES", -1 },
+   { "glGenTextures", _gloffset_GenTextures },
+   { "glGenerateMipmapOES", -1 },
+   { "glGetBooleanv", _gloffset_GetBooleanv },
+   { "glGetBufferParameteriv", -1 },
+   { "glGetBufferPointervOES", -1 },
+   { "glGetClipPlanef", -1 },
+   { "glGetClipPlanex", -1 },
+   { "glGetError", _gloffset_GetError },
+   { "glGetFixedv", -1 },
+   { "glGetFloatv", _gloffset_GetFloatv },
+   { "glGetFramebufferAttachmentParameterivOES", -1 },
+   { "glGetIntegerv", _gloffset_GetIntegerv },
+   { "glGetLightfv", _gloffset_GetLightfv },
+   { "glGetLightxv", -1 },
+   { "glGetMaterialfv", _gloffset_GetMaterialfv },
+   { "glGetMaterialxv", -1 },
+   { "glGetPointerv", _gloffset_GetPointerv },
+   { "glGetRenderbufferParameterivOES", -1 },
+   { "glGetString", _gloffset_GetString },
+   { "glGetTexEnvfv", _gloffset_GetTexEnvfv },
+   { "glGetTexEnviv", _gloffset_GetTexEnviv },
+   { "glGetTexEnvxv", -1 },
+   { "glGetTexGenfvOES", _gloffset_GetTexGenfv },
+   { "glGetTexGenivOES", _gloffset_GetTexGeniv },
+   { "glGetTexGenxvOES", -1 },
+   { "glGetTexParameterfv", _gloffset_GetTexParameterfv },
+   { "glGetTexParameteriv", _gloffset_GetTexParameteriv },
+   { "glGetTexParameterxv", -1 },
+   { "glHint", _gloffset_Hint },
+   { "glIsBuffer", -1 },
+   { "glIsEnabled", _gloffset_IsEnabled },
+   { "glIsFramebufferOES", -1 },
+   { "glIsRenderbufferOES", -1 },
+   { "glIsTexture", _gloffset_IsTexture },
+   { "glLightModelf", _gloffset_LightModelf },
+   { "glLightModelfv", _gloffset_LightModelfv },
+   { "glLightModelx", -1 },
+   { "glLightModelxv", -1 },
+   { "glLightf", _gloffset_Lightf },
+   { "glLightfv", _gloffset_Lightfv },
+   { "glLightx", -1 },
+   { "glLightxv", -1 },
+   { "glLineWidth", _gloffset_LineWidth },
+   { "glLineWidthx", -1 },
+   { "glLoadIdentity", _gloffset_LoadIdentity },
+   { "glLoadMatrixf", _gloffset_LoadMatrixf },
+   { "glLoadMatrixx", -1 },
+   { "glLogicOp", _gloffset_LogicOp },
+   { "glMapBufferOES", -1 },
+   { "glMaterialf", _gloffset_Materialf },
+   { "glMaterialfv", _gloffset_Materialfv },
+   { "glMaterialx", -1 },
+   { "glMaterialxv", -1 },
+   { "glMatrixMode", _gloffset_MatrixMode },
+   { "glMultMatrixf", _gloffset_MultMatrixf },
+   { "glMultMatrixx", -1 },
+   { "glMultiDrawArraysEXT", -1 },
+   { "glMultiDrawElementsEXT", -1 },
+   { "glMultiTexCoord4f", _gloffset_MultiTexCoord4fARB },
+   { "glMultiTexCoord4x", -1 },
+   { "glNormal3f", _gloffset_Normal3f },
+   { "glNormal3x", -1 },
+   { "glNormalPointer", _gloffset_NormalPointer },
+   { "glOrthof", -1 },
+   { "glOrthox", -1 },
+   { "glPixelStorei", _gloffset_PixelStorei },
+   { "glPointParameterf", -1 },
+   { "glPointParameterfv", -1 },
+   { "glPointParameterx", -1 },
+   { "glPointParameterxv", -1 },
+   { "glPointSize", _gloffset_PointSize },
+   { "glPointSizePointerOES", -1 },
+   { "glPointSizex", -1 },
+   { "glPolygonOffset", _gloffset_PolygonOffset },
+   { "glPolygonOffsetx", -1 },
+   { "glPopMatrix", _gloffset_PopMatrix },
+   { "glPushMatrix", _gloffset_PushMatrix },
+   { "glQueryMatrixxOES", -1 },
+   { "glReadPixels", _gloffset_ReadPixels },
+   { "glRenderbufferStorageOES", -1 },
+   { "glRotatef", _gloffset_Rotatef },
+   { "glRotatex", -1 },
+   { "glSampleCoverage", -1 },
+   { "glSampleCoveragex", -1 },
+   { "glScalef", _gloffset_Scalef },
+   { "glScalex", -1 },
+   { "glScissor", _gloffset_Scissor },
+   { "glShadeModel", _gloffset_ShadeModel },
+   { "glStencilFunc", _gloffset_StencilFunc },
+   { "glStencilMask", _gloffset_StencilMask },
+   { "glStencilOp", _gloffset_StencilOp },
+   { "glTexCoordPointer", _gloffset_TexCoordPointer },
+   { "glTexEnvf", _gloffset_TexEnvf },
+   { "glTexEnvfv", _gloffset_TexEnvfv },
+   { "glTexEnvi", _gloffset_TexEnvi },
+   { "glTexEnviv", _gloffset_TexEnviv },
+   { "glTexEnvx", -1 },
+   { "glTexEnvxv", -1 },
+   { "glTexGenfOES", _gloffset_TexGenf },
+   { "glTexGenfvOES", _gloffset_TexGenfv },
+   { "glTexGeniOES", _gloffset_TexGeni },
+   { "glTexGenivOES", _gloffset_TexGeniv },
+   { "glTexGenxOES", -1 },
+   { "glTexGenxvOES", -1 },
+   { "glTexImage2D", _gloffset_TexImage2D },
+   { "glTexParameterf", _gloffset_TexParameterf },
+   { "glTexParameterfv", _gloffset_TexParameterfv },
+   { "glTexParameteri", _gloffset_TexParameteri },
+   { "glTexParameteriv", _gloffset_TexParameteriv },
+   { "glTexParameterx", -1 },
+   { "glTexParameterxv", -1 },
+   { "glTexSubImage2D", _gloffset_TexSubImage2D },
+   { "glTranslatef", _gloffset_Translatef },
+   { "glTranslatex", -1 },
+   { "glUnmapBufferOES", -1 },
+   { "glVertexPointer", _gloffset_VertexPointer },
+   { "glViewport", _gloffset_Viewport },
+   { NULL, -1 }
+};
+#endif /* FEATURE_ES1 */
+
 const struct function gles2_functions_possible[] = {
    { "glActiveTexture", _gloffset_ActiveTextureARB },
    { "glAttachShader", -1 },