136. Fix bug that prevented fbman from using the last partial scanline of a

Mach64 framebuffer (Marc La France).
135. Make ATI Mach64 FIFO cache integrity testing optional (Marc La
    France).
134. Export ATI Mach64 hardware overlay as an XVideo adaptor (derived from
    GATOS project, Egbert Eich, Marc La France).
133. Reorganise ATI Mach64 support into separate source files (Marc La
    France).
132. Refine atimisc's decoding of the panel mode on server entry in an
    attempt to reduce the effect of atyfb bugs (Marc La France).
131. Make Rage128 and Radeon XVideo available even when 2D acceleration is
    disabled (Marc La France).
130. There is no longer any need to require hardware cursors during Rage128
    and Radeon XVideo displays (Marc La France).
129. Initialise v4l's XVideo adaptors last (Marc La France).
128. Reduce cut&paste effects by adding more helpers to Xv (derived from
    #5645, Björn Augustsson, Marc La France).
127. Centralise a region comparison primitive into 'mi' and use it instead
    of local definitions throughout the server (Marc La France).
126. DPMSExtension & XvExtension driver cleanups (Marc La France).
This commit is contained in:
Marc Aurele La France 2003-04-23 21:51:18 +00:00
parent 870d0f8752
commit 544ee9bb7a
2 changed files with 6 additions and 66 deletions

View File

@ -58,7 +58,7 @@ THE USE OR OTHER DEALINGS IN THE SOFTWARE.
**************************************************************************/
/* $XFree86$ */
/* $XFree86: xc/programs/Xserver/hw/kdrive/i810/i810_video.c,v 1.1tsi Exp $ */
/*
* i810_video.c: i810 KDrive Xv driver.
@ -436,36 +436,6 @@ i810SetupImageVideo(ScreenPtr pScreen)
}
static Bool
RegionsEqual(RegionPtr A, RegionPtr B)
{
int *dataA, *dataB;
int num;
num = REGION_NUM_RECTS(A);
if(num != REGION_NUM_RECTS(B))
return FALSE;
if((A->extents.x1 != B->extents.x1) ||
(A->extents.x2 != B->extents.x2) ||
(A->extents.y1 != B->extents.y1) ||
(A->extents.y2 != B->extents.y2))
return FALSE;
dataA = (int*)REGION_RECTS(A);
dataB = (int*)REGION_RECTS(B);
while(num--) {
if((dataA[0] != dataB[0]) || (dataA[1] != dataB[1]))
return FALSE;
dataA += 2;
dataB += 2;
}
return TRUE;
}
/* I810ClipVideo -
Takes the dst box in standard X BoxRec form (top and left
@ -1056,8 +1026,8 @@ i810PutImage(
}
/* update cliplist */
if(!RegionsEqual(&pPriv->clip, clipBoxes)) {
REGION_COPY(pScreen, &pPriv->clip, clipBoxes);
if(!REGION_EQUAL(screen->pScreen, &pPriv->clip, clipBoxes)) {
REGION_COPY(screen->pScreen, &pPriv->clip, clipBoxes);
i810FillBoxSolid(screen, REGION_NUM_RECTS(clipBoxes),
REGION_RECTS(clipBoxes),
pPriv->colorKey, GXcopy, ~0);

View File

@ -19,7 +19,7 @@
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $XFree86: xc/programs/Xserver/hw/kdrive/mach64/mach64video.c,v 1.8 2002/10/03 22:08:53 keithp Exp $ */
/* $XFree86: xc/programs/Xserver/hw/kdrive/mach64/mach64video.c,v 1.9tsi Exp $ */
#include "mach64.h"
#include "Xv.h"
@ -330,36 +330,6 @@ mach64CopyPlanarData(KdScreenInfo *screen,
}
}
/* I really should stick this in miregion */
static Bool
RegionsEqual(RegionPtr A, RegionPtr B)
{
int *dataA, *dataB;
int num;
num = REGION_NUM_RECTS(A);
if(num != REGION_NUM_RECTS(B))
return FALSE;
if((A->extents.x1 != B->extents.x1) ||
(A->extents.x2 != B->extents.x2) ||
(A->extents.y1 != B->extents.y1) ||
(A->extents.y2 != B->extents.y2))
return FALSE;
dataA = (int*)REGION_RECTS(A);
dataB = (int*)REGION_RECTS(B);
while(num--) {
if((dataA[0] != dataB[0]) || (dataA[1] != dataB[1]))
return FALSE;
dataA += 2;
dataB += 2;
}
return TRUE;
}
static void
mach64PaintRegion (ScreenPtr pScreen, RegionPtr pRgn, Pixel fg)
{
@ -786,7 +756,7 @@ mach64PutImage(KdScreenInfo *screen,
rot_src_w, rot_src_h, rot_drw_w, rot_drw_h);
/* update cliplist */
if (!RegionsEqual (&pPortPriv->clip, clipBoxes))
if (!REGION_EQUAL (screen->pScreen, &pPortPriv->clip, clipBoxes))
{
REGION_COPY (screen->pScreen, &pPortPriv->clip, clipBoxes);
mach64PaintRegion (screen->pScreen, &pPortPriv->clip, pPortPriv->colorKey);
@ -919,7 +889,7 @@ mach64ReputImage (KdScreenInfo *screen,
pOldExtents->y2 == pNewExtents->y2)
{
/* update cliplist */
if (!RegionsEqual (&pPortPriv->clip, clipBoxes))
if (!REGION_EQUAL (screen->pScreen, &pPortPriv->clip, clipBoxes))
{
REGION_COPY (screen->pScreen, &pPortPriv->clip, clipBoxes);
mach64PaintRegion (screen->pScreen, &pPortPriv->clip, pPortPriv->colorKey);