Bug #400 (partial): Driver fixes for the dlloader. When using
dlloader, all framebuffer formats except cfb and the overlay modes should work, and r128 and radeon need to be loaded from the ati driver (both issues to be fixed soon). Tested on i740, s3virge, mach64, tdfx, vesa, and vga drivers. elfloader users shouldn't be affected.
This commit is contained in:
parent
54e644ffbb
commit
199620cdc9
|
|
@ -293,7 +293,7 @@ I810SetupForSolidFill(ScrnInfoPtr pScrn, int color, int rop,
|
|||
|
||||
/* Color blit, p166 */
|
||||
pI810->BR[13] = (BR13_SOLID_PATTERN |
|
||||
(XAAPatternROP[rop] << 16) |
|
||||
(XAAGetPatternROP(rop) << 16) |
|
||||
(pScrn->displayWidth * pI810->cpp));
|
||||
pI810->BR[16] = color;
|
||||
}
|
||||
|
|
@ -339,7 +339,7 @@ I810SetupForScreenToScreenCopy(ScrnInfoPtr pScrn, int xdir, int ydir, int rop,
|
|||
if (xdir == -1)
|
||||
pI810->BR[13] |= BR13_RIGHT_TO_LEFT;
|
||||
|
||||
pI810->BR[13] |= XAACopyROP[rop] << 16;
|
||||
pI810->BR[13] |= XAAGetCopyROP(rop) << 16;
|
||||
|
||||
pI810->BR[18] = 0;
|
||||
}
|
||||
|
|
@ -425,7 +425,7 @@ I810SetupForMono8x8PatternFill(ScrnInfoPtr pScrn, int pattx, int patty,
|
|||
pI810->BR[18] = bg;
|
||||
pI810->BR[19] = fg;
|
||||
pI810->BR[13] = (pScrn->displayWidth * pI810->cpp);
|
||||
pI810->BR[13] |= XAAPatternROP[rop] << 16;
|
||||
pI810->BR[13] |= XAAGetPatternROP(rop) << 16;
|
||||
if (bg == -1)
|
||||
pI810->BR[13] |= BR13_MONO_PATN_TRANS;
|
||||
}
|
||||
|
|
@ -489,7 +489,7 @@ I810SetupForScanlineCPUToScreenColorExpandFill(ScrnInfoPtr pScrn,
|
|||
fg, bg, rop, planemask);
|
||||
|
||||
pI810->BR[13] = (pScrn->displayWidth * pI810->cpp);
|
||||
pI810->BR[13] |= XAACopyROP[rop] << 16;
|
||||
pI810->BR[13] |= XAAGetCopyROP(rop) << 16;
|
||||
pI810->BR[13] |= (1 << 27);
|
||||
if (bg == -1)
|
||||
pI810->BR[13] |= BR13_MONO_TRANSPCY;
|
||||
|
|
|
|||
|
|
@ -250,8 +250,8 @@ const char *I810xaaSymbols[] = {
|
|||
"XAACreateInfoRec",
|
||||
"XAADestroyInfoRec",
|
||||
"XAAInit",
|
||||
"XAACopyROP",
|
||||
"XAAPatternROP",
|
||||
"XAAGetCopyROP",
|
||||
"XAAGetPatternROP",
|
||||
NULL
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -392,7 +392,7 @@ I830SetupForSolidFill(ScrnInfoPtr pScrn, int color, int rop,
|
|||
ErrorF("I830SetupForFillRectSolid color: %x rop: %x mask: %x\n",
|
||||
color, rop, planemask);
|
||||
|
||||
pI830->BR[13] = ((XAAPatternROP[rop] << 16) |
|
||||
pI830->BR[13] = ((XAAGetPatternROP(rop) << 16) |
|
||||
(pScrn->displayWidth * pI830->cpp));
|
||||
|
||||
pI830->BR[16] = color;
|
||||
|
|
@ -448,7 +448,7 @@ I830SetupForScreenToScreenCopy(ScrnInfoPtr pScrn, int xdir, int ydir, int rop,
|
|||
xdir, ydir, rop, planemask, transparency_color);
|
||||
|
||||
pI830->BR[13] = (pScrn->displayWidth * pI830->cpp);
|
||||
pI830->BR[13] |= XAACopyROP[rop] << 16;
|
||||
pI830->BR[13] |= XAAGetCopyROP(rop) << 16;
|
||||
|
||||
switch (pScrn->bitsPerPixel) {
|
||||
case 8:
|
||||
|
|
@ -514,7 +514,7 @@ I830SetupForMono8x8PatternFill(ScrnInfoPtr pScrn, int pattx, int patty,
|
|||
pI830->BR[19] = fg;
|
||||
|
||||
pI830->BR[13] = (pScrn->displayWidth * pI830->cpp); /* In bytes */
|
||||
pI830->BR[13] |= XAAPatternROP[rop] << 16;
|
||||
pI830->BR[13] |= XAAGetPatternROP(rop) << 16;
|
||||
if (bg == -1)
|
||||
pI830->BR[13] |= (1 << 28);
|
||||
|
||||
|
|
@ -603,7 +603,7 @@ I830SetupForScanlineCPUToScreenColorExpandFill(ScrnInfoPtr pScrn,
|
|||
|
||||
/* Fill out register values */
|
||||
pI830->BR[13] = (pScrn->displayWidth * pI830->cpp);
|
||||
pI830->BR[13] |= XAACopyROP[rop] << 16;
|
||||
pI830->BR[13] |= XAAGetCopyROP(rop) << 16;
|
||||
if (bg == -1)
|
||||
pI830->BR[13] |= (1 << 29);
|
||||
|
||||
|
|
@ -701,7 +701,7 @@ I830SetupForScanlineImageWrite(ScrnInfoPtr pScrn, int rop,
|
|||
|
||||
/* Fill out register values */
|
||||
pI830->BR[13] = (pScrn->displayWidth * pI830->cpp);
|
||||
pI830->BR[13] |= XAACopyROP[rop] << 16;
|
||||
pI830->BR[13] |= XAAGetCopyROP(rop) << 16;
|
||||
|
||||
switch (pScrn->bitsPerPixel) {
|
||||
case 8:
|
||||
|
|
|
|||
Loading…
Reference in New Issue