#ifndef GLDEBUG_H #define GLDEBUG_H #define glVertexAttrib2hNV(...) do { glVertexAttrib2hNV(__VA_ARGS__); gl::errchk("glVertexAttrib2hNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glUniform2iARB(...) do { glUniform2iARB(__VA_ARGS__); gl::errchk("glUniform2iARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glUniform2fARB(...) do { glUniform2fARB(__VA_ARGS__); gl::errchk("glUniform2fARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glRasterPos4f(...) do { glRasterPos4f(__VA_ARGS__); gl::errchk("glRasterPos4f", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMaterialf(...) do { glMaterialf(__VA_ARGS__); gl::errchk("glMaterialf", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glIsProgramNV(...) ({ GLboolean ___ = glIsProgramNV(__VA_ARGS__); gl::errchk("glIsProgramNV", # __VA_ARGS__, __FILE__, __LINE__); ___; }) #define glGetColorTableEXT(...) do { glGetColorTableEXT(__VA_ARGS__); gl::errchk("glGetColorTableEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glRecti(...) do { glRecti(__VA_ARGS__); gl::errchk("glRecti", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glWindowPos2iMESA(...) do { glWindowPos2iMESA(__VA_ARGS__); gl::errchk("glWindowPos2iMESA", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttrib4NubvARB(...) do { glVertexAttrib4NubvARB(__VA_ARGS__); gl::errchk("glVertexAttrib4NubvARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glColor4us(...) do { glColor4us(__VA_ARGS__); gl::errchk("glColor4us", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttrib4ivARB(...) do { glVertexAttrib4ivARB(__VA_ARGS__); gl::errchk("glVertexAttrib4ivARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glReplacementCodeuiColor4ubVertex3fvSUN(...) do { glReplacementCodeuiColor4ubVertex3fvSUN(__VA_ARGS__); gl::errchk("glReplacementCodeuiColor4ubVertex3fvSUN", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glBinormal3sEXT(...) do { glBinormal3sEXT(__VA_ARGS__); gl::errchk("glBinormal3sEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glListParameteriSGIX(...) do { glListParameteriSGIX(__VA_ARGS__); gl::errchk("glListParameteriSGIX", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexCoord2fv(...) do { glTexCoord2fv(__VA_ARGS__); gl::errchk("glTexCoord2fv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glLoadName(...) do { glLoadName(__VA_ARGS__); gl::errchk("glLoadName", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glBlendEquationSeparateEXT(...) do { glBlendEquationSeparateEXT(__VA_ARGS__); gl::errchk("glBlendEquationSeparateEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glWindowPos2sMESA(...) do { glWindowPos2sMESA(__VA_ARGS__); gl::errchk("glWindowPos2sMESA", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glDeleteTextures(...) do { glDeleteTextures(__VA_ARGS__); gl::errchk("glDeleteTextures", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexCoord4d(...) do { glTexCoord4d(__VA_ARGS__); gl::errchk("glTexCoord4d", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glConvolutionParameterfvEXT(...) do { glConvolutionParameterfvEXT(__VA_ARGS__); gl::errchk("glConvolutionParameterfvEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGenFencesAPPLE(...) do { glGenFencesAPPLE(__VA_ARGS__); gl::errchk("glGenFencesAPPLE", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexCoord4sv(...) do { glTexCoord4sv(__VA_ARGS__); gl::errchk("glTexCoord4sv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glProgramStringARB(...) do { glProgramStringARB(__VA_ARGS__); gl::errchk("glProgramStringARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttrib4hvNV(...) do { glVertexAttrib4hvNV(__VA_ARGS__); gl::errchk("glVertexAttrib4hvNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiTexCoord3dvARB(...) do { glMultiTexCoord3dvARB(__VA_ARGS__); gl::errchk("glMultiTexCoord3dvARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glEvalMapsNV(...) do { glEvalMapsNV(__VA_ARGS__); gl::errchk("glEvalMapsNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glLightf(...) do { glLightf(__VA_ARGS__); gl::errchk("glLightf", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glFragmentLightModelivSGIX(...) do { glFragmentLightModelivSGIX(__VA_ARGS__); gl::errchk("glFragmentLightModelivSGIX", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glAreTexturesResidentEXT(...) ({ GLboolean ___ = glAreTexturesResidentEXT(__VA_ARGS__); gl::errchk("glAreTexturesResidentEXT", # __VA_ARGS__, __FILE__, __LINE__); ___; }) #define glVertexStream4sATI(...) do { glVertexStream4sATI(__VA_ARGS__); gl::errchk("glVertexStream4sATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glPrimitiveRestartIndexNV(...) do { glPrimitiveRestartIndexNV(__VA_ARGS__); gl::errchk("glPrimitiveRestartIndexNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexArrayParameteriAPPLE(...) do { glVertexArrayParameteriAPPLE(__VA_ARGS__); gl::errchk("glVertexArrayParameteriAPPLE", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glNormalStream3sATI(...) do { glNormalStream3sATI(__VA_ARGS__); gl::errchk("glNormalStream3sATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glRasterPos2dv(...) do { glRasterPos2dv(__VA_ARGS__); gl::errchk("glRasterPos2dv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMapGrid2f(...) do { glMapGrid2f(__VA_ARGS__); gl::errchk("glMapGrid2f", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetFragmentLightivSGIX(...) do { glGetFragmentLightivSGIX(__VA_ARGS__); gl::errchk("glGetFragmentLightivSGIX", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetShaderSourceARB(...) do { glGetShaderSourceARB(__VA_ARGS__); gl::errchk("glGetShaderSourceARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glRasterPos4d(...) do { glRasterPos4d(__VA_ARGS__); gl::errchk("glRasterPos4d", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glFlushVertexArrayRangeNV(...) do { glFlushVertexArrayRangeNV(__VA_ARGS__); gl::errchk("glFlushVertexArrayRangeNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiTexCoord4dv(...) do { glMultiTexCoord4dv(__VA_ARGS__); gl::errchk("glMultiTexCoord4dv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glClientActiveTextureARB(...) do { glClientActiveTextureARB(__VA_ARGS__); gl::errchk("glClientActiveTextureARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glNormalPointer(...) do { glNormalPointer(__VA_ARGS__); gl::errchk("glNormalPointer", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glDrawElementArrayATI(...) do { glDrawElementArrayATI(__VA_ARGS__); gl::errchk("glDrawElementArrayATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttrib4svNV(...) do { glVertexAttrib4svNV(__VA_ARGS__); gl::errchk("glVertexAttrib4svNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetProgramNamedParameterdvNV(...) do { glGetProgramNamedParameterdvNV(__VA_ARGS__); gl::errchk("glGetProgramNamedParameterdvNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetPolygonStipple(...) do { glGetPolygonStipple(__VA_ARGS__); gl::errchk("glGetPolygonStipple", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGlobalAlphaFactorfSUN(...) do { glGlobalAlphaFactorfSUN(__VA_ARGS__); gl::errchk("glGlobalAlphaFactorfSUN", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glCopyTexImage2D(...) do { glCopyTexImage2D(__VA_ARGS__); gl::errchk("glCopyTexImage2D", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glCopyTexSubImage1D(...) do { glCopyTexSubImage1D(__VA_ARGS__); gl::errchk("glCopyTexSubImage1D", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glFlushRasterSGIX(...) do { glFlushRasterSGIX(__VA_ARGS__); gl::errchk("glFlushRasterSGIX", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glColorTableParameteriv(...) do { glColorTableParameteriv(__VA_ARGS__); gl::errchk("glColorTableParameteriv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttrib2dNV(...) do { glVertexAttrib2dNV(__VA_ARGS__); gl::errchk("glVertexAttrib2dNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glDeleteQueries(...) do { glDeleteQueries(__VA_ARGS__); gl::errchk("glDeleteQueries", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glInterleavedArrays(...) do { glInterleavedArrays(__VA_ARGS__); gl::errchk("glInterleavedArrays", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glStencilOp(...) do { glStencilOp(__VA_ARGS__); gl::errchk("glStencilOp", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glReplacementCodeuiNormal3fVertex3fvSUN(...) do { glReplacementCodeuiNormal3fVertex3fvSUN(__VA_ARGS__); gl::errchk("glReplacementCodeuiNormal3fVertex3fvSUN", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetHistogramParameterfvEXT(...) do { glGetHistogramParameterfvEXT(__VA_ARGS__); gl::errchk("glGetHistogramParameterfvEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glWindowPos3fARB(...) do { glWindowPos3fARB(__VA_ARGS__); gl::errchk("glWindowPos3fARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTangent3bEXT(...) do { glTangent3bEXT(__VA_ARGS__); gl::errchk("glTangent3bEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glIndexFuncEXT(...) do { glIndexFuncEXT(__VA_ARGS__); gl::errchk("glIndexFuncEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexCoord2fColor4fNormal3fVertex3fSUN(...) do { glTexCoord2fColor4fNormal3fVertex3fSUN(__VA_ARGS__); gl::errchk("glTexCoord2fColor4fNormal3fVertex3fSUN", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glWindowPos3iMESA(...) do { glWindowPos3iMESA(__VA_ARGS__); gl::errchk("glWindowPos3iMESA", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glUniform3iARB(...) do { glUniform3iARB(__VA_ARGS__); gl::errchk("glUniform3iARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glDrawMeshArraysSUN(...) do { glDrawMeshArraysSUN(__VA_ARGS__); gl::errchk("glDrawMeshArraysSUN", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexCoord2fVertex3fvSUN(...) do { glTexCoord2fVertex3fvSUN(__VA_ARGS__); gl::errchk("glTexCoord2fVertex3fvSUN", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glWindowPos3dARB(...) do { glWindowPos3dARB(__VA_ARGS__); gl::errchk("glWindowPos3dARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTracePointerRangeMESA(...) do { glTracePointerRangeMESA(__VA_ARGS__); gl::errchk("glTracePointerRangeMESA", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glReadInstrumentsSGIX(...) do { glReadInstrumentsSGIX(__VA_ARGS__); gl::errchk("glReadInstrumentsSGIX", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glImageTransformParameterivHP(...) do { glImageTransformParameterivHP(__VA_ARGS__); gl::errchk("glImageTransformParameterivHP", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glArrayElementEXT(...) do { glArrayElementEXT(__VA_ARGS__); gl::errchk("glArrayElementEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMapParameterfvNV(...) do { glMapParameterfvNV(__VA_ARGS__); gl::errchk("glMapParameterfvNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexCoordPointerListIBM(...) do { glTexCoordPointerListIBM(__VA_ARGS__); gl::errchk("glTexCoordPointerListIBM", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glIglooInterfaceSGIX(...) do { glIglooInterfaceSGIX(__VA_ARGS__); gl::errchk("glIglooInterfaceSGIX", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTraceCommentMESA(...) do { glTraceCommentMESA(__VA_ARGS__); gl::errchk("glTraceCommentMESA", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glPixelStoref(...) do { glPixelStoref(__VA_ARGS__); gl::errchk("glPixelStoref", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glIndexubv(...) do { glIndexubv(__VA_ARGS__); gl::errchk("glIndexubv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexCoord2hvNV(...) do { glTexCoord2hvNV(__VA_ARGS__); gl::errchk("glTexCoord2hvNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetObjectParameterivARB(...) do { glGetObjectParameterivARB(__VA_ARGS__); gl::errchk("glGetObjectParameterivARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMaterialiv(...) do { glMaterialiv(__VA_ARGS__); gl::errchk("glMaterialiv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glProgramParameter4dNV(...) do { glProgramParameter4dNV(__VA_ARGS__); gl::errchk("glProgramParameter4dNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glEvalCoord2d(...) do { glEvalCoord2d(__VA_ARGS__); gl::errchk("glEvalCoord2d", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTangent3bvEXT(...) do { glTangent3bvEXT(__VA_ARGS__); gl::errchk("glTangent3bvEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glWeightfvARB(...) do { glWeightfvARB(__VA_ARGS__); gl::errchk("glWeightfvARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glBlendFuncSeparate(...) do { glBlendFuncSeparate(__VA_ARGS__); gl::errchk("glBlendFuncSeparate", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiTexCoord4dvARB(...) do { glMultiTexCoord4dvARB(__VA_ARGS__); gl::errchk("glMultiTexCoord4dvARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertex4iv(...) do { glVertex4iv(__VA_ARGS__); gl::errchk("glVertex4iv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMatrixIndexPointerARB(...) do { glMatrixIndexPointerARB(__VA_ARGS__); gl::errchk("glMatrixIndexPointerARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glRasterPos3s(...) do { glRasterPos3s(__VA_ARGS__); gl::errchk("glRasterPos3s", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glWindowPos3s(...) do { glWindowPos3s(__VA_ARGS__); gl::errchk("glWindowPos3s", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetCombinerInputParameterivNV(...) do { glGetCombinerInputParameterivNV(__VA_ARGS__); gl::errchk("glGetCombinerInputParameterivNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glFogCoordhNV(...) do { glFogCoordhNV(__VA_ARGS__); gl::errchk("glFogCoordhNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glFragmentColorMaterialSGIX(...) do { glFragmentColorMaterialSGIX(__VA_ARGS__); gl::errchk("glFragmentColorMaterialSGIX", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glWindowPos3i(...) do { glWindowPos3i(__VA_ARGS__); gl::errchk("glWindowPos3i", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttrib3hNV(...) do { glVertexAttrib3hNV(__VA_ARGS__); gl::errchk("glVertexAttrib3hNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttrib3fNV(...) do { glVertexAttrib3fNV(__VA_ARGS__); gl::errchk("glVertexAttrib3fNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glExecuteProgramNV(...) do { glExecuteProgramNV(__VA_ARGS__); gl::errchk("glExecuteProgramNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glLoadTransposeMatrixf(...) do { glLoadTransposeMatrixf(__VA_ARGS__); gl::errchk("glLoadTransposeMatrixf", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexArrayRangeNV(...) do { glVertexArrayRangeNV(__VA_ARGS__); gl::errchk("glVertexArrayRangeNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glColor4fNormal3fVertex3fSUN(...) do { glColor4fNormal3fVertex3fSUN(__VA_ARGS__); gl::errchk("glColor4fNormal3fVertex3fSUN", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glIsEnabled(...) ({ GLboolean ___ = glIsEnabled(__VA_ARGS__); gl::errchk("glIsEnabled", # __VA_ARGS__, __FILE__, __LINE__); ___; }) #define glColorPointervINTEL(...) do { glColorPointervINTEL(__VA_ARGS__); gl::errchk("glColorPointervINTEL", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glNewObjectBufferATI(...) ({ GLuint ___ = glNewObjectBufferATI(__VA_ARGS__); gl::errchk("glNewObjectBufferATI", # __VA_ARGS__, __FILE__, __LINE__); ___; }) #define glGetProgramStringNV(...) do { glGetProgramStringNV(__VA_ARGS__); gl::errchk("glGetProgramStringNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glDeleteAsyncMarkersSGIX(...) do { glDeleteAsyncMarkersSGIX(__VA_ARGS__); gl::errchk("glDeleteAsyncMarkersSGIX", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glFogCoordf(...) do { glFogCoordf(__VA_ARGS__); gl::errchk("glFogCoordf", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetVertexAttribPointervNV(...) do { glGetVertexAttribPointervNV(__VA_ARGS__); gl::errchk("glGetVertexAttribPointervNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetVertexAttribfvNV(...) do { glGetVertexAttribfvNV(__VA_ARGS__); gl::errchk("glGetVertexAttribfvNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glDrawPixels(...) do { glDrawPixels(__VA_ARGS__); gl::errchk("glDrawPixels", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexWeighthvNV(...) do { glVertexWeighthvNV(__VA_ARGS__); gl::errchk("glVertexWeighthvNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glCopyTexImage1DEXT(...) do { glCopyTexImage1DEXT(__VA_ARGS__); gl::errchk("glCopyTexImage1DEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glNormalStream3ivATI(...) do { glNormalStream3ivATI(__VA_ARGS__); gl::errchk("glNormalStream3ivATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGenBuffersARB(...) do { glGenBuffersARB(__VA_ARGS__); gl::errchk("glGenBuffersARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiTexCoord2dvARB(...) do { glMultiTexCoord2dvARB(__VA_ARGS__); gl::errchk("glMultiTexCoord2dvARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiTexCoord1hNV(...) do { glMultiTexCoord1hNV(__VA_ARGS__); gl::errchk("glMultiTexCoord1hNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glDrawElementArrayAPPLE(...) do { glDrawElementArrayAPPLE(__VA_ARGS__); gl::errchk("glDrawElementArrayAPPLE", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetFinalCombinerInputParameterivNV(...) do { glGetFinalCombinerInputParameterivNV(__VA_ARGS__); gl::errchk("glGetFinalCombinerInputParameterivNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertex4i(...) do { glVertex4i(__VA_ARGS__); gl::errchk("glVertex4i", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiTexCoord4sARB(...) do { glMultiTexCoord4sARB(__VA_ARGS__); gl::errchk("glMultiTexCoord4sARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glFogCoorddv(...) do { glFogCoorddv(__VA_ARGS__); gl::errchk("glFogCoorddv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glWindowPos2svMESA(...) do { glWindowPos2svMESA(__VA_ARGS__); gl::errchk("glWindowPos2svMESA", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetMapdv(...) do { glGetMapdv(__VA_ARGS__); gl::errchk("glGetMapdv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glColor4usv(...) do { glColor4usv(__VA_ARGS__); gl::errchk("glColor4usv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiTexCoord1s(...) do { glMultiTexCoord1s(__VA_ARGS__); gl::errchk("glMultiTexCoord1s", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glUnmapBufferARB(...) ({ GLboolean ___ = glUnmapBufferARB(__VA_ARGS__); gl::errchk("glUnmapBufferARB", # __VA_ARGS__, __FILE__, __LINE__); ___; }) #define glVertexAttrib2fvARB(...) do { glVertexAttrib2fvARB(__VA_ARGS__); gl::errchk("glVertexAttrib2fvARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glRasterPos3sv(...) do { glRasterPos3sv(__VA_ARGS__); gl::errchk("glRasterPos3sv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertex4f(...) do { glVertex4f(__VA_ARGS__); gl::errchk("glVertex4f", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiTexCoord2hNV(...) do { glMultiTexCoord2hNV(__VA_ARGS__); gl::errchk("glMultiTexCoord2hNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertex2d(...) do { glVertex2d(__VA_ARGS__); gl::errchk("glVertex2d", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttrib2hvNV(...) do { glVertexAttrib2hvNV(__VA_ARGS__); gl::errchk("glVertexAttrib2hvNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glDisableVertexAttribArrayARB(...) do { glDisableVertexAttribArrayARB(__VA_ARGS__); gl::errchk("glDisableVertexAttribArrayARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetPixelMapuiv(...) do { glGetPixelMapuiv(__VA_ARGS__); gl::errchk("glGetPixelMapuiv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glWindowPos4svMESA(...) do { glWindowPos4svMESA(__VA_ARGS__); gl::errchk("glWindowPos4svMESA", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glRasterPos2d(...) do { glRasterPos2d(__VA_ARGS__); gl::errchk("glRasterPos2d", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttribs4fvNV(...) do { glVertexAttribs4fvNV(__VA_ARGS__); gl::errchk("glVertexAttribs4fvNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glWindowPos2fMESA(...) do { glWindowPos2fMESA(__VA_ARGS__); gl::errchk("glWindowPos2fMESA", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGlobalAlphaFactorubSUN(...) do { glGlobalAlphaFactorubSUN(__VA_ARGS__); gl::errchk("glGlobalAlphaFactorubSUN", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetSharpenTexFuncSGIS(...) do { glGetSharpenTexFuncSGIS(__VA_ARGS__); gl::errchk("glGetSharpenTexFuncSGIS", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glStartInstrumentsSGIX(...) do { glStartInstrumentsSGIX(__VA_ARGS__); gl::errchk("glStartInstrumentsSGIX", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glPixelTexGenParameterfSGIS(...) do { glPixelTexGenParameterfSGIS(__VA_ARGS__); gl::errchk("glPixelTexGenParameterfSGIS", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glProgramNamedParameter4fvNV(...) do { glProgramNamedParameter4fvNV(__VA_ARGS__); gl::errchk("glProgramNamedParameter4fvNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetProgramEnvParameterdvARB(...) do { glGetProgramEnvParameterdvARB(__VA_ARGS__); gl::errchk("glGetProgramEnvParameterdvARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glDrawArraysEXT(...) do { glDrawArraysEXT(__VA_ARGS__); gl::errchk("glDrawArraysEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glShaderOp2EXT(...) do { glShaderOp2EXT(__VA_ARGS__); gl::errchk("glShaderOp2EXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glBinormal3bvEXT(...) do { glBinormal3bvEXT(__VA_ARGS__); gl::errchk("glBinormal3bvEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glLightModeli(...) do { glLightModeli(__VA_ARGS__); gl::errchk("glLightModeli", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glProgramParameter4dvNV(...) do { glProgramParameter4dvNV(__VA_ARGS__); gl::errchk("glProgramParameter4dvNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glReplacementCodeuiColor3fVertex3fvSUN(...) do { glReplacementCodeuiColor3fVertex3fvSUN(__VA_ARGS__); gl::errchk("glReplacementCodeuiColor3fVertex3fvSUN", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glColorFragmentOp1ATI(...) do { glColorFragmentOp1ATI(__VA_ARGS__); gl::errchk("glColorFragmentOp1ATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glWindowPos2fvMESA(...) do { glWindowPos2fvMESA(__VA_ARGS__); gl::errchk("glWindowPos2fvMESA", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glFeedbackBuffer(...) do { glFeedbackBuffer(__VA_ARGS__); gl::errchk("glFeedbackBuffer", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetQueryObjectuiv(...) do { glGetQueryObjectuiv(__VA_ARGS__); gl::errchk("glGetQueryObjectuiv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glPixelTexGenParameterfvSGIS(...) do { glPixelTexGenParameterfvSGIS(__VA_ARGS__); gl::errchk("glPixelTexGenParameterfvSGIS", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetUniformivARB(...) do { glGetUniformivARB(__VA_ARGS__); gl::errchk("glGetUniformivARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexStream4ivATI(...) do { glVertexStream4ivATI(__VA_ARGS__); gl::errchk("glVertexStream4ivATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttrib2svNV(...) do { glVertexAttrib2svNV(__VA_ARGS__); gl::errchk("glVertexAttrib2svNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexSubImage2DEXT(...) do { glTexSubImage2DEXT(__VA_ARGS__); gl::errchk("glTexSubImage2DEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glWindowPos2svARB(...) do { glWindowPos2svARB(__VA_ARGS__); gl::errchk("glWindowPos2svARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetTexParameteriv(...) do { glGetTexParameteriv(__VA_ARGS__); gl::errchk("glGetTexParameteriv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertex2dv(...) do { glVertex2dv(__VA_ARGS__); gl::errchk("glVertex2dv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glCompressedTexImage1DARB(...) do { glCompressedTexImage1DARB(__VA_ARGS__); gl::errchk("glCompressedTexImage1DARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glCompressedTexImage3D(...) do { glCompressedTexImage3D(__VA_ARGS__); gl::errchk("glCompressedTexImage3D", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetAttribLocationARB(...) ({ GLint ___ = glGetAttribLocationARB(__VA_ARGS__); gl::errchk("glGetAttribLocationARB", # __VA_ARGS__, __FILE__, __LINE__); ___; }) #define glPixelMapusv(...) do { glPixelMapusv(__VA_ARGS__); gl::errchk("glPixelMapusv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiTexCoord1ivARB(...) do { glMultiTexCoord1ivARB(__VA_ARGS__); gl::errchk("glMultiTexCoord1ivARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glSharpenTexFuncSGIS(...) do { glSharpenTexFuncSGIS(__VA_ARGS__); gl::errchk("glSharpenTexFuncSGIS", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glColorTableParameterivSGI(...) do { glColorTableParameterivSGI(__VA_ARGS__); gl::errchk("glColorTableParameterivSGI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glWindowPos3ivMESA(...) do { glWindowPos3ivMESA(__VA_ARGS__); gl::errchk("glWindowPos3ivMESA", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glHintPGI(...) do { glHintPGI(__VA_ARGS__); gl::errchk("glHintPGI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glBlendEquationEXT(...) do { glBlendEquationEXT(__VA_ARGS__); gl::errchk("glBlendEquationEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetPointerv(...) do { glGetPointerv(__VA_ARGS__); gl::errchk("glGetPointerv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexCoord2fColor4ubVertex3fvSUN(...) do { glTexCoord2fColor4ubVertex3fvSUN(__VA_ARGS__); gl::errchk("glTexCoord2fColor4ubVertex3fvSUN", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glSecondaryColor3iv(...) do { glSecondaryColor3iv(__VA_ARGS__); gl::errchk("glSecondaryColor3iv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glIndexd(...) do { glIndexd(__VA_ARGS__); gl::errchk("glIndexd", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glBindProgramARB(...) do { glBindProgramARB(__VA_ARGS__); gl::errchk("glBindProgramARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexStream3dvATI(...) do { glVertexStream3dvATI(__VA_ARGS__); gl::errchk("glVertexStream3dvATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexSubImage1DEXT(...) do { glTexSubImage1DEXT(__VA_ARGS__); gl::errchk("glTexSubImage1DEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glDrawBuffersATI(...) do { glDrawBuffersATI(__VA_ARGS__); gl::errchk("glDrawBuffersATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glLighti(...) do { glLighti(__VA_ARGS__); gl::errchk("glLighti", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexStream2dvATI(...) do { glVertexStream2dvATI(__VA_ARGS__); gl::errchk("glVertexStream2dvATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetProgramivARB(...) do { glGetProgramivARB(__VA_ARGS__); gl::errchk("glGetProgramivARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetMapAttribParameterivNV(...) do { glGetMapAttribParameterivNV(__VA_ARGS__); gl::errchk("glGetMapAttribParameterivNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetActiveUniformARB(...) do { glGetActiveUniformARB(__VA_ARGS__); gl::errchk("glGetActiveUniformARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glClearDepth(...) do { glClearDepth(__VA_ARGS__); gl::errchk("glClearDepth", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexParameteriv(...) do { glTexParameteriv(__VA_ARGS__); gl::errchk("glTexParameteriv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glEvalCoord2fv(...) do { glEvalCoord2fv(__VA_ARGS__); gl::errchk("glEvalCoord2fv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glSecondaryColor3sEXT(...) do { glSecondaryColor3sEXT(__VA_ARGS__); gl::errchk("glSecondaryColor3sEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glNormalStream3bATI(...) do { glNormalStream3bATI(__VA_ARGS__); gl::errchk("glNormalStream3bATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glPixelTransformParameterivEXT(...) do { glPixelTransformParameterivEXT(__VA_ARGS__); gl::errchk("glPixelTransformParameterivEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTangent3dEXT(...) do { glTangent3dEXT(__VA_ARGS__); gl::errchk("glTangent3dEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glSecondaryColor3usvEXT(...) do { glSecondaryColor3usvEXT(__VA_ARGS__); gl::errchk("glSecondaryColor3usvEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glReplacementCodeusvSUN(...) do { glReplacementCodeusvSUN(__VA_ARGS__); gl::errchk("glReplacementCodeusvSUN", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexCoord1hNV(...) do { glTexCoord1hNV(__VA_ARGS__); gl::errchk("glTexCoord1hNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glPixelTransformParameteriEXT(...) do { glPixelTransformParameteriEXT(__VA_ARGS__); gl::errchk("glPixelTransformParameteriEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glCombinerParameterfNV(...) do { glCombinerParameterfNV(__VA_ARGS__); gl::errchk("glCombinerParameterfNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetDetailTexFuncSGIS(...) do { glGetDetailTexFuncSGIS(__VA_ARGS__); gl::errchk("glGetDetailTexFuncSGIS", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glWindowPos3f(...) do { glWindowPos3f(__VA_ARGS__); gl::errchk("glWindowPos3f", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttribs1hvNV(...) do { glVertexAttribs1hvNV(__VA_ARGS__); gl::errchk("glVertexAttribs1hvNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glPointParameterf(...) do { glPointParameterf(__VA_ARGS__); gl::errchk("glPointParameterf", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiTexCoord2ivARB(...) do { glMultiTexCoord2ivARB(__VA_ARGS__); gl::errchk("glMultiTexCoord2ivARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glBegin(...) do { glBegin(__VA_ARGS__); gl::errchk("glBegin", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexCoord2fColor3fVertex3fvSUN(...) do { glTexCoord2fColor3fVertex3fvSUN(__VA_ARGS__); gl::errchk("glTexCoord2fColor3fVertex3fvSUN", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexCoord3hNV(...) do { glTexCoord3hNV(__VA_ARGS__); gl::errchk("glTexCoord3hNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glFogCoordfEXT(...) do { glFogCoordfEXT(__VA_ARGS__); gl::errchk("glFogCoordfEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetLocalConstantBooleanvEXT(...) do { glGetLocalConstantBooleanvEXT(__VA_ARGS__); gl::errchk("glGetLocalConstantBooleanvEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetActiveAttribARB(...) do { glGetActiveAttribARB(__VA_ARGS__); gl::errchk("glGetActiveAttribARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMapGrid1d(...) do { glMapGrid1d(__VA_ARGS__); gl::errchk("glMapGrid1d", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetColorTableParameterfvEXT(...) do { glGetColorTableParameterfvEXT(__VA_ARGS__); gl::errchk("glGetColorTableParameterfvEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetHistogram(...) do { glGetHistogram(__VA_ARGS__); gl::errchk("glGetHistogram", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGlobalAlphaFactoriSUN(...) do { glGlobalAlphaFactoriSUN(__VA_ARGS__); gl::errchk("glGlobalAlphaFactoriSUN", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glColorTableParameterfvSGI(...) do { glColorTableParameterfvSGI(__VA_ARGS__); gl::errchk("glColorTableParameterfvSGI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttribs3fvNV(...) do { glVertexAttribs3fvNV(__VA_ARGS__); gl::errchk("glVertexAttribs3fvNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glLightEnviSGIX(...) do { glLightEnviSGIX(__VA_ARGS__); gl::errchk("glLightEnviSGIX", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexCoord4hvNV(...) do { glTexCoord4hvNV(__VA_ARGS__); gl::errchk("glTexCoord4hvNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexParameteri(...) do { glTexParameteri(__VA_ARGS__); gl::errchk("glTexParameteri", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glSecondaryColor3ub(...) do { glSecondaryColor3ub(__VA_ARGS__); gl::errchk("glSecondaryColor3ub", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiTexCoord4s(...) do { glMultiTexCoord4s(__VA_ARGS__); gl::errchk("glMultiTexCoord4s", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexCoord4dv(...) do { glTexCoord4dv(__VA_ARGS__); gl::errchk("glTexCoord4dv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiTexCoord1f(...) do { glMultiTexCoord1f(__VA_ARGS__); gl::errchk("glMultiTexCoord1f", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiDrawArrays(...) do { glMultiDrawArrays(__VA_ARGS__); gl::errchk("glMultiDrawArrays", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glCullParameterdvEXT(...) do { glCullParameterdvEXT(__VA_ARGS__); gl::errchk("glCullParameterdvEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetMapParameterfvNV(...) do { glGetMapParameterfvNV(__VA_ARGS__); gl::errchk("glGetMapParameterfvNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiTexCoord3hvNV(...) do { glMultiTexCoord3hvNV(__VA_ARGS__); gl::errchk("glMultiTexCoord3hvNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glCombinerStageParameterfvNV(...) do { glCombinerStageParameterfvNV(__VA_ARGS__); gl::errchk("glCombinerStageParameterfvNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetQueryObjectivARB(...) do { glGetQueryObjectivARB(__VA_ARGS__); gl::errchk("glGetQueryObjectivARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glColor3ub(...) do { glColor3ub(__VA_ARGS__); gl::errchk("glColor3ub", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glSecondaryColor3sv(...) do { glSecondaryColor3sv(__VA_ARGS__); gl::errchk("glSecondaryColor3sv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexCoord4fColor4fNormal3fVertex4fSUN(...) do { glTexCoord4fColor4fNormal3fVertex4fSUN(__VA_ARGS__); gl::errchk("glTexCoord4fColor4fNormal3fVertex4fSUN", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glDeleteFencesNV(...) do { glDeleteFencesNV(__VA_ARGS__); gl::errchk("glDeleteFencesNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glHint(...) do { glHint(__VA_ARGS__); gl::errchk("glHint", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glPixelTransferi(...) do { glPixelTransferi(__VA_ARGS__); gl::errchk("glPixelTransferi", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glRenderMode(...) ({ GLint ___ = glRenderMode(__VA_ARGS__); gl::errchk("glRenderMode", # __VA_ARGS__, __FILE__, __LINE__); ___; }) #define glCompileShaderARB(...) do { glCompileShaderARB(__VA_ARGS__); gl::errchk("glCompileShaderARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetColorTable(...) do { glGetColorTable(__VA_ARGS__); gl::errchk("glGetColorTable", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertex3i(...) do { glVertex3i(__VA_ARGS__); gl::errchk("glVertex3i", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexStream2fvATI(...) do { glVertexStream2fvATI(__VA_ARGS__); gl::errchk("glVertexStream2fvATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glUseProgramObjectARB(...) do { glUseProgramObjectARB(__VA_ARGS__); gl::errchk("glUseProgramObjectARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glSampleCoverageARB(...) do { glSampleCoverageARB(__VA_ARGS__); gl::errchk("glSampleCoverageARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glCompressedTexImage1D(...) do { glCompressedTexImage1D(__VA_ARGS__); gl::errchk("glCompressedTexImage1D", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGenVertexArraysAPPLE(...) do { glGenVertexArraysAPPLE(__VA_ARGS__); gl::errchk("glGenVertexArraysAPPLE", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glSecondaryColor3fEXT(...) do { glSecondaryColor3fEXT(__VA_ARGS__); gl::errchk("glSecondaryColor3fEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexCoord3d(...) do { glTexCoord3d(__VA_ARGS__); gl::errchk("glTexCoord3d", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glAttachObjectARB(...) do { glAttachObjectARB(__VA_ARGS__); gl::errchk("glAttachObjectARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glIndexi(...) do { glIndexi(__VA_ARGS__); gl::errchk("glIndexi", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glWindowPos3sMESA(...) do { glWindowPos3sMESA(__VA_ARGS__); gl::errchk("glWindowPos3sMESA", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glBindVertexShaderEXT(...) do { glBindVertexShaderEXT(__VA_ARGS__); gl::errchk("glBindVertexShaderEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiTexCoord2fvARB(...) do { glMultiTexCoord2fvARB(__VA_ARGS__); gl::errchk("glMultiTexCoord2fvARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexCoord4s(...) do { glTexCoord4s(__VA_ARGS__); gl::errchk("glTexCoord4s", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiTexCoord3dARB(...) do { glMultiTexCoord3dARB(__VA_ARGS__); gl::errchk("glMultiTexCoord3dARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiModeDrawElementsIBM(...) do { glMultiModeDrawElementsIBM(__VA_ARGS__); gl::errchk("glMultiModeDrawElementsIBM", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiTexCoord3s(...) do { glMultiTexCoord3s(__VA_ARGS__); gl::errchk("glMultiTexCoord3s", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetTexGendv(...) do { glGetTexGendv(__VA_ARGS__); gl::errchk("glGetTexGendv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetProgramNamedParameterfvNV(...) do { glGetProgramNamedParameterfvNV(__VA_ARGS__); gl::errchk("glGetProgramNamedParameterfvNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glColor3s(...) do { glColor3s(__VA_ARGS__); gl::errchk("glColor3s", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttrib4NbvARB(...) do { glVertexAttrib4NbvARB(__VA_ARGS__); gl::errchk("glVertexAttrib4NbvARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetMapiv(...) do { glGetMapiv(__VA_ARGS__); gl::errchk("glGetMapiv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGlobalAlphaFactorsSUN(...) do { glGlobalAlphaFactorsSUN(__VA_ARGS__); gl::errchk("glGlobalAlphaFactorsSUN", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glSecondaryColor3f(...) do { glSecondaryColor3f(__VA_ARGS__); gl::errchk("glSecondaryColor3f", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glEnd(...) do { glEnd(__VA_ARGS__); gl::errchk("glEnd", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glScaled(...) do { glScaled(__VA_ARGS__); gl::errchk("glScaled", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glColorFragmentOp2ATI(...) do { glColorFragmentOp2ATI(__VA_ARGS__); gl::errchk("glColorFragmentOp2ATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glWindowPos2fARB(...) do { glWindowPos2fARB(__VA_ARGS__); gl::errchk("glWindowPos2fARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glBlendFuncSeparateEXT(...) do { glBlendFuncSeparateEXT(__VA_ARGS__); gl::errchk("glBlendFuncSeparateEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glImageTransformParameteriHP(...) do { glImageTransformParameteriHP(__VA_ARGS__); gl::errchk("glImageTransformParameteriHP", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiTexCoord2d(...) do { glMultiTexCoord2d(__VA_ARGS__); gl::errchk("glMultiTexCoord2d", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMapGrid2d(...) do { glMapGrid2d(__VA_ARGS__); gl::errchk("glMapGrid2d", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glBufferSubData(...) do { glBufferSubData(__VA_ARGS__); gl::errchk("glBufferSubData", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiTexCoord3fv(...) do { glMultiTexCoord3fv(__VA_ARGS__); gl::errchk("glMultiTexCoord3fv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glColorSubTableEXT(...) do { glColorSubTableEXT(__VA_ARGS__); gl::errchk("glColorSubTableEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexGenf(...) do { glTexGenf(__VA_ARGS__); gl::errchk("glTexGenf", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glWindowPos3svMESA(...) do { glWindowPos3svMESA(__VA_ARGS__); gl::errchk("glWindowPos3svMESA", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexCoord1dv(...) do { glTexCoord1dv(__VA_ARGS__); gl::errchk("glTexCoord1dv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetConvolutionFilterEXT(...) do { glGetConvolutionFilterEXT(__VA_ARGS__); gl::errchk("glGetConvolutionFilterEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glDeleteBuffers(...) do { glDeleteBuffers(__VA_ARGS__); gl::errchk("glDeleteBuffers", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glDeleteOcclusionQueriesNV(...) do { glDeleteOcclusionQueriesNV(__VA_ARGS__); gl::errchk("glDeleteOcclusionQueriesNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGlobalAlphaFactorbSUN(...) do { glGlobalAlphaFactorbSUN(__VA_ARGS__); gl::errchk("glGlobalAlphaFactorbSUN", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glPixelTexGenParameteriSGIS(...) do { glPixelTexGenParameteriSGIS(__VA_ARGS__); gl::errchk("glPixelTexGenParameteriSGIS", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glUniform4fARB(...) do { glUniform4fARB(__VA_ARGS__); gl::errchk("glUniform4fARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGenFencesNV(...) do { glGenFencesNV(__VA_ARGS__); gl::errchk("glGenFencesNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetMinmaxParameterfvEXT(...) do { glGetMinmaxParameterfvEXT(__VA_ARGS__); gl::errchk("glGetMinmaxParameterfvEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glBindBuffer(...) do { glBindBuffer(__VA_ARGS__); gl::errchk("glBindBuffer", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glPopClientAttrib(...) do { glPopClientAttrib(__VA_ARGS__); gl::errchk("glPopClientAttrib", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetClipPlane(...) do { glGetClipPlane(__VA_ARGS__); gl::errchk("glGetClipPlane", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glSecondaryColor3ubvEXT(...) do { glSecondaryColor3ubvEXT(__VA_ARGS__); gl::errchk("glSecondaryColor3ubvEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetHistogramEXT(...) do { glGetHistogramEXT(__VA_ARGS__); gl::errchk("glGetHistogramEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glConvolutionFilter1DEXT(...) do { glConvolutionFilter1DEXT(__VA_ARGS__); gl::errchk("glConvolutionFilter1DEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glDetachObjectARB(...) do { glDetachObjectARB(__VA_ARGS__); gl::errchk("glDetachObjectARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertex2i(...) do { glVertex2i(__VA_ARGS__); gl::errchk("glVertex2i", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glBindAttribLocationARB(...) do { glBindAttribLocationARB(__VA_ARGS__); gl::errchk("glBindAttribLocationARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glEnableVertexAttribArrayARB(...) do { glEnableVertexAttribArrayARB(__VA_ARGS__); gl::errchk("glEnableVertexAttribArrayARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glRasterPos3d(...) do { glRasterPos3d(__VA_ARGS__); gl::errchk("glRasterPos3d", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertex3sv(...) do { glVertex3sv(__VA_ARGS__); gl::errchk("glVertex3sv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glFragmentLightModelfvSGIX(...) do { glFragmentLightModelfvSGIX(__VA_ARGS__); gl::errchk("glFragmentLightModelfvSGIX", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glLogicOp(...) do { glLogicOp(__VA_ARGS__); gl::errchk("glLogicOp", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glInstrumentsBufferSGIX(...) do { glInstrumentsBufferSGIX(__VA_ARGS__); gl::errchk("glInstrumentsBufferSGIX", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetColorTableParameteriv(...) do { glGetColorTableParameteriv(__VA_ARGS__); gl::errchk("glGetColorTableParameteriv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttrib1dARB(...) do { glVertexAttrib1dARB(__VA_ARGS__); gl::errchk("glVertexAttrib1dARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetCombinerStageParameterfvNV(...) do { glGetCombinerStageParameterfvNV(__VA_ARGS__); gl::errchk("glGetCombinerStageParameterfvNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttrib2sARB(...) do { glVertexAttrib2sARB(__VA_ARGS__); gl::errchk("glVertexAttrib2sARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetMapAttribParameterfvNV(...) do { glGetMapAttribParameterfvNV(__VA_ARGS__); gl::errchk("glGetMapAttribParameterfvNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glSecondaryColorPointerEXT(...) do { glSecondaryColorPointerEXT(__VA_ARGS__); gl::errchk("glSecondaryColorPointerEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glFinish(...) do { glFinish(__VA_ARGS__); gl::errchk("glFinish", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetBooleanv(...) do { glGetBooleanv(__VA_ARGS__); gl::errchk("glGetBooleanv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGenQueries(...) do { glGenQueries(__VA_ARGS__); gl::errchk("glGenQueries", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glDrawRangeElementArrayATI(...) do { glDrawRangeElementArrayATI(__VA_ARGS__); gl::errchk("glDrawRangeElementArrayATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glIndexdv(...) do { glIndexdv(__VA_ARGS__); gl::errchk("glIndexdv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glWindowPos3fvMESA(...) do { glWindowPos3fvMESA(__VA_ARGS__); gl::errchk("glWindowPos3fvMESA", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexGeniv(...) do { glTexGeniv(__VA_ARGS__); gl::errchk("glTexGeniv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glEdgeFlagv(...) do { glEdgeFlagv(__VA_ARGS__); gl::errchk("glEdgeFlagv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glBindParameterEXT(...) ({ GLuint ___ = glBindParameterEXT(__VA_ARGS__); gl::errchk("glBindParameterEXT", # __VA_ARGS__, __FILE__, __LINE__); ___; }) #define glIsObjectBufferATI(...) ({ GLboolean ___ = glIsObjectBufferATI(__VA_ARGS__); gl::errchk("glIsObjectBufferATI", # __VA_ARGS__, __FILE__, __LINE__); ___; }) #define glGenAsyncMarkersSGIX(...) ({ GLuint ___ = glGenAsyncMarkersSGIX(__VA_ARGS__); gl::errchk("glGenAsyncMarkersSGIX", # __VA_ARGS__, __FILE__, __LINE__); ___; }) #define glMultTransposeMatrixdARB(...) do { glMultTransposeMatrixdARB(__VA_ARGS__); gl::errchk("glMultTransposeMatrixdARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertex2f(...) do { glVertex2f(__VA_ARGS__); gl::errchk("glVertex2f", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexStream1svATI(...) do { glVertexStream1svATI(__VA_ARGS__); gl::errchk("glVertexStream1svATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glNormal3bv(...) do { glNormal3bv(__VA_ARGS__); gl::errchk("glNormal3bv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glPushName(...) do { glPushName(__VA_ARGS__); gl::errchk("glPushName", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glColorSubTable(...) do { glColorSubTable(__VA_ARGS__); gl::errchk("glColorSubTable", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiTexCoord3svARB(...) do { glMultiTexCoord3svARB(__VA_ARGS__); gl::errchk("glMultiTexCoord3svARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glColor4ub(...) do { glColor4ub(__VA_ARGS__); gl::errchk("glColor4ub", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glFragmentLightModeliSGIX(...) do { glFragmentLightModeliSGIX(__VA_ARGS__); gl::errchk("glFragmentLightModeliSGIX", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glProgramParameters4fvNV(...) do { glProgramParameters4fvNV(__VA_ARGS__); gl::errchk("glProgramParameters4fvNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glSetFenceNV(...) do { glSetFenceNV(__VA_ARGS__); gl::errchk("glSetFenceNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexCoord2hNV(...) do { glTexCoord2hNV(__VA_ARGS__); gl::errchk("glTexCoord2hNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexStream4fATI(...) do { glVertexStream4fATI(__VA_ARGS__); gl::errchk("glVertexStream4fATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glEdgeFlagPointerEXT(...) do { glEdgeFlagPointerEXT(__VA_ARGS__); gl::errchk("glEdgeFlagPointerEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetObjectBufferivATI(...) do { glGetObjectBufferivATI(__VA_ARGS__); gl::errchk("glGetObjectBufferivATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glColor3ui(...) do { glColor3ui(__VA_ARGS__); gl::errchk("glColor3ui", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glRasterPos4i(...) do { glRasterPos4i(__VA_ARGS__); gl::errchk("glRasterPos4i", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glColorPointer(...) do { glColorPointer(__VA_ARGS__); gl::errchk("glColorPointer", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glCopyTexSubImage3D(...) do { glCopyTexSubImage3D(__VA_ARGS__); gl::errchk("glCopyTexSubImage3D", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glListParameterivSGIX(...) do { glListParameterivSGIX(__VA_ARGS__); gl::errchk("glListParameterivSGIX", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiTexCoord4iARB(...) do { glMultiTexCoord4iARB(__VA_ARGS__); gl::errchk("glMultiTexCoord4iARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glSecondaryColor3dvEXT(...) do { glSecondaryColor3dvEXT(__VA_ARGS__); gl::errchk("glSecondaryColor3dvEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGenOcclusionQueriesNV(...) do { glGenOcclusionQueriesNV(__VA_ARGS__); gl::errchk("glGenOcclusionQueriesNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glRectf(...) do { glRectf(__VA_ARGS__); gl::errchk("glRectf", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glSecondaryColor3bEXT(...) do { glSecondaryColor3bEXT(__VA_ARGS__); gl::errchk("glSecondaryColor3bEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glSecondaryColor3us(...) do { glSecondaryColor3us(__VA_ARGS__); gl::errchk("glSecondaryColor3us", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glSampleMaskSGIS(...) do { glSampleMaskSGIS(__VA_ARGS__); gl::errchk("glSampleMaskSGIS", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiTexCoord4svARB(...) do { glMultiTexCoord4svARB(__VA_ARGS__); gl::errchk("glMultiTexCoord4svARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiTexCoord4f(...) do { glMultiTexCoord4f(__VA_ARGS__); gl::errchk("glMultiTexCoord4f", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glUnlockArraysEXT(...) do { glUnlockArraysEXT(__VA_ARGS__); gl::errchk("glUnlockArraysEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glColor4hvNV(...) do { glColor4hvNV(__VA_ARGS__); gl::errchk("glColor4hvNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexPointerEXT(...) do { glVertexPointerEXT(__VA_ARGS__); gl::errchk("glVertexPointerEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetString(...) ({ const GLubyte* ___ = glGetString(__VA_ARGS__); gl::errchk("glGetString", # __VA_ARGS__, __FILE__, __LINE__); ___; }) #define glVertexAttrib4fvARB(...) do { glVertexAttrib4fvARB(__VA_ARGS__); gl::errchk("glVertexAttrib4fvARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glBindTexGenParameterEXT(...) ({ GLuint ___ = glBindTexGenParameterEXT(__VA_ARGS__); gl::errchk("glBindTexGenParameterEXT", # __VA_ARGS__, __FILE__, __LINE__); ___; }) #define glRasterPos4sv(...) do { glRasterPos4sv(__VA_ARGS__); gl::errchk("glRasterPos4sv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glPassThrough(...) do { glPassThrough(__VA_ARGS__); gl::errchk("glPassThrough", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glNormalStream3iATI(...) do { glNormalStream3iATI(__VA_ARGS__); gl::errchk("glNormalStream3iATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetProgramStringARB(...) do { glGetProgramStringARB(__VA_ARGS__); gl::errchk("glGetProgramStringARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVariantbvEXT(...) do { glVariantbvEXT(__VA_ARGS__); gl::errchk("glVariantbvEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glReadPixels(...) do { glReadPixels(__VA_ARGS__); gl::errchk("glReadPixels", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMinmax(...) do { glMinmax(__VA_ARGS__); gl::errchk("glMinmax", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glDeleteFencesAPPLE(...) do { glDeleteFencesAPPLE(__VA_ARGS__); gl::errchk("glDeleteFencesAPPLE", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexCoord1d(...) do { glTexCoord1d(__VA_ARGS__); gl::errchk("glTexCoord1d", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glBinormal3svEXT(...) do { glBinormal3svEXT(__VA_ARGS__); gl::errchk("glBinormal3svEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVariantdvEXT(...) do { glVariantdvEXT(__VA_ARGS__); gl::errchk("glVariantdvEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glShaderOp1EXT(...) do { glShaderOp1EXT(__VA_ARGS__); gl::errchk("glShaderOp1EXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMatrixIndexusvARB(...) do { glMatrixIndexusvARB(__VA_ARGS__); gl::errchk("glMatrixIndexusvARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glFogCoorddEXT(...) do { glFogCoorddEXT(__VA_ARGS__); gl::errchk("glFogCoorddEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttrib4dARB(...) do { glVertexAttrib4dARB(__VA_ARGS__); gl::errchk("glVertexAttrib4dARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glCopyTexSubImage3DEXT(...) do { glCopyTexSubImage3DEXT(__VA_ARGS__); gl::errchk("glCopyTexSubImage3DEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertex4hvNV(...) do { glVertex4hvNV(__VA_ARGS__); gl::errchk("glVertex4hvNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glColor4iv(...) do { glColor4iv(__VA_ARGS__); gl::errchk("glColor4iv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetProgramLocalParameterdvARB(...) do { glGetProgramLocalParameterdvARB(__VA_ARGS__); gl::errchk("glGetProgramLocalParameterdvARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glLightModelfv(...) do { glLightModelfv(__VA_ARGS__); gl::errchk("glLightModelfv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glBeginOcclusionQueryNV(...) do { glBeginOcclusionQueryNV(__VA_ARGS__); gl::errchk("glBeginOcclusionQueryNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexStream1ivATI(...) do { glVertexStream1ivATI(__VA_ARGS__); gl::errchk("glVertexStream1ivATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glConvolutionParameterf(...) do { glConvolutionParameterf(__VA_ARGS__); gl::errchk("glConvolutionParameterf", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glNormalPointerListIBM(...) do { glNormalPointerListIBM(__VA_ARGS__); gl::errchk("glNormalPointerListIBM", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexStream1dATI(...) do { glVertexStream1dATI(__VA_ARGS__); gl::errchk("glVertexStream1dATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glPushMatrix(...) do { glPushMatrix(__VA_ARGS__); gl::errchk("glPushMatrix", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttrib3sARB(...) do { glVertexAttrib3sARB(__VA_ARGS__); gl::errchk("glVertexAttrib3sARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttrib3fvARB(...) do { glVertexAttrib3fvARB(__VA_ARGS__); gl::errchk("glVertexAttrib3fvARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiTexCoord2iv(...) do { glMultiTexCoord2iv(__VA_ARGS__); gl::errchk("glMultiTexCoord2iv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetMinmax(...) do { glGetMinmax(__VA_ARGS__); gl::errchk("glGetMinmax", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glIndexub(...) do { glIndexub(__VA_ARGS__); gl::errchk("glIndexub", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glBindProgramNV(...) do { glBindProgramNV(__VA_ARGS__); gl::errchk("glBindProgramNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiTexCoord1sv(...) do { glMultiTexCoord1sv(__VA_ARGS__); gl::errchk("glMultiTexCoord1sv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glFreeObjectBufferATI(...) do { glFreeObjectBufferATI(__VA_ARGS__); gl::errchk("glFreeObjectBufferATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexStream2dATI(...) do { glVertexStream2dATI(__VA_ARGS__); gl::errchk("glVertexStream2dATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttrib1sARB(...) do { glVertexAttrib1sARB(__VA_ARGS__); gl::errchk("glVertexAttrib1sARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glWindowPos3fvARB(...) do { glWindowPos3fvARB(__VA_ARGS__); gl::errchk("glWindowPos3fvARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glClipPlane(...) do { glClipPlane(__VA_ARGS__); gl::errchk("glClipPlane", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glBlendEquation(...) do { glBlendEquation(__VA_ARGS__); gl::errchk("glBlendEquation", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glResetMinmax(...) do { glResetMinmax(__VA_ARGS__); gl::errchk("glResetMinmax", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glColorTable(...) do { glColorTable(__VA_ARGS__); gl::errchk("glColorTable", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetConvolutionParameterivEXT(...) do { glGetConvolutionParameterivEXT(__VA_ARGS__); gl::errchk("glGetConvolutionParameterivEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glEdgeFlag(...) do { glEdgeFlag(__VA_ARGS__); gl::errchk("glEdgeFlag", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexImage3D(...) do { glTexImage3D(__VA_ARGS__); gl::errchk("glTexImage3D", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttrib4usvARB(...) do { glVertexAttrib4usvARB(__VA_ARGS__); gl::errchk("glVertexAttrib4usvARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVariantArrayObjectATI(...) do { glVariantArrayObjectATI(__VA_ARGS__); gl::errchk("glVariantArrayObjectATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetLightiv(...) do { glGetLightiv(__VA_ARGS__); gl::errchk("glGetLightiv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glFragmentMaterialivSGIX(...) do { glFragmentMaterialivSGIX(__VA_ARGS__); gl::errchk("glFragmentMaterialivSGIX", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glIndexMaterialEXT(...) do { glIndexMaterialEXT(__VA_ARGS__); gl::errchk("glIndexMaterialEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexEnvi(...) do { glTexEnvi(__VA_ARGS__); gl::errchk("glTexEnvi", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glBindTexture(...) do { glBindTexture(__VA_ARGS__); gl::errchk("glBindTexture", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetObjectBufferfvATI(...) do { glGetObjectBufferfvATI(__VA_ARGS__); gl::errchk("glGetObjectBufferfvATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetTexBumpParameterivATI(...) do { glGetTexBumpParameterivATI(__VA_ARGS__); gl::errchk("glGetTexBumpParameterivATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttribs1svNV(...) do { glVertexAttribs1svNV(__VA_ARGS__); gl::errchk("glVertexAttribs1svNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glUniformMatrix2fvARB(...) do { glUniformMatrix2fvARB(__VA_ARGS__); gl::errchk("glUniformMatrix2fvARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertex3d(...) do { glVertex3d(__VA_ARGS__); gl::errchk("glVertex3d", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glEvalCoord1f(...) do { glEvalCoord1f(__VA_ARGS__); gl::errchk("glEvalCoord1f", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetFenceivNV(...) do { glGetFenceivNV(__VA_ARGS__); gl::errchk("glGetFenceivNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glResizeBuffersMESA(...) do { glResizeBuffersMESA(__VA_ARGS__); gl::errchk("glResizeBuffersMESA", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexStream4dvATI(...) do { glVertexStream4dvATI(__VA_ARGS__); gl::errchk("glVertexStream4dvATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttribPointerNV(...) do { glVertexAttribPointerNV(__VA_ARGS__); gl::errchk("glVertexAttribPointerNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexBumpParameterivATI(...) do { glTexBumpParameterivATI(__VA_ARGS__); gl::errchk("glTexBumpParameterivATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glDeleteProgramsNV(...) do { glDeleteProgramsNV(__VA_ARGS__); gl::errchk("glDeleteProgramsNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glReferencePlaneSGIX(...) do { glReferencePlaneSGIX(__VA_ARGS__); gl::errchk("glReferencePlaneSGIX", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexCoord2sv(...) do { glTexCoord2sv(__VA_ARGS__); gl::errchk("glTexCoord2sv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glWindowPos2sARB(...) do { glWindowPos2sARB(__VA_ARGS__); gl::errchk("glWindowPos2sARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glUniform1fARB(...) do { glUniform1fARB(__VA_ARGS__); gl::errchk("glUniform1fARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glAlphaFunc(...) do { glAlphaFunc(__VA_ARGS__); gl::errchk("glAlphaFunc", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTangent3sEXT(...) do { glTangent3sEXT(__VA_ARGS__); gl::errchk("glTangent3sEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTangent3fvEXT(...) do { glTangent3fvEXT(__VA_ARGS__); gl::errchk("glTangent3fvEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glCopyConvolutionFilter1D(...) do { glCopyConvolutionFilter1D(__VA_ARGS__); gl::errchk("glCopyConvolutionFilter1D", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetSeparableFilter(...) do { glGetSeparableFilter(__VA_ARGS__); gl::errchk("glGetSeparableFilter", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glActiveTexture(...) do { glActiveTexture(__VA_ARGS__); gl::errchk("glActiveTexture", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glPixelTransformParameterfvEXT(...) do { glPixelTransformParameterfvEXT(__VA_ARGS__); gl::errchk("glPixelTransformParameterfvEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glSecondaryColor3s(...) do { glSecondaryColor3s(__VA_ARGS__); gl::errchk("glSecondaryColor3s", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glCombinerParameteriNV(...) do { glCombinerParameteriNV(__VA_ARGS__); gl::errchk("glCombinerParameteriNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glPixelTransformParameterfEXT(...) do { glPixelTransformParameterfEXT(__VA_ARGS__); gl::errchk("glPixelTransformParameterfEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glProgramParameter4fNV(...) do { glProgramParameter4fNV(__VA_ARGS__); gl::errchk("glProgramParameter4fNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetPixelTexGenParameterivSGIS(...) do { glGetPixelTexGenParameterivSGIS(__VA_ARGS__); gl::errchk("glGetPixelTexGenParameterivSGIS", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glBlendColor(...) do { glBlendColor(__VA_ARGS__); gl::errchk("glBlendColor", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetBufferSubData(...) do { glGetBufferSubData(__VA_ARGS__); gl::errchk("glGetBufferSubData", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetDoublev(...) do { glGetDoublev(__VA_ARGS__); gl::errchk("glGetDoublev", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiTexCoord2i(...) do { glMultiTexCoord2i(__VA_ARGS__); gl::errchk("glMultiTexCoord2i", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glCopyColorSubTableEXT(...) do { glCopyColorSubTableEXT(__VA_ARGS__); gl::errchk("glCopyColorSubTableEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glWindowPos2ivARB(...) do { glWindowPos2ivARB(__VA_ARGS__); gl::errchk("glWindowPos2ivARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexCoord4f(...) do { glTexCoord4f(__VA_ARGS__); gl::errchk("glTexCoord4f", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glNormalStream3dvATI(...) do { glNormalStream3dvATI(__VA_ARGS__); gl::errchk("glNormalStream3dvATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glDrawBuffer(...) do { glDrawBuffer(__VA_ARGS__); gl::errchk("glDrawBuffer", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glWindowPos3dvMESA(...) do { glWindowPos3dvMESA(__VA_ARGS__); gl::errchk("glWindowPos3dvMESA", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glReplacementCodePointerSUN(...) do { glReplacementCodePointerSUN(__VA_ARGS__); gl::errchk("glReplacementCodePointerSUN", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glConvolutionParameterfEXT(...) do { glConvolutionParameterfEXT(__VA_ARGS__); gl::errchk("glConvolutionParameterfEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttrib1dNV(...) do { glVertexAttrib1dNV(__VA_ARGS__); gl::errchk("glVertexAttrib1dNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glProgramEnvParameter4dARB(...) do { glProgramEnvParameter4dARB(__VA_ARGS__); gl::errchk("glProgramEnvParameter4dARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glColor4ui(...) do { glColor4ui(__VA_ARGS__); gl::errchk("glColor4ui", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiTexCoord3hNV(...) do { glMultiTexCoord3hNV(__VA_ARGS__); gl::errchk("glMultiTexCoord3hNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glNormalStream3fATI(...) do { glNormalStream3fATI(__VA_ARGS__); gl::errchk("glNormalStream3fATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexEnviv(...) do { glTexEnviv(__VA_ARGS__); gl::errchk("glTexEnviv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetTexLevelParameteriv(...) do { glGetTexLevelParameteriv(__VA_ARGS__); gl::errchk("glGetTexLevelParameteriv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glWeightivARB(...) do { glWeightivARB(__VA_ARGS__); gl::errchk("glWeightivARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glPointParameterfARB(...) do { glPointParameterfARB(__VA_ARGS__); gl::errchk("glPointParameterfARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glBeginQuery(...) do { glBeginQuery(__VA_ARGS__); gl::errchk("glBeginQuery", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glLoadMatrixd(...) do { glLoadMatrixd(__VA_ARGS__); gl::errchk("glLoadMatrixd", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glLoadIdentity(...) do { glLoadIdentity(__VA_ARGS__); gl::errchk("glLoadIdentity", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glScalef(...) do { glScalef(__VA_ARGS__); gl::errchk("glScalef", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glRectsv(...) do { glRectsv(__VA_ARGS__); gl::errchk("glRectsv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetVariantArrayObjectfvATI(...) do { glGetVariantArrayObjectfvATI(__VA_ARGS__); gl::errchk("glGetVariantArrayObjectfvATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glIsQuery(...) ({ GLboolean ___ = glIsQuery(__VA_ARGS__); gl::errchk("glIsQuery", # __VA_ARGS__, __FILE__, __LINE__); ___; }) #define glGetVertexAttribdvNV(...) do { glGetVertexAttribdvNV(__VA_ARGS__); gl::errchk("glGetVertexAttribdvNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetColorTableSGI(...) do { glGetColorTableSGI(__VA_ARGS__); gl::errchk("glGetColorTableSGI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTranslated(...) do { glTranslated(__VA_ARGS__); gl::errchk("glTranslated", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexCoordPointervINTEL(...) do { glTexCoordPointervINTEL(__VA_ARGS__); gl::errchk("glTexCoordPointervINTEL", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glPointParameteriv(...) do { glPointParameteriv(__VA_ARGS__); gl::errchk("glPointParameteriv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glEvalPoint1(...) do { glEvalPoint1(__VA_ARGS__); gl::errchk("glEvalPoint1", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glColor3hNV(...) do { glColor3hNV(__VA_ARGS__); gl::errchk("glColor3hNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glColorMask(...) do { glColorMask(__VA_ARGS__); gl::errchk("glColorMask", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMap1d(...) do { glMap1d(__VA_ARGS__); gl::errchk("glMap1d", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glWeightubvARB(...) do { glWeightubvARB(__VA_ARGS__); gl::errchk("glWeightubvARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetMinmaxParameterivEXT(...) do { glGetMinmaxParameterivEXT(__VA_ARGS__); gl::errchk("glGetMinmaxParameterivEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glReplacementCodeubSUN(...) do { glReplacementCodeubSUN(__VA_ARGS__); gl::errchk("glReplacementCodeubSUN", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttrib1fvNV(...) do { glVertexAttrib1fvNV(__VA_ARGS__); gl::errchk("glVertexAttrib1fvNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetBufferPointerv(...) do { glGetBufferPointerv(__VA_ARGS__); gl::errchk("glGetBufferPointerv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glFogCoordPointer(...) do { glFogCoordPointer(__VA_ARGS__); gl::errchk("glFogCoordPointer", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glConvolutionFilter2DEXT(...) do { glConvolutionFilter2DEXT(__VA_ARGS__); gl::errchk("glConvolutionFilter2DEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glSeparableFilter2DEXT(...) do { glSeparableFilter2DEXT(__VA_ARGS__); gl::errchk("glSeparableFilter2DEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetTexGeniv(...) do { glGetTexGeniv(__VA_ARGS__); gl::errchk("glGetTexGeniv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glCopyTexImage2DEXT(...) do { glCopyTexImage2DEXT(__VA_ARGS__); gl::errchk("glCopyTexImage2DEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexStream1iATI(...) do { glVertexStream1iATI(__VA_ARGS__); gl::errchk("glVertexStream1iATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glDisable(...) do { glDisable(__VA_ARGS__); gl::errchk("glDisable", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetArrayObjectfvATI(...) do { glGetArrayObjectfvATI(__VA_ARGS__); gl::errchk("glGetArrayObjectfvATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttrib4dvNV(...) do { glVertexAttrib4dvNV(__VA_ARGS__); gl::errchk("glVertexAttrib4dvNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMapParameterivNV(...) do { glMapParameterivNV(__VA_ARGS__); gl::errchk("glMapParameterivNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glSampleMaskEXT(...) do { glSampleMaskEXT(__VA_ARGS__); gl::errchk("glSampleMaskEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glFragmentMaterialiSGIX(...) do { glFragmentMaterialiSGIX(__VA_ARGS__); gl::errchk("glFragmentMaterialiSGIX", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glShaderSourceARB(...) do { glShaderSourceARB(__VA_ARGS__); gl::errchk("glShaderSourceARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexCoord1i(...) do { glTexCoord1i(__VA_ARGS__); gl::errchk("glTexCoord1i", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMatrixIndexubvARB(...) do { glMatrixIndexubvARB(__VA_ARGS__); gl::errchk("glMatrixIndexubvARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetMapParameterivNV(...) do { glGetMapParameterivNV(__VA_ARGS__); gl::errchk("glGetMapParameterivNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN(...) do { glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN(__VA_ARGS__); gl::errchk("glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glColor3uiv(...) do { glColor3uiv(__VA_ARGS__); gl::errchk("glColor3uiv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glSecondaryColor3bv(...) do { glSecondaryColor3bv(__VA_ARGS__); gl::errchk("glSecondaryColor3bv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glIsTextureEXT(...) ({ GLboolean ___ = glIsTextureEXT(__VA_ARGS__); gl::errchk("glIsTextureEXT", # __VA_ARGS__, __FILE__, __LINE__); ___; }) #define glDeleteVertexShaderEXT(...) do { glDeleteVertexShaderEXT(__VA_ARGS__); gl::errchk("glDeleteVertexShaderEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glEnableVariantClientStateEXT(...) do { glEnableVariantClientStateEXT(__VA_ARGS__); gl::errchk("glEnableVariantClientStateEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetMapfv(...) do { glGetMapfv(__VA_ARGS__); gl::errchk("glGetMapfv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTangent3svEXT(...) do { glTangent3svEXT(__VA_ARGS__); gl::errchk("glTangent3svEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glWindowPos2dvARB(...) do { glWindowPos2dvARB(__VA_ARGS__); gl::errchk("glWindowPos2dvARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexCoord1iv(...) do { glTexCoord1iv(__VA_ARGS__); gl::errchk("glTexCoord1iv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttrib4ubvARB(...) do { glVertexAttrib4ubvARB(__VA_ARGS__); gl::errchk("glVertexAttrib4ubvARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexCoord2fVertex3fSUN(...) do { glTexCoord2fVertex3fSUN(__VA_ARGS__); gl::errchk("glTexCoord2fVertex3fSUN", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttribs2svNV(...) do { glVertexAttribs2svNV(__VA_ARGS__); gl::errchk("glVertexAttribs2svNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glReplacementCodeuiTexCoord2fVertex3fSUN(...) do { glReplacementCodeuiTexCoord2fVertex3fSUN(__VA_ARGS__); gl::errchk("glReplacementCodeuiTexCoord2fVertex3fSUN", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glWindowPos3ivARB(...) do { glWindowPos3ivARB(__VA_ARGS__); gl::errchk("glWindowPos3ivARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glWindowPos3dv(...) do { glWindowPos3dv(__VA_ARGS__); gl::errchk("glWindowPos3dv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glRasterPos3f(...) do { glRasterPos3f(__VA_ARGS__); gl::errchk("glRasterPos3f", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexCoord1s(...) do { glTexCoord1s(__VA_ARGS__); gl::errchk("glTexCoord1s", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glDepthBoundsEXT(...) do { glDepthBoundsEXT(__VA_ARGS__); gl::errchk("glDepthBoundsEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glDeleteObjectARB(...) do { glDeleteObjectARB(__VA_ARGS__); gl::errchk("glDeleteObjectARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetCompressedTexImageARB(...) do { glGetCompressedTexImageARB(__VA_ARGS__); gl::errchk("glGetCompressedTexImageARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glFinishFenceAPPLE(...) do { glFinishFenceAPPLE(__VA_ARGS__); gl::errchk("glFinishFenceAPPLE", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glAlphaFragmentOp2ATI(...) do { glAlphaFragmentOp2ATI(__VA_ARGS__); gl::errchk("glAlphaFragmentOp2ATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glUniform2ivARB(...) do { glUniform2ivARB(__VA_ARGS__); gl::errchk("glUniform2ivARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glRasterPos3iv(...) do { glRasterPos3iv(__VA_ARGS__); gl::errchk("glRasterPos3iv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glPNTrianglesiATI(...) do { glPNTrianglesiATI(__VA_ARGS__); gl::errchk("glPNTrianglesiATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glCombinerParameterivNV(...) do { glCombinerParameterivNV(__VA_ARGS__); gl::errchk("glCombinerParameterivNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glCombinerOutputNV(...) do { glCombinerOutputNV(__VA_ARGS__); gl::errchk("glCombinerOutputNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTestFenceNV(...) ({ GLboolean ___ = glTestFenceNV(__VA_ARGS__); gl::errchk("glTestFenceNV", # __VA_ARGS__, __FILE__, __LINE__); ___; }) #define glTexCoord2fColor4ubVertex3fSUN(...) do { glTexCoord2fColor4ubVertex3fSUN(__VA_ARGS__); gl::errchk("glTexCoord2fColor4ubVertex3fSUN", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttrib2fvNV(...) do { glVertexAttrib2fvNV(__VA_ARGS__); gl::errchk("glVertexAttrib2fvNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultTransposeMatrixfARB(...) do { glMultTransposeMatrixfARB(__VA_ARGS__); gl::errchk("glMultTransposeMatrixfARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexStream2svATI(...) do { glVertexStream2svATI(__VA_ARGS__); gl::errchk("glVertexStream2svATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMap2d(...) do { glMap2d(__VA_ARGS__); gl::errchk("glMap2d", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glFinishAsyncSGIX(...) ({ GLint ___ = glFinishAsyncSGIX(__VA_ARGS__); gl::errchk("glFinishAsyncSGIX", # __VA_ARGS__, __FILE__, __LINE__); ___; }) #define glEndList(...) do { glEndList(__VA_ARGS__); gl::errchk("glEndList", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glPolygonStipple(...) do { glPolygonStipple(__VA_ARGS__); gl::errchk("glPolygonStipple", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glConvolutionFilter1D(...) do { glConvolutionFilter1D(__VA_ARGS__); gl::errchk("glConvolutionFilter1D", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttrib1fARB(...) do { glVertexAttrib1fARB(__VA_ARGS__); gl::errchk("glVertexAttrib1fARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glDrawBuffersARB(...) do { glDrawBuffersARB(__VA_ARGS__); gl::errchk("glDrawBuffersARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glCompressedTexImage2DARB(...) do { glCompressedTexImage2DARB(__VA_ARGS__); gl::errchk("glCompressedTexImage2DARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glLockArraysEXT(...) do { glLockArraysEXT(__VA_ARGS__); gl::errchk("glLockArraysEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glSecondaryColor3ivEXT(...) do { glSecondaryColor3ivEXT(__VA_ARGS__); gl::errchk("glSecondaryColor3ivEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexImage3DEXT(...) do { glTexImage3DEXT(__VA_ARGS__); gl::errchk("glTexImage3DEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glReplacementCodeuiTexCoord2fVertex3fvSUN(...) do { glReplacementCodeuiTexCoord2fVertex3fvSUN(__VA_ARGS__); gl::errchk("glReplacementCodeuiTexCoord2fVertex3fvSUN", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glNormal3s(...) do { glNormal3s(__VA_ARGS__); gl::errchk("glNormal3s", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertex2sv(...) do { glVertex2sv(__VA_ARGS__); gl::errchk("glVertex2sv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glColor3f(...) do { glColor3f(__VA_ARGS__); gl::errchk("glColor3f", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glNormal3iv(...) do { glNormal3iv(__VA_ARGS__); gl::errchk("glNormal3iv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glProgramParameters4dvNV(...) do { glProgramParameters4dvNV(__VA_ARGS__); gl::errchk("glProgramParameters4dvNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glActiveStencilFaceEXT(...) do { glActiveStencilFaceEXT(__VA_ARGS__); gl::errchk("glActiveStencilFaceEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttrib1fNV(...) do { glVertexAttrib1fNV(__VA_ARGS__); gl::errchk("glVertexAttrib1fNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glPixelTransferf(...) do { glPixelTransferf(__VA_ARGS__); gl::errchk("glPixelTransferf", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTangentPointerEXT(...) do { glTangentPointerEXT(__VA_ARGS__); gl::errchk("glTangentPointerEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertex3f(...) do { glVertex3f(__VA_ARGS__); gl::errchk("glVertex3f", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glWindowPos2s(...) do { glWindowPos2s(__VA_ARGS__); gl::errchk("glWindowPos2s", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glColor4bv(...) do { glColor4bv(__VA_ARGS__); gl::errchk("glColor4bv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTestObjectAPPLE(...) ({ GLboolean ___ = glTestObjectAPPLE(__VA_ARGS__); gl::errchk("glTestObjectAPPLE", # __VA_ARGS__, __FILE__, __LINE__); ___; }) #define glGetQueryObjectuivARB(...) do { glGetQueryObjectuivARB(__VA_ARGS__); gl::errchk("glGetQueryObjectuivARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glSecondaryColor3dv(...) do { glSecondaryColor3dv(__VA_ARGS__); gl::errchk("glSecondaryColor3dv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glEvalCoord2f(...) do { glEvalCoord2f(__VA_ARGS__); gl::errchk("glEvalCoord2f", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glPointParameterfvSGIS(...) do { glPointParameterfvSGIS(__VA_ARGS__); gl::errchk("glPointParameterfvSGIS", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetInvariantIntegervEXT(...) do { glGetInvariantIntegervEXT(__VA_ARGS__); gl::errchk("glGetInvariantIntegervEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttrib3sNV(...) do { glVertexAttrib3sNV(__VA_ARGS__); gl::errchk("glVertexAttrib3sNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiDrawArraysEXT(...) do { glMultiDrawArraysEXT(__VA_ARGS__); gl::errchk("glMultiDrawArraysEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glNormalStream3bvATI(...) do { glNormalStream3bvATI(__VA_ARGS__); gl::errchk("glNormalStream3bvATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glBindVertexArrayAPPLE(...) do { glBindVertexArrayAPPLE(__VA_ARGS__); gl::errchk("glBindVertexArrayAPPLE", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertex3s(...) do { glVertex3s(__VA_ARGS__); gl::errchk("glVertex3s", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetTexEnviv(...) do { glGetTexEnviv(__VA_ARGS__); gl::errchk("glGetTexEnviv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glWindowPos2dv(...) do { glWindowPos2dv(__VA_ARGS__); gl::errchk("glWindowPos2dv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glBeginVertexShaderEXT(...) do { glBeginVertexShaderEXT(__VA_ARGS__); gl::errchk("glBeginVertexShaderEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glDeleteFragmentShaderATI(...) do { glDeleteFragmentShaderATI(__VA_ARGS__); gl::errchk("glDeleteFragmentShaderATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glColor3fv(...) do { glColor3fv(__VA_ARGS__); gl::errchk("glColor3fv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glSecondaryColor3dEXT(...) do { glSecondaryColor3dEXT(__VA_ARGS__); gl::errchk("glSecondaryColor3dEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glPrioritizeTexturesEXT(...) do { glPrioritizeTexturesEXT(__VA_ARGS__); gl::errchk("glPrioritizeTexturesEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glLoadProgramNV(...) do { glLoadProgramNV(__VA_ARGS__); gl::errchk("glLoadProgramNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttrib4svARB(...) do { glVertexAttrib4svARB(__VA_ARGS__); gl::errchk("glVertexAttrib4svARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiTexCoord1iARB(...) do { glMultiTexCoord1iARB(__VA_ARGS__); gl::errchk("glMultiTexCoord1iARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glProgramLocalParameter4dARB(...) do { glProgramLocalParameter4dARB(__VA_ARGS__); gl::errchk("glProgramLocalParameter4dARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glRasterPos3fv(...) do { glRasterPos3fv(__VA_ARGS__); gl::errchk("glRasterPos3fv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glArrayElement(...) do { glArrayElement(__VA_ARGS__); gl::errchk("glArrayElement", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMatrixIndexuivARB(...) do { glMatrixIndexuivARB(__VA_ARGS__); gl::errchk("glMatrixIndexuivARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glWindowPos3d(...) do { glWindowPos3d(__VA_ARGS__); gl::errchk("glWindowPos3d", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glFragmentLightiSGIX(...) do { glFragmentLightiSGIX(__VA_ARGS__); gl::errchk("glFragmentLightiSGIX", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexCoordPointerEXT(...) do { glTexCoordPointerEXT(__VA_ARGS__); gl::errchk("glTexCoordPointerEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetProgramParameterfvNV(...) do { glGetProgramParameterfvNV(__VA_ARGS__); gl::errchk("glGetProgramParameterfvNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glPixelTexGenParameterivSGIS(...) do { glPixelTexGenParameterivSGIS(__VA_ARGS__); gl::errchk("glPixelTexGenParameterivSGIS", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetVertexAttribivNV(...) do { glGetVertexAttribivNV(__VA_ARGS__); gl::errchk("glGetVertexAttribivNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glProgramEnvParameter4dvARB(...) do { glProgramEnvParameter4dvARB(__VA_ARGS__); gl::errchk("glProgramEnvParameter4dvARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttrib4fARB(...) do { glVertexAttrib4fARB(__VA_ARGS__); gl::errchk("glVertexAttrib4fARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glRasterPos3i(...) do { glRasterPos3i(__VA_ARGS__); gl::errchk("glRasterPos3i", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glIndexiv(...) do { glIndexiv(__VA_ARGS__); gl::errchk("glIndexiv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glDeleteProgramsARB(...) do { glDeleteProgramsARB(__VA_ARGS__); gl::errchk("glDeleteProgramsARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glListBase(...) do { glListBase(__VA_ARGS__); gl::errchk("glListBase", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glHistogram(...) do { glHistogram(__VA_ARGS__); gl::errchk("glHistogram", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glBinormal3iEXT(...) do { glBinormal3iEXT(__VA_ARGS__); gl::errchk("glBinormal3iEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertex3dv(...) do { glVertex3dv(__VA_ARGS__); gl::errchk("glVertex3dv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glLineWidth(...) do { glLineWidth(__VA_ARGS__); gl::errchk("glLineWidth", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttrib1svARB(...) do { glVertexAttrib1svARB(__VA_ARGS__); gl::errchk("glVertexAttrib1svARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexStream4dATI(...) do { glVertexStream4dATI(__VA_ARGS__); gl::errchk("glVertexStream4dATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetHandleARB(...) ({ GLhandleARB ___ = glGetHandleARB(__VA_ARGS__); gl::errchk("glGetHandleARB", # __VA_ARGS__, __FILE__, __LINE__); ___; }) #define glVertexAttrib3dvARB(...) do { glVertexAttrib3dvARB(__VA_ARGS__); gl::errchk("glVertexAttrib3dvARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glPointParameterfv(...) do { glPointParameterfv(__VA_ARGS__); gl::errchk("glPointParameterfv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiTexCoord2sARB(...) do { glMultiTexCoord2sARB(__VA_ARGS__); gl::errchk("glMultiTexCoord2sARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiTexCoord1i(...) do { glMultiTexCoord1i(__VA_ARGS__); gl::errchk("glMultiTexCoord1i", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glWindowPos3sv(...) do { glWindowPos3sv(__VA_ARGS__); gl::errchk("glWindowPos3sv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertex2iv(...) do { glVertex2iv(__VA_ARGS__); gl::errchk("glVertex2iv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttribs4ubvNV(...) do { glVertexAttribs4ubvNV(__VA_ARGS__); gl::errchk("glVertexAttribs4ubvNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexStream1sATI(...) do { glVertexStream1sATI(__VA_ARGS__); gl::errchk("glVertexStream1sATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexCoord2fNormal3fVertex3fvSUN(...) do { glTexCoord2fNormal3fVertex3fvSUN(__VA_ARGS__); gl::errchk("glTexCoord2fNormal3fVertex3fvSUN", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glIndexPointerEXT(...) do { glIndexPointerEXT(__VA_ARGS__); gl::errchk("glIndexPointerEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetTexFilterFuncSGIS(...) do { glGetTexFilterFuncSGIS(__VA_ARGS__); gl::errchk("glGetTexFilterFuncSGIS", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetTexParameterfv(...) do { glGetTexParameterfv(__VA_ARGS__); gl::errchk("glGetTexParameterfv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glDeleteBuffersARB(...) do { glDeleteBuffersARB(__VA_ARGS__); gl::errchk("glDeleteBuffersARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetVariantArrayObjectivATI(...) do { glGetVariantArrayObjectivATI(__VA_ARGS__); gl::errchk("glGetVariantArrayObjectivATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glBitmap(...) do { glBitmap(__VA_ARGS__); gl::errchk("glBitmap", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glBinormal3ivEXT(...) do { glBinormal3ivEXT(__VA_ARGS__); gl::errchk("glBinormal3ivEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glSpriteParameterfvSGIX(...) do { glSpriteParameterfvSGIX(__VA_ARGS__); gl::errchk("glSpriteParameterfvSGIX", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetProgramLocalParameterfvARB(...) do { glGetProgramLocalParameterfvARB(__VA_ARGS__); gl::errchk("glGetProgramLocalParameterfvARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glWindowPos2iARB(...) do { glWindowPos2iARB(__VA_ARGS__); gl::errchk("glWindowPos2iARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertex3fv(...) do { glVertex3fv(__VA_ARGS__); gl::errchk("glVertex3fv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiTexCoord2dARB(...) do { glMultiTexCoord2dARB(__VA_ARGS__); gl::errchk("glMultiTexCoord2dARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiTexCoord4fARB(...) do { glMultiTexCoord4fARB(__VA_ARGS__); gl::errchk("glMultiTexCoord4fARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glCurrentPaletteMatrixARB(...) do { glCurrentPaletteMatrixARB(__VA_ARGS__); gl::errchk("glCurrentPaletteMatrixARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glWindowPos4dMESA(...) do { glWindowPos4dMESA(__VA_ARGS__); gl::errchk("glWindowPos4dMESA", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glSwizzleEXT(...) do { glSwizzleEXT(__VA_ARGS__); gl::errchk("glSwizzleEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexWeightfvEXT(...) do { glVertexWeightfvEXT(__VA_ARGS__); gl::errchk("glVertexWeightfvEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiModeDrawArraysIBM(...) do { glMultiModeDrawArraysIBM(__VA_ARGS__); gl::errchk("glMultiModeDrawArraysIBM", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexStream1fATI(...) do { glVertexStream1fATI(__VA_ARGS__); gl::errchk("glVertexStream1fATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glFogFuncSGIS(...) do { glFogFuncSGIS(__VA_ARGS__); gl::errchk("glFogFuncSGIS", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glRasterPos2i(...) do { glRasterPos2i(__VA_ARGS__); gl::errchk("glRasterPos2i", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glWeightsvARB(...) do { glWeightsvARB(__VA_ARGS__); gl::errchk("glWeightsvARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTranslatef(...) do { glTranslatef(__VA_ARGS__); gl::errchk("glTranslatef", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glNewTraceMESA(...) do { glNewTraceMESA(__VA_ARGS__); gl::errchk("glNewTraceMESA", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glSpriteParameterivSGIX(...) do { glSpriteParameterivSGIX(__VA_ARGS__); gl::errchk("glSpriteParameterivSGIX", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glNormal3fv(...) do { glNormal3fv(__VA_ARGS__); gl::errchk("glNormal3fv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetFragmentMaterialivSGIX(...) do { glGetFragmentMaterialivSGIX(__VA_ARGS__); gl::errchk("glGetFragmentMaterialivSGIX", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glSecondaryColorPointer(...) do { glSecondaryColorPointer(__VA_ARGS__); gl::errchk("glSecondaryColorPointer", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glIsVertexArrayAPPLE(...) ({ GLboolean ___ = glIsVertexArrayAPPLE(__VA_ARGS__); gl::errchk("glIsVertexArrayAPPLE", # __VA_ARGS__, __FILE__, __LINE__); ___; }) #define glEdgeFlagPointerListIBM(...) do { glEdgeFlagPointerListIBM(__VA_ARGS__); gl::errchk("glEdgeFlagPointerListIBM", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glSetFenceAPPLE(...) do { glSetFenceAPPLE(__VA_ARGS__); gl::errchk("glSetFenceAPPLE", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glReplacementCodeuiColor4fNormal3fVertex3fvSUN(...) do { glReplacementCodeuiColor4fNormal3fVertex3fvSUN(__VA_ARGS__); gl::errchk("glReplacementCodeuiColor4fNormal3fVertex3fvSUN", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVariantubvEXT(...) do { glVariantubvEXT(__VA_ARGS__); gl::errchk("glVariantubvEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetIntegerv(...) do { glGetIntegerv(__VA_ARGS__); gl::errchk("glGetIntegerv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glNormalStream3svATI(...) do { glNormalStream3svATI(__VA_ARGS__); gl::errchk("glNormalStream3svATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glWeightusvARB(...) do { glWeightusvARB(__VA_ARGS__); gl::errchk("glWeightusvARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glIndexfv(...) do { glIndexfv(__VA_ARGS__); gl::errchk("glIndexfv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glIsAsyncMarkerSGIX(...) ({ GLboolean ___ = glIsAsyncMarkerSGIX(__VA_ARGS__); gl::errchk("glIsAsyncMarkerSGIX", # __VA_ARGS__, __FILE__, __LINE__); ___; }) #define glFogCoordPointerEXT(...) do { glFogCoordPointerEXT(__VA_ARGS__); gl::errchk("glFogCoordPointerEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glClearAccum(...) do { glClearAccum(__VA_ARGS__); gl::errchk("glClearAccum", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttrib4hNV(...) do { glVertexAttrib4hNV(__VA_ARGS__); gl::errchk("glVertexAttrib4hNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertex4s(...) do { glVertex4s(__VA_ARGS__); gl::errchk("glVertex4s", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTangent3ivEXT(...) do { glTangent3ivEXT(__VA_ARGS__); gl::errchk("glTangent3ivEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN(...) do { glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN(__VA_ARGS__); gl::errchk("glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glColor3hvNV(...) do { glColor3hvNV(__VA_ARGS__); gl::errchk("glColor3hvNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttribs3dvNV(...) do { glVertexAttribs3dvNV(__VA_ARGS__); gl::errchk("glVertexAttribs3dvNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glWindowPos3fMESA(...) do { glWindowPos3fMESA(__VA_ARGS__); gl::errchk("glWindowPos3fMESA", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glBlendFunc(...) do { glBlendFunc(__VA_ARGS__); gl::errchk("glBlendFunc", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glProgramEnvParameter4fARB(...) do { glProgramEnvParameter4fARB(__VA_ARGS__); gl::errchk("glProgramEnvParameter4fARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glLoadIdentityDeformationMapSGIX(...) do { glLoadIdentityDeformationMapSGIX(__VA_ARGS__); gl::errchk("glLoadIdentityDeformationMapSGIX", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glColor4dv(...) do { glColor4dv(__VA_ARGS__); gl::errchk("glColor4dv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glUnmapBuffer(...) ({ GLboolean ___ = glUnmapBuffer(__VA_ARGS__); gl::errchk("glUnmapBuffer", # __VA_ARGS__, __FILE__, __LINE__); ___; }) #define glWindowPos4fMESA(...) do { glWindowPos4fMESA(__VA_ARGS__); gl::errchk("glWindowPos4fMESA", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexCoord1fv(...) do { glTexCoord1fv(__VA_ARGS__); gl::errchk("glTexCoord1fv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertex4dv(...) do { glVertex4dv(__VA_ARGS__); gl::errchk("glVertex4dv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetFogFuncSGIS(...) do { glGetFogFuncSGIS(__VA_ARGS__); gl::errchk("glGetFogFuncSGIS", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glReplacementCodeusSUN(...) do { glReplacementCodeusSUN(__VA_ARGS__); gl::errchk("glReplacementCodeusSUN", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glNormal3hvNV(...) do { glNormal3hvNV(__VA_ARGS__); gl::errchk("glNormal3hvNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glSecondaryColorPointerListIBM(...) do { glSecondaryColorPointerListIBM(__VA_ARGS__); gl::errchk("glSecondaryColorPointerListIBM", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTraceAssertAttribMESA(...) do { glTraceAssertAttribMESA(__VA_ARGS__); gl::errchk("glTraceAssertAttribMESA", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glSecondaryColor3uiEXT(...) do { glSecondaryColor3uiEXT(__VA_ARGS__); gl::errchk("glSecondaryColor3uiEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glPolygonMode(...) do { glPolygonMode(__VA_ARGS__); gl::errchk("glPolygonMode", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexStream1fvATI(...) do { glVertexStream1fvATI(__VA_ARGS__); gl::errchk("glVertexStream1fvATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glBindMaterialParameterEXT(...) ({ GLuint ___ = glBindMaterialParameterEXT(__VA_ARGS__); gl::errchk("glBindMaterialParameterEXT", # __VA_ARGS__, __FILE__, __LINE__); ___; }) #define glGetPointervEXT(...) do { glGetPointervEXT(__VA_ARGS__); gl::errchk("glGetPointervEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttrib4NuivARB(...) do { glVertexAttrib4NuivARB(__VA_ARGS__); gl::errchk("glVertexAttrib4NuivARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiTexCoord1iv(...) do { glMultiTexCoord1iv(__VA_ARGS__); gl::errchk("glMultiTexCoord1iv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glWindowPos3dMESA(...) do { glWindowPos3dMESA(__VA_ARGS__); gl::errchk("glWindowPos3dMESA", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glColor3usv(...) do { glColor3usv(__VA_ARGS__); gl::errchk("glColor3usv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glFogCoorddvEXT(...) do { glFogCoorddvEXT(__VA_ARGS__); gl::errchk("glFogCoorddvEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexCoord4iv(...) do { glTexCoord4iv(__VA_ARGS__); gl::errchk("glTexCoord4iv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexArrayRangeAPPLE(...) do { glVertexArrayRangeAPPLE(__VA_ARGS__); gl::errchk("glVertexArrayRangeAPPLE", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glCopyTexImage1D(...) do { glCopyTexImage1D(__VA_ARGS__); gl::errchk("glCopyTexImage1D", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glWindowPos2i(...) do { glWindowPos2i(__VA_ARGS__); gl::errchk("glWindowPos2i", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glReplacementCodeubvSUN(...) do { glReplacementCodeubvSUN(__VA_ARGS__); gl::errchk("glReplacementCodeubvSUN", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glRectiv(...) do { glRectiv(__VA_ARGS__); gl::errchk("glRectiv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetMaterialfv(...) do { glGetMaterialfv(__VA_ARGS__); gl::errchk("glGetMaterialfv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glWindowPos3iv(...) do { glWindowPos3iv(__VA_ARGS__); gl::errchk("glWindowPos3iv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glProgramParameter4fvNV(...) do { glProgramParameter4fvNV(__VA_ARGS__); gl::errchk("glProgramParameter4fvNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glLoadMatrixf(...) do { glLoadMatrixf(__VA_ARGS__); gl::errchk("glLoadMatrixf", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glRasterPos2fv(...) do { glRasterPos2fv(__VA_ARGS__); gl::errchk("glRasterPos2fv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexCoord1hvNV(...) do { glTexCoord1hvNV(__VA_ARGS__); gl::errchk("glTexCoord1hvNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertex2s(...) do { glVertex2s(__VA_ARGS__); gl::errchk("glVertex2s", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glFogiv(...) do { glFogiv(__VA_ARGS__); gl::errchk("glFogiv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexStream3ivATI(...) do { glVertexStream3ivATI(__VA_ARGS__); gl::errchk("glVertexStream3ivATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glEvalCoord1fv(...) do { glEvalCoord1fv(__VA_ARGS__); gl::errchk("glEvalCoord1fv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glWindowPos2fv(...) do { glWindowPos2fv(__VA_ARGS__); gl::errchk("glWindowPos2fv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glColor4ubVertex2fvSUN(...) do { glColor4ubVertex2fvSUN(__VA_ARGS__); gl::errchk("glColor4ubVertex2fvSUN", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glClientActiveTexture(...) do { glClientActiveTexture(__VA_ARGS__); gl::errchk("glClientActiveTexture", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glWindowPos3svARB(...) do { glWindowPos3svARB(__VA_ARGS__); gl::errchk("glWindowPos3svARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glPopName(...) do { glPopName(__VA_ARGS__); gl::errchk("glPopName", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glCompressedTexSubImage3D(...) do { glCompressedTexSubImage3D(__VA_ARGS__); gl::errchk("glCompressedTexSubImage3D", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glSpriteParameteriSGIX(...) do { glSpriteParameteriSGIX(__VA_ARGS__); gl::errchk("glSpriteParameteriSGIX", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetCombinerOutputParameterivNV(...) do { glGetCombinerOutputParameterivNV(__VA_ARGS__); gl::errchk("glGetCombinerOutputParameterivNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttrib1dvNV(...) do { glVertexAttrib1dvNV(__VA_ARGS__); gl::errchk("glVertexAttrib1dvNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(...) do { glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(__VA_ARGS__); gl::errchk("glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glColor3d(...) do { glColor3d(__VA_ARGS__); gl::errchk("glColor3d", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetFloatv(...) do { glGetFloatv(__VA_ARGS__); gl::errchk("glGetFloatv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTextureColorMaskSGIS(...) do { glTextureColorMaskSGIS(__VA_ARGS__); gl::errchk("glTextureColorMaskSGIS", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexCoord3iv(...) do { glTexCoord3iv(__VA_ARGS__); gl::errchk("glTexCoord3iv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glWindowPos3sARB(...) do { glWindowPos3sARB(__VA_ARGS__); gl::errchk("glWindowPos3sARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glUniformMatrix4fvARB(...) do { glUniformMatrix4fvARB(__VA_ARGS__); gl::errchk("glUniformMatrix4fvARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glReplacementCodeuiColor3fVertex3fSUN(...) do { glReplacementCodeuiColor3fVertex3fSUN(__VA_ARGS__); gl::errchk("glReplacementCodeuiColor3fVertex3fSUN", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetOcclusionQueryuivNV(...) do { glGetOcclusionQueryuivNV(__VA_ARGS__); gl::errchk("glGetOcclusionQueryuivNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glNormalStream3fvATI(...) do { glNormalStream3fvATI(__VA_ARGS__); gl::errchk("glNormalStream3fvATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(...) do { glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(__VA_ARGS__); gl::errchk("glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glConvolutionParameteri(...) do { glConvolutionParameteri(__VA_ARGS__); gl::errchk("glConvolutionParameteri", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glProgramNamedParameter4dNV(...) do { glProgramNamedParameter4dNV(__VA_ARGS__); gl::errchk("glProgramNamedParameter4dNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiTexCoord3sv(...) do { glMultiTexCoord3sv(__VA_ARGS__); gl::errchk("glMultiTexCoord3sv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetInstrumentsSGIX(...) ({ GLint ___ = glGetInstrumentsSGIX(__VA_ARGS__); gl::errchk("glGetInstrumentsSGIX", # __VA_ARGS__, __FILE__, __LINE__); ___; }) #define glSecondaryColor3usEXT(...) do { glSecondaryColor3usEXT(__VA_ARGS__); gl::errchk("glSecondaryColor3usEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttrib4NivARB(...) do { glVertexAttrib4NivARB(__VA_ARGS__); gl::errchk("glVertexAttrib4NivARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexGend(...) do { glTexGend(__VA_ARGS__); gl::errchk("glTexGend", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetCombinerOutputParameterfvNV(...) do { glGetCombinerOutputParameterfvNV(__VA_ARGS__); gl::errchk("glGetCombinerOutputParameterfvNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttrib3dvNV(...) do { glVertexAttrib3dvNV(__VA_ARGS__); gl::errchk("glVertexAttrib3dvNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glReplacementCodeuiVertex3fvSUN(...) do { glReplacementCodeuiVertex3fvSUN(__VA_ARGS__); gl::errchk("glReplacementCodeuiVertex3fvSUN", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glFogCoordd(...) do { glFogCoordd(__VA_ARGS__); gl::errchk("glFogCoordd", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glPointParameterivNV(...) do { glPointParameterivNV(__VA_ARGS__); gl::errchk("glPointParameterivNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexStream1dvATI(...) do { glVertexStream1dvATI(__VA_ARGS__); gl::errchk("glVertexStream1dvATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glInsertComponentEXT(...) do { glInsertComponentEXT(__VA_ARGS__); gl::errchk("glInsertComponentEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexCoord3sv(...) do { glTexCoord3sv(__VA_ARGS__); gl::errchk("glTexCoord3sv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetPixelMapusv(...) do { glGetPixelMapusv(__VA_ARGS__); gl::errchk("glGetPixelMapusv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glConvolutionParameteriv(...) do { glConvolutionParameteriv(__VA_ARGS__); gl::errchk("glConvolutionParameteriv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glListParameterfvSGIX(...) do { glListParameterfvSGIX(__VA_ARGS__); gl::errchk("glListParameterfvSGIX", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glRasterPos4fv(...) do { glRasterPos4fv(__VA_ARGS__); gl::errchk("glRasterPos4fv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glIndexPointerListIBM(...) do { glIndexPointerListIBM(__VA_ARGS__); gl::errchk("glIndexPointerListIBM", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glFlushPixelDataRangeNV(...) do { glFlushPixelDataRangeNV(__VA_ARGS__); gl::errchk("glFlushPixelDataRangeNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glCreateShaderObjectARB(...) ({ GLhandleARB ___ = glCreateShaderObjectARB(__VA_ARGS__); gl::errchk("glCreateShaderObjectARB", # __VA_ARGS__, __FILE__, __LINE__); ___; }) #define glGetObjectParameterfvARB(...) do { glGetObjectParameterfvARB(__VA_ARGS__); gl::errchk("glGetObjectParameterfvARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetLightfv(...) do { glGetLightfv(__VA_ARGS__); gl::errchk("glGetLightfv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiTexCoord2dv(...) do { glMultiTexCoord2dv(__VA_ARGS__); gl::errchk("glMultiTexCoord2dv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttrib2dARB(...) do { glVertexAttrib2dARB(__VA_ARGS__); gl::errchk("glVertexAttrib2dARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glPopMatrix(...) do { glPopMatrix(__VA_ARGS__); gl::errchk("glPopMatrix", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexStream2ivATI(...) do { glVertexStream2ivATI(__VA_ARGS__); gl::errchk("glVertexStream2ivATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glDisableVariantClientStateEXT(...) do { glDisableVariantClientStateEXT(__VA_ARGS__); gl::errchk("glDisableVariantClientStateEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexBlendARB(...) do { glVertexBlendARB(__VA_ARGS__); gl::errchk("glVertexBlendARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexSubImage3D(...) do { glTexSubImage3D(__VA_ARGS__); gl::errchk("glTexSubImage3D", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glWindowPos2f(...) do { glWindowPos2f(__VA_ARGS__); gl::errchk("glWindowPos2f", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttrib1svNV(...) do { glVertexAttrib1svNV(__VA_ARGS__); gl::errchk("glVertexAttrib1svNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetMapControlPointsNV(...) do { glGetMapControlPointsNV(__VA_ARGS__); gl::errchk("glGetMapControlPointsNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glBeginFragmentShaderATI(...) do { glBeginFragmentShaderATI(__VA_ARGS__); gl::errchk("glBeginFragmentShaderATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glSetInvariantEXT(...) do { glSetInvariantEXT(__VA_ARGS__); gl::errchk("glSetInvariantEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexCoord2iv(...) do { glTexCoord2iv(__VA_ARGS__); gl::errchk("glTexCoord2iv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glCopyPixels(...) do { glCopyPixels(__VA_ARGS__); gl::errchk("glCopyPixels", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttrib3fARB(...) do { glVertexAttrib3fARB(__VA_ARGS__); gl::errchk("glVertexAttrib3fARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glUniform4iARB(...) do { glUniform4iARB(__VA_ARGS__); gl::errchk("glUniform4iARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexWeightPointerEXT(...) do { glVertexWeightPointerEXT(__VA_ARGS__); gl::errchk("glVertexWeightPointerEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexCoord3s(...) do { glTexCoord3s(__VA_ARGS__); gl::errchk("glTexCoord3s", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glColor3iv(...) do { glColor3iv(__VA_ARGS__); gl::errchk("glColor3iv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetVertexAttribivARB(...) do { glGetVertexAttribivARB(__VA_ARGS__); gl::errchk("glGetVertexAttribivARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiTexCoord3dv(...) do { glMultiTexCoord3dv(__VA_ARGS__); gl::errchk("glMultiTexCoord3dv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMapBuffer(...) ({ GLvoid* ___ = glMapBuffer(__VA_ARGS__); gl::errchk("glMapBuffer", # __VA_ARGS__, __FILE__, __LINE__); ___; }) #define glMultiDrawElementsEXT(...) do { glMultiDrawElementsEXT(__VA_ARGS__); gl::errchk("glMultiDrawElementsEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glBufferData(...) do { glBufferData(__VA_ARGS__); gl::errchk("glBufferData", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glRasterPos4dv(...) do { glRasterPos4dv(__VA_ARGS__); gl::errchk("glRasterPos4dv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glViewport(...) do { glViewport(__VA_ARGS__); gl::errchk("glViewport", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttrib1fvARB(...) do { glVertexAttrib1fvARB(__VA_ARGS__); gl::errchk("glVertexAttrib1fvARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glWriteMaskEXT(...) do { glWriteMaskEXT(__VA_ARGS__); gl::errchk("glWriteMaskEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glCreateProgramObjectARB(...) ({ GLhandleARB ___ = glCreateProgramObjectARB(__VA_ARGS__); gl::errchk("glCreateProgramObjectARB", # __VA_ARGS__, __FILE__, __LINE__); ___; }) #define glFragmentMaterialfSGIX(...) do { glFragmentMaterialfSGIX(__VA_ARGS__); gl::errchk("glFragmentMaterialfSGIX", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glSecondaryColor3uivEXT(...) do { glSecondaryColor3uivEXT(__VA_ARGS__); gl::errchk("glSecondaryColor3uivEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glEvalMesh2(...) do { glEvalMesh2(__VA_ARGS__); gl::errchk("glEvalMesh2", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexCoord2i(...) do { glTexCoord2i(__VA_ARGS__); gl::errchk("glTexCoord2i", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glColor3us(...) do { glColor3us(__VA_ARGS__); gl::errchk("glColor3us", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glWindowPos2sv(...) do { glWindowPos2sv(__VA_ARGS__); gl::errchk("glWindowPos2sv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glEndQuery(...) do { glEndQuery(__VA_ARGS__); gl::errchk("glEndQuery", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiTexCoord3iv(...) do { glMultiTexCoord3iv(__VA_ARGS__); gl::errchk("glMultiTexCoord3iv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetProgramivNV(...) do { glGetProgramivNV(__VA_ARGS__); gl::errchk("glGetProgramivNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetQueryObjectiv(...) do { glGetQueryObjectiv(__VA_ARGS__); gl::errchk("glGetQueryObjectiv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetHistogramParameterivEXT(...) do { glGetHistogramParameterivEXT(__VA_ARGS__); gl::errchk("glGetHistogramParameterivEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertex4sv(...) do { glVertex4sv(__VA_ARGS__); gl::errchk("glVertex4sv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glColor3fVertex3fSUN(...) do { glColor3fVertex3fSUN(__VA_ARGS__); gl::errchk("glColor3fVertex3fSUN", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttrib4NubARB(...) do { glVertexAttrib4NubARB(__VA_ARGS__); gl::errchk("glVertexAttrib4NubARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glEndOcclusionQueryNV(...) do { glEndOcclusionQueryNV(__VA_ARGS__); gl::errchk("glEndOcclusionQueryNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glEnableTraceMESA(...) do { glEnableTraceMESA(__VA_ARGS__); gl::errchk("glEnableTraceMESA", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetProgramParameterdvNV(...) do { glGetProgramParameterdvNV(__VA_ARGS__); gl::errchk("glGetProgramParameterdvNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glReplacementCodeuiColor4ubVertex3fSUN(...) do { glReplacementCodeuiColor4ubVertex3fSUN(__VA_ARGS__); gl::errchk("glReplacementCodeuiColor4ubVertex3fSUN", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexWeighthNV(...) do { glVertexWeighthNV(__VA_ARGS__); gl::errchk("glVertexWeighthNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glApplyTextureEXT(...) do { glApplyTextureEXT(__VA_ARGS__); gl::errchk("glApplyTextureEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetVertexAttribArrayObjectfvATI(...) do { glGetVertexAttribArrayObjectfvATI(__VA_ARGS__); gl::errchk("glGetVertexAttribArrayObjectfvATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttrib3dARB(...) do { glVertexAttrib3dARB(__VA_ARGS__); gl::errchk("glVertexAttrib3dARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiTexCoord3f(...) do { glMultiTexCoord3f(__VA_ARGS__); gl::errchk("glMultiTexCoord3f", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glUniform1ivARB(...) do { glUniform1ivARB(__VA_ARGS__); gl::errchk("glUniform1ivARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glUniform4fvARB(...) do { glUniform4fvARB(__VA_ARGS__); gl::errchk("glUniform4fvARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetHistogramParameteriv(...) do { glGetHistogramParameteriv(__VA_ARGS__); gl::errchk("glGetHistogramParameteriv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexCoord4fVertex4fvSUN(...) do { glTexCoord4fVertex4fvSUN(__VA_ARGS__); gl::errchk("glTexCoord4fVertex4fvSUN", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultMatrixd(...) do { glMultMatrixd(__VA_ARGS__); gl::errchk("glMultMatrixd", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttrib3svARB(...) do { glVertexAttrib3svARB(__VA_ARGS__); gl::errchk("glVertexAttrib3svARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertex3hNV(...) do { glVertex3hNV(__VA_ARGS__); gl::errchk("glVertex3hNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glBindTextureUnitParameterEXT(...) ({ GLuint ___ = glBindTextureUnitParameterEXT(__VA_ARGS__); gl::errchk("glBindTextureUnitParameterEXT", # __VA_ARGS__, __FILE__, __LINE__); ___; }) #define glCombinerInputNV(...) do { glCombinerInputNV(__VA_ARGS__); gl::errchk("glCombinerInputNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glCompressedTexSubImage2DARB(...) do { glCompressedTexSubImage2DARB(__VA_ARGS__); gl::errchk("glCompressedTexSubImage2DARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTestFenceAPPLE(...) ({ GLboolean ___ = glTestFenceAPPLE(__VA_ARGS__); gl::errchk("glTestFenceAPPLE", # __VA_ARGS__, __FILE__, __LINE__); ___; }) #define glReplacementCodeuiVertex3fSUN(...) do { glReplacementCodeuiVertex3fSUN(__VA_ARGS__); gl::errchk("glReplacementCodeuiVertex3fSUN", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glCallList(...) do { glCallList(__VA_ARGS__); gl::errchk("glCallList", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexStream3fvATI(...) do { glVertexStream3fvATI(__VA_ARGS__); gl::errchk("glVertexStream3fvATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexCoordPointer(...) do { glTexCoordPointer(__VA_ARGS__); gl::errchk("glTexCoordPointer", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiTexCoord4d(...) do { glMultiTexCoord4d(__VA_ARGS__); gl::errchk("glMultiTexCoord4d", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glCompressedTexImage2D(...) do { glCompressedTexImage2D(__VA_ARGS__); gl::errchk("glCompressedTexImage2D", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glFrustum(...) do { glFrustum(__VA_ARGS__); gl::errchk("glFrustum", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexBumpParameterfvATI(...) do { glTexBumpParameterfvATI(__VA_ARGS__); gl::errchk("glTexBumpParameterfvATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glColor3b(...) do { glColor3b(__VA_ARGS__); gl::errchk("glColor3b", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glIndexMask(...) do { glIndexMask(__VA_ARGS__); gl::errchk("glIndexMask", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glColor4f(...) do { glColor4f(__VA_ARGS__); gl::errchk("glColor4f", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glClearStencil(...) do { glClearStencil(__VA_ARGS__); gl::errchk("glClearStencil", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glBinormal3bEXT(...) do { glBinormal3bEXT(__VA_ARGS__); gl::errchk("glBinormal3bEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertex2hNV(...) do { glVertex2hNV(__VA_ARGS__); gl::errchk("glVertex2hNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGenProgramsARB(...) do { glGenProgramsARB(__VA_ARGS__); gl::errchk("glGenProgramsARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttrib1hNV(...) do { glVertexAttrib1hNV(__VA_ARGS__); gl::errchk("glVertexAttrib1hNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glBindFragmentShaderATI(...) do { glBindFragmentShaderATI(__VA_ARGS__); gl::errchk("glBindFragmentShaderATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glWindowPos2fvARB(...) do { glWindowPos2fvARB(__VA_ARGS__); gl::errchk("glWindowPos2fvARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetUniformLocationARB(...) ({ GLint ___ = glGetUniformLocationARB(__VA_ARGS__); gl::errchk("glGetUniformLocationARB", # __VA_ARGS__, __FILE__, __LINE__); ___; }) #define glDepthRange(...) do { glDepthRange(__VA_ARGS__); gl::errchk("glDepthRange", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetConvolutionFilter(...) do { glGetConvolutionFilter(__VA_ARGS__); gl::errchk("glGetConvolutionFilter", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glProgramLocalParameter4dvARB(...) do { glProgramLocalParameter4dvARB(__VA_ARGS__); gl::errchk("glProgramLocalParameter4dvARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexStream4fvATI(...) do { glVertexStream4fvATI(__VA_ARGS__); gl::errchk("glVertexStream4fvATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glClearColor(...) do { glClearColor(__VA_ARGS__); gl::errchk("glClearColor", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glUniform3ivARB(...) do { glUniform3ivARB(__VA_ARGS__); gl::errchk("glUniform3ivARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glSamplePatternEXT(...) do { glSamplePatternEXT(__VA_ARGS__); gl::errchk("glSamplePatternEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glWindowPos2ivMESA(...) do { glWindowPos2ivMESA(__VA_ARGS__); gl::errchk("glWindowPos2ivMESA", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glUnmapObjectBufferATI(...) do { glUnmapObjectBufferATI(__VA_ARGS__); gl::errchk("glUnmapObjectBufferATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glPolygonOffsetEXT(...) do { glPolygonOffsetEXT(__VA_ARGS__); gl::errchk("glPolygonOffsetEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glClearIndex(...) do { glClearIndex(__VA_ARGS__); gl::errchk("glClearIndex", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glUpdateObjectBufferATI(...) do { glUpdateObjectBufferATI(__VA_ARGS__); gl::errchk("glUpdateObjectBufferATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glIndexsv(...) do { glIndexsv(__VA_ARGS__); gl::errchk("glIndexsv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glNormal3f(...) do { glNormal3f(__VA_ARGS__); gl::errchk("glNormal3f", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glEndQueryARB(...) do { glEndQueryARB(__VA_ARGS__); gl::errchk("glEndQueryARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGenTextures(...) do { glGenTextures(__VA_ARGS__); gl::errchk("glGenTextures", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glWindowPos3dvARB(...) do { glWindowPos3dvARB(__VA_ARGS__); gl::errchk("glWindowPos3dvARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glEndVertexShaderEXT(...) do { glEndVertexShaderEXT(__VA_ARGS__); gl::errchk("glEndVertexShaderEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttribs4svNV(...) do { glVertexAttribs4svNV(__VA_ARGS__); gl::errchk("glVertexAttribs4svNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glAreTexturesResident(...) ({ GLboolean ___ = glAreTexturesResident(__VA_ARGS__); gl::errchk("glAreTexturesResident", # __VA_ARGS__, __FILE__, __LINE__); ___; }) #define glDeleteQueriesARB(...) do { glDeleteQueriesARB(__VA_ARGS__); gl::errchk("glDeleteQueriesARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glConvolutionParameterivEXT(...) do { glConvolutionParameterivEXT(__VA_ARGS__); gl::errchk("glConvolutionParameterivEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glSecondaryColor3fvEXT(...) do { glSecondaryColor3fvEXT(__VA_ARGS__); gl::errchk("glSecondaryColor3fvEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glSelectBuffer(...) do { glSelectBuffer(__VA_ARGS__); gl::errchk("glSelectBuffer", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiTexCoord2f(...) do { glMultiTexCoord2f(__VA_ARGS__); gl::errchk("glMultiTexCoord2f", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glImageTransformParameterfvHP(...) do { glImageTransformParameterfvHP(__VA_ARGS__); gl::errchk("glImageTransformParameterfvHP", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glSecondaryColor3fv(...) do { glSecondaryColor3fv(__VA_ARGS__); gl::errchk("glSecondaryColor3fv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glFinishTextureSUNX(...) do { glFinishTextureSUNX(__VA_ARGS__); gl::errchk("glFinishTextureSUNX", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexStream3sATI(...) do { glVertexStream3sATI(__VA_ARGS__); gl::errchk("glVertexStream3sATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glEvalCoord1dv(...) do { glEvalCoord1dv(__VA_ARGS__); gl::errchk("glEvalCoord1dv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGenBuffers(...) do { glGenBuffers(__VA_ARGS__); gl::errchk("glGenBuffers", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glPollInstrumentsSGIX(...) ({ GLint ___ = glPollInstrumentsSGIX(__VA_ARGS__); gl::errchk("glPollInstrumentsSGIX", # __VA_ARGS__, __FILE__, __LINE__); ___; }) #define glGetListParameterfvSGIX(...) do { glGetListParameterfvSGIX(__VA_ARGS__); gl::errchk("glGetListParameterfvSGIX", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glFinalCombinerInputNV(...) do { glFinalCombinerInputNV(__VA_ARGS__); gl::errchk("glFinalCombinerInputNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glRects(...) do { glRects(__VA_ARGS__); gl::errchk("glRects", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiTexCoord2hvNV(...) do { glMultiTexCoord2hvNV(__VA_ARGS__); gl::errchk("glMultiTexCoord2hvNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetVariantBooleanvEXT(...) do { glGetVariantBooleanvEXT(__VA_ARGS__); gl::errchk("glGetVariantBooleanvEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glNormalStream3dATI(...) do { glNormalStream3dATI(__VA_ARGS__); gl::errchk("glNormalStream3dATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glOrtho(...) do { glOrtho(__VA_ARGS__); gl::errchk("glOrtho", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glFogfv(...) do { glFogfv(__VA_ARGS__); gl::errchk("glFogfv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glSecondaryColor3hNV(...) do { glSecondaryColor3hNV(__VA_ARGS__); gl::errchk("glSecondaryColor3hNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glBufferSubDataARB(...) do { glBufferSubDataARB(__VA_ARGS__); gl::errchk("glBufferSubDataARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glAsyncMarkerSGIX(...) do { glAsyncMarkerSGIX(__VA_ARGS__); gl::errchk("glAsyncMarkerSGIX", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glPointParameterfvARB(...) do { glPointParameterfvARB(__VA_ARGS__); gl::errchk("glPointParameterfvARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttribs2fvNV(...) do { glVertexAttribs2fvNV(__VA_ARGS__); gl::errchk("glVertexAttribs2fvNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glSecondaryColor3ubEXT(...) do { glSecondaryColor3ubEXT(__VA_ARGS__); gl::errchk("glSecondaryColor3ubEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttrib4fvNV(...) do { glVertexAttrib4fvNV(__VA_ARGS__); gl::errchk("glVertexAttrib4fvNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexCoord1f(...) do { glTexCoord1f(__VA_ARGS__); gl::errchk("glTexCoord1f", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glColor4s(...) do { glColor4s(__VA_ARGS__); gl::errchk("glColor4s", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGenSymbolsEXT(...) ({ GLuint ___ = glGenSymbolsEXT(__VA_ARGS__); gl::errchk("glGenSymbolsEXT", # __VA_ARGS__, __FILE__, __LINE__); ___; }) #define glUniform2fvARB(...) do { glUniform2fvARB(__VA_ARGS__); gl::errchk("glUniform2fvARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexBlendEnviATI(...) do { glVertexBlendEnviATI(__VA_ARGS__); gl::errchk("glVertexBlendEnviATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glFinishFenceNV(...) do { glFinishFenceNV(__VA_ARGS__); gl::errchk("glFinishFenceNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glNormalPointerEXT(...) do { glNormalPointerEXT(__VA_ARGS__); gl::errchk("glNormalPointerEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glSecondaryColor3bvEXT(...) do { glSecondaryColor3bvEXT(__VA_ARGS__); gl::errchk("glSecondaryColor3bvEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glSecondaryColor3hvNV(...) do { glSecondaryColor3hvNV(__VA_ARGS__); gl::errchk("glSecondaryColor3hvNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMateriali(...) do { glMateriali(__VA_ARGS__); gl::errchk("glMateriali", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glColor4ubVertex3fSUN(...) do { glColor4ubVertex3fSUN(__VA_ARGS__); gl::errchk("glColor4ubVertex3fSUN", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glPixelZoom(...) do { glPixelZoom(__VA_ARGS__); gl::errchk("glPixelZoom", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGenProgramsNV(...) do { glGenProgramsNV(__VA_ARGS__); gl::errchk("glGenProgramsNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttrib2fARB(...) do { glVertexAttrib2fARB(__VA_ARGS__); gl::errchk("glVertexAttrib2fARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttrib2svARB(...) do { glVertexAttrib2svARB(__VA_ARGS__); gl::errchk("glVertexAttrib2svARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glCopyConvolutionFilter1DEXT(...) do { glCopyConvolutionFilter1DEXT(__VA_ARGS__); gl::errchk("glCopyConvolutionFilter1DEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glFogCoordhvNV(...) do { glFogCoordhvNV(__VA_ARGS__); gl::errchk("glFogCoordhvNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultMatrixf(...) do { glMultMatrixf(__VA_ARGS__); gl::errchk("glMultMatrixf", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetCompressedTexImage(...) do { glGetCompressedTexImage(__VA_ARGS__); gl::errchk("glGetCompressedTexImage", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttribs4dvNV(...) do { glVertexAttribs4dvNV(__VA_ARGS__); gl::errchk("glVertexAttribs4dvNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttribs2hvNV(...) do { glVertexAttribs2hvNV(__VA_ARGS__); gl::errchk("glVertexAttribs2hvNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glSampleCoverage(...) do { glSampleCoverage(__VA_ARGS__); gl::errchk("glSampleCoverage", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glSecondaryColor3iEXT(...) do { glSecondaryColor3iEXT(__VA_ARGS__); gl::errchk("glSecondaryColor3iEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glEvalMesh1(...) do { glEvalMesh1(__VA_ARGS__); gl::errchk("glEvalMesh1", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiTexCoord3fvARB(...) do { glMultiTexCoord3fvARB(__VA_ARGS__); gl::errchk("glMultiTexCoord3fvARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexGeni(...) do { glTexGeni(__VA_ARGS__); gl::errchk("glTexGeni", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexGenfv(...) do { glTexGenfv(__VA_ARGS__); gl::errchk("glTexGenfv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glProgramNamedParameter4fNV(...) do { glProgramNamedParameter4fNV(__VA_ARGS__); gl::errchk("glProgramNamedParameter4fNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetTexLevelParameterfv(...) do { glGetTexLevelParameterfv(__VA_ARGS__); gl::errchk("glGetTexLevelParameterfv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glColorMaterial(...) do { glColorMaterial(__VA_ARGS__); gl::errchk("glColorMaterial", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glLightiv(...) do { glLightiv(__VA_ARGS__); gl::errchk("glLightiv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glDrawArrays(...) do { glDrawArrays(__VA_ARGS__); gl::errchk("glDrawArrays", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glPNTrianglesfATI(...) do { glPNTrianglesfATI(__VA_ARGS__); gl::errchk("glPNTrianglesfATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glCopyColorTableSGI(...) do { glCopyColorTableSGI(__VA_ARGS__); gl::errchk("glCopyColorTableSGI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttribs3svNV(...) do { glVertexAttribs3svNV(__VA_ARGS__); gl::errchk("glVertexAttribs3svNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttrib4dvARB(...) do { glVertexAttrib4dvARB(__VA_ARGS__); gl::errchk("glVertexAttrib4dvARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glDrawRangeElementArrayAPPLE(...) do { glDrawRangeElementArrayAPPLE(__VA_ARGS__); gl::errchk("glDrawRangeElementArrayAPPLE", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glRectdv(...) do { glRectdv(__VA_ARGS__); gl::errchk("glRectdv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glUniform3fvARB(...) do { glUniform3fvARB(__VA_ARGS__); gl::errchk("glUniform3fvARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glBinormal3dvEXT(...) do { glBinormal3dvEXT(__VA_ARGS__); gl::errchk("glBinormal3dvEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertex4fv(...) do { glVertex4fv(__VA_ARGS__); gl::errchk("glVertex4fv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGlobalAlphaFactoruiSUN(...) do { glGlobalAlphaFactoruiSUN(__VA_ARGS__); gl::errchk("glGlobalAlphaFactoruiSUN", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexCoord3i(...) do { glTexCoord3i(__VA_ARGS__); gl::errchk("glTexCoord3i", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glBinormal3dEXT(...) do { glBinormal3dEXT(__VA_ARGS__); gl::errchk("glBinormal3dEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttribArrayObjectATI(...) do { glVertexAttribArrayObjectATI(__VA_ARGS__); gl::errchk("glVertexAttribArrayObjectATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetOcclusionQueryivNV(...) do { glGetOcclusionQueryivNV(__VA_ARGS__); gl::errchk("glGetOcclusionQueryivNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetConvolutionParameteriv(...) do { glGetConvolutionParameteriv(__VA_ARGS__); gl::errchk("glGetConvolutionParameteriv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMapBufferARB(...) ({ GLvoid* ___ = glMapBufferARB(__VA_ARGS__); gl::errchk("glMapBufferARB", # __VA_ARGS__, __FILE__, __LINE__); ___; }) #define glTexFilterFuncSGIS(...) do { glTexFilterFuncSGIS(__VA_ARGS__); gl::errchk("glTexFilterFuncSGIS", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glCompressedTexImage3DARB(...) do { glCompressedTexImage3DARB(__VA_ARGS__); gl::errchk("glCompressedTexImage3DARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttrib4bvARB(...) do { glVertexAttrib4bvARB(__VA_ARGS__); gl::errchk("glVertexAttrib4bvARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTagSampleBufferSGIX(...) do { glTagSampleBufferSGIX(__VA_ARGS__); gl::errchk("glTagSampleBufferSGIX", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiTexCoord1hvNV(...) do { glMultiTexCoord1hvNV(__VA_ARGS__); gl::errchk("glMultiTexCoord1hvNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glNormal3hNV(...) do { glNormal3hNV(__VA_ARGS__); gl::errchk("glNormal3hNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiTexCoord1dv(...) do { glMultiTexCoord1dv(__VA_ARGS__); gl::errchk("glMultiTexCoord1dv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiTexCoord1d(...) do { glMultiTexCoord1d(__VA_ARGS__); gl::errchk("glMultiTexCoord1d", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexCoord4hNV(...) do { glTexCoord4hNV(__VA_ARGS__); gl::errchk("glTexCoord4hNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glColor4fv(...) do { glColor4fv(__VA_ARGS__); gl::errchk("glColor4fv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glPointParameterfvEXT(...) do { glPointParameterfvEXT(__VA_ARGS__); gl::errchk("glPointParameterfvEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glIsTexture(...) ({ GLboolean ___ = glIsTexture(__VA_ARGS__); gl::errchk("glIsTexture", # __VA_ARGS__, __FILE__, __LINE__); ___; }) #define glElementPointerAPPLE(...) do { glElementPointerAPPLE(__VA_ARGS__); gl::errchk("glElementPointerAPPLE", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetMinmaxParameteriv(...) do { glGetMinmaxParameteriv(__VA_ARGS__); gl::errchk("glGetMinmaxParameteriv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiTexCoord2fv(...) do { glMultiTexCoord2fv(__VA_ARGS__); gl::errchk("glMultiTexCoord2fv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glAlphaFragmentOp3ATI(...) do { glAlphaFragmentOp3ATI(__VA_ARGS__); gl::errchk("glAlphaFragmentOp3ATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glListParameterfSGIX(...) do { glListParameterfSGIX(__VA_ARGS__); gl::errchk("glListParameterfSGIX", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexEnvfv(...) do { glTexEnvfv(__VA_ARGS__); gl::errchk("glTexEnvfv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMinmaxEXT(...) do { glMinmaxEXT(__VA_ARGS__); gl::errchk("glMinmaxEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexCoord4fColor4fNormal3fVertex4fvSUN(...) do { glTexCoord4fColor4fNormal3fVertex4fvSUN(__VA_ARGS__); gl::errchk("glTexCoord4fColor4fNormal3fVertex4fvSUN", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glImageTransformParameterfHP(...) do { glImageTransformParameterfHP(__VA_ARGS__); gl::errchk("glImageTransformParameterfHP", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glReplacementCodeuiNormal3fVertex3fSUN(...) do { glReplacementCodeuiNormal3fVertex3fSUN(__VA_ARGS__); gl::errchk("glReplacementCodeuiNormal3fVertex3fSUN", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glClear(...) do { glClear(__VA_ARGS__); gl::errchk("glClear", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGenTexturesEXT(...) do { glGenTexturesEXT(__VA_ARGS__); gl::errchk("glGenTexturesEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetQueryiv(...) do { glGetQueryiv(__VA_ARGS__); gl::errchk("glGetQueryiv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glBlendColorEXT(...) do { glBlendColorEXT(__VA_ARGS__); gl::errchk("glBlendColorEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glPointParameterfEXT(...) do { glPointParameterfEXT(__VA_ARGS__); gl::errchk("glPointParameterfEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultTransposeMatrixf(...) do { glMultTransposeMatrixf(__VA_ARGS__); gl::errchk("glMultTransposeMatrixf", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glRasterPos4s(...) do { glRasterPos4s(__VA_ARGS__); gl::errchk("glRasterPos4s", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexImage1D(...) do { glTexImage1D(__VA_ARGS__); gl::errchk("glTexImage1D", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glNormal3fVertex3fSUN(...) do { glNormal3fVertex3fSUN(__VA_ARGS__); gl::errchk("glNormal3fVertex3fSUN", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetLocalConstantFloatvEXT(...) do { glGetLocalConstantFloatvEXT(__VA_ARGS__); gl::errchk("glGetLocalConstantFloatvEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiTexCoord1svARB(...) do { glMultiTexCoord1svARB(__VA_ARGS__); gl::errchk("glMultiTexCoord1svARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glSetFragmentShaderConstantATI(...) do { glSetFragmentShaderConstantATI(__VA_ARGS__); gl::errchk("glSetFragmentShaderConstantATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexStream2iATI(...) do { glVertexStream2iATI(__VA_ARGS__); gl::errchk("glVertexStream2iATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexStream4svATI(...) do { glVertexStream4svATI(__VA_ARGS__); gl::errchk("glVertexStream4svATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttrib4NsvARB(...) do { glVertexAttrib4NsvARB(__VA_ARGS__); gl::errchk("glVertexAttrib4NsvARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glWindowPos4sMESA(...) do { glWindowPos4sMESA(__VA_ARGS__); gl::errchk("glWindowPos4sMESA", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glSampleMapATI(...) do { glSampleMapATI(__VA_ARGS__); gl::errchk("glSampleMapATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glRasterPos2f(...) do { glRasterPos2f(__VA_ARGS__); gl::errchk("glRasterPos2f", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTextureMaterialEXT(...) do { glTextureMaterialEXT(__VA_ARGS__); gl::errchk("glTextureMaterialEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexPointerListIBM(...) do { glVertexPointerListIBM(__VA_ARGS__); gl::errchk("glVertexPointerListIBM", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glRectfv(...) do { glRectfv(__VA_ARGS__); gl::errchk("glRectfv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glProgramNamedParameter4dvNV(...) do { glProgramNamedParameter4dvNV(__VA_ARGS__); gl::errchk("glProgramNamedParameter4dvNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glStencilFunc(...) do { glStencilFunc(__VA_ARGS__); gl::errchk("glStencilFunc", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiTexCoord1sARB(...) do { glMultiTexCoord1sARB(__VA_ARGS__); gl::errchk("glMultiTexCoord1sARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttribs4hvNV(...) do { glVertexAttribs4hvNV(__VA_ARGS__); gl::errchk("glVertexAttribs4hvNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glEvalCoord1d(...) do { glEvalCoord1d(__VA_ARGS__); gl::errchk("glEvalCoord1d", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttrib2dvARB(...) do { glVertexAttrib2dvARB(__VA_ARGS__); gl::errchk("glVertexAttrib2dvARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetHistogramParameterfv(...) do { glGetHistogramParameterfv(__VA_ARGS__); gl::errchk("glGetHistogramParameterfv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glUniform1fvARB(...) do { glUniform1fvARB(__VA_ARGS__); gl::errchk("glUniform1fvARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttrib4fNV(...) do { glVertexAttrib4fNV(__VA_ARGS__); gl::errchk("glVertexAttrib4fNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glRasterPos2iv(...) do { glRasterPos2iv(__VA_ARGS__); gl::errchk("glRasterPos2iv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glStencilOpSeparateATI(...) do { glStencilOpSeparateATI(__VA_ARGS__); gl::errchk("glStencilOpSeparateATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexSubImage4DSGIS(...) do { glTexSubImage4DSGIS(__VA_ARGS__); gl::errchk("glTexSubImage4DSGIS", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttribs2dvNV(...) do { glVertexAttribs2dvNV(__VA_ARGS__); gl::errchk("glVertexAttribs2dvNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glFragmentMaterialfvSGIX(...) do { glFragmentMaterialfvSGIX(__VA_ARGS__); gl::errchk("glFragmentMaterialfvSGIX", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetTrackMatrixivNV(...) do { glGetTrackMatrixivNV(__VA_ARGS__); gl::errchk("glGetTrackMatrixivNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glSecondaryColor3usv(...) do { glSecondaryColor3usv(__VA_ARGS__); gl::errchk("glSecondaryColor3usv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTraceListMESA(...) do { glTraceListMESA(__VA_ARGS__); gl::errchk("glTraceListMESA", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glHistogramEXT(...) do { glHistogramEXT(__VA_ARGS__); gl::errchk("glHistogramEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetAttachedObjectsARB(...) do { glGetAttachedObjectsARB(__VA_ARGS__); gl::errchk("glGetAttachedObjectsARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetProgramEnvParameterfvARB(...) do { glGetProgramEnvParameterfvARB(__VA_ARGS__); gl::errchk("glGetProgramEnvParameterfvARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glRasterPos4iv(...) do { glRasterPos4iv(__VA_ARGS__); gl::errchk("glRasterPos4iv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glWeightPointerARB(...) do { glWeightPointerARB(__VA_ARGS__); gl::errchk("glWeightPointerARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glProgramLocalParameter4fARB(...) do { glProgramLocalParameter4fARB(__VA_ARGS__); gl::errchk("glProgramLocalParameter4fARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glAlphaFragmentOp1ATI(...) do { glAlphaFragmentOp1ATI(__VA_ARGS__); gl::errchk("glAlphaFragmentOp1ATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glPixelMapuiv(...) do { glPixelMapuiv(__VA_ARGS__); gl::errchk("glPixelMapuiv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glDisableTraceMESA(...) do { glDisableTraceMESA(__VA_ARGS__); gl::errchk("glDisableTraceMESA", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetBufferParameterivARB(...) do { glGetBufferParameterivARB(__VA_ARGS__); gl::errchk("glGetBufferParameterivARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTraceTextureMESA(...) do { glTraceTextureMESA(__VA_ARGS__); gl::errchk("glTraceTextureMESA", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetConvolutionParameterfvEXT(...) do { glGetConvolutionParameterfvEXT(__VA_ARGS__); gl::errchk("glGetConvolutionParameterfvEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertex3hvNV(...) do { glVertex3hvNV(__VA_ARGS__); gl::errchk("glVertex3hvNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttribs1fvNV(...) do { glVertexAttribs1fvNV(__VA_ARGS__); gl::errchk("glVertexAttribs1fvNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glRectd(...) do { glRectd(__VA_ARGS__); gl::errchk("glRectd", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexCoord2f(...) do { glTexCoord2f(__VA_ARGS__); gl::errchk("glTexCoord2f", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexCoord2fColor4fNormal3fVertex3fvSUN(...) do { glTexCoord2fColor4fNormal3fVertex3fvSUN(__VA_ARGS__); gl::errchk("glTexCoord2fColor4fNormal3fVertex3fvSUN", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glCompressedTexSubImage3DARB(...) do { glCompressedTexSubImage3DARB(__VA_ARGS__); gl::errchk("glCompressedTexSubImage3DARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glNormalPointervINTEL(...) do { glNormalPointervINTEL(__VA_ARGS__); gl::errchk("glNormalPointervINTEL", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVariantPointerEXT(...) do { glVariantPointerEXT(__VA_ARGS__); gl::errchk("glVariantPointerEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glResetHistogram(...) do { glResetHistogram(__VA_ARGS__); gl::errchk("glResetHistogram", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexImage2D(...) do { glTexImage2D(__VA_ARGS__); gl::errchk("glTexImage2D", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetPixelTexGenParameterfvSGIS(...) do { glGetPixelTexGenParameterfvSGIS(__VA_ARGS__); gl::errchk("glGetPixelTexGenParameterfvSGIS", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetTexBumpParameterfvATI(...) do { glGetTexBumpParameterfvATI(__VA_ARGS__); gl::errchk("glGetTexBumpParameterfvATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glIndexf(...) do { glIndexf(__VA_ARGS__); gl::errchk("glIndexf", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetVertexAttribfvARB(...) do { glGetVertexAttribfvARB(__VA_ARGS__); gl::errchk("glGetVertexAttribfvARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetVariantFloatvEXT(...) do { glGetVariantFloatvEXT(__VA_ARGS__); gl::errchk("glGetVariantFloatvEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glDeleteTexturesEXT(...) do { glDeleteTexturesEXT(__VA_ARGS__); gl::errchk("glDeleteTexturesEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glRasterPos2s(...) do { glRasterPos2s(__VA_ARGS__); gl::errchk("glRasterPos2s", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glLoadTransposeMatrixfARB(...) do { glLoadTransposeMatrixfARB(__VA_ARGS__); gl::errchk("glLoadTransposeMatrixfARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glBeginQueryARB(...) do { glBeginQueryARB(__VA_ARGS__); gl::errchk("glBeginQueryARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexCoord2fNormal3fVertex3fSUN(...) do { glTexCoord2fNormal3fVertex3fSUN(__VA_ARGS__); gl::errchk("glTexCoord2fNormal3fVertex3fSUN", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glUniform1iARB(...) do { glUniform1iARB(__VA_ARGS__); gl::errchk("glUniform1iARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glPixelMapfv(...) do { glPixelMapfv(__VA_ARGS__); gl::errchk("glPixelMapfv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glNormal3i(...) do { glNormal3i(__VA_ARGS__); gl::errchk("glNormal3i", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glColor3sv(...) do { glColor3sv(__VA_ARGS__); gl::errchk("glColor3sv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glPushClientAttrib(...) do { glPushClientAttrib(__VA_ARGS__); gl::errchk("glPushClientAttrib", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexEnvf(...) do { glTexEnvf(__VA_ARGS__); gl::errchk("glTexEnvf", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetMaterialiv(...) do { glGetMaterialiv(__VA_ARGS__); gl::errchk("glGetMaterialiv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexStream4iATI(...) do { glVertexStream4iATI(__VA_ARGS__); gl::errchk("glVertexStream4iATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glDrawRangeElementsEXT(...) do { glDrawRangeElementsEXT(__VA_ARGS__); gl::errchk("glDrawRangeElementsEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glPassTexCoordATI(...) do { glPassTexCoordATI(__VA_ARGS__); gl::errchk("glPassTexCoordATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glLoadTransposeMatrixd(...) do { glLoadTransposeMatrixd(__VA_ARGS__); gl::errchk("glLoadTransposeMatrixd", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glColorTableParameterfv(...) do { glColorTableParameterfv(__VA_ARGS__); gl::errchk("glColorTableParameterfv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glColor4ubVertex2fSUN(...) do { glColor4ubVertex2fSUN(__VA_ARGS__); gl::errchk("glColor4ubVertex2fSUN", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glWindowPos2dMESA(...) do { glWindowPos2dMESA(__VA_ARGS__); gl::errchk("glWindowPos2dMESA", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiTexCoord4hNV(...) do { glMultiTexCoord4hNV(__VA_ARGS__); gl::errchk("glMultiTexCoord4hNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glWindowPos4iMESA(...) do { glWindowPos4iMESA(__VA_ARGS__); gl::errchk("glWindowPos4iMESA", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexCoord3hvNV(...) do { glTexCoord3hvNV(__VA_ARGS__); gl::errchk("glTexCoord3hvNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiTexCoord4hvNV(...) do { glMultiTexCoord4hvNV(__VA_ARGS__); gl::errchk("glMultiTexCoord4hvNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexParameterf(...) do { glTexParameterf(__VA_ARGS__); gl::errchk("glTexParameterf", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glNormal3d(...) do { glNormal3d(__VA_ARGS__); gl::errchk("glNormal3d", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttrib1hvNV(...) do { glVertexAttrib1hvNV(__VA_ARGS__); gl::errchk("glVertexAttrib1hvNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glIsList(...) ({ GLboolean ___ = glIsList(__VA_ARGS__); gl::errchk("glIsList", # __VA_ARGS__, __FILE__, __LINE__); ___; }) #define glSecondaryColor3b(...) do { glSecondaryColor3b(__VA_ARGS__); gl::errchk("glSecondaryColor3b", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetBufferPointervARB(...) do { glGetBufferPointervARB(__VA_ARGS__); gl::errchk("glGetBufferPointervARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexBlendEnvfATI(...) do { glVertexBlendEnvfATI(__VA_ARGS__); gl::errchk("glVertexBlendEnvfATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexStream3svATI(...) do { glVertexStream3svATI(__VA_ARGS__); gl::errchk("glVertexStream3svATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glNewList(...) do { glNewList(__VA_ARGS__); gl::errchk("glNewList", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiTexCoord2sv(...) do { glMultiTexCoord2sv(__VA_ARGS__); gl::errchk("glMultiTexCoord2sv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glLightModelf(...) do { glLightModelf(__VA_ARGS__); gl::errchk("glLightModelf", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glWindowPos2dvMESA(...) do { glWindowPos2dvMESA(__VA_ARGS__); gl::errchk("glWindowPos2dvMESA", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMap1f(...) do { glMap1f(__VA_ARGS__); gl::errchk("glMap1f", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexWeightfEXT(...) do { glVertexWeightfEXT(__VA_ARGS__); gl::errchk("glVertexWeightfEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glFogCoordPointerListIBM(...) do { glFogCoordPointerListIBM(__VA_ARGS__); gl::errchk("glFogCoordPointerListIBM", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glDrawElements(...) do { glDrawElements(__VA_ARGS__); gl::errchk("glDrawElements", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetTexGenfv(...) do { glGetTexGenfv(__VA_ARGS__); gl::errchk("glGetTexGenfv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glPixelTexGenSGIX(...) do { glPixelTexGenSGIX(__VA_ARGS__); gl::errchk("glPixelTexGenSGIX", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glColorTableSGI(...) do { glColorTableSGI(__VA_ARGS__); gl::errchk("glColorTableSGI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glEndTraceMESA(...) do { glEndTraceMESA(__VA_ARGS__); gl::errchk("glEndTraceMESA", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetFragmentLightfvSGIX(...) do { glGetFragmentLightfvSGIX(__VA_ARGS__); gl::errchk("glGetFragmentLightfvSGIX", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexCoord3f(...) do { glTexCoord3f(__VA_ARGS__); gl::errchk("glTexCoord3f", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glWeightbvARB(...) do { glWeightbvARB(__VA_ARGS__); gl::errchk("glWeightbvARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glFragmentLightivSGIX(...) do { glFragmentLightivSGIX(__VA_ARGS__); gl::errchk("glFragmentLightivSGIX", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glPixelDataRangeNV(...) do { glPixelDataRangeNV(__VA_ARGS__); gl::errchk("glPixelDataRangeNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiDrawElementArrayAPPLE(...) do { glMultiDrawElementArrayAPPLE(__VA_ARGS__); gl::errchk("glMultiDrawElementArrayAPPLE", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glIsProgramARB(...) ({ GLboolean ___ = glIsProgramARB(__VA_ARGS__); gl::errchk("glIsProgramARB", # __VA_ARGS__, __FILE__, __LINE__); ___; }) #define glGetInvariantFloatvEXT(...) do { glGetInvariantFloatvEXT(__VA_ARGS__); gl::errchk("glGetInvariantFloatvEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMapGrid1f(...) do { glMapGrid1f(__VA_ARGS__); gl::errchk("glMapGrid1f", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glWindowPos4dvMESA(...) do { glWindowPos4dvMESA(__VA_ARGS__); gl::errchk("glWindowPos4dvMESA", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTbufferMask3DFX(...) do { glTbufferMask3DFX(__VA_ARGS__); gl::errchk("glTbufferMask3DFX", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glDeleteLists(...) do { glDeleteLists(__VA_ARGS__); gl::errchk("glDeleteLists", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVariantfvEXT(...) do { glVariantfvEXT(__VA_ARGS__); gl::errchk("glVariantfvEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glProgramEnvParameter4fvARB(...) do { glProgramEnvParameter4fvARB(__VA_ARGS__); gl::errchk("glProgramEnvParameter4fvARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexSubImage1D(...) do { glTexSubImage1D(__VA_ARGS__); gl::errchk("glTexSubImage1D", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glCullParameterfvEXT(...) do { glCullParameterfvEXT(__VA_ARGS__); gl::errchk("glCullParameterfvEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glPointParameteriNV(...) do { glPointParameteriNV(__VA_ARGS__); gl::errchk("glPointParameteriNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexCoord4i(...) do { glTexCoord4i(__VA_ARGS__); gl::errchk("glTexCoord4i", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glConvolutionParameteriEXT(...) do { glConvolutionParameteriEXT(__VA_ARGS__); gl::errchk("glConvolutionParameteriEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glColorPointerEXT(...) do { glColorPointerEXT(__VA_ARGS__); gl::errchk("glColorPointerEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glWindowPos3iARB(...) do { glWindowPos3iARB(__VA_ARGS__); gl::errchk("glWindowPos3iARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glIsOcclusionQueryNV(...) ({ GLboolean ___ = glIsOcclusionQueryNV(__VA_ARGS__); gl::errchk("glIsOcclusionQueryNV", # __VA_ARGS__, __FILE__, __LINE__); ___; }) #define glBindTextureEXT(...) do { glBindTextureEXT(__VA_ARGS__); gl::errchk("glBindTextureEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertex2hvNV(...) do { glVertex2hvNV(__VA_ARGS__); gl::errchk("glVertex2hvNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glWindowPos4ivMESA(...) do { glWindowPos4ivMESA(__VA_ARGS__); gl::errchk("glWindowPos4ivMESA", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glCopyColorTable(...) do { glCopyColorTable(__VA_ARGS__); gl::errchk("glCopyColorTable", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttribs1dvNV(...) do { glVertexAttribs1dvNV(__VA_ARGS__); gl::errchk("glVertexAttribs1dvNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexImage4DSGIS(...) do { glTexImage4DSGIS(__VA_ARGS__); gl::errchk("glTexImage4DSGIS", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glUniform3fARB(...) do { glUniform3fARB(__VA_ARGS__); gl::errchk("glUniform3fARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGenVertexShadersEXT(...) ({ GLuint ___ = glGenVertexShadersEXT(__VA_ARGS__); gl::errchk("glGenVertexShadersEXT", # __VA_ARGS__, __FILE__, __LINE__); ___; }) #define glIsBufferARB(...) ({ GLboolean ___ = glIsBufferARB(__VA_ARGS__); gl::errchk("glIsBufferARB", # __VA_ARGS__, __FILE__, __LINE__); ___; }) #define glMultiTexCoord4fvARB(...) do { glMultiTexCoord4fvARB(__VA_ARGS__); gl::errchk("glMultiTexCoord4fvARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexCoord2dv(...) do { glTexCoord2dv(__VA_ARGS__); gl::errchk("glTexCoord2dv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glColor4fNormal3fVertex3fvSUN(...) do { glColor4fNormal3fVertex3fvSUN(__VA_ARGS__); gl::errchk("glColor4fNormal3fVertex3fvSUN", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glSecondaryColor3ubv(...) do { glSecondaryColor3ubv(__VA_ARGS__); gl::errchk("glSecondaryColor3ubv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiTexCoord2svARB(...) do { glMultiTexCoord2svARB(__VA_ARGS__); gl::errchk("glMultiTexCoord2svARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiTexCoord2s(...) do { glMultiTexCoord2s(__VA_ARGS__); gl::errchk("glMultiTexCoord2s", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttribs3hvNV(...) do { glVertexAttribs3hvNV(__VA_ARGS__); gl::errchk("glVertexAttribs3hvNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiTexCoord1fARB(...) do { glMultiTexCoord1fARB(__VA_ARGS__); gl::errchk("glMultiTexCoord1fARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glFlushVertexArrayRangeAPPLE(...) do { glFlushVertexArrayRangeAPPLE(__VA_ARGS__); gl::errchk("glFlushVertexArrayRangeAPPLE", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glIsVariantEnabledEXT(...) ({ GLboolean ___ = glIsVariantEnabledEXT(__VA_ARGS__); gl::errchk("glIsVariantEnabledEXT", # __VA_ARGS__, __FILE__, __LINE__); ___; }) #define glGenFragmentShadersATI(...) ({ GLuint ___ = glGenFragmentShadersATI(__VA_ARGS__); gl::errchk("glGenFragmentShadersATI", # __VA_ARGS__, __FILE__, __LINE__); ___; }) #define glEnableClientState(...) do { glEnableClientState(__VA_ARGS__); gl::errchk("glEnableClientState", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetBufferSubDataARB(...) do { glGetBufferSubDataARB(__VA_ARGS__); gl::errchk("glGetBufferSubDataARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetImageTransformParameterfvHP(...) do { glGetImageTransformParameterfvHP(__VA_ARGS__); gl::errchk("glGetImageTransformParameterfvHP", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMapObjectBufferATI(...) ({ GLvoid* ___ = glMapObjectBufferATI(__VA_ARGS__); gl::errchk("glMapObjectBufferATI", # __VA_ARGS__, __FILE__, __LINE__); ___; }) #define glArrayObjectATI(...) do { glArrayObjectATI(__VA_ARGS__); gl::errchk("glArrayObjectATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetMinmaxEXT(...) do { glGetMinmaxEXT(__VA_ARGS__); gl::errchk("glGetMinmaxEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetTexImage(...) do { glGetTexImage(__VA_ARGS__); gl::errchk("glGetTexImage", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVariantsvEXT(...) do { glVariantsvEXT(__VA_ARGS__); gl::errchk("glVariantsvEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetBufferParameteriv(...) do { glGetBufferParameteriv(__VA_ARGS__); gl::errchk("glGetBufferParameteriv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiTexCoord1dvARB(...) do { glMultiTexCoord1dvARB(__VA_ARGS__); gl::errchk("glMultiTexCoord1dvARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glReplacementCodeuiColor4fNormal3fVertex3fSUN(...) do { glReplacementCodeuiColor4fNormal3fVertex3fSUN(__VA_ARGS__); gl::errchk("glReplacementCodeuiColor4fNormal3fVertex3fSUN", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glPollAsyncSGIX(...) ({ GLint ___ = glPollAsyncSGIX(__VA_ARGS__); gl::errchk("glPollAsyncSGIX", # __VA_ARGS__, __FILE__, __LINE__); ___; }) #define glAccum(...) do { glAccum(__VA_ARGS__); gl::errchk("glAccum", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glWindowPos4fvMESA(...) do { glWindowPos4fvMESA(__VA_ARGS__); gl::errchk("glWindowPos4fvMESA", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glEvalCoord2dv(...) do { glEvalCoord2dv(__VA_ARGS__); gl::errchk("glEvalCoord2dv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttrib2dvNV(...) do { glVertexAttrib2dvNV(__VA_ARGS__); gl::errchk("glVertexAttrib2dvNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glDepthFunc(...) do { glDepthFunc(__VA_ARGS__); gl::errchk("glDepthFunc", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttrib3hvNV(...) do { glVertexAttrib3hvNV(__VA_ARGS__); gl::errchk("glVertexAttrib3hvNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glLoadTransposeMatrixdARB(...) do { glLoadTransposeMatrixdARB(__VA_ARGS__); gl::errchk("glLoadTransposeMatrixdARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glCompressedTexSubImage2D(...) do { glCompressedTexSubImage2D(__VA_ARGS__); gl::errchk("glCompressedTexSubImage2D", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttrib3svNV(...) do { glVertexAttrib3svNV(__VA_ARGS__); gl::errchk("glVertexAttrib3svNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glRasterPos3dv(...) do { glRasterPos3dv(__VA_ARGS__); gl::errchk("glRasterPos3dv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVariantusvEXT(...) do { glVariantusvEXT(__VA_ARGS__); gl::errchk("glVariantusvEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glIsBuffer(...) ({ GLboolean ___ = glIsBuffer(__VA_ARGS__); gl::errchk("glIsBuffer", # __VA_ARGS__, __FILE__, __LINE__); ___; }) #define glGetListParameterivSGIX(...) do { glGetListParameterivSGIX(__VA_ARGS__); gl::errchk("glGetListParameterivSGIX", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glColor3i(...) do { glColor3i(__VA_ARGS__); gl::errchk("glColor3i", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexCoord4fVertex4fSUN(...) do { glTexCoord4fVertex4fSUN(__VA_ARGS__); gl::errchk("glTexCoord4fVertex4fSUN", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultTransposeMatrixd(...) do { glMultTransposeMatrixd(__VA_ARGS__); gl::errchk("glMultTransposeMatrixd", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glCopyTexSubImage2D(...) do { glCopyTexSubImage2D(__VA_ARGS__); gl::errchk("glCopyTexSubImage2D", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetInfoLogARB(...) do { glGetInfoLogARB(__VA_ARGS__); gl::errchk("glGetInfoLogARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexCoord2d(...) do { glTexCoord2d(__VA_ARGS__); gl::errchk("glTexCoord2d", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttrib4NusvARB(...) do { glVertexAttrib4NusvARB(__VA_ARGS__); gl::errchk("glVertexAttrib4NusvARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glPixelStorei(...) do { glPixelStorei(__VA_ARGS__); gl::errchk("glPixelStorei", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glConvolutionFilter2D(...) do { glConvolutionFilter2D(__VA_ARGS__); gl::errchk("glConvolutionFilter2D", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glSecondaryColor3d(...) do { glSecondaryColor3d(__VA_ARGS__); gl::errchk("glSecondaryColor3d", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetLocalConstantIntegervEXT(...) do { glGetLocalConstantIntegervEXT(__VA_ARGS__); gl::errchk("glGetLocalConstantIntegervEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glIndexPointer(...) do { glIndexPointer(__VA_ARGS__); gl::errchk("glIndexPointer", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glValidateProgramARB(...) do { glValidateProgramARB(__VA_ARGS__); gl::errchk("glValidateProgramARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetColorTableParameterfvSGI(...) do { glGetColorTableParameterfvSGI(__VA_ARGS__); gl::errchk("glGetColorTableParameterfvSGI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glBindLightParameterEXT(...) ({ GLuint ___ = glBindLightParameterEXT(__VA_ARGS__); gl::errchk("glBindLightParameterEXT", # __VA_ARGS__, __FILE__, __LINE__); ___; }) #define glTangent3fEXT(...) do { glTangent3fEXT(__VA_ARGS__); gl::errchk("glTangent3fEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glFogCoordfv(...) do { glFogCoordfv(__VA_ARGS__); gl::errchk("glFogCoordfv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glColorTableEXT(...) do { glColorTableEXT(__VA_ARGS__); gl::errchk("glColorTableEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glFrontFace(...) do { glFrontFace(__VA_ARGS__); gl::errchk("glFrontFace", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttrib3dNV(...) do { glVertexAttrib3dNV(__VA_ARGS__); gl::errchk("glVertexAttrib3dNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glSeparableFilter2D(...) do { glSeparableFilter2D(__VA_ARGS__); gl::errchk("glSeparableFilter2D", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glFragmentLightModelfSGIX(...) do { glFragmentLightModelfSGIX(__VA_ARGS__); gl::errchk("glFragmentLightModelfSGIX", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glCombinerParameterfvNV(...) do { glCombinerParameterfvNV(__VA_ARGS__); gl::errchk("glCombinerParameterfvNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glReadBuffer(...) do { glReadBuffer(__VA_ARGS__); gl::errchk("glReadBuffer", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetQueryivARB(...) do { glGetQueryivARB(__VA_ARGS__); gl::errchk("glGetQueryivARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttrib1sNV(...) do { glVertexAttrib1sNV(__VA_ARGS__); gl::errchk("glVertexAttrib1sNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glColor3ubv(...) do { glColor3ubv(__VA_ARGS__); gl::errchk("glColor3ubv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glCullFace(...) do { glCullFace(__VA_ARGS__); gl::errchk("glCullFace", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetVertexAttribPointervARB(...) do { glGetVertexAttribPointervARB(__VA_ARGS__); gl::errchk("glGetVertexAttribPointervARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glPrimitiveRestartNV(...) do { glPrimitiveRestartNV(__VA_ARGS__); gl::errchk("glPrimitiveRestartNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glColor4d(...) do { glColor4d(__VA_ARGS__); gl::errchk("glColor4d", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetColorTableParameterfv(...) do { glGetColorTableParameterfv(__VA_ARGS__); gl::errchk("glGetColorTableParameterfv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertex3iv(...) do { glVertex3iv(__VA_ARGS__); gl::errchk("glVertex3iv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glWeightdvARB(...) do { glWeightdvARB(__VA_ARGS__); gl::errchk("glWeightdvARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glColor4hNV(...) do { glColor4hNV(__VA_ARGS__); gl::errchk("glColor4hNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glFogi(...) do { glFogi(__VA_ARGS__); gl::errchk("glFogi", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetVertexAttribArrayObjectivATI(...) do { glGetVertexAttribArrayObjectivATI(__VA_ARGS__); gl::errchk("glGetVertexAttribArrayObjectivATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiTexCoord1dARB(...) do { glMultiTexCoord1dARB(__VA_ARGS__); gl::errchk("glMultiTexCoord1dARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetUniformfvARB(...) do { glGetUniformfvARB(__VA_ARGS__); gl::errchk("glGetUniformfvARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glSetLocalConstantEXT(...) do { glSetLocalConstantEXT(__VA_ARGS__); gl::errchk("glSetLocalConstantEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexStream2sATI(...) do { glVertexStream2sATI(__VA_ARGS__); gl::errchk("glVertexStream2sATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glColor4sv(...) do { glColor4sv(__VA_ARGS__); gl::errchk("glColor4sv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTextureLightEXT(...) do { glTextureLightEXT(__VA_ARGS__); gl::errchk("glTextureLightEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetVertexAttribdvARB(...) do { glGetVertexAttribdvARB(__VA_ARGS__); gl::errchk("glGetVertexAttribdvARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttrib4ubvNV(...) do { glVertexAttrib4ubvNV(__VA_ARGS__); gl::errchk("glVertexAttrib4ubvNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetConvolutionParameterfv(...) do { glGetConvolutionParameterfv(__VA_ARGS__); gl::errchk("glGetConvolutionParameterfv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glCopyTexSubImage2DEXT(...) do { glCopyTexSubImage2DEXT(__VA_ARGS__); gl::errchk("glCopyTexSubImage2DEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glShadeModel(...) do { glShadeModel(__VA_ARGS__); gl::errchk("glShadeModel", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glLineStipple(...) do { glLineStipple(__VA_ARGS__); gl::errchk("glLineStipple", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glNormal3dv(...) do { glNormal3dv(__VA_ARGS__); gl::errchk("glNormal3dv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertex2fv(...) do { glVertex2fv(__VA_ARGS__); gl::errchk("glVertex2fv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glProgramLocalParameter4fvARB(...) do { glProgramLocalParameter4fvARB(__VA_ARGS__); gl::errchk("glProgramLocalParameter4fvARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glColor3dv(...) do { glColor3dv(__VA_ARGS__); gl::errchk("glColor3dv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glColorFragmentOp3ATI(...) do { glColorFragmentOp3ATI(__VA_ARGS__); gl::errchk("glColorFragmentOp3ATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glRotated(...) do { glRotated(__VA_ARGS__); gl::errchk("glRotated", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glSecondaryColor3uiv(...) do { glSecondaryColor3uiv(__VA_ARGS__); gl::errchk("glSecondaryColor3uiv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetImageTransformParameterivHP(...) do { glGetImageTransformParameterivHP(__VA_ARGS__); gl::errchk("glGetImageTransformParameterivHP", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexStream3fATI(...) do { glVertexStream3fATI(__VA_ARGS__); gl::errchk("glVertexStream3fATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glBinormal3fvEXT(...) do { glBinormal3fvEXT(__VA_ARGS__); gl::errchk("glBinormal3fvEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexCoord1sv(...) do { glTexCoord1sv(__VA_ARGS__); gl::errchk("glTexCoord1sv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGlobalAlphaFactordSUN(...) do { glGlobalAlphaFactordSUN(__VA_ARGS__); gl::errchk("glGlobalAlphaFactordSUN", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTextureNormalEXT(...) do { glTextureNormalEXT(__VA_ARGS__); gl::errchk("glTextureNormalEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glDeleteVertexArraysAPPLE(...) do { glDeleteVertexArraysAPPLE(__VA_ARGS__); gl::errchk("glDeleteVertexArraysAPPLE", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttrib4dNV(...) do { glVertexAttrib4dNV(__VA_ARGS__); gl::errchk("glVertexAttrib4dNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetVariantIntegervEXT(...) do { glGetVariantIntegervEXT(__VA_ARGS__); gl::errchk("glGetVariantIntegervEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glExtractComponentEXT(...) do { glExtractComponentEXT(__VA_ARGS__); gl::errchk("glExtractComponentEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glFlush(...) do { glFlush(__VA_ARGS__); gl::errchk("glFlush", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttrib1dvARB(...) do { glVertexAttrib1dvARB(__VA_ARGS__); gl::errchk("glVertexAttrib1dvARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glDisableClientState(...) do { glDisableClientState(__VA_ARGS__); gl::errchk("glDisableClientState", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glEndFragmentShaderATI(...) do { glEndFragmentShaderATI(__VA_ARGS__); gl::errchk("glEndFragmentShaderATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glFogf(...) do { glFogf(__VA_ARGS__); gl::errchk("glFogf", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glScissor(...) do { glScissor(__VA_ARGS__); gl::errchk("glScissor", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glDrawRangeElements(...) do { glDrawRangeElements(__VA_ARGS__); gl::errchk("glDrawRangeElements", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glCopyColorSubTable(...) do { glCopyColorSubTable(__VA_ARGS__); gl::errchk("glCopyColorSubTable", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetCombinerInputParameterfvNV(...) do { glGetCombinerInputParameterfvNV(__VA_ARGS__); gl::errchk("glGetCombinerInputParameterfvNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glColor3bv(...) do { glColor3bv(__VA_ARGS__); gl::errchk("glColor3bv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiTexCoord4dARB(...) do { glMultiTexCoord4dARB(__VA_ARGS__); gl::errchk("glMultiTexCoord4dARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTangent3iEXT(...) do { glTangent3iEXT(__VA_ARGS__); gl::errchk("glTangent3iEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexStream2fATI(...) do { glVertexStream2fATI(__VA_ARGS__); gl::errchk("glVertexStream2fATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttrib4ubNV(...) do { glVertexAttrib4ubNV(__VA_ARGS__); gl::errchk("glVertexAttrib4ubNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glUniformMatrix3fvARB(...) do { glUniformMatrix3fvARB(__VA_ARGS__); gl::errchk("glUniformMatrix3fvARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glIsQueryARB(...) ({ GLboolean ___ = glIsQueryARB(__VA_ARGS__); gl::errchk("glIsQueryARB", # __VA_ARGS__, __FILE__, __LINE__); ___; }) #define glResetHistogramEXT(...) do { glResetHistogramEXT(__VA_ARGS__); gl::errchk("glResetHistogramEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttrib4sARB(...) do { glVertexAttrib4sARB(__VA_ARGS__); gl::errchk("glVertexAttrib4sARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glFogCoordfvEXT(...) do { glFogCoordfvEXT(__VA_ARGS__); gl::errchk("glFogCoordfvEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMap2f(...) do { glMap2f(__VA_ARGS__); gl::errchk("glMap2f", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexStream3dATI(...) do { glVertexStream3dATI(__VA_ARGS__); gl::errchk("glVertexStream3dATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glNormal3sv(...) do { glNormal3sv(__VA_ARGS__); gl::errchk("glNormal3sv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glSecondaryColor3i(...) do { glSecondaryColor3i(__VA_ARGS__); gl::errchk("glSecondaryColor3i", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetFinalCombinerInputParameterfvNV(...) do { glGetFinalCombinerInputParameterfvNV(__VA_ARGS__); gl::errchk("glGetFinalCombinerInputParameterfvNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glLinkProgramARB(...) do { glLinkProgramARB(__VA_ARGS__); gl::errchk("glLinkProgramARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glWindowPos3fv(...) do { glWindowPos3fv(__VA_ARGS__); gl::errchk("glWindowPos3fv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glFrameZoomSGIX(...) do { glFrameZoomSGIX(__VA_ARGS__); gl::errchk("glFrameZoomSGIX", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glResetMinmaxEXT(...) do { glResetMinmaxEXT(__VA_ARGS__); gl::errchk("glResetMinmaxEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glColor4ubVertex3fvSUN(...) do { glColor4ubVertex3fvSUN(__VA_ARGS__); gl::errchk("glColor4ubVertex3fvSUN", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glBufferDataARB(...) do { glBufferDataARB(__VA_ARGS__); gl::errchk("glBufferDataARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glRasterPos2sv(...) do { glRasterPos2sv(__VA_ARGS__); gl::errchk("glRasterPos2sv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glCompressedTexSubImage1DARB(...) do { glCompressedTexSubImage1DARB(__VA_ARGS__); gl::errchk("glCompressedTexSubImage1DARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiTexCoord3sARB(...) do { glMultiTexCoord3sARB(__VA_ARGS__); gl::errchk("glMultiTexCoord3sARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiTexCoord3i(...) do { glMultiTexCoord3i(__VA_ARGS__); gl::errchk("glMultiTexCoord3i", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiTexCoord3d(...) do { glMultiTexCoord3d(__VA_ARGS__); gl::errchk("glMultiTexCoord3d", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexStream3iATI(...) do { glVertexStream3iATI(__VA_ARGS__); gl::errchk("glVertexStream3iATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetSeparableFilterEXT(...) do { glGetSeparableFilterEXT(__VA_ARGS__); gl::errchk("glGetSeparableFilterEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMapControlPointsNV(...) do { glMapControlPointsNV(__VA_ARGS__); gl::errchk("glMapControlPointsNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glCopyConvolutionFilter2DEXT(...) do { glCopyConvolutionFilter2DEXT(__VA_ARGS__); gl::errchk("glCopyConvolutionFilter2DEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiTexCoord1fvARB(...) do { glMultiTexCoord1fvARB(__VA_ARGS__); gl::errchk("glMultiTexCoord1fvARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glColorPointerListIBM(...) do { glColorPointerListIBM(__VA_ARGS__); gl::errchk("glColorPointerListIBM", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertex4hNV(...) do { glVertex4hNV(__VA_ARGS__); gl::errchk("glVertex4hNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVariantivEXT(...) do { glVariantivEXT(__VA_ARGS__); gl::errchk("glVariantivEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glShaderOp3EXT(...) do { glShaderOp3EXT(__VA_ARGS__); gl::errchk("glShaderOp3EXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glPushAttrib(...) do { glPushAttrib(__VA_ARGS__); gl::errchk("glPushAttrib", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glStopInstrumentsSGIX(...) do { glStopInstrumentsSGIX(__VA_ARGS__); gl::errchk("glStopInstrumentsSGIX", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glPolygonOffset(...) do { glPolygonOffset(__VA_ARGS__); gl::errchk("glPolygonOffset", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glSecondaryColor3ui(...) do { glSecondaryColor3ui(__VA_ARGS__); gl::errchk("glSecondaryColor3ui", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetColorTableParameterivEXT(...) do { glGetColorTableParameterivEXT(__VA_ARGS__); gl::errchk("glGetColorTableParameterivEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glDeformSGIX(...) do { glDeformSGIX(__VA_ARGS__); gl::errchk("glDeformSGIX", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glSecondaryColor3svEXT(...) do { glSecondaryColor3svEXT(__VA_ARGS__); gl::errchk("glSecondaryColor3svEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiTexCoord4fv(...) do { glMultiTexCoord4fv(__VA_ARGS__); gl::errchk("glMultiTexCoord4fv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glCopyTexSubImage1DEXT(...) do { glCopyTexSubImage1DEXT(__VA_ARGS__); gl::errchk("glCopyTexSubImage1DEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glEnable(...) do { glEnable(__VA_ARGS__); gl::errchk("glEnable", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMaterialfv(...) do { glMaterialfv(__VA_ARGS__); gl::errchk("glMaterialfv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttribPointerARB(...) do { glVertexAttribPointerARB(__VA_ARGS__); gl::errchk("glVertexAttribPointerARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetVariantPointervEXT(...) do { glGetVariantPointervEXT(__VA_ARGS__); gl::errchk("glGetVariantPointervEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glEdgeFlagPointer(...) do { glEdgeFlagPointer(__VA_ARGS__); gl::errchk("glEdgeFlagPointer", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexParameterfv(...) do { glTexParameterfv(__VA_ARGS__); gl::errchk("glTexParameterfv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexSubImage2D(...) do { glTexSubImage2D(__VA_ARGS__); gl::errchk("glTexSubImage2D", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGenLists(...) ({ GLuint ___ = glGenLists(__VA_ARGS__); gl::errchk("glGenLists", # __VA_ARGS__, __FILE__, __LINE__); ___; }) #define glGetInvariantBooleanvEXT(...) do { glGetInvariantBooleanvEXT(__VA_ARGS__); gl::errchk("glGetInvariantBooleanvEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glNormal3b(...) do { glNormal3b(__VA_ARGS__); gl::errchk("glNormal3b", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glDeformationMap3dSGIX(...) do { glDeformationMap3dSGIX(__VA_ARGS__); gl::errchk("glDeformationMap3dSGIX", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiTexCoord2fARB(...) do { glMultiTexCoord2fARB(__VA_ARGS__); gl::errchk("glMultiTexCoord2fARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glReplacementCodeuivSUN(...) do { glReplacementCodeuivSUN(__VA_ARGS__); gl::errchk("glReplacementCodeuivSUN", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetTexEnvfv(...) do { glGetTexEnvfv(__VA_ARGS__); gl::errchk("glGetTexEnvfv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiTexCoord4sv(...) do { glMultiTexCoord4sv(__VA_ARGS__); gl::errchk("glMultiTexCoord4sv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttrib4uivARB(...) do { glVertexAttrib4uivARB(__VA_ARGS__); gl::errchk("glVertexAttrib4uivARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glColor4uiv(...) do { glColor4uiv(__VA_ARGS__); gl::errchk("glColor4uiv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glDeformationMap3fSGIX(...) do { glDeformationMap3fSGIX(__VA_ARGS__); gl::errchk("glDeformationMap3fSGIX", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glCopyConvolutionFilter2D(...) do { glCopyConvolutionFilter2D(__VA_ARGS__); gl::errchk("glCopyConvolutionFilter2D", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glRotatef(...) do { glRotatef(__VA_ARGS__); gl::errchk("glRotatef", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexCoord2s(...) do { glTexCoord2s(__VA_ARGS__); gl::errchk("glTexCoord2s", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiTexCoord4iv(...) do { glMultiTexCoord4iv(__VA_ARGS__); gl::errchk("glMultiTexCoord4iv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glPointSize(...) do { glPointSize(__VA_ARGS__); gl::errchk("glPointSize", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiDrawRangeElementArrayAPPLE(...) do { glMultiDrawRangeElementArrayAPPLE(__VA_ARGS__); gl::errchk("glMultiDrawRangeElementArrayAPPLE", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glStencilMask(...) do { glStencilMask(__VA_ARGS__); gl::errchk("glStencilMask", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glStencilFuncSeparateATI(...) do { glStencilFuncSeparateATI(__VA_ARGS__); gl::errchk("glStencilFuncSeparateATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glWeightuivARB(...) do { glWeightuivARB(__VA_ARGS__); gl::errchk("glWeightuivARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glWindowPos2dARB(...) do { glWindowPos2dARB(__VA_ARGS__); gl::errchk("glWindowPos2dARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glColor4b(...) do { glColor4b(__VA_ARGS__); gl::errchk("glColor4b", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glIndexs(...) do { glIndexs(__VA_ARGS__); gl::errchk("glIndexs", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTrackMatrixNV(...) do { glTrackMatrixNV(__VA_ARGS__); gl::errchk("glTrackMatrixNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glCompressedTexSubImage1D(...) do { glCompressedTexSubImage1D(__VA_ARGS__); gl::errchk("glCompressedTexSubImage1D", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttrib4sNV(...) do { glVertexAttrib4sNV(__VA_ARGS__); gl::errchk("glVertexAttrib4sNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glUniform4ivARB(...) do { glUniform4ivARB(__VA_ARGS__); gl::errchk("glUniform4ivARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttrib2sNV(...) do { glVertexAttrib2sNV(__VA_ARGS__); gl::errchk("glVertexAttrib2sNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiTexCoord4ivARB(...) do { glMultiTexCoord4ivARB(__VA_ARGS__); gl::errchk("glMultiTexCoord4ivARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexCoord3dv(...) do { glTexCoord3dv(__VA_ARGS__); gl::errchk("glTexCoord3dv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexCoord2fColor3fVertex3fSUN(...) do { glTexCoord2fColor3fVertex3fSUN(__VA_ARGS__); gl::errchk("glTexCoord2fColor3fVertex3fSUN", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glClientActiveVertexStreamATI(...) do { glClientActiveVertexStreamATI(__VA_ARGS__); gl::errchk("glClientActiveVertexStreamATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexSubImage3DEXT(...) do { glTexSubImage3DEXT(__VA_ARGS__); gl::errchk("glTexSubImage3DEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexPointer(...) do { glVertexPointer(__VA_ARGS__); gl::errchk("glVertexPointer", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glPointParameteri(...) do { glPointParameteri(__VA_ARGS__); gl::errchk("glPointParameteri", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiTexCoord1fv(...) do { glMultiTexCoord1fv(__VA_ARGS__); gl::errchk("glMultiTexCoord1fv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexPointervINTEL(...) do { glVertexPointervINTEL(__VA_ARGS__); gl::errchk("glVertexPointervINTEL", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTracePointerMESA(...) do { glTracePointerMESA(__VA_ARGS__); gl::errchk("glTracePointerMESA", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glBinormalPointerEXT(...) do { glBinormalPointerEXT(__VA_ARGS__); gl::errchk("glBinormalPointerEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetFragmentMaterialfvSGIX(...) do { glGetFragmentMaterialfvSGIX(__VA_ARGS__); gl::errchk("glGetFragmentMaterialfvSGIX", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glEvalPoint2(...) do { glEvalPoint2(__VA_ARGS__); gl::errchk("glEvalPoint2", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetColorTableParameterivSGI(...) do { glGetColorTableParameterivSGI(__VA_ARGS__); gl::errchk("glGetColorTableParameterivSGI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glBindBufferARB(...) do { glBindBufferARB(__VA_ARGS__); gl::errchk("glBindBufferARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glBlendFuncSeparateINGR(...) do { glBlendFuncSeparateINGR(__VA_ARGS__); gl::errchk("glBlendFuncSeparateINGR", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexCoord3fv(...) do { glTexCoord3fv(__VA_ARGS__); gl::errchk("glTexCoord3fv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertex4d(...) do { glVertex4d(__VA_ARGS__); gl::errchk("glVertex4d", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGlobalAlphaFactorusSUN(...) do { glGlobalAlphaFactorusSUN(__VA_ARGS__); gl::errchk("glGlobalAlphaFactorusSUN", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glDepthMask(...) do { glDepthMask(__VA_ARGS__); gl::errchk("glDepthMask", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiDrawElements(...) do { glMultiDrawElements(__VA_ARGS__); gl::errchk("glMultiDrawElements", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGenQueriesARB(...) do { glGenQueriesARB(__VA_ARGS__); gl::errchk("glGenQueriesARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glReplacementCodeuiSUN(...) do { glReplacementCodeuiSUN(__VA_ARGS__); gl::errchk("glReplacementCodeuiSUN", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexCoord4fv(...) do { glTexCoord4fv(__VA_ARGS__); gl::errchk("glTexCoord4fv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetMinmaxParameterfv(...) do { glGetMinmaxParameterfv(__VA_ARGS__); gl::errchk("glGetMinmaxParameterfv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glDetailTexFuncSGIS(...) do { glDetailTexFuncSGIS(__VA_ARGS__); gl::errchk("glDetailTexFuncSGIS", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glPrioritizeTextures(...) do { glPrioritizeTextures(__VA_ARGS__); gl::errchk("glPrioritizeTextures", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glFinishObjectAPPLE(...) do { glFinishObjectAPPLE(__VA_ARGS__); gl::errchk("glFinishObjectAPPLE", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glSamplePatternSGIS(...) do { glSamplePatternSGIS(__VA_ARGS__); gl::errchk("glSamplePatternSGIS", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glBinormal3fEXT(...) do { glBinormal3fEXT(__VA_ARGS__); gl::errchk("glBinormal3fEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glActiveTextureARB(...) do { glActiveTextureARB(__VA_ARGS__); gl::errchk("glActiveTextureARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttrib2fNV(...) do { glVertexAttrib2fNV(__VA_ARGS__); gl::errchk("glVertexAttrib2fNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetPixelMapfv(...) do { glGetPixelMapfv(__VA_ARGS__); gl::errchk("glGetPixelMapfv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glPopAttrib(...) do { glPopAttrib(__VA_ARGS__); gl::errchk("glPopAttrib", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glIsFenceNV(...) ({ GLboolean ___ = glIsFenceNV(__VA_ARGS__); gl::errchk("glIsFenceNV", # __VA_ARGS__, __FILE__, __LINE__); ___; }) #define glWindowPos2iv(...) do { glWindowPos2iv(__VA_ARGS__); gl::errchk("glWindowPos2iv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glNormal3fVertex3fvSUN(...) do { glNormal3fVertex3fvSUN(__VA_ARGS__); gl::errchk("glNormal3fVertex3fvSUN", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glIsFenceAPPLE(...) ({ GLboolean ___ = glIsFenceAPPLE(__VA_ARGS__); gl::errchk("glIsFenceAPPLE", # __VA_ARGS__, __FILE__, __LINE__); ___; }) #define glMultiTexCoord3ivARB(...) do { glMultiTexCoord3ivARB(__VA_ARGS__); gl::errchk("glMultiTexCoord3ivARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTexGendv(...) do { glTexGendv(__VA_ARGS__); gl::errchk("glTexGendv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glAreProgramsResidentNV(...) ({ GLboolean ___ = glAreProgramsResidentNV(__VA_ARGS__); gl::errchk("glAreProgramsResidentNV", # __VA_ARGS__, __FILE__, __LINE__); ___; }) #define glCallLists(...) do { glCallLists(__VA_ARGS__); gl::errchk("glCallLists", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glFragmentLightfvSGIX(...) do { glFragmentLightfvSGIX(__VA_ARGS__); gl::errchk("glFragmentLightfvSGIX", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glTangent3dvEXT(...) do { glTangent3dvEXT(__VA_ARGS__); gl::errchk("glTangent3dvEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glColor4i(...) do { glColor4i(__VA_ARGS__); gl::errchk("glColor4i", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glWindowPos2d(...) do { glWindowPos2d(__VA_ARGS__); gl::errchk("glWindowPos2d", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiTexCoord3fARB(...) do { glMultiTexCoord3fARB(__VA_ARGS__); gl::errchk("glMultiTexCoord3fARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glColor3fVertex3fvSUN(...) do { glColor3fVertex3fvSUN(__VA_ARGS__); gl::errchk("glColor3fVertex3fvSUN", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glGetArrayObjectivATI(...) do { glGetArrayObjectivATI(__VA_ARGS__); gl::errchk("glGetArrayObjectivATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glPointParameterfSGIS(...) do { glPointParameterfSGIS(__VA_ARGS__); gl::errchk("glPointParameterfSGIS", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiTexCoord3iARB(...) do { glMultiTexCoord3iARB(__VA_ARGS__); gl::errchk("glMultiTexCoord3iARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiTexCoord4i(...) do { glMultiTexCoord4i(__VA_ARGS__); gl::errchk("glMultiTexCoord4i", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glLightfv(...) do { glLightfv(__VA_ARGS__); gl::errchk("glLightfv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glColor4ubv(...) do { glColor4ubv(__VA_ARGS__); gl::errchk("glColor4ubv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glLightModeliv(...) do { glLightModeliv(__VA_ARGS__); gl::errchk("glLightModeliv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMatrixMode(...) do { glMatrixMode(__VA_ARGS__); gl::errchk("glMatrixMode", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glInitNames(...) do { glInitNames(__VA_ARGS__); gl::errchk("glInitNames", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glRequestResidentProgramsNV(...) do { glRequestResidentProgramsNV(__VA_ARGS__); gl::errchk("glRequestResidentProgramsNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glElementPointerATI(...) do { glElementPointerATI(__VA_ARGS__); gl::errchk("glElementPointerATI", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVariantuivEXT(...) do { glVariantuivEXT(__VA_ARGS__); gl::errchk("glVariantuivEXT", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glMultiTexCoord2iARB(...) do { glMultiTexCoord2iARB(__VA_ARGS__); gl::errchk("glMultiTexCoord2iARB", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glVertexAttrib3fvNV(...) do { glVertexAttrib3fvNV(__VA_ARGS__); gl::errchk("glVertexAttrib3fvNV", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glSpriteParameterfSGIX(...) do { glSpriteParameterfSGIX(__VA_ARGS__); gl::errchk("glSpriteParameterfSGIX", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glConvolutionParameterfv(...) do { glConvolutionParameterfv(__VA_ARGS__); gl::errchk("glConvolutionParameterfv", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #define glFragmentLightfSGIX(...) do { glFragmentLightfSGIX(__VA_ARGS__); gl::errchk("glFragmentLightfSGIX", # __VA_ARGS__, __FILE__, __LINE__); } while (0) #endif