gamma_lock.c

来自「mesa-6.5-minigui源码」· C语言 代码 · 共 62 行

C
62
字号
/* $XFree86: xc/lib/GL/mesa/src/drv/gamma/gamma_lock.c,v 1.4 2002/11/05 17:46:07 tsi Exp $ */#include "gamma_context.h"#include "gamma_lock.h"#include "drirenderbuffer.h"#ifdef DEBUG_LOCKINGchar *prevLockFile = NULL;int prevLockLine = 0;#endif/* Update the hardware state.  This is called if another context has * grabbed the hardware lock, which includes the X server.  This * function also updates the driver's window state after the X server * moves, resizes or restacks a window -- the change will be reflected * in the drawable position and clip rects.  Since the X server grabs * the hardware lock when it changes the window state, this routine will * automatically be called after such a change. */void gammaGetLock( gammaContextPtr gmesa, GLuint flags ){   __DRIdrawablePrivate *dPriv = gmesa->driDrawable;   __DRIscreenPrivate *sPriv = gmesa->driScreen;   drmGetLock( gmesa->driFd, gmesa->hHWContext, flags );   /* The window might have moved, so we might need to get new clip    * rects.    *    * NOTE: This releases and regrabs the hw lock to allow the X server    * to respond to the DRI protocol request for new drawable info.    * Since the hardware state depends on having the latest drawable    * clip rects, all state checking must be done _after_ this call.    */   DRI_VALIDATE_DRAWABLE_INFO( sPriv, dPriv );   if ( gmesa->lastStamp != dPriv->lastStamp ) {      driUpdateFramebufferSize(gmesa->glCtx, dPriv);      gmesa->lastStamp = dPriv->lastStamp;      gmesa->new_state |= GAMMA_NEW_WINDOW | GAMMA_NEW_CLIP;   }   gmesa->numClipRects = dPriv->numClipRects;   gmesa->pClipRects = dPriv->pClipRects;#if 0   gmesa->dirty = ~0;   if ( sarea->ctxOwner != gmesa->hHWContext ) {      sarea->ctxOwner = gmesa->hHWContext;      gmesa->dirty = GAMMA_UPLOAD_ALL;   }   for ( i = 0 ; i < gmesa->lastTexHeap ; i++ ) {      if ( sarea->texAge[i] != gmesa->lastTexAge[i] ) {	 gammaAgeTextures( gmesa, i );      }   }#endif}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?