diff --git a/inc/sgldebug.h b/inc/sgldebug.h new file mode 100644 index 0000000..5f62c66 --- /dev/null +++ b/inc/sgldebug.h @@ -0,0 +1,6 @@ +#ifndef _SGLDEBUG_H_ +#define _SGLDEBUG_H_ + +const char *sgl_cmd2str(int c); + +#endif \ No newline at end of file diff --git a/inc/sharedgl.h b/inc/sharedgl.h index 283b219..48ca611 100644 --- a/inc/sharedgl.h +++ b/inc/sharedgl.h @@ -12,7 +12,7 @@ #endif #define COLOR_ESC "\x1b[" -#define COLOR_RESET "0m" +#define COLOR_RESET COLOR_ESC "0m" #define COLOR_ATTR_RESET "0;" #define COLOR_ATTR_BOLD "1;" @@ -1141,1074 +1141,4 @@ enum { SGL_CMD_MAX }; -#ifdef SGL_STRING_TABLE -#define STRING(x) #x -extern const char *SGL_CMD_STRING_TABLE[1062]; -const char *SGL_CMD_STRING_TABLE[1062] = { - STRING(SGL_CMD_INVALID), - STRING(SGL_CMD_FLIP), - STRING(SGL_CMD_SEND_DATA), - STRING(SGL_CMD_GET_CONTEXT), - STRING(SGL_CMD_SET_CONTEXT), - STRING(SGL_CMD_GET_SIZE), - STRING(SGL_CMD_VP_UPLOAD), - STRING(SGL_CMD_VP_NULL), - STRING(SGL_CMD_VP_UPLOAD_STAY), - STRING(SGL_CMD_CREATE_CONTEXT), - STRING(SGL_CMD_REPORT_DIMS), - STRING(SGL_CMD_HELLO_WORLD), - STRING(SGL_CMD_GOODBYE_WORLD), - STRING(SGL_CMD_REQUEST_FRAMEBUFFER), - STRING(SGL_CMD_CULLFACE), - STRING(SGL_CMD_FRONTFACE), - STRING(SGL_CMD_HINT), - STRING(SGL_CMD_LINEWIDTH), - STRING(SGL_CMD_POINTSIZE), - STRING(SGL_CMD_POLYGONMODE), - STRING(SGL_CMD_SCISSOR), - STRING(SGL_CMD_TEXPARAMETERF), - STRING(SGL_CMD_TEXPARAMETERFV), - STRING(SGL_CMD_TEXPARAMETERI), - STRING(SGL_CMD_TEXPARAMETERIV), - STRING(SGL_CMD_TEXIMAGE1D), - STRING(SGL_CMD_TEXIMAGE2D), - STRING(SGL_CMD_DRAWBUFFER), - STRING(SGL_CMD_CLEAR), - STRING(SGL_CMD_CLEARCOLOR), - STRING(SGL_CMD_CLEARSTENCIL), - STRING(SGL_CMD_CLEARDEPTH), - STRING(SGL_CMD_STENCILMASK), - STRING(SGL_CMD_COLORMASK), - STRING(SGL_CMD_DEPTHMASK), - STRING(SGL_CMD_DISABLE), - STRING(SGL_CMD_ENABLE), - STRING(SGL_CMD_FINISH), - STRING(SGL_CMD_FLUSH), - STRING(SGL_CMD_BLENDFUNC), - STRING(SGL_CMD_LOGICOP), - STRING(SGL_CMD_STENCILFUNC), - STRING(SGL_CMD_STENCILOP), - STRING(SGL_CMD_DEPTHFUNC), - STRING(SGL_CMD_PIXELSTOREF), - STRING(SGL_CMD_PIXELSTOREI), - STRING(SGL_CMD_READBUFFER), - STRING(SGL_CMD_READPIXELS), - STRING(SGL_CMD_GETBOOLEANV), - STRING(SGL_CMD_GETDOUBLEV), - STRING(SGL_CMD_GETERROR), - STRING(SGL_CMD_GETFLOATV), - STRING(SGL_CMD_GETINTEGERV), - STRING(SGL_CMD_GETSTRING), - STRING(SGL_CMD_GETTEXIMAGE), - STRING(SGL_CMD_GETTEXPARAMETERFV), - STRING(SGL_CMD_GETTEXPARAMETERIV), - STRING(SGL_CMD_GETTEXLEVELPARAMETERFV), - STRING(SGL_CMD_GETTEXLEVELPARAMETERIV), - STRING(SGL_CMD_ISENABLED), - STRING(SGL_CMD_DEPTHRANGE), - STRING(SGL_CMD_VIEWPORT), - STRING(SGL_CMD_NEWLIST), - STRING(SGL_CMD_ENDLIST), - STRING(SGL_CMD_CALLLIST), - STRING(SGL_CMD_CALLLISTS), - STRING(SGL_CMD_DELETELISTS), - STRING(SGL_CMD_GENLISTS), - STRING(SGL_CMD_LISTBASE), - STRING(SGL_CMD_BEGIN), - STRING(SGL_CMD_BITMAP), - STRING(SGL_CMD_COLOR3B), - STRING(SGL_CMD_COLOR3BV), - STRING(SGL_CMD_COLOR3D), - STRING(SGL_CMD_COLOR3DV), - STRING(SGL_CMD_COLOR3F), - STRING(SGL_CMD_COLOR3FV), - STRING(SGL_CMD_COLOR3I), - STRING(SGL_CMD_COLOR3IV), - STRING(SGL_CMD_COLOR3S), - STRING(SGL_CMD_COLOR3SV), - STRING(SGL_CMD_COLOR3UB), - STRING(SGL_CMD_COLOR3UBV), - STRING(SGL_CMD_COLOR3UI), - STRING(SGL_CMD_COLOR3UIV), - STRING(SGL_CMD_COLOR3US), - STRING(SGL_CMD_COLOR3USV), - STRING(SGL_CMD_COLOR4B), - STRING(SGL_CMD_COLOR4BV), - STRING(SGL_CMD_COLOR4D), - STRING(SGL_CMD_COLOR4DV), - STRING(SGL_CMD_COLOR4F), - STRING(SGL_CMD_COLOR4FV), - STRING(SGL_CMD_COLOR4I), - STRING(SGL_CMD_COLOR4IV), - STRING(SGL_CMD_COLOR4S), - STRING(SGL_CMD_COLOR4SV), - STRING(SGL_CMD_COLOR4UB), - STRING(SGL_CMD_COLOR4UBV), - STRING(SGL_CMD_COLOR4UI), - STRING(SGL_CMD_COLOR4UIV), - STRING(SGL_CMD_COLOR4US), - STRING(SGL_CMD_COLOR4USV), - STRING(SGL_CMD_EDGEFLAG), - STRING(SGL_CMD_EDGEFLAGV), - STRING(SGL_CMD_END), - STRING(SGL_CMD_INDEXD), - STRING(SGL_CMD_INDEXDV), - STRING(SGL_CMD_INDEXF), - STRING(SGL_CMD_INDEXFV), - STRING(SGL_CMD_INDEXI), - STRING(SGL_CMD_INDEXIV), - STRING(SGL_CMD_INDEXS), - STRING(SGL_CMD_INDEXSV), - STRING(SGL_CMD_NORMAL3B), - STRING(SGL_CMD_NORMAL3BV), - STRING(SGL_CMD_NORMAL3D), - STRING(SGL_CMD_NORMAL3DV), - STRING(SGL_CMD_NORMAL3F), - STRING(SGL_CMD_NORMAL3FV), - STRING(SGL_CMD_NORMAL3I), - STRING(SGL_CMD_NORMAL3IV), - STRING(SGL_CMD_NORMAL3S), - STRING(SGL_CMD_NORMAL3SV), - STRING(SGL_CMD_RASTERPOS2D), - STRING(SGL_CMD_RASTERPOS2DV), - STRING(SGL_CMD_RASTERPOS2F), - STRING(SGL_CMD_RASTERPOS2FV), - STRING(SGL_CMD_RASTERPOS2I), - STRING(SGL_CMD_RASTERPOS2IV), - STRING(SGL_CMD_RASTERPOS2S), - STRING(SGL_CMD_RASTERPOS2SV), - STRING(SGL_CMD_RASTERPOS3D), - STRING(SGL_CMD_RASTERPOS3DV), - STRING(SGL_CMD_RASTERPOS3F), - STRING(SGL_CMD_RASTERPOS3FV), - STRING(SGL_CMD_RASTERPOS3I), - STRING(SGL_CMD_RASTERPOS3IV), - STRING(SGL_CMD_RASTERPOS3S), - STRING(SGL_CMD_RASTERPOS3SV), - STRING(SGL_CMD_RASTERPOS4D), - STRING(SGL_CMD_RASTERPOS4DV), - STRING(SGL_CMD_RASTERPOS4F), - STRING(SGL_CMD_RASTERPOS4FV), - STRING(SGL_CMD_RASTERPOS4I), - STRING(SGL_CMD_RASTERPOS4IV), - STRING(SGL_CMD_RASTERPOS4S), - STRING(SGL_CMD_RASTERPOS4SV), - STRING(SGL_CMD_RECTD), - STRING(SGL_CMD_RECTDV), - STRING(SGL_CMD_RECTF), - STRING(SGL_CMD_RECTFV), - STRING(SGL_CMD_RECTI), - STRING(SGL_CMD_RECTIV), - STRING(SGL_CMD_RECTS), - STRING(SGL_CMD_RECTSV), - STRING(SGL_CMD_TEXCOORD1D), - STRING(SGL_CMD_TEXCOORD1DV), - STRING(SGL_CMD_TEXCOORD1F), - STRING(SGL_CMD_TEXCOORD1FV), - STRING(SGL_CMD_TEXCOORD1I), - STRING(SGL_CMD_TEXCOORD1IV), - STRING(SGL_CMD_TEXCOORD1S), - STRING(SGL_CMD_TEXCOORD1SV), - STRING(SGL_CMD_TEXCOORD2D), - STRING(SGL_CMD_TEXCOORD2DV), - STRING(SGL_CMD_TEXCOORD2F), - STRING(SGL_CMD_TEXCOORD2FV), - STRING(SGL_CMD_TEXCOORD2I), - STRING(SGL_CMD_TEXCOORD2IV), - STRING(SGL_CMD_TEXCOORD2S), - STRING(SGL_CMD_TEXCOORD2SV), - STRING(SGL_CMD_TEXCOORD3D), - STRING(SGL_CMD_TEXCOORD3DV), - STRING(SGL_CMD_TEXCOORD3F), - STRING(SGL_CMD_TEXCOORD3FV), - STRING(SGL_CMD_TEXCOORD3I), - STRING(SGL_CMD_TEXCOORD3IV), - STRING(SGL_CMD_TEXCOORD3S), - STRING(SGL_CMD_TEXCOORD3SV), - STRING(SGL_CMD_TEXCOORD4D), - STRING(SGL_CMD_TEXCOORD4DV), - STRING(SGL_CMD_TEXCOORD4F), - STRING(SGL_CMD_TEXCOORD4FV), - STRING(SGL_CMD_TEXCOORD4I), - STRING(SGL_CMD_TEXCOORD4IV), - STRING(SGL_CMD_TEXCOORD4S), - STRING(SGL_CMD_TEXCOORD4SV), - STRING(SGL_CMD_VERTEX2D), - STRING(SGL_CMD_VERTEX2DV), - STRING(SGL_CMD_VERTEX2F), - STRING(SGL_CMD_VERTEX2FV), - STRING(SGL_CMD_VERTEX2I), - STRING(SGL_CMD_VERTEX2IV), - STRING(SGL_CMD_VERTEX2S), - STRING(SGL_CMD_VERTEX2SV), - STRING(SGL_CMD_VERTEX3D), - STRING(SGL_CMD_VERTEX3DV), - STRING(SGL_CMD_VERTEX3F), - STRING(SGL_CMD_VERTEX3FV), - STRING(SGL_CMD_VERTEX3I), - STRING(SGL_CMD_VERTEX3IV), - STRING(SGL_CMD_VERTEX3S), - STRING(SGL_CMD_VERTEX3SV), - STRING(SGL_CMD_VERTEX4D), - STRING(SGL_CMD_VERTEX4DV), - STRING(SGL_CMD_VERTEX4F), - STRING(SGL_CMD_VERTEX4FV), - STRING(SGL_CMD_VERTEX4I), - STRING(SGL_CMD_VERTEX4IV), - STRING(SGL_CMD_VERTEX4S), - STRING(SGL_CMD_VERTEX4SV), - STRING(SGL_CMD_CLIPPLANE), - STRING(SGL_CMD_COLORMATERIAL), - STRING(SGL_CMD_FOGF), - STRING(SGL_CMD_FOGFV), - STRING(SGL_CMD_FOGI), - STRING(SGL_CMD_FOGIV), - STRING(SGL_CMD_LIGHTF), - STRING(SGL_CMD_LIGHTFV), - STRING(SGL_CMD_LIGHTI), - STRING(SGL_CMD_LIGHTIV), - STRING(SGL_CMD_LIGHTMODELF), - STRING(SGL_CMD_LIGHTMODELFV), - STRING(SGL_CMD_LIGHTMODELI), - STRING(SGL_CMD_LIGHTMODELIV), - STRING(SGL_CMD_LINESTIPPLE), - STRING(SGL_CMD_MATERIALF), - STRING(SGL_CMD_MATERIALFV), - STRING(SGL_CMD_MATERIALI), - STRING(SGL_CMD_MATERIALIV), - STRING(SGL_CMD_POLYGONSTIPPLE), - STRING(SGL_CMD_SHADEMODEL), - STRING(SGL_CMD_TEXENVF), - STRING(SGL_CMD_TEXENVFV), - STRING(SGL_CMD_TEXENVI), - STRING(SGL_CMD_TEXENVIV), - STRING(SGL_CMD_TEXGEND), - STRING(SGL_CMD_TEXGENDV), - STRING(SGL_CMD_TEXGENF), - STRING(SGL_CMD_TEXGENFV), - STRING(SGL_CMD_TEXGENI), - STRING(SGL_CMD_TEXGENIV), - STRING(SGL_CMD_FEEDBACKBUFFER), - STRING(SGL_CMD_SELECTBUFFER), - STRING(SGL_CMD_RENDERMODE), - STRING(SGL_CMD_INITNAMES), - STRING(SGL_CMD_LOADNAME), - STRING(SGL_CMD_PASSTHROUGH), - STRING(SGL_CMD_POPNAME), - STRING(SGL_CMD_PUSHNAME), - STRING(SGL_CMD_CLEARACCUM), - STRING(SGL_CMD_CLEARINDEX), - STRING(SGL_CMD_INDEXMASK), - STRING(SGL_CMD_ACCUM), - STRING(SGL_CMD_POPATTRIB), - STRING(SGL_CMD_PUSHATTRIB), - STRING(SGL_CMD_MAP1D), - STRING(SGL_CMD_MAP1F), - STRING(SGL_CMD_MAP2D), - STRING(SGL_CMD_MAP2F), - STRING(SGL_CMD_MAPGRID1D), - STRING(SGL_CMD_MAPGRID1F), - STRING(SGL_CMD_MAPGRID2D), - STRING(SGL_CMD_MAPGRID2F), - STRING(SGL_CMD_EVALCOORD1D), - STRING(SGL_CMD_EVALCOORD1DV), - STRING(SGL_CMD_EVALCOORD1F), - STRING(SGL_CMD_EVALCOORD1FV), - STRING(SGL_CMD_EVALCOORD2D), - STRING(SGL_CMD_EVALCOORD2DV), - STRING(SGL_CMD_EVALCOORD2F), - STRING(SGL_CMD_EVALCOORD2FV), - STRING(SGL_CMD_EVALMESH1), - STRING(SGL_CMD_EVALPOINT1), - STRING(SGL_CMD_EVALMESH2), - STRING(SGL_CMD_EVALPOINT2), - STRING(SGL_CMD_ALPHAFUNC), - STRING(SGL_CMD_PIXELZOOM), - STRING(SGL_CMD_PIXELTRANSFERF), - STRING(SGL_CMD_PIXELTRANSFERI), - STRING(SGL_CMD_PIXELMAPFV), - STRING(SGL_CMD_PIXELMAPUIV), - STRING(SGL_CMD_PIXELMAPUSV), - STRING(SGL_CMD_COPYPIXELS), - STRING(SGL_CMD_DRAWPIXELS), - STRING(SGL_CMD_GETCLIPPLANE), - STRING(SGL_CMD_GETLIGHTFV), - STRING(SGL_CMD_GETLIGHTIV), - STRING(SGL_CMD_GETMAPDV), - STRING(SGL_CMD_GETMAPFV), - STRING(SGL_CMD_GETMAPIV), - STRING(SGL_CMD_GETMATERIALFV), - STRING(SGL_CMD_GETMATERIALIV), - STRING(SGL_CMD_GETPIXELMAPFV), - STRING(SGL_CMD_GETPIXELMAPUIV), - STRING(SGL_CMD_GETPIXELMAPUSV), - STRING(SGL_CMD_GETPOLYGONSTIPPLE), - STRING(SGL_CMD_GETTEXENVFV), - STRING(SGL_CMD_GETTEXENVIV), - STRING(SGL_CMD_GETTEXGENDV), - STRING(SGL_CMD_GETTEXGENFV), - STRING(SGL_CMD_GETTEXGENIV), - STRING(SGL_CMD_ISLIST), - STRING(SGL_CMD_FRUSTUM), - STRING(SGL_CMD_LOADIDENTITY), - STRING(SGL_CMD_LOADMATRIXF), - STRING(SGL_CMD_LOADMATRIXD), - STRING(SGL_CMD_MATRIXMODE), - STRING(SGL_CMD_MULTMATRIXF), - STRING(SGL_CMD_MULTMATRIXD), - STRING(SGL_CMD_ORTHO), - STRING(SGL_CMD_POPMATRIX), - STRING(SGL_CMD_PUSHMATRIX), - STRING(SGL_CMD_ROTATED), - STRING(SGL_CMD_ROTATEF), - STRING(SGL_CMD_SCALED), - STRING(SGL_CMD_SCALEF), - STRING(SGL_CMD_TRANSLATED), - STRING(SGL_CMD_TRANSLATEF), - STRING(SGL_CMD_DRAWARRAYS), - STRING(SGL_CMD_DRAWELEMENTS), - STRING(SGL_CMD_GETPOINTERV), - STRING(SGL_CMD_POLYGONOFFSET), - STRING(SGL_CMD_COPYTEXIMAGE1D), - STRING(SGL_CMD_COPYTEXIMAGE2D), - STRING(SGL_CMD_COPYTEXSUBIMAGE1D), - STRING(SGL_CMD_COPYTEXSUBIMAGE2D), - STRING(SGL_CMD_TEXSUBIMAGE1D), - STRING(SGL_CMD_TEXSUBIMAGE2D), - STRING(SGL_CMD_BINDTEXTURE), - STRING(SGL_CMD_DELETETEXTURES), - STRING(SGL_CMD_GENTEXTURES), - STRING(SGL_CMD_ISTEXTURE), - STRING(SGL_CMD_ARRAYELEMENT), - STRING(SGL_CMD_COLORPOINTER), - STRING(SGL_CMD_DISABLECLIENTSTATE), - STRING(SGL_CMD_EDGEFLAGPOINTER), - STRING(SGL_CMD_ENABLECLIENTSTATE), - STRING(SGL_CMD_INDEXPOINTER), - STRING(SGL_CMD_INTERLEAVEDARRAYS), - STRING(SGL_CMD_NORMALPOINTER), - STRING(SGL_CMD_TEXCOORDPOINTER), - STRING(SGL_CMD_VERTEXPOINTER), - STRING(SGL_CMD_ARETEXTURESRESIDENT), - STRING(SGL_CMD_PRIORITIZETEXTURES), - STRING(SGL_CMD_INDEXUB), - STRING(SGL_CMD_INDEXUBV), - STRING(SGL_CMD_POPCLIENTATTRIB), - STRING(SGL_CMD_PUSHCLIENTATTRIB), - STRING(SGL_CMD_DRAWRANGEELEMENTS), - STRING(SGL_CMD_TEXIMAGE3D), - STRING(SGL_CMD_TEXSUBIMAGE3D), - STRING(SGL_CMD_COPYTEXSUBIMAGE3D), - STRING(SGL_CMD_ACTIVETEXTURE), - STRING(SGL_CMD_SAMPLECOVERAGE), - STRING(SGL_CMD_COMPRESSEDTEXIMAGE3D), - STRING(SGL_CMD_COMPRESSEDTEXIMAGE2D), - STRING(SGL_CMD_COMPRESSEDTEXIMAGE1D), - STRING(SGL_CMD_COMPRESSEDTEXSUBIMAGE3D), - STRING(SGL_CMD_COMPRESSEDTEXSUBIMAGE2D), - STRING(SGL_CMD_COMPRESSEDTEXSUBIMAGE1D), - STRING(SGL_CMD_GETCOMPRESSEDTEXIMAGE), - STRING(SGL_CMD_CLIENTACTIVETEXTURE), - STRING(SGL_CMD_MULTITEXCOORD1D), - STRING(SGL_CMD_MULTITEXCOORD1DV), - STRING(SGL_CMD_MULTITEXCOORD1F), - STRING(SGL_CMD_MULTITEXCOORD1FV), - STRING(SGL_CMD_MULTITEXCOORD1I), - STRING(SGL_CMD_MULTITEXCOORD1IV), - STRING(SGL_CMD_MULTITEXCOORD1S), - STRING(SGL_CMD_MULTITEXCOORD1SV), - STRING(SGL_CMD_MULTITEXCOORD2D), - STRING(SGL_CMD_MULTITEXCOORD2DV), - STRING(SGL_CMD_MULTITEXCOORD2F), - STRING(SGL_CMD_MULTITEXCOORD2FV), - STRING(SGL_CMD_MULTITEXCOORD2I), - STRING(SGL_CMD_MULTITEXCOORD2IV), - STRING(SGL_CMD_MULTITEXCOORD2S), - STRING(SGL_CMD_MULTITEXCOORD2SV), - STRING(SGL_CMD_MULTITEXCOORD3D), - STRING(SGL_CMD_MULTITEXCOORD3DV), - STRING(SGL_CMD_MULTITEXCOORD3F), - STRING(SGL_CMD_MULTITEXCOORD3FV), - STRING(SGL_CMD_MULTITEXCOORD3I), - STRING(SGL_CMD_MULTITEXCOORD3IV), - STRING(SGL_CMD_MULTITEXCOORD3S), - STRING(SGL_CMD_MULTITEXCOORD3SV), - STRING(SGL_CMD_MULTITEXCOORD4D), - STRING(SGL_CMD_MULTITEXCOORD4DV), - STRING(SGL_CMD_MULTITEXCOORD4F), - STRING(SGL_CMD_MULTITEXCOORD4FV), - STRING(SGL_CMD_MULTITEXCOORD4I), - STRING(SGL_CMD_MULTITEXCOORD4IV), - STRING(SGL_CMD_MULTITEXCOORD4S), - STRING(SGL_CMD_MULTITEXCOORD4SV), - STRING(SGL_CMD_LOADTRANSPOSEMATRIXF), - STRING(SGL_CMD_LOADTRANSPOSEMATRIXD), - STRING(SGL_CMD_MULTTRANSPOSEMATRIXF), - STRING(SGL_CMD_MULTTRANSPOSEMATRIXD), - STRING(SGL_CMD_BLENDFUNCSEPARATE), - STRING(SGL_CMD_MULTIDRAWARRAYS), - STRING(SGL_CMD_MULTIDRAWELEMENTS), - STRING(SGL_CMD_POINTPARAMETERF), - STRING(SGL_CMD_POINTPARAMETERFV), - STRING(SGL_CMD_POINTPARAMETERI), - STRING(SGL_CMD_POINTPARAMETERIV), - STRING(SGL_CMD_FOGCOORDF), - STRING(SGL_CMD_FOGCOORDFV), - STRING(SGL_CMD_FOGCOORDD), - STRING(SGL_CMD_FOGCOORDDV), - STRING(SGL_CMD_FOGCOORDPOINTER), - STRING(SGL_CMD_SECONDARYCOLOR3B), - STRING(SGL_CMD_SECONDARYCOLOR3BV), - STRING(SGL_CMD_SECONDARYCOLOR3D), - STRING(SGL_CMD_SECONDARYCOLOR3DV), - STRING(SGL_CMD_SECONDARYCOLOR3F), - STRING(SGL_CMD_SECONDARYCOLOR3FV), - STRING(SGL_CMD_SECONDARYCOLOR3I), - STRING(SGL_CMD_SECONDARYCOLOR3IV), - STRING(SGL_CMD_SECONDARYCOLOR3S), - STRING(SGL_CMD_SECONDARYCOLOR3SV), - STRING(SGL_CMD_SECONDARYCOLOR3UB), - STRING(SGL_CMD_SECONDARYCOLOR3UBV), - STRING(SGL_CMD_SECONDARYCOLOR3UI), - STRING(SGL_CMD_SECONDARYCOLOR3UIV), - STRING(SGL_CMD_SECONDARYCOLOR3US), - STRING(SGL_CMD_SECONDARYCOLOR3USV), - STRING(SGL_CMD_SECONDARYCOLORPOINTER), - STRING(SGL_CMD_WINDOWPOS2D), - STRING(SGL_CMD_WINDOWPOS2DV), - STRING(SGL_CMD_WINDOWPOS2F), - STRING(SGL_CMD_WINDOWPOS2FV), - STRING(SGL_CMD_WINDOWPOS2I), - STRING(SGL_CMD_WINDOWPOS2IV), - STRING(SGL_CMD_WINDOWPOS2S), - STRING(SGL_CMD_WINDOWPOS2SV), - STRING(SGL_CMD_WINDOWPOS3D), - STRING(SGL_CMD_WINDOWPOS3DV), - STRING(SGL_CMD_WINDOWPOS3F), - STRING(SGL_CMD_WINDOWPOS3FV), - STRING(SGL_CMD_WINDOWPOS3I), - STRING(SGL_CMD_WINDOWPOS3IV), - STRING(SGL_CMD_WINDOWPOS3S), - STRING(SGL_CMD_WINDOWPOS3SV), - STRING(SGL_CMD_BLENDCOLOR), - STRING(SGL_CMD_BLENDEQUATION), - STRING(SGL_CMD_GENQUERIES), - STRING(SGL_CMD_DELETEQUERIES), - STRING(SGL_CMD_ISQUERY), - STRING(SGL_CMD_BEGINQUERY), - STRING(SGL_CMD_ENDQUERY), - STRING(SGL_CMD_GETQUERYIV), - STRING(SGL_CMD_GETQUERYOBJECTIV), - STRING(SGL_CMD_GETQUERYOBJECTUIV), - STRING(SGL_CMD_BINDBUFFER), - STRING(SGL_CMD_DELETEBUFFERS), - STRING(SGL_CMD_GENBUFFERS), - STRING(SGL_CMD_ISBUFFER), - STRING(SGL_CMD_BUFFERDATA), - STRING(SGL_CMD_BUFFERSUBDATA), - STRING(SGL_CMD_GETBUFFERSUBDATA), - STRING(SGL_CMD_MAPBUFFER), - STRING(SGL_CMD_UNMAPBUFFER), - STRING(SGL_CMD_GETBUFFERPARAMETERIV), - STRING(SGL_CMD_GETBUFFERPOINTERV), - STRING(SGL_CMD_BLENDEQUATIONSEPARATE), - STRING(SGL_CMD_DRAWBUFFERS), - STRING(SGL_CMD_STENCILOPSEPARATE), - STRING(SGL_CMD_STENCILFUNCSEPARATE), - STRING(SGL_CMD_STENCILMASKSEPARATE), - STRING(SGL_CMD_ATTACHSHADER), - STRING(SGL_CMD_BINDATTRIBLOCATION), - STRING(SGL_CMD_COMPILESHADER), - STRING(SGL_CMD_CREATEPROGRAM), - STRING(SGL_CMD_CREATESHADER), - STRING(SGL_CMD_DELETEPROGRAM), - STRING(SGL_CMD_DELETESHADER), - STRING(SGL_CMD_DETACHSHADER), - STRING(SGL_CMD_DISABLEVERTEXATTRIBARRAY), - STRING(SGL_CMD_ENABLEVERTEXATTRIBARRAY), - STRING(SGL_CMD_GETACTIVEATTRIB), - STRING(SGL_CMD_GETACTIVEUNIFORM), - STRING(SGL_CMD_GETATTACHEDSHADERS), - STRING(SGL_CMD_GETATTRIBLOCATION), - STRING(SGL_CMD_GETPROGRAMIV), - STRING(SGL_CMD_GETPROGRAMINFOLOG), - STRING(SGL_CMD_GETSHADERIV), - STRING(SGL_CMD_GETSHADERINFOLOG), - STRING(SGL_CMD_GETSHADERSOURCE), - STRING(SGL_CMD_GETUNIFORMLOCATION), - STRING(SGL_CMD_GETUNIFORMFV), - STRING(SGL_CMD_GETUNIFORMIV), - STRING(SGL_CMD_GETVERTEXATTRIBDV), - STRING(SGL_CMD_GETVERTEXATTRIBFV), - STRING(SGL_CMD_GETVERTEXATTRIBIV), - STRING(SGL_CMD_GETVERTEXATTRIBPOINTERV), - STRING(SGL_CMD_ISPROGRAM), - STRING(SGL_CMD_ISSHADER), - STRING(SGL_CMD_LINKPROGRAM), - STRING(SGL_CMD_SHADERSOURCE), - STRING(SGL_CMD_USEPROGRAM), - STRING(SGL_CMD_UNIFORM1F), - STRING(SGL_CMD_UNIFORM2F), - STRING(SGL_CMD_UNIFORM3F), - STRING(SGL_CMD_UNIFORM4F), - STRING(SGL_CMD_UNIFORM1I), - STRING(SGL_CMD_UNIFORM2I), - STRING(SGL_CMD_UNIFORM3I), - STRING(SGL_CMD_UNIFORM4I), - STRING(SGL_CMD_UNIFORM1FV), - STRING(SGL_CMD_UNIFORM2FV), - STRING(SGL_CMD_UNIFORM3FV), - STRING(SGL_CMD_UNIFORM4FV), - STRING(SGL_CMD_UNIFORM1IV), - STRING(SGL_CMD_UNIFORM2IV), - STRING(SGL_CMD_UNIFORM3IV), - STRING(SGL_CMD_UNIFORM4IV), - STRING(SGL_CMD_UNIFORMMATRIX2FV), - STRING(SGL_CMD_UNIFORMMATRIX3FV), - STRING(SGL_CMD_UNIFORMMATRIX4FV), - STRING(SGL_CMD_VALIDATEPROGRAM), - STRING(SGL_CMD_VERTEXATTRIB1D), - STRING(SGL_CMD_VERTEXATTRIB1DV), - STRING(SGL_CMD_VERTEXATTRIB1F), - STRING(SGL_CMD_VERTEXATTRIB1FV), - STRING(SGL_CMD_VERTEXATTRIB1S), - STRING(SGL_CMD_VERTEXATTRIB1SV), - STRING(SGL_CMD_VERTEXATTRIB2D), - STRING(SGL_CMD_VERTEXATTRIB2DV), - STRING(SGL_CMD_VERTEXATTRIB2F), - STRING(SGL_CMD_VERTEXATTRIB2FV), - STRING(SGL_CMD_VERTEXATTRIB2S), - STRING(SGL_CMD_VERTEXATTRIB2SV), - STRING(SGL_CMD_VERTEXATTRIB3D), - STRING(SGL_CMD_VERTEXATTRIB3DV), - STRING(SGL_CMD_VERTEXATTRIB3F), - STRING(SGL_CMD_VERTEXATTRIB3FV), - STRING(SGL_CMD_VERTEXATTRIB3S), - STRING(SGL_CMD_VERTEXATTRIB3SV), - STRING(SGL_CMD_VERTEXATTRIB4NBV), - STRING(SGL_CMD_VERTEXATTRIB4NIV), - STRING(SGL_CMD_VERTEXATTRIB4NSV), - STRING(SGL_CMD_VERTEXATTRIB4NUB), - STRING(SGL_CMD_VERTEXATTRIB4NUBV), - STRING(SGL_CMD_VERTEXATTRIB4NUIV), - STRING(SGL_CMD_VERTEXATTRIB4NUSV), - STRING(SGL_CMD_VERTEXATTRIB4BV), - STRING(SGL_CMD_VERTEXATTRIB4D), - STRING(SGL_CMD_VERTEXATTRIB4DV), - STRING(SGL_CMD_VERTEXATTRIB4F), - STRING(SGL_CMD_VERTEXATTRIB4FV), - STRING(SGL_CMD_VERTEXATTRIB4IV), - STRING(SGL_CMD_VERTEXATTRIB4S), - STRING(SGL_CMD_VERTEXATTRIB4SV), - STRING(SGL_CMD_VERTEXATTRIB4UBV), - STRING(SGL_CMD_VERTEXATTRIB4UIV), - STRING(SGL_CMD_VERTEXATTRIB4USV), - STRING(SGL_CMD_VERTEXATTRIBPOINTER), - STRING(SGL_CMD_UNIFORMMATRIX2X3FV), - STRING(SGL_CMD_UNIFORMMATRIX3X2FV), - STRING(SGL_CMD_UNIFORMMATRIX2X4FV), - STRING(SGL_CMD_UNIFORMMATRIX4X2FV), - STRING(SGL_CMD_UNIFORMMATRIX3X4FV), - STRING(SGL_CMD_UNIFORMMATRIX4X3FV), - STRING(SGL_CMD_COLORMASKI), - STRING(SGL_CMD_GETBOOLEANI_V), - STRING(SGL_CMD_GETINTEGERI_V), - STRING(SGL_CMD_ENABLEI), - STRING(SGL_CMD_DISABLEI), - STRING(SGL_CMD_ISENABLEDI), - STRING(SGL_CMD_BEGINTRANSFORMFEEDBACK), - STRING(SGL_CMD_ENDTRANSFORMFEEDBACK), - STRING(SGL_CMD_BINDBUFFERRANGE), - STRING(SGL_CMD_BINDBUFFERBASE), - STRING(SGL_CMD_TRANSFORMFEEDBACKVARYINGS), - STRING(SGL_CMD_GETTRANSFORMFEEDBACKVARYING), - STRING(SGL_CMD_CLAMPCOLOR), - STRING(SGL_CMD_BEGINCONDITIONALRENDER), - STRING(SGL_CMD_ENDCONDITIONALRENDER), - STRING(SGL_CMD_VERTEXATTRIBIPOINTER), - STRING(SGL_CMD_GETVERTEXATTRIBIIV), - STRING(SGL_CMD_GETVERTEXATTRIBIUIV), - STRING(SGL_CMD_VERTEXATTRIBI1I), - STRING(SGL_CMD_VERTEXATTRIBI2I), - STRING(SGL_CMD_VERTEXATTRIBI3I), - STRING(SGL_CMD_VERTEXATTRIBI4I), - STRING(SGL_CMD_VERTEXATTRIBI1UI), - STRING(SGL_CMD_VERTEXATTRIBI2UI), - STRING(SGL_CMD_VERTEXATTRIBI3UI), - STRING(SGL_CMD_VERTEXATTRIBI4UI), - STRING(SGL_CMD_VERTEXATTRIBI1IV), - STRING(SGL_CMD_VERTEXATTRIBI2IV), - STRING(SGL_CMD_VERTEXATTRIBI3IV), - STRING(SGL_CMD_VERTEXATTRIBI4IV), - STRING(SGL_CMD_VERTEXATTRIBI1UIV), - STRING(SGL_CMD_VERTEXATTRIBI2UIV), - STRING(SGL_CMD_VERTEXATTRIBI3UIV), - STRING(SGL_CMD_VERTEXATTRIBI4UIV), - STRING(SGL_CMD_VERTEXATTRIBI4BV), - STRING(SGL_CMD_VERTEXATTRIBI4SV), - STRING(SGL_CMD_VERTEXATTRIBI4UBV), - STRING(SGL_CMD_VERTEXATTRIBI4USV), - STRING(SGL_CMD_GETUNIFORMUIV), - STRING(SGL_CMD_BINDFRAGDATALOCATION), - STRING(SGL_CMD_GETFRAGDATALOCATION), - STRING(SGL_CMD_UNIFORM1UI), - STRING(SGL_CMD_UNIFORM2UI), - STRING(SGL_CMD_UNIFORM3UI), - STRING(SGL_CMD_UNIFORM4UI), - STRING(SGL_CMD_UNIFORM1UIV), - STRING(SGL_CMD_UNIFORM2UIV), - STRING(SGL_CMD_UNIFORM3UIV), - STRING(SGL_CMD_UNIFORM4UIV), - STRING(SGL_CMD_TEXPARAMETERIIV), - STRING(SGL_CMD_TEXPARAMETERIUIV), - STRING(SGL_CMD_GETTEXPARAMETERIIV), - STRING(SGL_CMD_GETTEXPARAMETERIUIV), - STRING(SGL_CMD_CLEARBUFFERIV), - STRING(SGL_CMD_CLEARBUFFERUIV), - STRING(SGL_CMD_CLEARBUFFERFV), - STRING(SGL_CMD_CLEARBUFFERFI), - STRING(SGL_CMD_GETSTRINGI), - STRING(SGL_CMD_ISRENDERBUFFER), - STRING(SGL_CMD_BINDRENDERBUFFER), - STRING(SGL_CMD_DELETERENDERBUFFERS), - STRING(SGL_CMD_GENRENDERBUFFERS), - STRING(SGL_CMD_RENDERBUFFERSTORAGE), - STRING(SGL_CMD_GETRENDERBUFFERPARAMETERIV), - STRING(SGL_CMD_ISFRAMEBUFFER), - STRING(SGL_CMD_BINDFRAMEBUFFER), - STRING(SGL_CMD_DELETEFRAMEBUFFERS), - STRING(SGL_CMD_GENFRAMEBUFFERS), - STRING(SGL_CMD_CHECKFRAMEBUFFERSTATUS), - STRING(SGL_CMD_FRAMEBUFFERTEXTURE1D), - STRING(SGL_CMD_FRAMEBUFFERTEXTURE2D), - STRING(SGL_CMD_FRAMEBUFFERTEXTURE3D), - STRING(SGL_CMD_FRAMEBUFFERRENDERBUFFER), - STRING(SGL_CMD_GETFRAMEBUFFERATTACHMENTPARAMETERIV), - STRING(SGL_CMD_GENERATEMIPMAP), - STRING(SGL_CMD_BLITFRAMEBUFFER), - STRING(SGL_CMD_RENDERBUFFERSTORAGEMULTISAMPLE), - STRING(SGL_CMD_FRAMEBUFFERTEXTURELAYER), - STRING(SGL_CMD_MAPBUFFERRANGE), - STRING(SGL_CMD_FLUSHMAPPEDBUFFERRANGE), - STRING(SGL_CMD_BINDVERTEXARRAY), - STRING(SGL_CMD_DELETEVERTEXARRAYS), - STRING(SGL_CMD_GENVERTEXARRAYS), - STRING(SGL_CMD_ISVERTEXARRAY), - STRING(SGL_CMD_DRAWARRAYSINSTANCED), - STRING(SGL_CMD_DRAWELEMENTSINSTANCED), - STRING(SGL_CMD_TEXBUFFER), - STRING(SGL_CMD_PRIMITIVERESTARTINDEX), - STRING(SGL_CMD_COPYBUFFERSUBDATA), - STRING(SGL_CMD_GETUNIFORMINDICES), - STRING(SGL_CMD_GETACTIVEUNIFORMSIV), - STRING(SGL_CMD_GETACTIVEUNIFORMNAME), - STRING(SGL_CMD_GETUNIFORMBLOCKINDEX), - STRING(SGL_CMD_GETACTIVEUNIFORMBLOCKIV), - STRING(SGL_CMD_GETACTIVEUNIFORMBLOCKNAME), - STRING(SGL_CMD_UNIFORMBLOCKBINDING), - STRING(SGL_CMD_DRAWELEMENTSBASEVERTEX), - STRING(SGL_CMD_DRAWRANGEELEMENTSBASEVERTEX), - STRING(SGL_CMD_DRAWELEMENTSINSTANCEDBASEVERTEX), - STRING(SGL_CMD_MULTIDRAWELEMENTSBASEVERTEX), - STRING(SGL_CMD_PROVOKINGVERTEX), - STRING(SGL_CMD_FENCESYNC), - STRING(SGL_CMD_ISSYNC), - STRING(SGL_CMD_DELETESYNC), - STRING(SGL_CMD_CLIENTWAITSYNC), - STRING(SGL_CMD_WAITSYNC), - STRING(SGL_CMD_GETINTEGER64V), - STRING(SGL_CMD_GETSYNCIV), - STRING(SGL_CMD_GETINTEGER64I_V), - STRING(SGL_CMD_GETBUFFERPARAMETERI64V), - STRING(SGL_CMD_FRAMEBUFFERTEXTURE), - STRING(SGL_CMD_TEXIMAGE2DMULTISAMPLE), - STRING(SGL_CMD_TEXIMAGE3DMULTISAMPLE), - STRING(SGL_CMD_GETMULTISAMPLEFV), - STRING(SGL_CMD_SAMPLEMASKI), - STRING(SGL_CMD_BINDFRAGDATALOCATIONINDEXED), - STRING(SGL_CMD_GETFRAGDATAINDEX), - STRING(SGL_CMD_GENSAMPLERS), - STRING(SGL_CMD_DELETESAMPLERS), - STRING(SGL_CMD_ISSAMPLER), - STRING(SGL_CMD_BINDSAMPLER), - STRING(SGL_CMD_SAMPLERPARAMETERI), - STRING(SGL_CMD_SAMPLERPARAMETERIV), - STRING(SGL_CMD_SAMPLERPARAMETERF), - STRING(SGL_CMD_SAMPLERPARAMETERFV), - STRING(SGL_CMD_SAMPLERPARAMETERIIV), - STRING(SGL_CMD_SAMPLERPARAMETERIUIV), - STRING(SGL_CMD_GETSAMPLERPARAMETERIV), - STRING(SGL_CMD_GETSAMPLERPARAMETERIIV), - STRING(SGL_CMD_GETSAMPLERPARAMETERFV), - STRING(SGL_CMD_GETSAMPLERPARAMETERIUIV), - STRING(SGL_CMD_QUERYCOUNTER), - STRING(SGL_CMD_GETQUERYOBJECTI64V), - STRING(SGL_CMD_GETQUERYOBJECTUI64V), - STRING(SGL_CMD_VERTEXATTRIBDIVISOR), - STRING(SGL_CMD_VERTEXATTRIBP1UI), - STRING(SGL_CMD_VERTEXATTRIBP1UIV), - STRING(SGL_CMD_VERTEXATTRIBP2UI), - STRING(SGL_CMD_VERTEXATTRIBP2UIV), - STRING(SGL_CMD_VERTEXATTRIBP3UI), - STRING(SGL_CMD_VERTEXATTRIBP3UIV), - STRING(SGL_CMD_VERTEXATTRIBP4UI), - STRING(SGL_CMD_VERTEXATTRIBP4UIV), - STRING(SGL_CMD_VERTEXP2UI), - STRING(SGL_CMD_VERTEXP2UIV), - STRING(SGL_CMD_VERTEXP3UI), - STRING(SGL_CMD_VERTEXP3UIV), - STRING(SGL_CMD_VERTEXP4UI), - STRING(SGL_CMD_VERTEXP4UIV), - STRING(SGL_CMD_TEXCOORDP1UI), - STRING(SGL_CMD_TEXCOORDP1UIV), - STRING(SGL_CMD_TEXCOORDP2UI), - STRING(SGL_CMD_TEXCOORDP2UIV), - STRING(SGL_CMD_TEXCOORDP3UI), - STRING(SGL_CMD_TEXCOORDP3UIV), - STRING(SGL_CMD_TEXCOORDP4UI), - STRING(SGL_CMD_TEXCOORDP4UIV), - STRING(SGL_CMD_MULTITEXCOORDP1UI), - STRING(SGL_CMD_MULTITEXCOORDP1UIV), - STRING(SGL_CMD_MULTITEXCOORDP2UI), - STRING(SGL_CMD_MULTITEXCOORDP2UIV), - STRING(SGL_CMD_MULTITEXCOORDP3UI), - STRING(SGL_CMD_MULTITEXCOORDP3UIV), - STRING(SGL_CMD_MULTITEXCOORDP4UI), - STRING(SGL_CMD_MULTITEXCOORDP4UIV), - STRING(SGL_CMD_NORMALP3UI), - STRING(SGL_CMD_NORMALP3UIV), - STRING(SGL_CMD_COLORP3UI), - STRING(SGL_CMD_COLORP3UIV), - STRING(SGL_CMD_COLORP4UI), - STRING(SGL_CMD_COLORP4UIV), - STRING(SGL_CMD_SECONDARYCOLORP3UI), - STRING(SGL_CMD_SECONDARYCOLORP3UIV), - STRING(SGL_CMD_MINSAMPLESHADING), - STRING(SGL_CMD_BLENDEQUATIONI), - STRING(SGL_CMD_BLENDEQUATIONSEPARATEI), - STRING(SGL_CMD_BLENDFUNCI), - STRING(SGL_CMD_BLENDFUNCSEPARATEI), - STRING(SGL_CMD_DRAWARRAYSINDIRECT), - STRING(SGL_CMD_DRAWELEMENTSINDIRECT), - STRING(SGL_CMD_UNIFORM1D), - STRING(SGL_CMD_UNIFORM2D), - STRING(SGL_CMD_UNIFORM3D), - STRING(SGL_CMD_UNIFORM4D), - STRING(SGL_CMD_UNIFORM1DV), - STRING(SGL_CMD_UNIFORM2DV), - STRING(SGL_CMD_UNIFORM3DV), - STRING(SGL_CMD_UNIFORM4DV), - STRING(SGL_CMD_UNIFORMMATRIX2DV), - STRING(SGL_CMD_UNIFORMMATRIX3DV), - STRING(SGL_CMD_UNIFORMMATRIX4DV), - STRING(SGL_CMD_UNIFORMMATRIX2X3DV), - STRING(SGL_CMD_UNIFORMMATRIX2X4DV), - STRING(SGL_CMD_UNIFORMMATRIX3X2DV), - STRING(SGL_CMD_UNIFORMMATRIX3X4DV), - STRING(SGL_CMD_UNIFORMMATRIX4X2DV), - STRING(SGL_CMD_UNIFORMMATRIX4X3DV), - STRING(SGL_CMD_GETUNIFORMDV), - STRING(SGL_CMD_GETSUBROUTINEUNIFORMLOCATION), - STRING(SGL_CMD_GETSUBROUTINEINDEX), - STRING(SGL_CMD_GETACTIVESUBROUTINEUNIFORMIV), - STRING(SGL_CMD_GETACTIVESUBROUTINEUNIFORMNAME), - STRING(SGL_CMD_GETACTIVESUBROUTINENAME), - STRING(SGL_CMD_UNIFORMSUBROUTINESUIV), - STRING(SGL_CMD_GETUNIFORMSUBROUTINEUIV), - STRING(SGL_CMD_GETPROGRAMSTAGEIV), - STRING(SGL_CMD_PATCHPARAMETERI), - STRING(SGL_CMD_PATCHPARAMETERFV), - STRING(SGL_CMD_BINDTRANSFORMFEEDBACK), - STRING(SGL_CMD_DELETETRANSFORMFEEDBACKS), - STRING(SGL_CMD_GENTRANSFORMFEEDBACKS), - STRING(SGL_CMD_ISTRANSFORMFEEDBACK), - STRING(SGL_CMD_PAUSETRANSFORMFEEDBACK), - STRING(SGL_CMD_RESUMETRANSFORMFEEDBACK), - STRING(SGL_CMD_DRAWTRANSFORMFEEDBACK), - STRING(SGL_CMD_DRAWTRANSFORMFEEDBACKSTREAM), - STRING(SGL_CMD_BEGINQUERYINDEXED), - STRING(SGL_CMD_ENDQUERYINDEXED), - STRING(SGL_CMD_GETQUERYINDEXEDIV), - STRING(SGL_CMD_RELEASESHADERCOMPILER), - STRING(SGL_CMD_SHADERBINARY), - STRING(SGL_CMD_GETSHADERPRECISIONFORMAT), - STRING(SGL_CMD_DEPTHRANGEF), - STRING(SGL_CMD_CLEARDEPTHF), - STRING(SGL_CMD_GETPROGRAMBINARY), - STRING(SGL_CMD_PROGRAMBINARY), - STRING(SGL_CMD_PROGRAMPARAMETERI), - STRING(SGL_CMD_USEPROGRAMSTAGES), - STRING(SGL_CMD_ACTIVESHADERPROGRAM), - STRING(SGL_CMD_CREATESHADERPROGRAMV), - STRING(SGL_CMD_BINDPROGRAMPIPELINE), - STRING(SGL_CMD_DELETEPROGRAMPIPELINES), - STRING(SGL_CMD_GENPROGRAMPIPELINES), - STRING(SGL_CMD_ISPROGRAMPIPELINE), - STRING(SGL_CMD_GETPROGRAMPIPELINEIV), - STRING(SGL_CMD_PROGRAMUNIFORM1I), - STRING(SGL_CMD_PROGRAMUNIFORM1IV), - STRING(SGL_CMD_PROGRAMUNIFORM1F), - STRING(SGL_CMD_PROGRAMUNIFORM1FV), - STRING(SGL_CMD_PROGRAMUNIFORM1D), - STRING(SGL_CMD_PROGRAMUNIFORM1DV), - STRING(SGL_CMD_PROGRAMUNIFORM1UI), - STRING(SGL_CMD_PROGRAMUNIFORM1UIV), - STRING(SGL_CMD_PROGRAMUNIFORM2I), - STRING(SGL_CMD_PROGRAMUNIFORM2IV), - STRING(SGL_CMD_PROGRAMUNIFORM2F), - STRING(SGL_CMD_PROGRAMUNIFORM2FV), - STRING(SGL_CMD_PROGRAMUNIFORM2D), - STRING(SGL_CMD_PROGRAMUNIFORM2DV), - STRING(SGL_CMD_PROGRAMUNIFORM2UI), - STRING(SGL_CMD_PROGRAMUNIFORM2UIV), - STRING(SGL_CMD_PROGRAMUNIFORM3I), - STRING(SGL_CMD_PROGRAMUNIFORM3IV), - STRING(SGL_CMD_PROGRAMUNIFORM3F), - STRING(SGL_CMD_PROGRAMUNIFORM3FV), - STRING(SGL_CMD_PROGRAMUNIFORM3D), - STRING(SGL_CMD_PROGRAMUNIFORM3DV), - STRING(SGL_CMD_PROGRAMUNIFORM3UI), - STRING(SGL_CMD_PROGRAMUNIFORM3UIV), - STRING(SGL_CMD_PROGRAMUNIFORM4I), - STRING(SGL_CMD_PROGRAMUNIFORM4IV), - STRING(SGL_CMD_PROGRAMUNIFORM4F), - STRING(SGL_CMD_PROGRAMUNIFORM4FV), - STRING(SGL_CMD_PROGRAMUNIFORM4D), - STRING(SGL_CMD_PROGRAMUNIFORM4DV), - STRING(SGL_CMD_PROGRAMUNIFORM4UI), - STRING(SGL_CMD_PROGRAMUNIFORM4UIV), - STRING(SGL_CMD_PROGRAMUNIFORMMATRIX2FV), - STRING(SGL_CMD_PROGRAMUNIFORMMATRIX3FV), - STRING(SGL_CMD_PROGRAMUNIFORMMATRIX4FV), - STRING(SGL_CMD_PROGRAMUNIFORMMATRIX2DV), - STRING(SGL_CMD_PROGRAMUNIFORMMATRIX3DV), - STRING(SGL_CMD_PROGRAMUNIFORMMATRIX4DV), - STRING(SGL_CMD_PROGRAMUNIFORMMATRIX2X3FV), - STRING(SGL_CMD_PROGRAMUNIFORMMATRIX3X2FV), - STRING(SGL_CMD_PROGRAMUNIFORMMATRIX2X4FV), - STRING(SGL_CMD_PROGRAMUNIFORMMATRIX4X2FV), - STRING(SGL_CMD_PROGRAMUNIFORMMATRIX3X4FV), - STRING(SGL_CMD_PROGRAMUNIFORMMATRIX4X3FV), - STRING(SGL_CMD_PROGRAMUNIFORMMATRIX2X3DV), - STRING(SGL_CMD_PROGRAMUNIFORMMATRIX3X2DV), - STRING(SGL_CMD_PROGRAMUNIFORMMATRIX2X4DV), - STRING(SGL_CMD_PROGRAMUNIFORMMATRIX4X2DV), - STRING(SGL_CMD_PROGRAMUNIFORMMATRIX3X4DV), - STRING(SGL_CMD_PROGRAMUNIFORMMATRIX4X3DV), - STRING(SGL_CMD_VALIDATEPROGRAMPIPELINE), - STRING(SGL_CMD_GETPROGRAMPIPELINEINFOLOG), - STRING(SGL_CMD_VERTEXATTRIBL1D), - STRING(SGL_CMD_VERTEXATTRIBL2D), - STRING(SGL_CMD_VERTEXATTRIBL3D), - STRING(SGL_CMD_VERTEXATTRIBL4D), - STRING(SGL_CMD_VERTEXATTRIBL1DV), - STRING(SGL_CMD_VERTEXATTRIBL2DV), - STRING(SGL_CMD_VERTEXATTRIBL3DV), - STRING(SGL_CMD_VERTEXATTRIBL4DV), - STRING(SGL_CMD_VERTEXATTRIBLPOINTER), - STRING(SGL_CMD_GETVERTEXATTRIBLDV), - STRING(SGL_CMD_VIEWPORTARRAYV), - STRING(SGL_CMD_VIEWPORTINDEXEDF), - STRING(SGL_CMD_VIEWPORTINDEXEDFV), - STRING(SGL_CMD_SCISSORARRAYV), - STRING(SGL_CMD_SCISSORINDEXED), - STRING(SGL_CMD_SCISSORINDEXEDV), - STRING(SGL_CMD_DEPTHRANGEARRAYV), - STRING(SGL_CMD_DEPTHRANGEINDEXED), - STRING(SGL_CMD_GETFLOATI_V), - STRING(SGL_CMD_GETDOUBLEI_V), - STRING(SGL_CMD_DRAWARRAYSINSTANCEDBASEINSTANCE), - STRING(SGL_CMD_DRAWELEMENTSINSTANCEDBASEINSTANCE), - STRING(SGL_CMD_DRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCE), - STRING(SGL_CMD_GETINTERNALFORMATIV), - STRING(SGL_CMD_GETACTIVEATOMICCOUNTERBUFFERIV), - STRING(SGL_CMD_BINDIMAGETEXTURE), - STRING(SGL_CMD_MEMORYBARRIER), - STRING(SGL_CMD_TEXSTORAGE1D), - STRING(SGL_CMD_TEXSTORAGE2D), - STRING(SGL_CMD_TEXSTORAGE3D), - STRING(SGL_CMD_DRAWTRANSFORMFEEDBACKINSTANCED), - STRING(SGL_CMD_DRAWTRANSFORMFEEDBACKSTREAMINSTANCED), - STRING(SGL_CMD_CLEARBUFFERDATA), - STRING(SGL_CMD_CLEARBUFFERSUBDATA), - STRING(SGL_CMD_DISPATCHCOMPUTE), - STRING(SGL_CMD_DISPATCHCOMPUTEINDIRECT), - STRING(SGL_CMD_COPYIMAGESUBDATA), - STRING(SGL_CMD_FRAMEBUFFERPARAMETERI), - STRING(SGL_CMD_GETFRAMEBUFFERPARAMETERIV), - STRING(SGL_CMD_GETINTERNALFORMATI64V), - STRING(SGL_CMD_INVALIDATETEXSUBIMAGE), - STRING(SGL_CMD_INVALIDATETEXIMAGE), - STRING(SGL_CMD_INVALIDATEBUFFERSUBDATA), - STRING(SGL_CMD_INVALIDATEBUFFERDATA), - STRING(SGL_CMD_INVALIDATEFRAMEBUFFER), - STRING(SGL_CMD_INVALIDATESUBFRAMEBUFFER), - STRING(SGL_CMD_MULTIDRAWARRAYSINDIRECT), - STRING(SGL_CMD_MULTIDRAWELEMENTSINDIRECT), - STRING(SGL_CMD_GETPROGRAMINTERFACEIV), - STRING(SGL_CMD_GETPROGRAMRESOURCEINDEX), - STRING(SGL_CMD_GETPROGRAMRESOURCENAME), - STRING(SGL_CMD_GETPROGRAMRESOURCEIV), - STRING(SGL_CMD_GETPROGRAMRESOURCELOCATION), - STRING(SGL_CMD_GETPROGRAMRESOURCELOCATIONINDEX), - STRING(SGL_CMD_SHADERSTORAGEBLOCKBINDING), - STRING(SGL_CMD_TEXBUFFERRANGE), - STRING(SGL_CMD_TEXSTORAGE2DMULTISAMPLE), - STRING(SGL_CMD_TEXSTORAGE3DMULTISAMPLE), - STRING(SGL_CMD_TEXTUREVIEW), - STRING(SGL_CMD_BINDVERTEXBUFFER), - STRING(SGL_CMD_VERTEXATTRIBFORMAT), - STRING(SGL_CMD_VERTEXATTRIBIFORMAT), - STRING(SGL_CMD_VERTEXATTRIBLFORMAT), - STRING(SGL_CMD_VERTEXATTRIBBINDING), - STRING(SGL_CMD_VERTEXBINDINGDIVISOR), - STRING(SGL_CMD_DEBUGMESSAGECONTROL), - STRING(SGL_CMD_DEBUGMESSAGEINSERT), - STRING(SGL_CMD_DEBUGMESSAGECALLBACK), - STRING(SGL_CMD_GETDEBUGMESSAGELOG), - STRING(SGL_CMD_PUSHDEBUGGROUP), - STRING(SGL_CMD_POPDEBUGGROUP), - STRING(SGL_CMD_OBJECTLABEL), - STRING(SGL_CMD_GETOBJECTLABEL), - STRING(SGL_CMD_OBJECTPTRLABEL), - STRING(SGL_CMD_GETOBJECTPTRLABEL), - STRING(SGL_CMD_BUFFERSTORAGE), - STRING(SGL_CMD_CLEARTEXIMAGE), - STRING(SGL_CMD_CLEARTEXSUBIMAGE), - STRING(SGL_CMD_BINDBUFFERSBASE), - STRING(SGL_CMD_BINDBUFFERSRANGE), - STRING(SGL_CMD_BINDTEXTURES), - STRING(SGL_CMD_BINDSAMPLERS), - STRING(SGL_CMD_BINDIMAGETEXTURES), - STRING(SGL_CMD_BINDVERTEXBUFFERS), - STRING(SGL_CMD_CLIPCONTROL), - STRING(SGL_CMD_CREATETRANSFORMFEEDBACKS), - STRING(SGL_CMD_TRANSFORMFEEDBACKBUFFERBASE), - STRING(SGL_CMD_TRANSFORMFEEDBACKBUFFERRANGE), - STRING(SGL_CMD_GETTRANSFORMFEEDBACKIV), - STRING(SGL_CMD_GETTRANSFORMFEEDBACKI_V), - STRING(SGL_CMD_GETTRANSFORMFEEDBACKI64_V), - STRING(SGL_CMD_CREATEBUFFERS), - STRING(SGL_CMD_NAMEDBUFFERSTORAGE), - STRING(SGL_CMD_NAMEDBUFFERDATA), - STRING(SGL_CMD_NAMEDBUFFERSUBDATA), - STRING(SGL_CMD_COPYNAMEDBUFFERSUBDATA), - STRING(SGL_CMD_CLEARNAMEDBUFFERDATA), - STRING(SGL_CMD_CLEARNAMEDBUFFERSUBDATA), - STRING(SGL_CMD_MAPNAMEDBUFFER), - STRING(SGL_CMD_MAPNAMEDBUFFERRANGE), - STRING(SGL_CMD_UNMAPNAMEDBUFFER), - STRING(SGL_CMD_FLUSHMAPPEDNAMEDBUFFERRANGE), - STRING(SGL_CMD_GETNAMEDBUFFERPARAMETERIV), - STRING(SGL_CMD_GETNAMEDBUFFERPARAMETERI64V), - STRING(SGL_CMD_GETNAMEDBUFFERPOINTERV), - STRING(SGL_CMD_GETNAMEDBUFFERSUBDATA), - STRING(SGL_CMD_CREATEFRAMEBUFFERS), - STRING(SGL_CMD_NAMEDFRAMEBUFFERRENDERBUFFER), - STRING(SGL_CMD_NAMEDFRAMEBUFFERPARAMETERI), - STRING(SGL_CMD_NAMEDFRAMEBUFFERTEXTURE), - STRING(SGL_CMD_NAMEDFRAMEBUFFERTEXTURELAYER), - STRING(SGL_CMD_NAMEDFRAMEBUFFERDRAWBUFFER), - STRING(SGL_CMD_NAMEDFRAMEBUFFERDRAWBUFFERS), - STRING(SGL_CMD_NAMEDFRAMEBUFFERREADBUFFER), - STRING(SGL_CMD_INVALIDATENAMEDFRAMEBUFFERDATA), - STRING(SGL_CMD_INVALIDATENAMEDFRAMEBUFFERSUBDATA), - STRING(SGL_CMD_CLEARNAMEDFRAMEBUFFERIV), - STRING(SGL_CMD_CLEARNAMEDFRAMEBUFFERUIV), - STRING(SGL_CMD_CLEARNAMEDFRAMEBUFFERFV), - STRING(SGL_CMD_CLEARNAMEDFRAMEBUFFERFI), - STRING(SGL_CMD_BLITNAMEDFRAMEBUFFER), - STRING(SGL_CMD_CHECKNAMEDFRAMEBUFFERSTATUS), - STRING(SGL_CMD_GETNAMEDFRAMEBUFFERPARAMETERIV), - STRING(SGL_CMD_GETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIV), - STRING(SGL_CMD_CREATERENDERBUFFERS), - STRING(SGL_CMD_NAMEDRENDERBUFFERSTORAGE), - STRING(SGL_CMD_NAMEDRENDERBUFFERSTORAGEMULTISAMPLE), - STRING(SGL_CMD_GETNAMEDRENDERBUFFERPARAMETERIV), - STRING(SGL_CMD_CREATETEXTURES), - STRING(SGL_CMD_TEXTUREBUFFER), - STRING(SGL_CMD_TEXTUREBUFFERRANGE), - STRING(SGL_CMD_TEXTURESTORAGE1D), - STRING(SGL_CMD_TEXTURESTORAGE2D), - STRING(SGL_CMD_TEXTURESTORAGE3D), - STRING(SGL_CMD_TEXTURESTORAGE2DMULTISAMPLE), - STRING(SGL_CMD_TEXTURESTORAGE3DMULTISAMPLE), - STRING(SGL_CMD_TEXTURESUBIMAGE1D), - STRING(SGL_CMD_TEXTURESUBIMAGE2D), - STRING(SGL_CMD_TEXTURESUBIMAGE3D), - STRING(SGL_CMD_COMPRESSEDTEXTURESUBIMAGE1D), - STRING(SGL_CMD_COMPRESSEDTEXTURESUBIMAGE2D), - STRING(SGL_CMD_COMPRESSEDTEXTURESUBIMAGE3D), - STRING(SGL_CMD_COPYTEXTURESUBIMAGE1D), - STRING(SGL_CMD_COPYTEXTURESUBIMAGE2D), - STRING(SGL_CMD_COPYTEXTURESUBIMAGE3D), - STRING(SGL_CMD_TEXTUREPARAMETERF), - STRING(SGL_CMD_TEXTUREPARAMETERFV), - STRING(SGL_CMD_TEXTUREPARAMETERI), - STRING(SGL_CMD_TEXTUREPARAMETERIIV), - STRING(SGL_CMD_TEXTUREPARAMETERIUIV), - STRING(SGL_CMD_TEXTUREPARAMETERIV), - STRING(SGL_CMD_GENERATETEXTUREMIPMAP), - STRING(SGL_CMD_BINDTEXTUREUNIT), - STRING(SGL_CMD_GETTEXTUREIMAGE), - STRING(SGL_CMD_GETCOMPRESSEDTEXTUREIMAGE), - STRING(SGL_CMD_GETTEXTURELEVELPARAMETERFV), - STRING(SGL_CMD_GETTEXTURELEVELPARAMETERIV), - STRING(SGL_CMD_GETTEXTUREPARAMETERFV), - STRING(SGL_CMD_GETTEXTUREPARAMETERIIV), - STRING(SGL_CMD_GETTEXTUREPARAMETERIUIV), - STRING(SGL_CMD_GETTEXTUREPARAMETERIV), - STRING(SGL_CMD_CREATEVERTEXARRAYS), - STRING(SGL_CMD_DISABLEVERTEXARRAYATTRIB), - STRING(SGL_CMD_ENABLEVERTEXARRAYATTRIB), - STRING(SGL_CMD_VERTEXARRAYELEMENTBUFFER), - STRING(SGL_CMD_VERTEXARRAYVERTEXBUFFER), - STRING(SGL_CMD_VERTEXARRAYVERTEXBUFFERS), - STRING(SGL_CMD_VERTEXARRAYATTRIBBINDING), - STRING(SGL_CMD_VERTEXARRAYATTRIBFORMAT), - STRING(SGL_CMD_VERTEXARRAYATTRIBIFORMAT), - STRING(SGL_CMD_VERTEXARRAYATTRIBLFORMAT), - STRING(SGL_CMD_VERTEXARRAYBINDINGDIVISOR), - STRING(SGL_CMD_GETVERTEXARRAYIV), - STRING(SGL_CMD_GETVERTEXARRAYINDEXEDIV), - STRING(SGL_CMD_GETVERTEXARRAYINDEXED64IV), - STRING(SGL_CMD_CREATESAMPLERS), - STRING(SGL_CMD_CREATEPROGRAMPIPELINES), - STRING(SGL_CMD_CREATEQUERIES), - STRING(SGL_CMD_GETQUERYBUFFEROBJECTI64V), - STRING(SGL_CMD_GETQUERYBUFFEROBJECTIV), - STRING(SGL_CMD_GETQUERYBUFFEROBJECTUI64V), - STRING(SGL_CMD_GETQUERYBUFFEROBJECTUIV), - STRING(SGL_CMD_MEMORYBARRIERBYREGION), - STRING(SGL_CMD_GETTEXTURESUBIMAGE), - STRING(SGL_CMD_GETCOMPRESSEDTEXTURESUBIMAGE), - STRING(SGL_CMD_GETGRAPHICSRESETSTATUS), - STRING(SGL_CMD_GETNCOMPRESSEDTEXIMAGE), - STRING(SGL_CMD_GETNTEXIMAGE), - STRING(SGL_CMD_GETNUNIFORMDV), - STRING(SGL_CMD_GETNUNIFORMFV), - STRING(SGL_CMD_GETNUNIFORMIV), - STRING(SGL_CMD_GETNUNIFORMUIV), - STRING(SGL_CMD_READNPIXELS), - STRING(SGL_CMD_GETNMAPDV), - STRING(SGL_CMD_GETNMAPFV), - STRING(SGL_CMD_GETNMAPIV), - STRING(SGL_CMD_GETNPIXELMAPFV), - STRING(SGL_CMD_GETNPIXELMAPUIV), - STRING(SGL_CMD_GETNPIXELMAPUSV), - STRING(SGL_CMD_GETNPOLYGONSTIPPLE), - STRING(SGL_CMD_GETNCOLORTABLE), - STRING(SGL_CMD_GETNCONVOLUTIONFILTER), - STRING(SGL_CMD_GETNSEPARABLEFILTER), - STRING(SGL_CMD_GETNHISTOGRAM), - STRING(SGL_CMD_GETNMINMAX), - STRING(SGL_CMD_TEXTUREBARRIER), - STRING(SGL_CMD_SPECIALIZESHADER), - STRING(SGL_CMD_MULTIDRAWARRAYSINDIRECTCOUNT), - STRING(SGL_CMD_MULTIDRAWELEMENTSINDIRECTCOUNT), - STRING(SGL_CMD_POLYGONOFFSETCLAMP) -}; -#undef STRING -#endif - #endif \ No newline at end of file diff --git a/src/server/main.c b/src/server/main.c index c9b8516..e356c48 100644 --- a/src/server/main.c +++ b/src/server/main.c @@ -1,8 +1,10 @@ #define SHAREDGL_HOST + #include #include #include #include +#include #include #include @@ -47,9 +49,9 @@ static void generate_virtual_machine_arguments(size_t m) static const char *qemu_string = "-object memory-backend-file,size=%ldM,share,mem-path=/dev/shm/" SGL_SHARED_MEMORY_NAME ",id=" SGL_SHARED_MEMORY_NAME "\n"; - printf("%slibvirt%s:\n", COLOR_UNIQ, COLOR(COLOR_RESET)); + printf("%slibvirt%s:\n", COLOR_UNIQ, COLOR_RESET); printf(libvirt_string, m); - printf("\n%sqemu%s:\n", COLOR_UNIQ, COLOR(COLOR_RESET)); + printf("\n%sqemu%s:\n", COLOR_UNIQ, COLOR_RESET); printf(qemu_string, m); printf("\n"); } @@ -57,12 +59,16 @@ static void generate_virtual_machine_arguments(size_t m) static void term_handler(int sig) { munmap(shm_ptr, shm_size); + int icmd = *internal_cmd_ptr; switch (sig) { case SIGINT: break; case SIGSEGV: - printf("%sfatal%s: server stopped: segmentation fault (cmd: %s%d%s)", COLOR_ERRO, COLOR(COLOR_RESET), COLOR_NUMB, *internal_cmd_ptr, COLOR(COLOR_RESET)); + printf("%sfatal%s: server stopped: segmentation fault on %s%s%s (%s%d%s)", + COLOR_ERRO, COLOR_RESET, + COLOR_INFO, sgl_cmd2str(icmd), COLOR_RESET, + COLOR_NUMB, icmd, COLOR_RESET); break; } @@ -72,7 +78,7 @@ static void term_handler(int sig) static void arg_parser_protector(int sig) { - printf("%sfatal%s: expected second argument\n", COLOR_ERRO, COLOR(COLOR_RESET)); + printf("%sfatal%s: expected second argument\n", COLOR_ERRO, COLOR_RESET); exit(1); } @@ -133,24 +139,24 @@ int main(int argc, char **argv) i++; break; default: - printf("%serr%s: unknown argument \"%s\"\n", COLOR_ERRO, COLOR(COLOR_RESET), argv[i]); + printf("%serr%s: unknown argument \"%s\"\n", COLOR_ERRO, COLOR_RESET, argv[i]); } } signal(SIGINT, term_handler); signal(SIGSEGV, term_handler); - printf("%sinfo%s: press %sCTRL+C%s to terminate server\n\n", COLOR_INFO, COLOR(COLOR_RESET), COLOR_NUMB, COLOR(COLOR_RESET)); - printf("%sinfo%s: reporting gl version %s%d%s.%s%d%s\n\n", COLOR_INFO, COLOR(COLOR_RESET), COLOR_NUMB, major, COLOR(COLOR_RESET), COLOR_NUMB, minor, COLOR(COLOR_RESET)); + printf("%sinfo%s: press %sCTRL+C%s to terminate server\n\n", COLOR_INFO, COLOR_RESET, COLOR_NUMB, COLOR_RESET); + printf("%sinfo%s: reporting gl version %s%d%s.%s%d%s\n\n", COLOR_INFO, COLOR_RESET, COLOR_NUMB, major, COLOR_RESET, COLOR_NUMB, minor, COLOR_RESET); if (print_virtual_machine_arguments) { if (!network_over_shared) generate_virtual_machine_arguments(shm_size); else - printf("%sinfo%s: command line argument '-v' ignored as networking is enabled\n\n", COLOR_INFO, COLOR(COLOR_RESET)); + printf("%sinfo%s: command line argument '-v' ignored as networking is enabled\n\n", COLOR_INFO, COLOR_RESET); } - printf("%sinfo%s: using %s%ld%s MiB of memory\n", COLOR_INFO, COLOR(COLOR_RESET), COLOR_NUMB, shm_size, COLOR(COLOR_RESET)); + printf("%sinfo%s: using %s%ld%s MiB of memory\n", COLOR_INFO, COLOR_RESET, COLOR_NUMB, shm_size, COLOR_RESET); /* * allocate memory, only create a shared memory file if using shared memory @@ -159,12 +165,12 @@ int main(int argc, char **argv) if (!network_over_shared) { int shm_fd = shm_open(SGL_SHARED_MEMORY_NAME, O_CREAT | O_RDWR, S_IRWXU); if (shm_fd == -1) { - printf("%serr%s: failed to open shared memory '%s'\n", COLOR_ERRO, COLOR(COLOR_RESET), SGL_SHARED_MEMORY_NAME); + printf("%serr%s: failed to open shared memory '%s'\n", COLOR_ERRO, COLOR_RESET, SGL_SHARED_MEMORY_NAME); return -1; } if (ftruncate(shm_fd, shm_size) == -1) { - printf("%serr%s: failed to truncate shared memory\n", COLOR_ERRO, COLOR(COLOR_RESET)); + printf("%serr%s: failed to truncate shared memory\n", COLOR_ERRO, COLOR_RESET); return -2; } diff --git a/src/server/processor.c b/src/server/processor.c index 1d30f75..5a259c2 100644 --- a/src/server/processor.c +++ b/src/server/processor.c @@ -1,10 +1,10 @@ #define SHAREDGL_HOST -#define SGL_STRING_TABLE #include #include #include #include +#include /* * has nothing to do with the client; we just need the spinlock @@ -388,20 +388,20 @@ void sgl_cmd_processor_start(struct sgl_cmd_processor_args args) struct sgl_packet_header fifo_request_header = { 0 }; if ((signed)fifo_size < 0) { - printf("%sfatal%s: framebuffer too big! try increasing memory\n", COLOR_ERRO, COLOR(COLOR_RESET)); + printf("%sfatal%s: framebuffer too big! try increasing memory\n", COLOR_ERRO, COLOR_RESET); return; } printf("%sinfo%s: [%s0x%08lx%s - %s0x%08lx%s] [%s0x%08lx%s - %s0x%08lx%s] [%s0x%08lx%s - %s0x%08lx%s]\n", - COLOR_INFO, COLOR(COLOR_RESET), - COLOR_NUMB, (size_t)0, COLOR(COLOR_RESET), - COLOR_NUMB, (size_t)SGL_OFFSET_COMMAND_START - 1, COLOR(COLOR_RESET), - COLOR_NUMB, (size_t)SGL_OFFSET_COMMAND_START, COLOR(COLOR_RESET), - COLOR_NUMB, SGL_OFFSET_COMMAND_START + fifo_size - 1, COLOR(COLOR_RESET), - COLOR_NUMB, SGL_OFFSET_COMMAND_START + fifo_size, COLOR(COLOR_RESET), - COLOR_NUMB, args.memory_size, COLOR(COLOR_RESET) + COLOR_INFO, COLOR_RESET, + COLOR_NUMB, (size_t)0, COLOR_RESET, + COLOR_NUMB, (size_t)SGL_OFFSET_COMMAND_START - 1, COLOR_RESET, + COLOR_NUMB, (size_t)SGL_OFFSET_COMMAND_START, COLOR_RESET, + COLOR_NUMB, SGL_OFFSET_COMMAND_START + fifo_size - 1, COLOR_RESET, + COLOR_NUMB, SGL_OFFSET_COMMAND_START + fifo_size, COLOR_RESET, + COLOR_NUMB, args.memory_size, COLOR_RESET ); - printf("%sinfo%s: %-26s%-26s%-26s\n\n", COLOR_INFO, COLOR(COLOR_RESET), "registers", "fifo buffer", "framebuffer"); + printf("%sinfo%s: %-26s%-26s%-26s\n\n", COLOR_INFO, COLOR_RESET, "registers", "fifo buffer", "framebuffer"); memset(p + SGL_OFFSET_COMMAND_START, 0, fifo_size); @@ -421,16 +421,16 @@ void sgl_cmd_processor_start(struct sgl_cmd_processor_args args) if (args.network_over_shared) { char *res = net_init_server(&net_ctx, args.port); if (res != NULL) { - printf("%sfatal%s: could not initialize server (%s)\n", COLOR_ERRO, COLOR(COLOR_RESET), res); + printf("%sfatal%s: could not initialize server (%s)\n", COLOR_ERRO, COLOR_RESET, res); return; } pthread_create(&net_thread, NULL, sgl_cmd_net_recv_processor_thread, net_ctx); printf("%sinfo%s: running server on %s%s%s:%s%d%s\n\n", - COLOR_INFO, COLOR(COLOR_RESET), - COLOR_NUMB, net_get_ip(), COLOR(COLOR_RESET), - COLOR_NUMB, args.port, COLOR(COLOR_RESET)); + COLOR_INFO, COLOR_RESET, + COLOR_NUMB, net_get_ip(), COLOR_RESET, + COLOR_NUMB, args.port, COLOR_RESET); } while (1) { @@ -460,7 +460,7 @@ void sgl_cmd_processor_start(struct sgl_cmd_processor_args args) */ connection_add(creg); - printf("%sinfo%s: client %s%d%s connected\n", COLOR_INFO, COLOR(COLOR_RESET), COLOR_NUMB, creg, COLOR(COLOR_RESET)); + printf("%sinfo%s: client %s%d%s connected\n", COLOR_INFO, COLOR_RESET, COLOR_NUMB, creg, COLOR_RESET); /* * prevent the same client from connecting more @@ -525,7 +525,7 @@ void sgl_cmd_processor_start(struct sgl_cmd_processor_args args) memcpy(global_packet_space + sizeof(struct sgl_packet_header) + sizeof(framebuffer_size) + sizeof(fifo_size), &args.gl_major, sizeof(args.gl_major)); memcpy(global_packet_space + sizeof(struct sgl_packet_header) + sizeof(framebuffer_size) + sizeof(fifo_size) + sizeof(args.gl_major), &args.gl_minor, sizeof(args.gl_minor)); - printf("%sinfo%s: client %s%d%s connected\n", COLOR_INFO, COLOR(COLOR_RESET), COLOR_NUMB, msg->header.client_id, COLOR(COLOR_RESET)); + printf("%sinfo%s: client %s%d%s connected\n", COLOR_INFO, COLOR_RESET, COLOR_NUMB, msg->header.client_id, COLOR_RESET); net_sendto(net_ctx, global_packet_space, sizeof(struct sgl_packet_header) + sizeof(framebuffer_size) + sizeof(fifo_size) + sizeof(args.gl_major) + sizeof(args.gl_minor), 0); *((int*)(p + SGL_OFFSET_REGISTER_CLAIM_ID)) += 1; @@ -658,7 +658,7 @@ void sgl_cmd_processor_start(struct sgl_cmd_processor_args args) break; case SGL_CMD_GOODBYE_WORLD: { int id = *pb++; - printf("%sinfo%s: client %s%d%s disconnected\n", COLOR_INFO, COLOR(COLOR_RESET), COLOR_NUMB, id, COLOR(COLOR_RESET)); + printf("%sinfo%s: client %s%d%s disconnected\n", COLOR_INFO, COLOR_RESET, COLOR_NUMB, id, COLOR_RESET); connection_rem(id); memset(p + SGL_OFFSET_COMMAND_START, 0, fifo_size); // exit(1); @@ -4864,12 +4864,12 @@ void sgl_cmd_processor_start(struct sgl_cmd_processor_args args) int error = glGetError(); if (error != GL_NO_ERROR) printf("%sglerr%s: client %s%d%s opengl error: %s%d%s (%s0x%04x%s) from %s%s%s (%s%d%s)\n", - COLOR_ERRO, COLOR(COLOR_RESET), - COLOR_NUMB, client_id, COLOR(COLOR_RESET), - COLOR_NUMB, error, COLOR(COLOR_RESET), - COLOR_NUMB, error, COLOR(COLOR_RESET), - COLOR_INFO, cmd < SGL_CMD_MAX ? SGL_CMD_STRING_TABLE[cmd] : "????", COLOR(COLOR_RESET), - COLOR_NUMB, cmd, COLOR(COLOR_RESET) + COLOR_ERRO, COLOR_RESET, + COLOR_NUMB, client_id, COLOR_RESET, + COLOR_NUMB, error, COLOR_RESET, + COLOR_NUMB, error, COLOR_RESET, + COLOR_INFO, sgl_cmd2str(cmd), COLOR_RESET, + COLOR_NUMB, cmd, COLOR_RESET ); } } diff --git a/src/server/sgldebug.c b/src/server/sgldebug.c new file mode 100644 index 0000000..755f4ce --- /dev/null +++ b/src/server/sgldebug.c @@ -0,0 +1,1074 @@ +#include +#include + +const char *sgl_cmd2str(int c) +{ + #define STRING(x) #x + static const char *SGL_CMD_STRING_TABLE[SGL_CMD_MAX] = { + STRING(SGL_CMD_INVALID), + STRING(SGL_CMD_FLIP), + STRING(SGL_CMD_SEND_DATA), + STRING(SGL_CMD_GET_CONTEXT), + STRING(SGL_CMD_SET_CONTEXT), + STRING(SGL_CMD_GET_SIZE), + STRING(SGL_CMD_VP_UPLOAD), + STRING(SGL_CMD_VP_NULL), + STRING(SGL_CMD_VP_UPLOAD_STAY), + STRING(SGL_CMD_CREATE_CONTEXT), + STRING(SGL_CMD_REPORT_DIMS), + STRING(SGL_CMD_HELLO_WORLD), + STRING(SGL_CMD_GOODBYE_WORLD), + STRING(SGL_CMD_REQUEST_FRAMEBUFFER), + STRING(SGL_CMD_CULLFACE), + STRING(SGL_CMD_FRONTFACE), + STRING(SGL_CMD_HINT), + STRING(SGL_CMD_LINEWIDTH), + STRING(SGL_CMD_POINTSIZE), + STRING(SGL_CMD_POLYGONMODE), + STRING(SGL_CMD_SCISSOR), + STRING(SGL_CMD_TEXPARAMETERF), + STRING(SGL_CMD_TEXPARAMETERFV), + STRING(SGL_CMD_TEXPARAMETERI), + STRING(SGL_CMD_TEXPARAMETERIV), + STRING(SGL_CMD_TEXIMAGE1D), + STRING(SGL_CMD_TEXIMAGE2D), + STRING(SGL_CMD_DRAWBUFFER), + STRING(SGL_CMD_CLEAR), + STRING(SGL_CMD_CLEARCOLOR), + STRING(SGL_CMD_CLEARSTENCIL), + STRING(SGL_CMD_CLEARDEPTH), + STRING(SGL_CMD_STENCILMASK), + STRING(SGL_CMD_COLORMASK), + STRING(SGL_CMD_DEPTHMASK), + STRING(SGL_CMD_DISABLE), + STRING(SGL_CMD_ENABLE), + STRING(SGL_CMD_FINISH), + STRING(SGL_CMD_FLUSH), + STRING(SGL_CMD_BLENDFUNC), + STRING(SGL_CMD_LOGICOP), + STRING(SGL_CMD_STENCILFUNC), + STRING(SGL_CMD_STENCILOP), + STRING(SGL_CMD_DEPTHFUNC), + STRING(SGL_CMD_PIXELSTOREF), + STRING(SGL_CMD_PIXELSTOREI), + STRING(SGL_CMD_READBUFFER), + STRING(SGL_CMD_READPIXELS), + STRING(SGL_CMD_GETBOOLEANV), + STRING(SGL_CMD_GETDOUBLEV), + STRING(SGL_CMD_GETERROR), + STRING(SGL_CMD_GETFLOATV), + STRING(SGL_CMD_GETINTEGERV), + STRING(SGL_CMD_GETSTRING), + STRING(SGL_CMD_GETTEXIMAGE), + STRING(SGL_CMD_GETTEXPARAMETERFV), + STRING(SGL_CMD_GETTEXPARAMETERIV), + STRING(SGL_CMD_GETTEXLEVELPARAMETERFV), + STRING(SGL_CMD_GETTEXLEVELPARAMETERIV), + STRING(SGL_CMD_ISENABLED), + STRING(SGL_CMD_DEPTHRANGE), + STRING(SGL_CMD_VIEWPORT), + STRING(SGL_CMD_NEWLIST), + STRING(SGL_CMD_ENDLIST), + STRING(SGL_CMD_CALLLIST), + STRING(SGL_CMD_CALLLISTS), + STRING(SGL_CMD_DELETELISTS), + STRING(SGL_CMD_GENLISTS), + STRING(SGL_CMD_LISTBASE), + STRING(SGL_CMD_BEGIN), + STRING(SGL_CMD_BITMAP), + STRING(SGL_CMD_COLOR3B), + STRING(SGL_CMD_COLOR3BV), + STRING(SGL_CMD_COLOR3D), + STRING(SGL_CMD_COLOR3DV), + STRING(SGL_CMD_COLOR3F), + STRING(SGL_CMD_COLOR3FV), + STRING(SGL_CMD_COLOR3I), + STRING(SGL_CMD_COLOR3IV), + STRING(SGL_CMD_COLOR3S), + STRING(SGL_CMD_COLOR3SV), + STRING(SGL_CMD_COLOR3UB), + STRING(SGL_CMD_COLOR3UBV), + STRING(SGL_CMD_COLOR3UI), + STRING(SGL_CMD_COLOR3UIV), + STRING(SGL_CMD_COLOR3US), + STRING(SGL_CMD_COLOR3USV), + STRING(SGL_CMD_COLOR4B), + STRING(SGL_CMD_COLOR4BV), + STRING(SGL_CMD_COLOR4D), + STRING(SGL_CMD_COLOR4DV), + STRING(SGL_CMD_COLOR4F), + STRING(SGL_CMD_COLOR4FV), + STRING(SGL_CMD_COLOR4I), + STRING(SGL_CMD_COLOR4IV), + STRING(SGL_CMD_COLOR4S), + STRING(SGL_CMD_COLOR4SV), + STRING(SGL_CMD_COLOR4UB), + STRING(SGL_CMD_COLOR4UBV), + STRING(SGL_CMD_COLOR4UI), + STRING(SGL_CMD_COLOR4UIV), + STRING(SGL_CMD_COLOR4US), + STRING(SGL_CMD_COLOR4USV), + STRING(SGL_CMD_EDGEFLAG), + STRING(SGL_CMD_EDGEFLAGV), + STRING(SGL_CMD_END), + STRING(SGL_CMD_INDEXD), + STRING(SGL_CMD_INDEXDV), + STRING(SGL_CMD_INDEXF), + STRING(SGL_CMD_INDEXFV), + STRING(SGL_CMD_INDEXI), + STRING(SGL_CMD_INDEXIV), + STRING(SGL_CMD_INDEXS), + STRING(SGL_CMD_INDEXSV), + STRING(SGL_CMD_NORMAL3B), + STRING(SGL_CMD_NORMAL3BV), + STRING(SGL_CMD_NORMAL3D), + STRING(SGL_CMD_NORMAL3DV), + STRING(SGL_CMD_NORMAL3F), + STRING(SGL_CMD_NORMAL3FV), + STRING(SGL_CMD_NORMAL3I), + STRING(SGL_CMD_NORMAL3IV), + STRING(SGL_CMD_NORMAL3S), + STRING(SGL_CMD_NORMAL3SV), + STRING(SGL_CMD_RASTERPOS2D), + STRING(SGL_CMD_RASTERPOS2DV), + STRING(SGL_CMD_RASTERPOS2F), + STRING(SGL_CMD_RASTERPOS2FV), + STRING(SGL_CMD_RASTERPOS2I), + STRING(SGL_CMD_RASTERPOS2IV), + STRING(SGL_CMD_RASTERPOS2S), + STRING(SGL_CMD_RASTERPOS2SV), + STRING(SGL_CMD_RASTERPOS3D), + STRING(SGL_CMD_RASTERPOS3DV), + STRING(SGL_CMD_RASTERPOS3F), + STRING(SGL_CMD_RASTERPOS3FV), + STRING(SGL_CMD_RASTERPOS3I), + STRING(SGL_CMD_RASTERPOS3IV), + STRING(SGL_CMD_RASTERPOS3S), + STRING(SGL_CMD_RASTERPOS3SV), + STRING(SGL_CMD_RASTERPOS4D), + STRING(SGL_CMD_RASTERPOS4DV), + STRING(SGL_CMD_RASTERPOS4F), + STRING(SGL_CMD_RASTERPOS4FV), + STRING(SGL_CMD_RASTERPOS4I), + STRING(SGL_CMD_RASTERPOS4IV), + STRING(SGL_CMD_RASTERPOS4S), + STRING(SGL_CMD_RASTERPOS4SV), + STRING(SGL_CMD_RECTD), + STRING(SGL_CMD_RECTDV), + STRING(SGL_CMD_RECTF), + STRING(SGL_CMD_RECTFV), + STRING(SGL_CMD_RECTI), + STRING(SGL_CMD_RECTIV), + STRING(SGL_CMD_RECTS), + STRING(SGL_CMD_RECTSV), + STRING(SGL_CMD_TEXCOORD1D), + STRING(SGL_CMD_TEXCOORD1DV), + STRING(SGL_CMD_TEXCOORD1F), + STRING(SGL_CMD_TEXCOORD1FV), + STRING(SGL_CMD_TEXCOORD1I), + STRING(SGL_CMD_TEXCOORD1IV), + STRING(SGL_CMD_TEXCOORD1S), + STRING(SGL_CMD_TEXCOORD1SV), + STRING(SGL_CMD_TEXCOORD2D), + STRING(SGL_CMD_TEXCOORD2DV), + STRING(SGL_CMD_TEXCOORD2F), + STRING(SGL_CMD_TEXCOORD2FV), + STRING(SGL_CMD_TEXCOORD2I), + STRING(SGL_CMD_TEXCOORD2IV), + STRING(SGL_CMD_TEXCOORD2S), + STRING(SGL_CMD_TEXCOORD2SV), + STRING(SGL_CMD_TEXCOORD3D), + STRING(SGL_CMD_TEXCOORD3DV), + STRING(SGL_CMD_TEXCOORD3F), + STRING(SGL_CMD_TEXCOORD3FV), + STRING(SGL_CMD_TEXCOORD3I), + STRING(SGL_CMD_TEXCOORD3IV), + STRING(SGL_CMD_TEXCOORD3S), + STRING(SGL_CMD_TEXCOORD3SV), + STRING(SGL_CMD_TEXCOORD4D), + STRING(SGL_CMD_TEXCOORD4DV), + STRING(SGL_CMD_TEXCOORD4F), + STRING(SGL_CMD_TEXCOORD4FV), + STRING(SGL_CMD_TEXCOORD4I), + STRING(SGL_CMD_TEXCOORD4IV), + STRING(SGL_CMD_TEXCOORD4S), + STRING(SGL_CMD_TEXCOORD4SV), + STRING(SGL_CMD_VERTEX2D), + STRING(SGL_CMD_VERTEX2DV), + STRING(SGL_CMD_VERTEX2F), + STRING(SGL_CMD_VERTEX2FV), + STRING(SGL_CMD_VERTEX2I), + STRING(SGL_CMD_VERTEX2IV), + STRING(SGL_CMD_VERTEX2S), + STRING(SGL_CMD_VERTEX2SV), + STRING(SGL_CMD_VERTEX3D), + STRING(SGL_CMD_VERTEX3DV), + STRING(SGL_CMD_VERTEX3F), + STRING(SGL_CMD_VERTEX3FV), + STRING(SGL_CMD_VERTEX3I), + STRING(SGL_CMD_VERTEX3IV), + STRING(SGL_CMD_VERTEX3S), + STRING(SGL_CMD_VERTEX3SV), + STRING(SGL_CMD_VERTEX4D), + STRING(SGL_CMD_VERTEX4DV), + STRING(SGL_CMD_VERTEX4F), + STRING(SGL_CMD_VERTEX4FV), + STRING(SGL_CMD_VERTEX4I), + STRING(SGL_CMD_VERTEX4IV), + STRING(SGL_CMD_VERTEX4S), + STRING(SGL_CMD_VERTEX4SV), + STRING(SGL_CMD_CLIPPLANE), + STRING(SGL_CMD_COLORMATERIAL), + STRING(SGL_CMD_FOGF), + STRING(SGL_CMD_FOGFV), + STRING(SGL_CMD_FOGI), + STRING(SGL_CMD_FOGIV), + STRING(SGL_CMD_LIGHTF), + STRING(SGL_CMD_LIGHTFV), + STRING(SGL_CMD_LIGHTI), + STRING(SGL_CMD_LIGHTIV), + STRING(SGL_CMD_LIGHTMODELF), + STRING(SGL_CMD_LIGHTMODELFV), + STRING(SGL_CMD_LIGHTMODELI), + STRING(SGL_CMD_LIGHTMODELIV), + STRING(SGL_CMD_LINESTIPPLE), + STRING(SGL_CMD_MATERIALF), + STRING(SGL_CMD_MATERIALFV), + STRING(SGL_CMD_MATERIALI), + STRING(SGL_CMD_MATERIALIV), + STRING(SGL_CMD_POLYGONSTIPPLE), + STRING(SGL_CMD_SHADEMODEL), + STRING(SGL_CMD_TEXENVF), + STRING(SGL_CMD_TEXENVFV), + STRING(SGL_CMD_TEXENVI), + STRING(SGL_CMD_TEXENVIV), + STRING(SGL_CMD_TEXGEND), + STRING(SGL_CMD_TEXGENDV), + STRING(SGL_CMD_TEXGENF), + STRING(SGL_CMD_TEXGENFV), + STRING(SGL_CMD_TEXGENI), + STRING(SGL_CMD_TEXGENIV), + STRING(SGL_CMD_FEEDBACKBUFFER), + STRING(SGL_CMD_SELECTBUFFER), + STRING(SGL_CMD_RENDERMODE), + STRING(SGL_CMD_INITNAMES), + STRING(SGL_CMD_LOADNAME), + STRING(SGL_CMD_PASSTHROUGH), + STRING(SGL_CMD_POPNAME), + STRING(SGL_CMD_PUSHNAME), + STRING(SGL_CMD_CLEARACCUM), + STRING(SGL_CMD_CLEARINDEX), + STRING(SGL_CMD_INDEXMASK), + STRING(SGL_CMD_ACCUM), + STRING(SGL_CMD_POPATTRIB), + STRING(SGL_CMD_PUSHATTRIB), + STRING(SGL_CMD_MAP1D), + STRING(SGL_CMD_MAP1F), + STRING(SGL_CMD_MAP2D), + STRING(SGL_CMD_MAP2F), + STRING(SGL_CMD_MAPGRID1D), + STRING(SGL_CMD_MAPGRID1F), + STRING(SGL_CMD_MAPGRID2D), + STRING(SGL_CMD_MAPGRID2F), + STRING(SGL_CMD_EVALCOORD1D), + STRING(SGL_CMD_EVALCOORD1DV), + STRING(SGL_CMD_EVALCOORD1F), + STRING(SGL_CMD_EVALCOORD1FV), + STRING(SGL_CMD_EVALCOORD2D), + STRING(SGL_CMD_EVALCOORD2DV), + STRING(SGL_CMD_EVALCOORD2F), + STRING(SGL_CMD_EVALCOORD2FV), + STRING(SGL_CMD_EVALMESH1), + STRING(SGL_CMD_EVALPOINT1), + STRING(SGL_CMD_EVALMESH2), + STRING(SGL_CMD_EVALPOINT2), + STRING(SGL_CMD_ALPHAFUNC), + STRING(SGL_CMD_PIXELZOOM), + STRING(SGL_CMD_PIXELTRANSFERF), + STRING(SGL_CMD_PIXELTRANSFERI), + STRING(SGL_CMD_PIXELMAPFV), + STRING(SGL_CMD_PIXELMAPUIV), + STRING(SGL_CMD_PIXELMAPUSV), + STRING(SGL_CMD_COPYPIXELS), + STRING(SGL_CMD_DRAWPIXELS), + STRING(SGL_CMD_GETCLIPPLANE), + STRING(SGL_CMD_GETLIGHTFV), + STRING(SGL_CMD_GETLIGHTIV), + STRING(SGL_CMD_GETMAPDV), + STRING(SGL_CMD_GETMAPFV), + STRING(SGL_CMD_GETMAPIV), + STRING(SGL_CMD_GETMATERIALFV), + STRING(SGL_CMD_GETMATERIALIV), + STRING(SGL_CMD_GETPIXELMAPFV), + STRING(SGL_CMD_GETPIXELMAPUIV), + STRING(SGL_CMD_GETPIXELMAPUSV), + STRING(SGL_CMD_GETPOLYGONSTIPPLE), + STRING(SGL_CMD_GETTEXENVFV), + STRING(SGL_CMD_GETTEXENVIV), + STRING(SGL_CMD_GETTEXGENDV), + STRING(SGL_CMD_GETTEXGENFV), + STRING(SGL_CMD_GETTEXGENIV), + STRING(SGL_CMD_ISLIST), + STRING(SGL_CMD_FRUSTUM), + STRING(SGL_CMD_LOADIDENTITY), + STRING(SGL_CMD_LOADMATRIXF), + STRING(SGL_CMD_LOADMATRIXD), + STRING(SGL_CMD_MATRIXMODE), + STRING(SGL_CMD_MULTMATRIXF), + STRING(SGL_CMD_MULTMATRIXD), + STRING(SGL_CMD_ORTHO), + STRING(SGL_CMD_POPMATRIX), + STRING(SGL_CMD_PUSHMATRIX), + STRING(SGL_CMD_ROTATED), + STRING(SGL_CMD_ROTATEF), + STRING(SGL_CMD_SCALED), + STRING(SGL_CMD_SCALEF), + STRING(SGL_CMD_TRANSLATED), + STRING(SGL_CMD_TRANSLATEF), + STRING(SGL_CMD_DRAWARRAYS), + STRING(SGL_CMD_DRAWELEMENTS), + STRING(SGL_CMD_GETPOINTERV), + STRING(SGL_CMD_POLYGONOFFSET), + STRING(SGL_CMD_COPYTEXIMAGE1D), + STRING(SGL_CMD_COPYTEXIMAGE2D), + STRING(SGL_CMD_COPYTEXSUBIMAGE1D), + STRING(SGL_CMD_COPYTEXSUBIMAGE2D), + STRING(SGL_CMD_TEXSUBIMAGE1D), + STRING(SGL_CMD_TEXSUBIMAGE2D), + STRING(SGL_CMD_BINDTEXTURE), + STRING(SGL_CMD_DELETETEXTURES), + STRING(SGL_CMD_GENTEXTURES), + STRING(SGL_CMD_ISTEXTURE), + STRING(SGL_CMD_ARRAYELEMENT), + STRING(SGL_CMD_COLORPOINTER), + STRING(SGL_CMD_DISABLECLIENTSTATE), + STRING(SGL_CMD_EDGEFLAGPOINTER), + STRING(SGL_CMD_ENABLECLIENTSTATE), + STRING(SGL_CMD_INDEXPOINTER), + STRING(SGL_CMD_INTERLEAVEDARRAYS), + STRING(SGL_CMD_NORMALPOINTER), + STRING(SGL_CMD_TEXCOORDPOINTER), + STRING(SGL_CMD_VERTEXPOINTER), + STRING(SGL_CMD_ARETEXTURESRESIDENT), + STRING(SGL_CMD_PRIORITIZETEXTURES), + STRING(SGL_CMD_INDEXUB), + STRING(SGL_CMD_INDEXUBV), + STRING(SGL_CMD_POPCLIENTATTRIB), + STRING(SGL_CMD_PUSHCLIENTATTRIB), + STRING(SGL_CMD_DRAWRANGEELEMENTS), + STRING(SGL_CMD_TEXIMAGE3D), + STRING(SGL_CMD_TEXSUBIMAGE3D), + STRING(SGL_CMD_COPYTEXSUBIMAGE3D), + STRING(SGL_CMD_ACTIVETEXTURE), + STRING(SGL_CMD_SAMPLECOVERAGE), + STRING(SGL_CMD_COMPRESSEDTEXIMAGE3D), + STRING(SGL_CMD_COMPRESSEDTEXIMAGE2D), + STRING(SGL_CMD_COMPRESSEDTEXIMAGE1D), + STRING(SGL_CMD_COMPRESSEDTEXSUBIMAGE3D), + STRING(SGL_CMD_COMPRESSEDTEXSUBIMAGE2D), + STRING(SGL_CMD_COMPRESSEDTEXSUBIMAGE1D), + STRING(SGL_CMD_GETCOMPRESSEDTEXIMAGE), + STRING(SGL_CMD_CLIENTACTIVETEXTURE), + STRING(SGL_CMD_MULTITEXCOORD1D), + STRING(SGL_CMD_MULTITEXCOORD1DV), + STRING(SGL_CMD_MULTITEXCOORD1F), + STRING(SGL_CMD_MULTITEXCOORD1FV), + STRING(SGL_CMD_MULTITEXCOORD1I), + STRING(SGL_CMD_MULTITEXCOORD1IV), + STRING(SGL_CMD_MULTITEXCOORD1S), + STRING(SGL_CMD_MULTITEXCOORD1SV), + STRING(SGL_CMD_MULTITEXCOORD2D), + STRING(SGL_CMD_MULTITEXCOORD2DV), + STRING(SGL_CMD_MULTITEXCOORD2F), + STRING(SGL_CMD_MULTITEXCOORD2FV), + STRING(SGL_CMD_MULTITEXCOORD2I), + STRING(SGL_CMD_MULTITEXCOORD2IV), + STRING(SGL_CMD_MULTITEXCOORD2S), + STRING(SGL_CMD_MULTITEXCOORD2SV), + STRING(SGL_CMD_MULTITEXCOORD3D), + STRING(SGL_CMD_MULTITEXCOORD3DV), + STRING(SGL_CMD_MULTITEXCOORD3F), + STRING(SGL_CMD_MULTITEXCOORD3FV), + STRING(SGL_CMD_MULTITEXCOORD3I), + STRING(SGL_CMD_MULTITEXCOORD3IV), + STRING(SGL_CMD_MULTITEXCOORD3S), + STRING(SGL_CMD_MULTITEXCOORD3SV), + STRING(SGL_CMD_MULTITEXCOORD4D), + STRING(SGL_CMD_MULTITEXCOORD4DV), + STRING(SGL_CMD_MULTITEXCOORD4F), + STRING(SGL_CMD_MULTITEXCOORD4FV), + STRING(SGL_CMD_MULTITEXCOORD4I), + STRING(SGL_CMD_MULTITEXCOORD4IV), + STRING(SGL_CMD_MULTITEXCOORD4S), + STRING(SGL_CMD_MULTITEXCOORD4SV), + STRING(SGL_CMD_LOADTRANSPOSEMATRIXF), + STRING(SGL_CMD_LOADTRANSPOSEMATRIXD), + STRING(SGL_CMD_MULTTRANSPOSEMATRIXF), + STRING(SGL_CMD_MULTTRANSPOSEMATRIXD), + STRING(SGL_CMD_BLENDFUNCSEPARATE), + STRING(SGL_CMD_MULTIDRAWARRAYS), + STRING(SGL_CMD_MULTIDRAWELEMENTS), + STRING(SGL_CMD_POINTPARAMETERF), + STRING(SGL_CMD_POINTPARAMETERFV), + STRING(SGL_CMD_POINTPARAMETERI), + STRING(SGL_CMD_POINTPARAMETERIV), + STRING(SGL_CMD_FOGCOORDF), + STRING(SGL_CMD_FOGCOORDFV), + STRING(SGL_CMD_FOGCOORDD), + STRING(SGL_CMD_FOGCOORDDV), + STRING(SGL_CMD_FOGCOORDPOINTER), + STRING(SGL_CMD_SECONDARYCOLOR3B), + STRING(SGL_CMD_SECONDARYCOLOR3BV), + STRING(SGL_CMD_SECONDARYCOLOR3D), + STRING(SGL_CMD_SECONDARYCOLOR3DV), + STRING(SGL_CMD_SECONDARYCOLOR3F), + STRING(SGL_CMD_SECONDARYCOLOR3FV), + STRING(SGL_CMD_SECONDARYCOLOR3I), + STRING(SGL_CMD_SECONDARYCOLOR3IV), + STRING(SGL_CMD_SECONDARYCOLOR3S), + STRING(SGL_CMD_SECONDARYCOLOR3SV), + STRING(SGL_CMD_SECONDARYCOLOR3UB), + STRING(SGL_CMD_SECONDARYCOLOR3UBV), + STRING(SGL_CMD_SECONDARYCOLOR3UI), + STRING(SGL_CMD_SECONDARYCOLOR3UIV), + STRING(SGL_CMD_SECONDARYCOLOR3US), + STRING(SGL_CMD_SECONDARYCOLOR3USV), + STRING(SGL_CMD_SECONDARYCOLORPOINTER), + STRING(SGL_CMD_WINDOWPOS2D), + STRING(SGL_CMD_WINDOWPOS2DV), + STRING(SGL_CMD_WINDOWPOS2F), + STRING(SGL_CMD_WINDOWPOS2FV), + STRING(SGL_CMD_WINDOWPOS2I), + STRING(SGL_CMD_WINDOWPOS2IV), + STRING(SGL_CMD_WINDOWPOS2S), + STRING(SGL_CMD_WINDOWPOS2SV), + STRING(SGL_CMD_WINDOWPOS3D), + STRING(SGL_CMD_WINDOWPOS3DV), + STRING(SGL_CMD_WINDOWPOS3F), + STRING(SGL_CMD_WINDOWPOS3FV), + STRING(SGL_CMD_WINDOWPOS3I), + STRING(SGL_CMD_WINDOWPOS3IV), + STRING(SGL_CMD_WINDOWPOS3S), + STRING(SGL_CMD_WINDOWPOS3SV), + STRING(SGL_CMD_BLENDCOLOR), + STRING(SGL_CMD_BLENDEQUATION), + STRING(SGL_CMD_GENQUERIES), + STRING(SGL_CMD_DELETEQUERIES), + STRING(SGL_CMD_ISQUERY), + STRING(SGL_CMD_BEGINQUERY), + STRING(SGL_CMD_ENDQUERY), + STRING(SGL_CMD_GETQUERYIV), + STRING(SGL_CMD_GETQUERYOBJECTIV), + STRING(SGL_CMD_GETQUERYOBJECTUIV), + STRING(SGL_CMD_BINDBUFFER), + STRING(SGL_CMD_DELETEBUFFERS), + STRING(SGL_CMD_GENBUFFERS), + STRING(SGL_CMD_ISBUFFER), + STRING(SGL_CMD_BUFFERDATA), + STRING(SGL_CMD_BUFFERSUBDATA), + STRING(SGL_CMD_GETBUFFERSUBDATA), + STRING(SGL_CMD_MAPBUFFER), + STRING(SGL_CMD_UNMAPBUFFER), + STRING(SGL_CMD_GETBUFFERPARAMETERIV), + STRING(SGL_CMD_GETBUFFERPOINTERV), + STRING(SGL_CMD_BLENDEQUATIONSEPARATE), + STRING(SGL_CMD_DRAWBUFFERS), + STRING(SGL_CMD_STENCILOPSEPARATE), + STRING(SGL_CMD_STENCILFUNCSEPARATE), + STRING(SGL_CMD_STENCILMASKSEPARATE), + STRING(SGL_CMD_ATTACHSHADER), + STRING(SGL_CMD_BINDATTRIBLOCATION), + STRING(SGL_CMD_COMPILESHADER), + STRING(SGL_CMD_CREATEPROGRAM), + STRING(SGL_CMD_CREATESHADER), + STRING(SGL_CMD_DELETEPROGRAM), + STRING(SGL_CMD_DELETESHADER), + STRING(SGL_CMD_DETACHSHADER), + STRING(SGL_CMD_DISABLEVERTEXATTRIBARRAY), + STRING(SGL_CMD_ENABLEVERTEXATTRIBARRAY), + STRING(SGL_CMD_GETACTIVEATTRIB), + STRING(SGL_CMD_GETACTIVEUNIFORM), + STRING(SGL_CMD_GETATTACHEDSHADERS), + STRING(SGL_CMD_GETATTRIBLOCATION), + STRING(SGL_CMD_GETPROGRAMIV), + STRING(SGL_CMD_GETPROGRAMINFOLOG), + STRING(SGL_CMD_GETSHADERIV), + STRING(SGL_CMD_GETSHADERINFOLOG), + STRING(SGL_CMD_GETSHADERSOURCE), + STRING(SGL_CMD_GETUNIFORMLOCATION), + STRING(SGL_CMD_GETUNIFORMFV), + STRING(SGL_CMD_GETUNIFORMIV), + STRING(SGL_CMD_GETVERTEXATTRIBDV), + STRING(SGL_CMD_GETVERTEXATTRIBFV), + STRING(SGL_CMD_GETVERTEXATTRIBIV), + STRING(SGL_CMD_GETVERTEXATTRIBPOINTERV), + STRING(SGL_CMD_ISPROGRAM), + STRING(SGL_CMD_ISSHADER), + STRING(SGL_CMD_LINKPROGRAM), + STRING(SGL_CMD_SHADERSOURCE), + STRING(SGL_CMD_USEPROGRAM), + STRING(SGL_CMD_UNIFORM1F), + STRING(SGL_CMD_UNIFORM2F), + STRING(SGL_CMD_UNIFORM3F), + STRING(SGL_CMD_UNIFORM4F), + STRING(SGL_CMD_UNIFORM1I), + STRING(SGL_CMD_UNIFORM2I), + STRING(SGL_CMD_UNIFORM3I), + STRING(SGL_CMD_UNIFORM4I), + STRING(SGL_CMD_UNIFORM1FV), + STRING(SGL_CMD_UNIFORM2FV), + STRING(SGL_CMD_UNIFORM3FV), + STRING(SGL_CMD_UNIFORM4FV), + STRING(SGL_CMD_UNIFORM1IV), + STRING(SGL_CMD_UNIFORM2IV), + STRING(SGL_CMD_UNIFORM3IV), + STRING(SGL_CMD_UNIFORM4IV), + STRING(SGL_CMD_UNIFORMMATRIX2FV), + STRING(SGL_CMD_UNIFORMMATRIX3FV), + STRING(SGL_CMD_UNIFORMMATRIX4FV), + STRING(SGL_CMD_VALIDATEPROGRAM), + STRING(SGL_CMD_VERTEXATTRIB1D), + STRING(SGL_CMD_VERTEXATTRIB1DV), + STRING(SGL_CMD_VERTEXATTRIB1F), + STRING(SGL_CMD_VERTEXATTRIB1FV), + STRING(SGL_CMD_VERTEXATTRIB1S), + STRING(SGL_CMD_VERTEXATTRIB1SV), + STRING(SGL_CMD_VERTEXATTRIB2D), + STRING(SGL_CMD_VERTEXATTRIB2DV), + STRING(SGL_CMD_VERTEXATTRIB2F), + STRING(SGL_CMD_VERTEXATTRIB2FV), + STRING(SGL_CMD_VERTEXATTRIB2S), + STRING(SGL_CMD_VERTEXATTRIB2SV), + STRING(SGL_CMD_VERTEXATTRIB3D), + STRING(SGL_CMD_VERTEXATTRIB3DV), + STRING(SGL_CMD_VERTEXATTRIB3F), + STRING(SGL_CMD_VERTEXATTRIB3FV), + STRING(SGL_CMD_VERTEXATTRIB3S), + STRING(SGL_CMD_VERTEXATTRIB3SV), + STRING(SGL_CMD_VERTEXATTRIB4NBV), + STRING(SGL_CMD_VERTEXATTRIB4NIV), + STRING(SGL_CMD_VERTEXATTRIB4NSV), + STRING(SGL_CMD_VERTEXATTRIB4NUB), + STRING(SGL_CMD_VERTEXATTRIB4NUBV), + STRING(SGL_CMD_VERTEXATTRIB4NUIV), + STRING(SGL_CMD_VERTEXATTRIB4NUSV), + STRING(SGL_CMD_VERTEXATTRIB4BV), + STRING(SGL_CMD_VERTEXATTRIB4D), + STRING(SGL_CMD_VERTEXATTRIB4DV), + STRING(SGL_CMD_VERTEXATTRIB4F), + STRING(SGL_CMD_VERTEXATTRIB4FV), + STRING(SGL_CMD_VERTEXATTRIB4IV), + STRING(SGL_CMD_VERTEXATTRIB4S), + STRING(SGL_CMD_VERTEXATTRIB4SV), + STRING(SGL_CMD_VERTEXATTRIB4UBV), + STRING(SGL_CMD_VERTEXATTRIB4UIV), + STRING(SGL_CMD_VERTEXATTRIB4USV), + STRING(SGL_CMD_VERTEXATTRIBPOINTER), + STRING(SGL_CMD_UNIFORMMATRIX2X3FV), + STRING(SGL_CMD_UNIFORMMATRIX3X2FV), + STRING(SGL_CMD_UNIFORMMATRIX2X4FV), + STRING(SGL_CMD_UNIFORMMATRIX4X2FV), + STRING(SGL_CMD_UNIFORMMATRIX3X4FV), + STRING(SGL_CMD_UNIFORMMATRIX4X3FV), + STRING(SGL_CMD_COLORMASKI), + STRING(SGL_CMD_GETBOOLEANI_V), + STRING(SGL_CMD_GETINTEGERI_V), + STRING(SGL_CMD_ENABLEI), + STRING(SGL_CMD_DISABLEI), + STRING(SGL_CMD_ISENABLEDI), + STRING(SGL_CMD_BEGINTRANSFORMFEEDBACK), + STRING(SGL_CMD_ENDTRANSFORMFEEDBACK), + STRING(SGL_CMD_BINDBUFFERRANGE), + STRING(SGL_CMD_BINDBUFFERBASE), + STRING(SGL_CMD_TRANSFORMFEEDBACKVARYINGS), + STRING(SGL_CMD_GETTRANSFORMFEEDBACKVARYING), + STRING(SGL_CMD_CLAMPCOLOR), + STRING(SGL_CMD_BEGINCONDITIONALRENDER), + STRING(SGL_CMD_ENDCONDITIONALRENDER), + STRING(SGL_CMD_VERTEXATTRIBIPOINTER), + STRING(SGL_CMD_GETVERTEXATTRIBIIV), + STRING(SGL_CMD_GETVERTEXATTRIBIUIV), + STRING(SGL_CMD_VERTEXATTRIBI1I), + STRING(SGL_CMD_VERTEXATTRIBI2I), + STRING(SGL_CMD_VERTEXATTRIBI3I), + STRING(SGL_CMD_VERTEXATTRIBI4I), + STRING(SGL_CMD_VERTEXATTRIBI1UI), + STRING(SGL_CMD_VERTEXATTRIBI2UI), + STRING(SGL_CMD_VERTEXATTRIBI3UI), + STRING(SGL_CMD_VERTEXATTRIBI4UI), + STRING(SGL_CMD_VERTEXATTRIBI1IV), + STRING(SGL_CMD_VERTEXATTRIBI2IV), + STRING(SGL_CMD_VERTEXATTRIBI3IV), + STRING(SGL_CMD_VERTEXATTRIBI4IV), + STRING(SGL_CMD_VERTEXATTRIBI1UIV), + STRING(SGL_CMD_VERTEXATTRIBI2UIV), + STRING(SGL_CMD_VERTEXATTRIBI3UIV), + STRING(SGL_CMD_VERTEXATTRIBI4UIV), + STRING(SGL_CMD_VERTEXATTRIBI4BV), + STRING(SGL_CMD_VERTEXATTRIBI4SV), + STRING(SGL_CMD_VERTEXATTRIBI4UBV), + STRING(SGL_CMD_VERTEXATTRIBI4USV), + STRING(SGL_CMD_GETUNIFORMUIV), + STRING(SGL_CMD_BINDFRAGDATALOCATION), + STRING(SGL_CMD_GETFRAGDATALOCATION), + STRING(SGL_CMD_UNIFORM1UI), + STRING(SGL_CMD_UNIFORM2UI), + STRING(SGL_CMD_UNIFORM3UI), + STRING(SGL_CMD_UNIFORM4UI), + STRING(SGL_CMD_UNIFORM1UIV), + STRING(SGL_CMD_UNIFORM2UIV), + STRING(SGL_CMD_UNIFORM3UIV), + STRING(SGL_CMD_UNIFORM4UIV), + STRING(SGL_CMD_TEXPARAMETERIIV), + STRING(SGL_CMD_TEXPARAMETERIUIV), + STRING(SGL_CMD_GETTEXPARAMETERIIV), + STRING(SGL_CMD_GETTEXPARAMETERIUIV), + STRING(SGL_CMD_CLEARBUFFERIV), + STRING(SGL_CMD_CLEARBUFFERUIV), + STRING(SGL_CMD_CLEARBUFFERFV), + STRING(SGL_CMD_CLEARBUFFERFI), + STRING(SGL_CMD_GETSTRINGI), + STRING(SGL_CMD_ISRENDERBUFFER), + STRING(SGL_CMD_BINDRENDERBUFFER), + STRING(SGL_CMD_DELETERENDERBUFFERS), + STRING(SGL_CMD_GENRENDERBUFFERS), + STRING(SGL_CMD_RENDERBUFFERSTORAGE), + STRING(SGL_CMD_GETRENDERBUFFERPARAMETERIV), + STRING(SGL_CMD_ISFRAMEBUFFER), + STRING(SGL_CMD_BINDFRAMEBUFFER), + STRING(SGL_CMD_DELETEFRAMEBUFFERS), + STRING(SGL_CMD_GENFRAMEBUFFERS), + STRING(SGL_CMD_CHECKFRAMEBUFFERSTATUS), + STRING(SGL_CMD_FRAMEBUFFERTEXTURE1D), + STRING(SGL_CMD_FRAMEBUFFERTEXTURE2D), + STRING(SGL_CMD_FRAMEBUFFERTEXTURE3D), + STRING(SGL_CMD_FRAMEBUFFERRENDERBUFFER), + STRING(SGL_CMD_GETFRAMEBUFFERATTACHMENTPARAMETERIV), + STRING(SGL_CMD_GENERATEMIPMAP), + STRING(SGL_CMD_BLITFRAMEBUFFER), + STRING(SGL_CMD_RENDERBUFFERSTORAGEMULTISAMPLE), + STRING(SGL_CMD_FRAMEBUFFERTEXTURELAYER), + STRING(SGL_CMD_MAPBUFFERRANGE), + STRING(SGL_CMD_FLUSHMAPPEDBUFFERRANGE), + STRING(SGL_CMD_BINDVERTEXARRAY), + STRING(SGL_CMD_DELETEVERTEXARRAYS), + STRING(SGL_CMD_GENVERTEXARRAYS), + STRING(SGL_CMD_ISVERTEXARRAY), + STRING(SGL_CMD_DRAWARRAYSINSTANCED), + STRING(SGL_CMD_DRAWELEMENTSINSTANCED), + STRING(SGL_CMD_TEXBUFFER), + STRING(SGL_CMD_PRIMITIVERESTARTINDEX), + STRING(SGL_CMD_COPYBUFFERSUBDATA), + STRING(SGL_CMD_GETUNIFORMINDICES), + STRING(SGL_CMD_GETACTIVEUNIFORMSIV), + STRING(SGL_CMD_GETACTIVEUNIFORMNAME), + STRING(SGL_CMD_GETUNIFORMBLOCKINDEX), + STRING(SGL_CMD_GETACTIVEUNIFORMBLOCKIV), + STRING(SGL_CMD_GETACTIVEUNIFORMBLOCKNAME), + STRING(SGL_CMD_UNIFORMBLOCKBINDING), + STRING(SGL_CMD_DRAWELEMENTSBASEVERTEX), + STRING(SGL_CMD_DRAWRANGEELEMENTSBASEVERTEX), + STRING(SGL_CMD_DRAWELEMENTSINSTANCEDBASEVERTEX), + STRING(SGL_CMD_MULTIDRAWELEMENTSBASEVERTEX), + STRING(SGL_CMD_PROVOKINGVERTEX), + STRING(SGL_CMD_FENCESYNC), + STRING(SGL_CMD_ISSYNC), + STRING(SGL_CMD_DELETESYNC), + STRING(SGL_CMD_CLIENTWAITSYNC), + STRING(SGL_CMD_WAITSYNC), + STRING(SGL_CMD_GETINTEGER64V), + STRING(SGL_CMD_GETSYNCIV), + STRING(SGL_CMD_GETINTEGER64I_V), + STRING(SGL_CMD_GETBUFFERPARAMETERI64V), + STRING(SGL_CMD_FRAMEBUFFERTEXTURE), + STRING(SGL_CMD_TEXIMAGE2DMULTISAMPLE), + STRING(SGL_CMD_TEXIMAGE3DMULTISAMPLE), + STRING(SGL_CMD_GETMULTISAMPLEFV), + STRING(SGL_CMD_SAMPLEMASKI), + STRING(SGL_CMD_BINDFRAGDATALOCATIONINDEXED), + STRING(SGL_CMD_GETFRAGDATAINDEX), + STRING(SGL_CMD_GENSAMPLERS), + STRING(SGL_CMD_DELETESAMPLERS), + STRING(SGL_CMD_ISSAMPLER), + STRING(SGL_CMD_BINDSAMPLER), + STRING(SGL_CMD_SAMPLERPARAMETERI), + STRING(SGL_CMD_SAMPLERPARAMETERIV), + STRING(SGL_CMD_SAMPLERPARAMETERF), + STRING(SGL_CMD_SAMPLERPARAMETERFV), + STRING(SGL_CMD_SAMPLERPARAMETERIIV), + STRING(SGL_CMD_SAMPLERPARAMETERIUIV), + STRING(SGL_CMD_GETSAMPLERPARAMETERIV), + STRING(SGL_CMD_GETSAMPLERPARAMETERIIV), + STRING(SGL_CMD_GETSAMPLERPARAMETERFV), + STRING(SGL_CMD_GETSAMPLERPARAMETERIUIV), + STRING(SGL_CMD_QUERYCOUNTER), + STRING(SGL_CMD_GETQUERYOBJECTI64V), + STRING(SGL_CMD_GETQUERYOBJECTUI64V), + STRING(SGL_CMD_VERTEXATTRIBDIVISOR), + STRING(SGL_CMD_VERTEXATTRIBP1UI), + STRING(SGL_CMD_VERTEXATTRIBP1UIV), + STRING(SGL_CMD_VERTEXATTRIBP2UI), + STRING(SGL_CMD_VERTEXATTRIBP2UIV), + STRING(SGL_CMD_VERTEXATTRIBP3UI), + STRING(SGL_CMD_VERTEXATTRIBP3UIV), + STRING(SGL_CMD_VERTEXATTRIBP4UI), + STRING(SGL_CMD_VERTEXATTRIBP4UIV), + STRING(SGL_CMD_VERTEXP2UI), + STRING(SGL_CMD_VERTEXP2UIV), + STRING(SGL_CMD_VERTEXP3UI), + STRING(SGL_CMD_VERTEXP3UIV), + STRING(SGL_CMD_VERTEXP4UI), + STRING(SGL_CMD_VERTEXP4UIV), + STRING(SGL_CMD_TEXCOORDP1UI), + STRING(SGL_CMD_TEXCOORDP1UIV), + STRING(SGL_CMD_TEXCOORDP2UI), + STRING(SGL_CMD_TEXCOORDP2UIV), + STRING(SGL_CMD_TEXCOORDP3UI), + STRING(SGL_CMD_TEXCOORDP3UIV), + STRING(SGL_CMD_TEXCOORDP4UI), + STRING(SGL_CMD_TEXCOORDP4UIV), + STRING(SGL_CMD_MULTITEXCOORDP1UI), + STRING(SGL_CMD_MULTITEXCOORDP1UIV), + STRING(SGL_CMD_MULTITEXCOORDP2UI), + STRING(SGL_CMD_MULTITEXCOORDP2UIV), + STRING(SGL_CMD_MULTITEXCOORDP3UI), + STRING(SGL_CMD_MULTITEXCOORDP3UIV), + STRING(SGL_CMD_MULTITEXCOORDP4UI), + STRING(SGL_CMD_MULTITEXCOORDP4UIV), + STRING(SGL_CMD_NORMALP3UI), + STRING(SGL_CMD_NORMALP3UIV), + STRING(SGL_CMD_COLORP3UI), + STRING(SGL_CMD_COLORP3UIV), + STRING(SGL_CMD_COLORP4UI), + STRING(SGL_CMD_COLORP4UIV), + STRING(SGL_CMD_SECONDARYCOLORP3UI), + STRING(SGL_CMD_SECONDARYCOLORP3UIV), + STRING(SGL_CMD_MINSAMPLESHADING), + STRING(SGL_CMD_BLENDEQUATIONI), + STRING(SGL_CMD_BLENDEQUATIONSEPARATEI), + STRING(SGL_CMD_BLENDFUNCI), + STRING(SGL_CMD_BLENDFUNCSEPARATEI), + STRING(SGL_CMD_DRAWARRAYSINDIRECT), + STRING(SGL_CMD_DRAWELEMENTSINDIRECT), + STRING(SGL_CMD_UNIFORM1D), + STRING(SGL_CMD_UNIFORM2D), + STRING(SGL_CMD_UNIFORM3D), + STRING(SGL_CMD_UNIFORM4D), + STRING(SGL_CMD_UNIFORM1DV), + STRING(SGL_CMD_UNIFORM2DV), + STRING(SGL_CMD_UNIFORM3DV), + STRING(SGL_CMD_UNIFORM4DV), + STRING(SGL_CMD_UNIFORMMATRIX2DV), + STRING(SGL_CMD_UNIFORMMATRIX3DV), + STRING(SGL_CMD_UNIFORMMATRIX4DV), + STRING(SGL_CMD_UNIFORMMATRIX2X3DV), + STRING(SGL_CMD_UNIFORMMATRIX2X4DV), + STRING(SGL_CMD_UNIFORMMATRIX3X2DV), + STRING(SGL_CMD_UNIFORMMATRIX3X4DV), + STRING(SGL_CMD_UNIFORMMATRIX4X2DV), + STRING(SGL_CMD_UNIFORMMATRIX4X3DV), + STRING(SGL_CMD_GETUNIFORMDV), + STRING(SGL_CMD_GETSUBROUTINEUNIFORMLOCATION), + STRING(SGL_CMD_GETSUBROUTINEINDEX), + STRING(SGL_CMD_GETACTIVESUBROUTINEUNIFORMIV), + STRING(SGL_CMD_GETACTIVESUBROUTINEUNIFORMNAME), + STRING(SGL_CMD_GETACTIVESUBROUTINENAME), + STRING(SGL_CMD_UNIFORMSUBROUTINESUIV), + STRING(SGL_CMD_GETUNIFORMSUBROUTINEUIV), + STRING(SGL_CMD_GETPROGRAMSTAGEIV), + STRING(SGL_CMD_PATCHPARAMETERI), + STRING(SGL_CMD_PATCHPARAMETERFV), + STRING(SGL_CMD_BINDTRANSFORMFEEDBACK), + STRING(SGL_CMD_DELETETRANSFORMFEEDBACKS), + STRING(SGL_CMD_GENTRANSFORMFEEDBACKS), + STRING(SGL_CMD_ISTRANSFORMFEEDBACK), + STRING(SGL_CMD_PAUSETRANSFORMFEEDBACK), + STRING(SGL_CMD_RESUMETRANSFORMFEEDBACK), + STRING(SGL_CMD_DRAWTRANSFORMFEEDBACK), + STRING(SGL_CMD_DRAWTRANSFORMFEEDBACKSTREAM), + STRING(SGL_CMD_BEGINQUERYINDEXED), + STRING(SGL_CMD_ENDQUERYINDEXED), + STRING(SGL_CMD_GETQUERYINDEXEDIV), + STRING(SGL_CMD_RELEASESHADERCOMPILER), + STRING(SGL_CMD_SHADERBINARY), + STRING(SGL_CMD_GETSHADERPRECISIONFORMAT), + STRING(SGL_CMD_DEPTHRANGEF), + STRING(SGL_CMD_CLEARDEPTHF), + STRING(SGL_CMD_GETPROGRAMBINARY), + STRING(SGL_CMD_PROGRAMBINARY), + STRING(SGL_CMD_PROGRAMPARAMETERI), + STRING(SGL_CMD_USEPROGRAMSTAGES), + STRING(SGL_CMD_ACTIVESHADERPROGRAM), + STRING(SGL_CMD_CREATESHADERPROGRAMV), + STRING(SGL_CMD_BINDPROGRAMPIPELINE), + STRING(SGL_CMD_DELETEPROGRAMPIPELINES), + STRING(SGL_CMD_GENPROGRAMPIPELINES), + STRING(SGL_CMD_ISPROGRAMPIPELINE), + STRING(SGL_CMD_GETPROGRAMPIPELINEIV), + STRING(SGL_CMD_PROGRAMUNIFORM1I), + STRING(SGL_CMD_PROGRAMUNIFORM1IV), + STRING(SGL_CMD_PROGRAMUNIFORM1F), + STRING(SGL_CMD_PROGRAMUNIFORM1FV), + STRING(SGL_CMD_PROGRAMUNIFORM1D), + STRING(SGL_CMD_PROGRAMUNIFORM1DV), + STRING(SGL_CMD_PROGRAMUNIFORM1UI), + STRING(SGL_CMD_PROGRAMUNIFORM1UIV), + STRING(SGL_CMD_PROGRAMUNIFORM2I), + STRING(SGL_CMD_PROGRAMUNIFORM2IV), + STRING(SGL_CMD_PROGRAMUNIFORM2F), + STRING(SGL_CMD_PROGRAMUNIFORM2FV), + STRING(SGL_CMD_PROGRAMUNIFORM2D), + STRING(SGL_CMD_PROGRAMUNIFORM2DV), + STRING(SGL_CMD_PROGRAMUNIFORM2UI), + STRING(SGL_CMD_PROGRAMUNIFORM2UIV), + STRING(SGL_CMD_PROGRAMUNIFORM3I), + STRING(SGL_CMD_PROGRAMUNIFORM3IV), + STRING(SGL_CMD_PROGRAMUNIFORM3F), + STRING(SGL_CMD_PROGRAMUNIFORM3FV), + STRING(SGL_CMD_PROGRAMUNIFORM3D), + STRING(SGL_CMD_PROGRAMUNIFORM3DV), + STRING(SGL_CMD_PROGRAMUNIFORM3UI), + STRING(SGL_CMD_PROGRAMUNIFORM3UIV), + STRING(SGL_CMD_PROGRAMUNIFORM4I), + STRING(SGL_CMD_PROGRAMUNIFORM4IV), + STRING(SGL_CMD_PROGRAMUNIFORM4F), + STRING(SGL_CMD_PROGRAMUNIFORM4FV), + STRING(SGL_CMD_PROGRAMUNIFORM4D), + STRING(SGL_CMD_PROGRAMUNIFORM4DV), + STRING(SGL_CMD_PROGRAMUNIFORM4UI), + STRING(SGL_CMD_PROGRAMUNIFORM4UIV), + STRING(SGL_CMD_PROGRAMUNIFORMMATRIX2FV), + STRING(SGL_CMD_PROGRAMUNIFORMMATRIX3FV), + STRING(SGL_CMD_PROGRAMUNIFORMMATRIX4FV), + STRING(SGL_CMD_PROGRAMUNIFORMMATRIX2DV), + STRING(SGL_CMD_PROGRAMUNIFORMMATRIX3DV), + STRING(SGL_CMD_PROGRAMUNIFORMMATRIX4DV), + STRING(SGL_CMD_PROGRAMUNIFORMMATRIX2X3FV), + STRING(SGL_CMD_PROGRAMUNIFORMMATRIX3X2FV), + STRING(SGL_CMD_PROGRAMUNIFORMMATRIX2X4FV), + STRING(SGL_CMD_PROGRAMUNIFORMMATRIX4X2FV), + STRING(SGL_CMD_PROGRAMUNIFORMMATRIX3X4FV), + STRING(SGL_CMD_PROGRAMUNIFORMMATRIX4X3FV), + STRING(SGL_CMD_PROGRAMUNIFORMMATRIX2X3DV), + STRING(SGL_CMD_PROGRAMUNIFORMMATRIX3X2DV), + STRING(SGL_CMD_PROGRAMUNIFORMMATRIX2X4DV), + STRING(SGL_CMD_PROGRAMUNIFORMMATRIX4X2DV), + STRING(SGL_CMD_PROGRAMUNIFORMMATRIX3X4DV), + STRING(SGL_CMD_PROGRAMUNIFORMMATRIX4X3DV), + STRING(SGL_CMD_VALIDATEPROGRAMPIPELINE), + STRING(SGL_CMD_GETPROGRAMPIPELINEINFOLOG), + STRING(SGL_CMD_VERTEXATTRIBL1D), + STRING(SGL_CMD_VERTEXATTRIBL2D), + STRING(SGL_CMD_VERTEXATTRIBL3D), + STRING(SGL_CMD_VERTEXATTRIBL4D), + STRING(SGL_CMD_VERTEXATTRIBL1DV), + STRING(SGL_CMD_VERTEXATTRIBL2DV), + STRING(SGL_CMD_VERTEXATTRIBL3DV), + STRING(SGL_CMD_VERTEXATTRIBL4DV), + STRING(SGL_CMD_VERTEXATTRIBLPOINTER), + STRING(SGL_CMD_GETVERTEXATTRIBLDV), + STRING(SGL_CMD_VIEWPORTARRAYV), + STRING(SGL_CMD_VIEWPORTINDEXEDF), + STRING(SGL_CMD_VIEWPORTINDEXEDFV), + STRING(SGL_CMD_SCISSORARRAYV), + STRING(SGL_CMD_SCISSORINDEXED), + STRING(SGL_CMD_SCISSORINDEXEDV), + STRING(SGL_CMD_DEPTHRANGEARRAYV), + STRING(SGL_CMD_DEPTHRANGEINDEXED), + STRING(SGL_CMD_GETFLOATI_V), + STRING(SGL_CMD_GETDOUBLEI_V), + STRING(SGL_CMD_DRAWARRAYSINSTANCEDBASEINSTANCE), + STRING(SGL_CMD_DRAWELEMENTSINSTANCEDBASEINSTANCE), + STRING(SGL_CMD_DRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCE), + STRING(SGL_CMD_GETINTERNALFORMATIV), + STRING(SGL_CMD_GETACTIVEATOMICCOUNTERBUFFERIV), + STRING(SGL_CMD_BINDIMAGETEXTURE), + STRING(SGL_CMD_MEMORYBARRIER), + STRING(SGL_CMD_TEXSTORAGE1D), + STRING(SGL_CMD_TEXSTORAGE2D), + STRING(SGL_CMD_TEXSTORAGE3D), + STRING(SGL_CMD_DRAWTRANSFORMFEEDBACKINSTANCED), + STRING(SGL_CMD_DRAWTRANSFORMFEEDBACKSTREAMINSTANCED), + STRING(SGL_CMD_CLEARBUFFERDATA), + STRING(SGL_CMD_CLEARBUFFERSUBDATA), + STRING(SGL_CMD_DISPATCHCOMPUTE), + STRING(SGL_CMD_DISPATCHCOMPUTEINDIRECT), + STRING(SGL_CMD_COPYIMAGESUBDATA), + STRING(SGL_CMD_FRAMEBUFFERPARAMETERI), + STRING(SGL_CMD_GETFRAMEBUFFERPARAMETERIV), + STRING(SGL_CMD_GETINTERNALFORMATI64V), + STRING(SGL_CMD_INVALIDATETEXSUBIMAGE), + STRING(SGL_CMD_INVALIDATETEXIMAGE), + STRING(SGL_CMD_INVALIDATEBUFFERSUBDATA), + STRING(SGL_CMD_INVALIDATEBUFFERDATA), + STRING(SGL_CMD_INVALIDATEFRAMEBUFFER), + STRING(SGL_CMD_INVALIDATESUBFRAMEBUFFER), + STRING(SGL_CMD_MULTIDRAWARRAYSINDIRECT), + STRING(SGL_CMD_MULTIDRAWELEMENTSINDIRECT), + STRING(SGL_CMD_GETPROGRAMINTERFACEIV), + STRING(SGL_CMD_GETPROGRAMRESOURCEINDEX), + STRING(SGL_CMD_GETPROGRAMRESOURCENAME), + STRING(SGL_CMD_GETPROGRAMRESOURCEIV), + STRING(SGL_CMD_GETPROGRAMRESOURCELOCATION), + STRING(SGL_CMD_GETPROGRAMRESOURCELOCATIONINDEX), + STRING(SGL_CMD_SHADERSTORAGEBLOCKBINDING), + STRING(SGL_CMD_TEXBUFFERRANGE), + STRING(SGL_CMD_TEXSTORAGE2DMULTISAMPLE), + STRING(SGL_CMD_TEXSTORAGE3DMULTISAMPLE), + STRING(SGL_CMD_TEXTUREVIEW), + STRING(SGL_CMD_BINDVERTEXBUFFER), + STRING(SGL_CMD_VERTEXATTRIBFORMAT), + STRING(SGL_CMD_VERTEXATTRIBIFORMAT), + STRING(SGL_CMD_VERTEXATTRIBLFORMAT), + STRING(SGL_CMD_VERTEXATTRIBBINDING), + STRING(SGL_CMD_VERTEXBINDINGDIVISOR), + STRING(SGL_CMD_DEBUGMESSAGECONTROL), + STRING(SGL_CMD_DEBUGMESSAGEINSERT), + STRING(SGL_CMD_DEBUGMESSAGECALLBACK), + STRING(SGL_CMD_GETDEBUGMESSAGELOG), + STRING(SGL_CMD_PUSHDEBUGGROUP), + STRING(SGL_CMD_POPDEBUGGROUP), + STRING(SGL_CMD_OBJECTLABEL), + STRING(SGL_CMD_GETOBJECTLABEL), + STRING(SGL_CMD_OBJECTPTRLABEL), + STRING(SGL_CMD_GETOBJECTPTRLABEL), + STRING(SGL_CMD_BUFFERSTORAGE), + STRING(SGL_CMD_CLEARTEXIMAGE), + STRING(SGL_CMD_CLEARTEXSUBIMAGE), + STRING(SGL_CMD_BINDBUFFERSBASE), + STRING(SGL_CMD_BINDBUFFERSRANGE), + STRING(SGL_CMD_BINDTEXTURES), + STRING(SGL_CMD_BINDSAMPLERS), + STRING(SGL_CMD_BINDIMAGETEXTURES), + STRING(SGL_CMD_BINDVERTEXBUFFERS), + STRING(SGL_CMD_CLIPCONTROL), + STRING(SGL_CMD_CREATETRANSFORMFEEDBACKS), + STRING(SGL_CMD_TRANSFORMFEEDBACKBUFFERBASE), + STRING(SGL_CMD_TRANSFORMFEEDBACKBUFFERRANGE), + STRING(SGL_CMD_GETTRANSFORMFEEDBACKIV), + STRING(SGL_CMD_GETTRANSFORMFEEDBACKI_V), + STRING(SGL_CMD_GETTRANSFORMFEEDBACKI64_V), + STRING(SGL_CMD_CREATEBUFFERS), + STRING(SGL_CMD_NAMEDBUFFERSTORAGE), + STRING(SGL_CMD_NAMEDBUFFERDATA), + STRING(SGL_CMD_NAMEDBUFFERSUBDATA), + STRING(SGL_CMD_COPYNAMEDBUFFERSUBDATA), + STRING(SGL_CMD_CLEARNAMEDBUFFERDATA), + STRING(SGL_CMD_CLEARNAMEDBUFFERSUBDATA), + STRING(SGL_CMD_MAPNAMEDBUFFER), + STRING(SGL_CMD_MAPNAMEDBUFFERRANGE), + STRING(SGL_CMD_UNMAPNAMEDBUFFER), + STRING(SGL_CMD_FLUSHMAPPEDNAMEDBUFFERRANGE), + STRING(SGL_CMD_GETNAMEDBUFFERPARAMETERIV), + STRING(SGL_CMD_GETNAMEDBUFFERPARAMETERI64V), + STRING(SGL_CMD_GETNAMEDBUFFERPOINTERV), + STRING(SGL_CMD_GETNAMEDBUFFERSUBDATA), + STRING(SGL_CMD_CREATEFRAMEBUFFERS), + STRING(SGL_CMD_NAMEDFRAMEBUFFERRENDERBUFFER), + STRING(SGL_CMD_NAMEDFRAMEBUFFERPARAMETERI), + STRING(SGL_CMD_NAMEDFRAMEBUFFERTEXTURE), + STRING(SGL_CMD_NAMEDFRAMEBUFFERTEXTURELAYER), + STRING(SGL_CMD_NAMEDFRAMEBUFFERDRAWBUFFER), + STRING(SGL_CMD_NAMEDFRAMEBUFFERDRAWBUFFERS), + STRING(SGL_CMD_NAMEDFRAMEBUFFERREADBUFFER), + STRING(SGL_CMD_INVALIDATENAMEDFRAMEBUFFERDATA), + STRING(SGL_CMD_INVALIDATENAMEDFRAMEBUFFERSUBDATA), + STRING(SGL_CMD_CLEARNAMEDFRAMEBUFFERIV), + STRING(SGL_CMD_CLEARNAMEDFRAMEBUFFERUIV), + STRING(SGL_CMD_CLEARNAMEDFRAMEBUFFERFV), + STRING(SGL_CMD_CLEARNAMEDFRAMEBUFFERFI), + STRING(SGL_CMD_BLITNAMEDFRAMEBUFFER), + STRING(SGL_CMD_CHECKNAMEDFRAMEBUFFERSTATUS), + STRING(SGL_CMD_GETNAMEDFRAMEBUFFERPARAMETERIV), + STRING(SGL_CMD_GETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIV), + STRING(SGL_CMD_CREATERENDERBUFFERS), + STRING(SGL_CMD_NAMEDRENDERBUFFERSTORAGE), + STRING(SGL_CMD_NAMEDRENDERBUFFERSTORAGEMULTISAMPLE), + STRING(SGL_CMD_GETNAMEDRENDERBUFFERPARAMETERIV), + STRING(SGL_CMD_CREATETEXTURES), + STRING(SGL_CMD_TEXTUREBUFFER), + STRING(SGL_CMD_TEXTUREBUFFERRANGE), + STRING(SGL_CMD_TEXTURESTORAGE1D), + STRING(SGL_CMD_TEXTURESTORAGE2D), + STRING(SGL_CMD_TEXTURESTORAGE3D), + STRING(SGL_CMD_TEXTURESTORAGE2DMULTISAMPLE), + STRING(SGL_CMD_TEXTURESTORAGE3DMULTISAMPLE), + STRING(SGL_CMD_TEXTURESUBIMAGE1D), + STRING(SGL_CMD_TEXTURESUBIMAGE2D), + STRING(SGL_CMD_TEXTURESUBIMAGE3D), + STRING(SGL_CMD_COMPRESSEDTEXTURESUBIMAGE1D), + STRING(SGL_CMD_COMPRESSEDTEXTURESUBIMAGE2D), + STRING(SGL_CMD_COMPRESSEDTEXTURESUBIMAGE3D), + STRING(SGL_CMD_COPYTEXTURESUBIMAGE1D), + STRING(SGL_CMD_COPYTEXTURESUBIMAGE2D), + STRING(SGL_CMD_COPYTEXTURESUBIMAGE3D), + STRING(SGL_CMD_TEXTUREPARAMETERF), + STRING(SGL_CMD_TEXTUREPARAMETERFV), + STRING(SGL_CMD_TEXTUREPARAMETERI), + STRING(SGL_CMD_TEXTUREPARAMETERIIV), + STRING(SGL_CMD_TEXTUREPARAMETERIUIV), + STRING(SGL_CMD_TEXTUREPARAMETERIV), + STRING(SGL_CMD_GENERATETEXTUREMIPMAP), + STRING(SGL_CMD_BINDTEXTUREUNIT), + STRING(SGL_CMD_GETTEXTUREIMAGE), + STRING(SGL_CMD_GETCOMPRESSEDTEXTUREIMAGE), + STRING(SGL_CMD_GETTEXTURELEVELPARAMETERFV), + STRING(SGL_CMD_GETTEXTURELEVELPARAMETERIV), + STRING(SGL_CMD_GETTEXTUREPARAMETERFV), + STRING(SGL_CMD_GETTEXTUREPARAMETERIIV), + STRING(SGL_CMD_GETTEXTUREPARAMETERIUIV), + STRING(SGL_CMD_GETTEXTUREPARAMETERIV), + STRING(SGL_CMD_CREATEVERTEXARRAYS), + STRING(SGL_CMD_DISABLEVERTEXARRAYATTRIB), + STRING(SGL_CMD_ENABLEVERTEXARRAYATTRIB), + STRING(SGL_CMD_VERTEXARRAYELEMENTBUFFER), + STRING(SGL_CMD_VERTEXARRAYVERTEXBUFFER), + STRING(SGL_CMD_VERTEXARRAYVERTEXBUFFERS), + STRING(SGL_CMD_VERTEXARRAYATTRIBBINDING), + STRING(SGL_CMD_VERTEXARRAYATTRIBFORMAT), + STRING(SGL_CMD_VERTEXARRAYATTRIBIFORMAT), + STRING(SGL_CMD_VERTEXARRAYATTRIBLFORMAT), + STRING(SGL_CMD_VERTEXARRAYBINDINGDIVISOR), + STRING(SGL_CMD_GETVERTEXARRAYIV), + STRING(SGL_CMD_GETVERTEXARRAYINDEXEDIV), + STRING(SGL_CMD_GETVERTEXARRAYINDEXED64IV), + STRING(SGL_CMD_CREATESAMPLERS), + STRING(SGL_CMD_CREATEPROGRAMPIPELINES), + STRING(SGL_CMD_CREATEQUERIES), + STRING(SGL_CMD_GETQUERYBUFFEROBJECTI64V), + STRING(SGL_CMD_GETQUERYBUFFEROBJECTIV), + STRING(SGL_CMD_GETQUERYBUFFEROBJECTUI64V), + STRING(SGL_CMD_GETQUERYBUFFEROBJECTUIV), + STRING(SGL_CMD_MEMORYBARRIERBYREGION), + STRING(SGL_CMD_GETTEXTURESUBIMAGE), + STRING(SGL_CMD_GETCOMPRESSEDTEXTURESUBIMAGE), + STRING(SGL_CMD_GETGRAPHICSRESETSTATUS), + STRING(SGL_CMD_GETNCOMPRESSEDTEXIMAGE), + STRING(SGL_CMD_GETNTEXIMAGE), + STRING(SGL_CMD_GETNUNIFORMDV), + STRING(SGL_CMD_GETNUNIFORMFV), + STRING(SGL_CMD_GETNUNIFORMIV), + STRING(SGL_CMD_GETNUNIFORMUIV), + STRING(SGL_CMD_READNPIXELS), + STRING(SGL_CMD_GETNMAPDV), + STRING(SGL_CMD_GETNMAPFV), + STRING(SGL_CMD_GETNMAPIV), + STRING(SGL_CMD_GETNPIXELMAPFV), + STRING(SGL_CMD_GETNPIXELMAPUIV), + STRING(SGL_CMD_GETNPIXELMAPUSV), + STRING(SGL_CMD_GETNPOLYGONSTIPPLE), + STRING(SGL_CMD_GETNCOLORTABLE), + STRING(SGL_CMD_GETNCONVOLUTIONFILTER), + STRING(SGL_CMD_GETNSEPARABLEFILTER), + STRING(SGL_CMD_GETNHISTOGRAM), + STRING(SGL_CMD_GETNMINMAX), + STRING(SGL_CMD_TEXTUREBARRIER), + STRING(SGL_CMD_SPECIALIZESHADER), + STRING(SGL_CMD_MULTIDRAWARRAYSINDIRECTCOUNT), + STRING(SGL_CMD_MULTIDRAWELEMENTSINDIRECTCOUNT), + STRING(SGL_CMD_POLYGONOFFSETCLAMP) + }; + #undef STRING + + return c >= 0 && c < SGL_CMD_MAX ? SGL_CMD_STRING_TABLE[c] : "COMMAND_OUT_OF_BOUNDS"; +} \ No newline at end of file