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

Function glPopAttrib

server/faker-gl.cpp:779–818  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

777// glPopAttrib() can change the draw buffer state as well :|
778
779void glPopAttrib(void)
780{
781 if(faker::getOGLExcludeCurrent() || faker::getEGLXContextCurrent())
782 {
783 _glPopAttrib(); return;
784 }
785
786 TRY();
787
788 /////////////////////////////////////////////////////////////////////////////
789 OPENTRACE(glPopAttrib); STARTTRACE();
790 /////////////////////////////////////////////////////////////////////////////
791
792 faker::VirtualWin *vw;
793 int before = -1, after = -1, rbefore = -1, rafter = -1;
794 GLXDrawable drawable = backend::getCurrentDrawable();
795
796 if(drawable && (vw = WINHASH.find(NULL, drawable)) != NULL)
797 {
798 before = DrawingToFront();
799 rbefore = DrawingToRight();
800 _glPopAttrib();
801 after = DrawingToFront();
802 rafter = DrawingToRight();
803 if(before && !after) vw->dirty = true;
804 if(rbefore && !rafter && vw->isStereo()) vw->rdirty = true;
805 }
806 else _glPopAttrib();
807
808 /////////////////////////////////////////////////////////////////////////////
809 STOPTRACE();
810 if(drawable && vw)
811 {
812 PRARGI(vw->dirty); PRARGI(vw->rdirty); PRARGX(vw->getGLXDrawable());
813 }
814 CLOSETRACE();
815 /////////////////////////////////////////////////////////////////////////////
816
817 CATCH();
818}
819
820
821void glReadBuffer(GLenum mode)

Callers 4

readbackTestFunction · 0.85
displayFunction · 0.85
displayFunction · 0.85
displayFunction · 0.85

Calls 6

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

Tested by

no test coverage detected