summaryrefslogtreecommitdiff
path: root/hw/xfree86
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 /hw/xfree86
parentdc43909219fe2a4d03139638814b89032b2921b9 (diff)
Bump the ABI versions. Due to Glyph privates and the XV update below, thexorg-server-1_0_99_901XORG-7_0_99_901
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.
Diffstat (limited to 'hw/xfree86')
-rw-r--r--hw/xfree86/common/xf86Module.h10
-rw-r--r--hw/xfree86/common/xf86xv.c18
-rw-r--r--hw/xfree86/common/xf86xv.h12
3 files changed, 23 insertions, 17 deletions
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);