summaryrefslogtreecommitdiff
path: root/src/i810_video.c
diff options
context:
space:
mode:
authorEric Anholt <anholt@freebsd.org>2004-06-16 09:23:18 +0000
committerEric Anholt <anholt@freebsd.org>2004-06-16 09:23:18 +0000
commitc5b1972b50a6dbe57c67d3cc88ae010386b908a6 (patch)
tree932a901b031e8e68c15870965a99f571a73301c3 /src/i810_video.c
parent41eba03d0d62fe03a7b437c9c4914016c3125141 (diff)
DRI XFree86-4_3_99_12-merge importDRI-XFree86-4_3_99_12-merge
Diffstat (limited to 'src/i810_video.c')
-rw-r--r--src/i810_video.c34
1 files changed, 13 insertions, 21 deletions
diff --git a/src/i810_video.c b/src/i810_video.c
index 8d2bdc9a..2855178c 100644
--- a/src/i810_video.c
+++ b/src/i810_video.c
@@ -23,7 +23,7 @@ OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
THE USE OR OTHER DEALINGS IN THE SOFTWARE.
**************************************************************************/
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/i810/i810_video.c,v 1.26 2003/11/10 18:22:22 tsi Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/i810/i810_video.c,v 1.24 2003/09/08 14:25:29 eich Exp $ */
/*
* i810_video.c: i810 Xv driver. Based on the mga Xv driver by Mark Vojkovich.
@@ -420,7 +420,7 @@ I810SetupImageVideo(ScreenPtr pScreen)
pPriv->currentBuf = 0;
/* gotta uninit this someplace */
- REGION_NULL(pScreen, &pPriv->clip);
+ REGION_INIT(pScreen, &pPriv->clip, NullBox, 0);
pI810->adaptor = adapt;
@@ -765,9 +765,9 @@ I810DisplayVideo(
} else {
overlay->OV0CONF = 0; /* two 720 pixel line buffers */
}
-
+
overlay->SHEIGHT = height | (height << 15);
- overlay->DWINPOS = (dstBox->y1 << 16) | (dstBox->x1);
+ overlay->DWINPOS = (dstBox->y1 << 16) | dstBox->x1;
overlay->DWINSZ = ((dstBox->y2 - dstBox->y1) << 16) |
(dstBox->x2 - dstBox->x1);
@@ -991,18 +991,14 @@ I810PutImage(
dstBox.y2 = drw_y + drw_h;
I810ClipVideo(&dstBox, &x1, &x2, &y1, &y2,
- REGION_EXTENTS(pScrn->pScreen, clipBoxes), width, height);
-
+ REGION_EXTENTS(pScreen, clipBoxes), width, height);
+
if((x1 >= x2) || (y1 >= y2))
return Success;
- /*
- * Fix for 4 pixel granularity of AdjustFrame
- * unless boarder is clipped by frame
- */
- dstBox.x1 -= (pScrn->frameX0 &
- ((dstBox.x1 == pScrn->frameX0) ? ~0x0UL : ~0x3UL));
- dstBox.x2 -= (pScrn->frameX0 & ~0x3);
- dstBox.y1 -= pScrn->frameY0;
+
+ dstBox.x1 -= pScrn->frameX0;
+ dstBox.x2 -= pScrn->frameX0;
+ dstBox.y1 -= pScrn->frameY0;
dstBox.y2 -= pScrn->frameY0;
switch(id) {
@@ -1083,6 +1079,7 @@ I810PutImage(
xf86XVFillKeyHelper(pScrn->pScreen, pPriv->colorKey, clipBoxes);
}
+
I810DisplayVideo(pScrn, id, width, height, dstPitch,
x1, y1, x2, y2, &dstBox, src_w, src_h, drw_w, drw_h);
@@ -1339,13 +1336,8 @@ I810DisplaySurface(
REGION_EXTENTS(screenInfo.screens[0], clipBoxes),
surface->width, surface->height);
- /*
- * Fix for 4 pixel granularity of AdjustFrame
- * unless boarder is clipped by frame
- */
- dstBox.x1 -= (pScrn->frameX0 &
- ((dstBox.x1 == pScrn->frameX0) ? ~0x0UL : ~0x3UL));
- dstBox.x2 -= (pScrn->frameX0 & ~0x3);
+ dstBox.x1 -= pScrn->frameX0;
+ dstBox.x2 -= pScrn->frameX0;
dstBox.y1 -= pScrn->frameY0;
dstBox.y2 -= pScrn->frameY0;