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

Function glDrawBuffers

server/faker-gl.cpp:237–281  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

235
236
237void glDrawBuffers(GLsizei n, const GLenum *bufs)
238{
239 if(faker::getOGLExcludeCurrent() || faker::getEGLXContextCurrent())
240 {
241 _glDrawBuffers(n, bufs); return;
242 }
243
244 TRY();
245
246 /////////////////////////////////////////////////////////////////////////////
247 OPENTRACE(glDrawBuffers); PRARGI(n);
248 if(n && bufs)
249 {
250 for(GLsizei i = 0; i < n; i++) PRARGX(bufs[i]);
251 }
252 STARTTRACE();
253 /////////////////////////////////////////////////////////////////////////////
254
255 faker::VirtualWin *vw = NULL;
256 int before = -1, after = -1, rbefore = -1, rafter = -1;
257 GLXDrawable drawable = backend::getCurrentDrawable();
258
259 if(drawable && (vw = WINHASH.find(NULL, drawable)) != NULL)
260 {
261 before = DrawingToFront();
262 rbefore = DrawingToRight();
263 backend::drawBuffers(n, bufs);
264 after = DrawingToFront();
265 rafter = DrawingToRight();
266 if(before && !after) vw->dirty = true;
267 if(rbefore && !rafter && vw->isStereo()) vw->rdirty = true;
268 }
269 else backend::drawBuffers(n, bufs);
270
271 /////////////////////////////////////////////////////////////////////////////
272 STOPTRACE();
273 if(drawable && vw)
274 {
275 PRARGI(vw->dirty); PRARGI(vw->rdirty); PRARGX(vw->getGLXDrawable());
276 }
277 CLOSETRACE();
278 /////////////////////////////////////////////////////////////////////////////
279
280 CATCH();
281}
282
283void glDrawBuffersARB(GLsizei n, const GLenum *bufs)
284{

Callers 4

glDrawBuffersARBFunction · 0.85
glDrawBuffersATIFunction · 0.85
readbackTestFunction · 0.85
readbackTestMSFunction · 0.85

Calls 7

getCurrentDrawableFunction · 0.85
DrawingToFrontFunction · 0.85
DrawingToRightFunction · 0.85
drawBuffersFunction · 0.85
findMethod · 0.45
isStereoMethod · 0.45
getGLXDrawableMethod · 0.45

Tested by

no test coverage detected