summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron Plattner <aplattner@nvidia.com>2006-04-07 18:56:04 +0000
committerAaron Plattner <aplattner@nvidia.com>2006-04-07 18:56:04 +0000
commit2387bfa5ff5ed82f3f732fb9152c1ea95850a914 (patch)
tree17cfc3dde93a0c22044778637be2a72338b71993
parentdc43909219fe2a4d03139638814b89032b2921b9 (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--ChangeLog15
-rw-r--r--hw/xfree86/common/xf86Module.h10
-rw-r--r--hw/xfree86/common/xf86xv.c18
-rw-r--r--hw/xfree86/common/xf86xv.h12
4 files changed, 38 insertions, 17 deletions
diff --git a/ChangeLog b/ChangeLog
index 643fca3e1..2df72e716 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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);