diff options
-rw-r--r-- | ChangeLog | 15 | ||||
-rw-r--r-- | hw/xfree86/common/xf86Module.h | 10 | ||||
-rw-r--r-- | hw/xfree86/common/xf86xv.c | 18 | ||||
-rw-r--r-- | hw/xfree86/common/xf86xv.h | 12 |
4 files changed, 38 insertions, 17 deletions
@@ -1,3 +1,18 @@ +2006-04-07 Aaron Plattner <aplattner@nvidia.com> + + * hw/xfree86/common/xf86Module.h: + Bump the ABI versions. Due to Glyph privates and the XV update below, + the video driver ABI needs to be bumped to 1.0. The rest of the ABI + minor versions were bumped to include the LoaderGetABIVersion + function. + * hw/xfree86/common/xf86xv.c: (xf86XVRegetVideo), + (xf86XVReputVideo), (xf86XVReputImage), (xf86XVPutStill), + (xf86XVGetStill), (xf86XVPutImage): + * hw/xfree86/common/xf86xv.h: + Add a DrawblePtr argument to the XV hooks. This allows drivers to + determine that the target window is redirected and draw to the + appropriate place. + Fri Apr 7 13:46:45 2006 Søren Sandmann <sandmann@redhat.com> * composite/compext.c (ProcCompositeReleaseOverlayWindow): Use diff --git a/hw/xfree86/common/xf86Module.h b/hw/xfree86/common/xf86Module.h index fafedba40..a32569980 100644 --- a/hw/xfree86/common/xf86Module.h +++ b/hw/xfree86/common/xf86Module.h @@ -84,11 +84,11 @@ typedef enum { * changed. The minor revision mask is 0x0000FFFF and the major revision * mask is 0xFFFF0000. */ -#define ABI_ANSIC_VERSION SET_ABI_VERSION(0, 2) -#define ABI_VIDEODRV_VERSION SET_ABI_VERSION(0, 8) -#define ABI_XINPUT_VERSION SET_ABI_VERSION(0, 5) -#define ABI_EXTENSION_VERSION SET_ABI_VERSION(0, 2) -#define ABI_FONT_VERSION SET_ABI_VERSION(0, 4) +#define ABI_ANSIC_VERSION SET_ABI_VERSION(0, 3) +#define ABI_VIDEODRV_VERSION SET_ABI_VERSION(1, 0) +#define ABI_XINPUT_VERSION SET_ABI_VERSION(0, 6) +#define ABI_EXTENSION_VERSION SET_ABI_VERSION(0, 3) +#define ABI_FONT_VERSION SET_ABI_VERSION(0, 5) #define MODINFOSTRING1 0xef23fdc5 #define MODINFOSTRING2 0x10dc023a diff --git a/hw/xfree86/common/xf86xv.c b/hw/xfree86/common/xf86xv.c index 0caca8010..ede2e064e 100644 --- a/hw/xfree86/common/xf86xv.c +++ b/hw/xfree86/common/xf86xv.c @@ -748,7 +748,8 @@ xf86XVRegetVideo(XvPortRecPrivatePtr portPriv) WinBox.x1, WinBox.y1, portPriv->vid_w, portPriv->vid_h, portPriv->drw_w, portPriv->drw_h, - &ClipRegion, portPriv->DevPriv.ptr); + &ClipRegion, portPriv->DevPriv.ptr, + portPriv->pDraw); if(ret == Success) portPriv->isOn = XV_ON; @@ -839,7 +840,8 @@ xf86XVReputVideo(XvPortRecPrivatePtr portPriv) WinBox.x1, WinBox.y1, portPriv->vid_w, portPriv->vid_h, portPriv->drw_w, portPriv->drw_h, - &ClipRegion, portPriv->DevPriv.ptr); + &ClipRegion, portPriv->DevPriv.ptr, + portPriv->pDraw); if(ret == Success) portPriv->isOn = XV_ON; @@ -925,7 +927,8 @@ xf86XVReputImage(XvPortRecPrivatePtr portPriv) ret = (*portPriv->AdaptorRec->ReputImage)(portPriv->pScrn, WinBox.x1, WinBox.y1, - &ClipRegion, portPriv->DevPriv.ptr); + &ClipRegion, portPriv->DevPriv.ptr, + portPriv->pDraw); portPriv->isOn = (ret == Success) ? XV_ON : XV_OFF; @@ -1471,7 +1474,8 @@ xf86XVPutStill( ret = (*portPriv->AdaptorRec->PutStill)(portPriv->pScrn, vid_x, vid_y, WinBox.x1, WinBox.y1, vid_w, vid_h, drw_w, drw_h, - &ClipRegion, portPriv->DevPriv.ptr); + &ClipRegion, portPriv->DevPriv.ptr, + pDraw); if((ret == Success) && (portPriv->AdaptorRec->flags & VIDEO_OVERLAID_STILLS)) { @@ -1599,7 +1603,8 @@ xf86XVGetStill( ret = (*portPriv->AdaptorRec->GetStill)(portPriv->pScrn, vid_x, vid_y, WinBox.x1, WinBox.y1, vid_w, vid_h, drw_w, drw_h, - &ClipRegion, portPriv->DevPriv.ptr); + &ClipRegion, portPriv->DevPriv.ptr, + pDraw); GET_STILL_BAILOUT: @@ -1771,7 +1776,8 @@ xf86XVPutImage( ret = (*portPriv->AdaptorRec->PutImage)(portPriv->pScrn, src_x, src_y, WinBox.x1, WinBox.y1, src_w, src_h, drw_w, drw_h, format->id, data, width, height, - sync, &ClipRegion, portPriv->DevPriv.ptr); + sync, &ClipRegion, portPriv->DevPriv.ptr, + pDraw); if((ret == Success) && (portPriv->AdaptorRec->flags & VIDEO_OVERLAID_IMAGES)) { diff --git a/hw/xfree86/common/xf86xv.h b/hw/xfree86/common/xf86xv.h index 316d6c9e5..fbe60cb48 100644 --- a/hw/xfree86/common/xf86xv.h +++ b/hw/xfree86/common/xf86xv.h @@ -82,19 +82,19 @@ typedef struct { typedef int (* PutVideoFuncPtr)( ScrnInfoPtr pScrn, short vid_x, short vid_y, short drw_x, short drw_y, short vid_w, short vid_h, short drw_w, short drw_h, - RegionPtr clipBoxes, pointer data ); + RegionPtr clipBoxes, pointer data, DrawablePtr pDraw ); typedef int (* PutStillFuncPtr)( ScrnInfoPtr pScrn, short vid_x, short vid_y, short drw_x, short drw_y, short vid_w, short vid_h, short drw_w, short drw_h, - RegionPtr clipBoxes, pointer data ); + RegionPtr clipBoxes, pointer data, DrawablePtr pDraw ); typedef int (* GetVideoFuncPtr)( ScrnInfoPtr pScrn, short vid_x, short vid_y, short drw_x, short drw_y, short vid_w, short vid_h, short drw_w, short drw_h, - RegionPtr clipBoxes, pointer data ); + RegionPtr clipBoxes, pointer data, DrawablePtr pDraw ); typedef int (* GetStillFuncPtr)( ScrnInfoPtr pScrn, short vid_x, short vid_y, short drw_x, short drw_y, short vid_w, short vid_h, short drw_w, short drw_h, - RegionPtr clipBoxes, pointer data ); + RegionPtr clipBoxes, pointer data, DrawablePtr pDraw ); typedef void (* StopVideoFuncPtr)(ScrnInfoPtr pScrn, pointer data, Bool Exit); typedef int (* SetPortAttributeFuncPtr)(ScrnInfoPtr pScrn, Atom attribute, INT32 value, pointer data); @@ -107,9 +107,9 @@ typedef int (* PutImageFuncPtr)( ScrnInfoPtr pScrn, short src_x, short src_y, short drw_x, short drw_y, short src_w, short src_h, short drw_w, short drw_h, int image, unsigned char* buf, short width, short height, Bool Sync, - RegionPtr clipBoxes, pointer data ); + RegionPtr clipBoxes, pointer data, DrawablePtr pDraw ); typedef int (* ReputImageFuncPtr)( ScrnInfoPtr pScrn, short drw_x, short drw_y, - RegionPtr clipBoxes, pointer data ); + RegionPtr clipBoxes, pointer data, DrawablePtr pDraw ); typedef int (*QueryImageAttributesFuncPtr)(ScrnInfoPtr pScrn, int image, unsigned short *width, unsigned short *height, int *pitches, int *offsets); |