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

Method setVisAttribs

server/VirtualDrawable.cpp:126–168  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

124
125
126void VirtualDrawable::OGLDrawable::setVisAttribs(void)
127{
128 int pixelsize;
129
130 if(edpy != EGL_NO_DISPLAY)
131 {
132 EGLint redSize, greenSize, blueSize, alphaSize;
133
134 if(!_eglGetConfigAttrib(edpy, (EGLConfig)config, EGL_RED_SIZE, &redSize))
135 THROW_EGL("eglGetConfigAttrib()");
136 if(!_eglGetConfigAttrib(edpy, (EGLConfig)config, EGL_GREEN_SIZE,
137 &greenSize))
138 THROW_EGL("eglGetConfigAttrib()");
139 if(!_eglGetConfigAttrib(edpy, (EGLConfig)config, EGL_BLUE_SIZE, &blueSize))
140 THROW_EGL("eglGetConfigAttrib()");
141 if(!_eglGetConfigAttrib(edpy, (EGLConfig)config, EGL_ALPHA_SIZE,
142 &alphaSize))
143 THROW_EGL("eglGetConfigAttrib()");
144 rgbSize = redSize + greenSize + blueSize;
145 pixelsize = rgbSize + alphaSize;
146 }
147 else
148 {
149 if(glxvisual::getFBConfigAttrib(dpy, config, GLX_STEREO))
150 stereo = true;
151 rgbSize = glxvisual::getFBConfigAttrib(dpy, config, GLX_RED_SIZE) +
152 glxvisual::getFBConfigAttrib(dpy, config, GLX_GREEN_SIZE) +
153 glxvisual::getFBConfigAttrib(dpy, config, GLX_BLUE_SIZE);
154 pixelsize = rgbSize +
155 glxvisual::getFBConfigAttrib(dpy, config, GLX_ALPHA_SIZE);
156 }
157
158 if(pixelsize == 32)
159 {
160 if(LittleEndian()) glFormat = GL_BGRA;
161 else glFormat = GL_RGBA;
162 }
163 else
164 {
165 if(LittleEndian()) glFormat = GL_BGR;
166 else glFormat = GL_RGB;
167 }
168}
169
170
171VirtualDrawable::OGLDrawable::~OGLDrawable(void)

Callers

nothing calls this directly

Calls 2

LittleEndianFunction · 0.85
getFBConfigAttribFunction · 0.70

Tested by

no test coverage detected