diff options
Diffstat (limited to 'hw/xfree86/dri2/dri2.c')
-rw-r--r-- | hw/xfree86/dri2/dri2.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/hw/xfree86/dri2/dri2.c b/hw/xfree86/dri2/dri2.c index af3bcaefe..1e6ee16a2 100644 --- a/hw/xfree86/dri2/dri2.c +++ b/hw/xfree86/dri2/dri2.c @@ -102,6 +102,7 @@ typedef struct _DRI2Screen { DRI2GetMSCProcPtr GetMSC; DRI2ScheduleWaitMSCProcPtr ScheduleWaitMSC; DRI2AuthMagicProcPtr AuthMagic; + DRI2ReuseBufferNotifyProcPtr ReuseBufferNotify; HandleExposuresProcPtr HandleExposures; @@ -352,6 +353,10 @@ allocate_or_reuse_buffer(DrawablePtr pDraw, DRI2ScreenPtr ds, } else { *buffer = pPriv->buffers[old_buf]; + + if (ds->ReuseBufferNotify) + (*ds->ReuseBufferNotify)(pDraw, *buffer); + pPriv->buffers[old_buf] = NULL; return FALSE; } @@ -1128,6 +1133,9 @@ DRI2ScreenInit(ScreenPtr pScreen, DRI2InfoPtr info) ds->AuthMagic = info->AuthMagic; } + if (info->version >= 6) + ds->ReuseBufferNotify = info->ReuseBufferNotify; + /* * if the driver doesn't provide an AuthMagic function or the info struct * version is too low, it relies on the old method (using libdrm) or fail |