diff options
author | Aaron Plattner <aplattner@nvidia.com> | 2006-04-07 18:56:04 +0000 |
---|---|---|
committer | Aaron Plattner <aplattner@nvidia.com> | 2006-04-07 18:56:04 +0000 |
commit | 2387bfa5ff5ed82f3f732fb9152c1ea95850a914 (patch) | |
tree | 17cfc3dde93a0c22044778637be2a72338b71993 | |
parent | dc43909219fe2a4d03139638814b89032b2921b9 (diff) |
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.
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.
-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); |