static void __glXDRIleaveServer(GLboolean rendering) { int i; for (i = 0; rendering && i < screenInfo.numScreens; i++) { __GLXDRIscreen *const screen = (__GLXDRIscreen *) glxGetScreen(screenInfo.screens[i]); GLuint lastOverride = screen->lastTexOffsetOverride; if (lastOverride) { __GLXDRIdrawable **texOffsetOverride = screen->texOffsetOverride; int j; for (j = 0; j < lastOverride; j++) { __GLXDRIdrawable *pGlxPix = texOffsetOverride[j]; if (pGlxPix && pGlxPix->texname) { pGlxPix->offset = screen->texOffsetStart((PixmapPtr) pGlxPix->base.pDraw); } } } } DRIBlockHandler(NULL, NULL, NULL); for (i = 0; rendering && i < screenInfo.numScreens; i++) { __GLXDRIscreen *const screen = (__GLXDRIscreen *) glxGetScreen(screenInfo.screens[i]); GLuint lastOverride = screen->lastTexOffsetOverride; if (lastOverride) { __GLXDRIdrawable **texOffsetOverride = screen->texOffsetOverride; int j; for (j = 0; j < lastOverride; j++) { __GLXDRIdrawable *pGlxPix = texOffsetOverride[j]; if (pGlxPix && pGlxPix->texname) { screen->texOffset->setTexOffset(pGlxPix->ctx->driContext, pGlxPix->texname, pGlxPix->offset, pGlxPix->base.pDraw->depth, ((PixmapPtr) pGlxPix->base. pDraw)->devKind); } } } } }
static void __glXDRIenterServer(GLboolean rendering) { int i; for (i = 0; rendering && i < screenInfo.numScreens; i++) { __GLXDRIscreen * const screen = (__GLXDRIscreen *) glxGetScreen(screenInfo.screens[i]); if (screen->lastTexOffsetOverride) { CALL_Flush(GET_DISPATCH(), ()); break; } }