diff --git a/hw/xfree86/dri/dri.c b/hw/xfree86/dri/dri.c index 355d281f4..fae0b43fb 100644 --- a/hw/xfree86/dri/dri.c +++ b/hw/xfree86/dri/dri.c @@ -2210,6 +2210,19 @@ DRIGetContext(ScreenPtr pScreen) return pDRIPriv->myContext; } +void +DRIGetTexOffsetFuncs(ScreenPtr pScreen, + DRITexOffsetStartProcPtr *texOffsetStartFunc, + DRITexOffsetFinishProcPtr *texOffsetFinishFunc) +{ + DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen); + + if (!pDRIPriv) return; + + *texOffsetStartFunc = pDRIPriv->pDriverInfo->texOffsetStart; + *texOffsetFinishFunc = pDRIPriv->pDriverInfo->texOffsetFinish; +} + /* This lets get at the unwrapped functions so that they can correctly * call the lowerlevel functions, and choose whether they will be * called at every level of recursion (eg in validatetree). diff --git a/hw/xfree86/dri/dri.h b/hw/xfree86/dri/dri.h index a21338a90..e49bb6fa0 100644 --- a/hw/xfree86/dri/dri.h +++ b/hw/xfree86/dri/dri.h @@ -107,9 +107,12 @@ typedef struct { */ #define DRIINFO_MAJOR_VERSION 5 -#define DRIINFO_MINOR_VERSION 2 +#define DRIINFO_MINOR_VERSION 3 #define DRIINFO_PATCH_VERSION 0 +typedef unsigned long long (*DRITexOffsetStartProcPtr)(PixmapPtr pPix); +typedef void (*DRITexOffsetFinishProcPtr)(PixmapPtr pPix); + typedef struct { /* driver call back functions * @@ -180,6 +183,10 @@ typedef struct { /* New with DRI version 5.2.0 */ Bool allocSarea; Bool keepFDOpen; + + /* New with DRI version 5.3.0 */ + DRITexOffsetStartProcPtr texOffsetStart; + DRITexOffsetFinishProcPtr texOffsetFinish; } DRIInfoRec, *DRIInfoPtr; @@ -358,7 +365,9 @@ extern void *DRIMasterSareaPointer(ScrnInfoPtr pScrn); extern drm_handle_t DRIMasterSareaHandle(ScrnInfoPtr pScrn); - +extern void DRIGetTexOffsetFuncs(ScreenPtr pScreen, + DRITexOffsetStartProcPtr *texOffsetStartFunc, + DRITexOffsetFinishProcPtr *texOffsetFinishFunc); #define _DRI_H_