MCPcopy Create free account
hub / github.com/VirtualGL/virtualgl / glXGetConfig

Function glXGetConfig

server/faker-glx.cpp:957–1004  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

955// corresponding 3D X server FB config.
956
957int glXGetConfig(Display *dpy, XVisualInfo *vis, int attrib, int *value)
958{
959 VGLFBConfig config; int retval = 0;
960
961 TRY();
962
963 if(IS_EXCLUDED(dpy))
964 return _glXGetConfig(dpy, vis, attrib, value);
965
966 if(!dpy) return GLX_NO_EXTENSION;
967 if(!vis) return GLX_BAD_VISUAL;
968 if(!value) return GLX_BAD_VALUE;
969
970 /////////////////////////////////////////////////////////////////////////////
971 OPENTRACE(glXGetConfig); PRARGD(dpy); PRARGV(vis); PRARGIX(attrib);
972 STARTTRACE();
973 /////////////////////////////////////////////////////////////////////////////
974
975 if((config = matchConfig(dpy, vis)) != 0)
976 {
977 if(attrib == GLX_USE_GL)
978 {
979 if(vis->c_class == TrueColor || vis->c_class == DirectColor) *value = 1;
980 else *value = 0;
981 }
982 else if(attrib == GLX_RGBA)
983 {
984 if((glxvisual::getFBConfigAttrib(dpy, config,
985 GLX_RENDER_TYPE) & GLX_RGBA_BIT) != 0)
986 *value = 1;
987 else *value = 0;
988 }
989 else retval = backend::getFBConfigAttrib(dpy, config, attrib, value);
990 }
991 else
992 {
993 *value = 0;
994 if(attrib != GLX_USE_GL) retval = GLX_BAD_VISUAL;
995 }
996
997 /////////////////////////////////////////////////////////////////////////////
998 STOPTRACE(); if(value) { PRARGIX(*value); } else { PRARGX(value); }
999 CLOSETRACE();
1000 /////////////////////////////////////////////////////////////////////////////
1001
1002 CATCH();
1003 return retval;
1004}
1005
1006
1007GLXContext glXGetCurrentContext(void)

Callers 4

visTestFunction · 0.85
extensionQueryTestFunction · 0.85
mainFunction · 0.85
get_visual_attribsFunction · 0.85

Calls 1

getFBConfigAttribFunction · 0.70

Tested by

no test coverage detected