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

Function configVsVisual

server/fakerut.cpp:1192–1234  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1190
1191
1192void configVsVisual(Display *dpy, GLXFBConfig config, XVisualInfo *vis)
1193{
1194 int ctemp, vtemp, r, g, b, bs;
1195 if(!dpy) THROWNL("Invalid display handle");
1196 if(!config) THROWNL("Invalid FB config");
1197 if(!vis) THROWNL("Invalid visual pointer");
1198 GLXFBConfig config0 = glXGetFBConfigFromVisualSGIX(dpy, vis);
1199 if(cfgid(dpy, config0) != cfgid(dpy, config))
1200 THROWNL("glXGetFBConfigFromVisualSGIX()");
1201 GET_CFG_ATTRIB(config, GLX_VISUAL_ID, ctemp);
1202 if(ctemp != (int)vis->visualid)
1203 THROWNL("Visual ID mismatch");
1204 GET_CFG_ATTRIB(config, GLX_RENDER_TYPE, ctemp);
1205 GET_VIS_ATTRIB(vis, GLX_RGBA, vtemp);
1206 if((ctemp & GLX_RGBA_BIT) != 0 && vtemp != 1)
1207 THROWNL("GLX_RGBA mismatch w/ X visual");
1208 COMPARE_ATTRIB(config, vis, GLX_BUFFER_SIZE, bs);
1209 COMPARE_ATTRIB(config, vis, GLX_LEVEL, ctemp);
1210 COMPARE_ATTRIB(config, vis, GLX_DOUBLEBUFFER, ctemp);
1211 COMPARE_ATTRIB(config, vis, GLX_STEREO, ctemp);
1212 COMPARE_ATTRIB(config, vis, GLX_AUX_BUFFERS, ctemp);
1213 COMPARE_ATTRIB(config, vis, GLX_RED_SIZE, r);
1214 COMPARE_ATTRIB(config, vis, GLX_GREEN_SIZE, g);
1215 COMPARE_ATTRIB(config, vis, GLX_BLUE_SIZE, b);
1216 COMPARE_ATTRIB(config, vis, GLX_ALPHA_SIZE, ctemp);
1217 COMPARE_ATTRIB(config, vis, GLX_DEPTH_SIZE, ctemp);
1218 COMPARE_ATTRIB(config, vis, GLX_STENCIL_SIZE, ctemp);
1219 COMPARE_ATTRIB(config, vis, GLX_ACCUM_RED_SIZE, ctemp);
1220 COMPARE_ATTRIB(config, vis, GLX_ACCUM_GREEN_SIZE, ctemp);
1221 COMPARE_ATTRIB(config, vis, GLX_ACCUM_BLUE_SIZE, ctemp);
1222 COMPARE_ATTRIB(config, vis, GLX_ACCUM_ALPHA_SIZE, ctemp);
1223 COMPARE_ATTRIB(config, vis, GLX_SAMPLE_BUFFERS_ARB, ctemp);
1224 COMPARE_ATTRIB(config, vis, GLX_SAMPLES_ARB, ctemp);
1225 COMPARE_ATTRIB(config, vis, GLX_X_VISUAL_TYPE, ctemp);
1226 if(visualClassToGLXVisualType(vis->c_class) != ctemp)
1227 THROWNL("GLX_X_VISUAL_TYPE mismatch w/ X visual");
1228 COMPARE_ATTRIB(config, vis, GLX_TRANSPARENT_TYPE_EXT, ctemp);
1229 COMPARE_ATTRIB(config, vis, GLX_TRANSPARENT_INDEX_VALUE_EXT, ctemp);
1230 COMPARE_ATTRIB(config, vis, GLX_TRANSPARENT_RED_VALUE_EXT, ctemp);
1231 COMPARE_ATTRIB(config, vis, GLX_TRANSPARENT_GREEN_VALUE_EXT, ctemp);
1232 COMPARE_ATTRIB(config, vis, GLX_TRANSPARENT_BLUE_VALUE_EXT, ctemp);
1233 COMPARE_ATTRIB(config, vis, GLX_TRANSPARENT_ALPHA_VALUE_EXT, ctemp);
1234}
1235
1236
1237int cfgid(Display *dpy, GLXFBConfig config)

Callers 1

visTestFunction · 0.85

Calls 3

cfgidFunction · 0.85

Tested by

no test coverage detected