Lines Matching refs:pDRIDrawablePriv
209 DRIUpdateSurface(DRIDrawablePrivPtr pDRIDrawablePriv, DrawablePtr pDraw) in DRIUpdateSurface() argument
214 if (pDRIDrawablePriv->sid == 0) in DRIUpdateSurface()
249 xp_configure_surface(pDRIDrawablePriv->sid, flags, &wc); in DRIUpdateSurface()
257 DRIDrawablePrivPtr pDRIDrawablePriv; in CreateSurfaceForWindow() local
262 pDRIDrawablePriv = DRI_DRAWABLE_PRIV_FROM_WINDOW(pWin); in CreateSurfaceForWindow()
264 if (pDRIDrawablePriv == NULL) { in CreateSurfaceForWindow()
269 if (!(pDRIDrawablePriv = malloc(sizeof(*pDRIDrawablePriv)))) { in CreateSurfaceForWindow()
273 pDRIDrawablePriv->pDraw = (DrawablePtr)pWin; in CreateSurfaceForWindow()
274 pDRIDrawablePriv->pScreen = pScreen; in CreateSurfaceForWindow()
275 pDRIDrawablePriv->refCount = 0; in CreateSurfaceForWindow()
276 pDRIDrawablePriv->drawableIndex = -1; in CreateSurfaceForWindow()
277 pDRIDrawablePriv->notifiers = NULL; in CreateSurfaceForWindow()
283 free(pDRIDrawablePriv); in CreateSurfaceForWindow()
288 err = xp_create_surface(wid, &pDRIDrawablePriv->sid); in CreateSurfaceForWindow()
291 free(pDRIDrawablePriv); in CreateSurfaceForWindow()
298 err = xp_configure_surface(pDRIDrawablePriv->sid, XP_STACKING, &wc); in CreateSurfaceForWindow()
301 xp_destroy_surface(pDRIDrawablePriv->sid); in CreateSurfaceForWindow()
302 free(pDRIDrawablePriv); in CreateSurfaceForWindow()
308 pDRIDrawablePriv); in CreateSurfaceForWindow()
313 return pDRIDrawablePriv; in CreateSurfaceForWindow()
320 DRIDrawablePrivPtr pDRIDrawablePriv; in CreateSurfaceForPixmap() local
322 pDRIDrawablePriv = DRI_DRAWABLE_PRIV_FROM_PIXMAP(pPix); in CreateSurfaceForPixmap()
324 if (pDRIDrawablePriv == NULL) { in CreateSurfaceForPixmap()
328 if (!(pDRIDrawablePriv = calloc(1, sizeof(*pDRIDrawablePriv)))) { in CreateSurfaceForPixmap()
332 pDRIDrawablePriv->pDraw = (DrawablePtr)pPix; in CreateSurfaceForPixmap()
333 pDRIDrawablePriv->pScreen = pScreen; in CreateSurfaceForPixmap()
334 pDRIDrawablePriv->refCount = 0; in CreateSurfaceForPixmap()
335 pDRIDrawablePriv->drawableIndex = -1; in CreateSurfaceForPixmap()
336 pDRIDrawablePriv->notifiers = NULL; in CreateSurfaceForPixmap()
341 err = xp_create_surface(0, &pDRIDrawablePriv->sid); in CreateSurfaceForPixmap()
343 free(pDRIDrawablePriv); in CreateSurfaceForPixmap()
354 pDRIDrawablePriv); in CreateSurfaceForPixmap()
357 return pDRIDrawablePriv; in CreateSurfaceForPixmap()
368 DRIDrawablePrivPtr pDRIDrawablePriv; in DRICreateSurface() local
376 pDRIDrawablePriv = CreateSurfaceForWindow(pScreen, in DRICreateSurface()
379 if (NULL == pDRIDrawablePriv) in DRICreateSurface()
382 pDRIDrawablePriv = CreateSurfaceForPixmap(pScreen, in DRICreateSurface()
385 if (NULL == pDRIDrawablePriv) in DRICreateSurface()
393 if (pDRIDrawablePriv->refCount == 0) { in DRICreateSurface()
403 err = xp_export_surface(wid, pDRIDrawablePriv->sid, in DRICreateSurface()
406 xp_destroy_surface(pDRIDrawablePriv->sid); in DRICreateSurface()
407 free(pDRIDrawablePriv); in DRICreateSurface()
428 pDRIDrawablePriv->key[0] = key[0]; in DRICreateSurface()
429 pDRIDrawablePriv->key[1] = key[1]; in DRICreateSurface()
438 pDRIDrawablePriv->sid), pDRIDrawablePriv); in DRICreateSurface()
444 DRIUpdateSurface(pDRIDrawablePriv, pDrawable); in DRICreateSurface()
447 pDRIDrawablePriv->refCount++; in DRICreateSurface()
449 *surface_id = pDRIDrawablePriv->sid; in DRICreateSurface()
452 ret_key[0] = pDRIDrawablePriv->key[0]; in DRICreateSurface()
453 ret_key[1] = pDRIDrawablePriv->key[1]; in DRICreateSurface()
457 pDRIDrawablePriv->notifiers = x_hook_add(pDRIDrawablePriv->notifiers, in DRICreateSurface()
468 DRIDrawablePrivPtr pDRIDrawablePriv; in DRIDestroySurface() local
471 pDRIDrawablePriv = DRI_DRAWABLE_PRIV_FROM_WINDOW((WindowPtr)pDrawable); in DRIDestroySurface()
474 pDRIDrawablePriv = DRI_DRAWABLE_PRIV_FROM_PIXMAP((PixmapPtr)pDrawable); in DRIDestroySurface()
480 if (pDRIDrawablePriv != NULL) { in DRIDestroySurface()
486 pDRIDrawablePriv->notifiers = x_hook_remove( in DRIDestroySurface()
487 pDRIDrawablePriv->notifiers, in DRIDestroySurface()
491 --pDRIDrawablePriv->refCount; in DRIDestroySurface()
498 if (pDRIDrawablePriv->refCount <= 0) { in DRIDestroySurface()
519 DRIDrawablePrivPtr pDRIDrawablePriv = NULL; in DRIDrawablePrivDelete() local
525 pDRIDrawablePriv = DRI_DRAWABLE_PRIV_FROM_WINDOW(pWin); in DRIDrawablePrivDelete()
529 pDRIDrawablePriv = DRI_DRAWABLE_PRIV_FROM_PIXMAP(pPix); in DRIDrawablePrivDelete()
532 if (pDRIDrawablePriv == NULL) { in DRIDrawablePrivDelete()
541 if (pDRIDrawablePriv->drawableIndex != -1) { in DRIDrawablePrivDelete()
543 pDRIPriv->DRIDrawables[pDRIDrawablePriv->drawableIndex] = NULL; in DRIDrawablePrivDelete()
546 if (pDRIDrawablePriv->sid != 0) { in DRIDrawablePrivDelete()
547 DRISurfaceNotify(pDRIDrawablePriv->sid, in DRIDrawablePrivDelete()
551 if (pDRIDrawablePriv->notifiers != NULL) in DRIDrawablePrivDelete()
552 x_hook_free(pDRIDrawablePriv->notifiers); in DRIDrawablePrivDelete()
554 free(pDRIDrawablePriv); in DRIDrawablePrivDelete()
573 DRIDrawablePrivPtr pDRIDrawablePriv; in DRICopyWindow() local
576 pDRIDrawablePriv = DRI_DRAWABLE_PRIV_FROM_WINDOW(pWin); in DRICopyWindow()
577 if (pDRIDrawablePriv != NULL) { in DRICopyWindow()
578 DRIUpdateSurface(pDRIDrawablePriv, &pWin->drawable); in DRICopyWindow()
597 DRIDrawablePrivPtr pDRIDrawablePriv; in DRIClipNotify() local
599 if ((pDRIDrawablePriv = DRI_DRAWABLE_PRIV_FROM_WINDOW(pWin))) { in DRIClipNotify()
600 DRIUpdateSurface(pDRIDrawablePriv, &pWin->drawable); in DRIClipNotify()
640 DRIDrawablePrivPtr pDRIDrawablePriv = NULL; in DRISurfaceNotify() local
647 pDRIDrawablePriv = x_hash_table_lookup(surface_hash, in DRISurfaceNotify()
651 if (pDRIDrawablePriv == NULL) in DRISurfaceNotify()
658 x_hook_run(pDRIDrawablePriv->notifiers, &arg); in DRISurfaceNotify()
663 error = xp_destroy_surface(pDRIDrawablePriv->sid); in DRISurfaceNotify()
669 pDRIDrawablePriv->sid = 0; in DRISurfaceNotify()
671 FreeResourceByType(pDRIDrawablePriv->pDraw->id, in DRISurfaceNotify()