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

Function glFramebufferDrawBuffersEXT

server/faker-gl.cpp:339–386  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

337
338
339void glFramebufferDrawBuffersEXT(GLuint framebuffer, GLsizei n,
340 const GLenum *bufs)
341{
342 if(faker::getOGLExcludeCurrent() || faker::getEGLXContextCurrent())
343 {
344 _glFramebufferDrawBuffersEXT(framebuffer, n, bufs);
345 return;
346 }
347
348 TRY();
349
350 /////////////////////////////////////////////////////////////////////////////
351 OPENTRACE(glFramebufferDrawBuffersEXT); PRARGI(framebuffer); PRARGI(n);
352 if(n && bufs)
353 {
354 for(GLsizei i = 0; i < n; i++) PRARGX(bufs[i]);
355 }
356 STARTTRACE();
357 /////////////////////////////////////////////////////////////////////////////
358
359 faker::VirtualWin *vw = NULL;
360 int before = -1, after = -1, rbefore = -1, rafter = -1;
361 GLXDrawable drawable = 0;
362
363 if(framebuffer == 0 && (drawable = backend::getCurrentDrawable()) != 0
364 && (vw = WINHASH.find(NULL, drawable)) != NULL)
365 {
366 before = DrawingToFront();
367 rbefore = DrawingToRight();
368 backend::namedFramebufferDrawBuffers(framebuffer, n, bufs, true);
369 after = DrawingToFront();
370 rafter = DrawingToRight();
371 if(before && !after) vw->dirty = true;
372 if(rbefore && !rafter && vw->isStereo()) vw->rdirty = true;
373 }
374 else backend::namedFramebufferDrawBuffers(framebuffer, n, bufs, true);
375
376 /////////////////////////////////////////////////////////////////////////////
377 STOPTRACE();
378 if(drawable && vw)
379 {
380 PRARGI(vw->dirty); PRARGI(vw->rdirty); PRARGX(vw->getGLXDrawable());
381 }
382 CLOSETRACE();
383 /////////////////////////////////////////////////////////////////////////////
384
385 CATCH();
386}
387
388
389void glFramebufferReadBufferEXT(GLuint framebuffer, GLenum mode)

Callers

nothing calls this directly

Calls 7

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

Tested by

no test coverage detected