Signed-off-by: Kevin Brace <kevinbr...@gmx.com> --- src/tgui_xaa.c | 545 +++++++++++++++++++++++++++++++-------------------------- 1 file changed, 293 insertions(+), 252 deletions(-)
diff --git a/src/tgui_xaa.c b/src/tgui_xaa.c index f47fab4..fd6f32d 100644 --- a/src/tgui_xaa.c +++ b/src/tgui_xaa.c @@ -20,7 +20,7 @@ * PERFORMANCE OF THIS SOFTWARE. * * Authors: Alan Hourihane, <al...@fairlite.demon.co.uk> - * + * * Trident accelerated options. */ @@ -43,53 +43,79 @@ #include "xaarop.h" static void TridentSync(ScrnInfoPtr pScrn); -static void TridentSetupForDashedLine(ScrnInfoPtr pScrn, int fg, int bg, - int rop, unsigned int planemask, int length, - unsigned char *pattern); +static void TridentSetupForDashedLine(ScrnInfoPtr pScrn, + int fg, int bg, int rop, + unsigned int planemask, + int length, + unsigned char *pattern); static void TridentSubsequentDashedBresenhamLine(ScrnInfoPtr pScrn, - int x, int y, int dmaj, int dmin, int e, - int len, int octant, int phase); + int x, int y, + int dmaj, int dmin, + int e, + int len, + int octant, + int phase); static void TridentSetupForSolidLine(ScrnInfoPtr pScrn, int color, - int rop, unsigned int planemask); + int rop, + unsigned int planemask); static void TridentSubsequentSolidBresenhamLine(ScrnInfoPtr pScrn, - int x, int y, int dmaj, int dmin, int e, - int len, int octant); -static void TridentSubsequentSolidHorVertLine(ScrnInfoPtr pScrn, int x, int y, - int len, int dir); + int x, int y, + int dmaj, int dmin, + int e, int len, + int octant); +static void TridentSubsequentSolidHorVertLine(ScrnInfoPtr pScrn, + int x, int y, + int len, int dir); static void TridentSetupForFillRectSolid(ScrnInfoPtr pScrn, int color, - int rop, unsigned int planemask); -static void TridentSubsequentFillRectSolid(ScrnInfoPtr pScrn, int x, - int y, int w, int h); + int rop, + unsigned int planemask); +static void TridentSubsequentFillRectSolid(ScrnInfoPtr pScrn, + int x, int y, + int w, int h); static void TridentSubsequentScreenToScreenCopy(ScrnInfoPtr pScrn, - int x1, int y1, int x2, - int y2, int w, int h); + int x1, int y1, + int x2, int y2, + int w, int h); static void TridentSetupForScreenToScreenCopy(ScrnInfoPtr pScrn, - int xdir, int ydir, int rop, - unsigned int planemask, - int transparency_color); + int xdir, int ydir, + int rop, + unsigned int planemask, + int transparency_color); static void TridentSetupForMono8x8PatternFill(ScrnInfoPtr pScrn, - int patternx, int patterny, int fg, int bg, - int rop, unsigned int planemask); + int patternx, + int patterny, + int fg, int bg, + int rop, + unsigned int planemask); static void TridentSubsequentMono8x8PatternFillRect(ScrnInfoPtr pScrn, - int patternx, int patterny, int x, int y, - int w, int h); + int patternx, + int patterny, + int x, int y, + int w, int h); #if 0 static void TridentSetupForColor8x8PatternFill(ScrnInfoPtr pScrn, - int patternx, int patterny, - int rop, unsigned int planemask, int trans_col); + int patternx, + int patterny, + int rop, + unsigned int planemask, + int trans_col); static void TridentSubsequentColor8x8PatternFillRect(ScrnInfoPtr pScrn, - int patternx, int patterny, int x, int y, - int w, int h); + int patternx, + int patterny, + int x, int y, + int w, int h); #endif #if 0 static void TridentSetupForScanlineCPUToScreenColorExpandFill( - ScrnInfoPtr pScrn, - int fg, int bg, int rop, - unsigned int planemask); + ScrnInfoPtr pScrn, + int fg, int bg, int rop, + unsigned int planemask); static void TridentSubsequentScanlineCPUToScreenColorExpandFill( - ScrnInfoPtr pScrn, int x, - int y, int w, int h, int skipleft); -static void TridentSubsequentColorExpandScanline(ScrnInfoPtr pScrn, int bufno); + ScrnInfoPtr pScrn, int x, + int y, int w, int h, int skipleft); +static void TridentSubsequentColorExpandScanline( + ScrnInfoPtr pScrn, + int bufno); #endif @@ -104,13 +130,14 @@ TridentInitializeAccelerator(ScrnInfoPtr pScrn) CHECKCLIPPING; if ( (pTrident->Chipset == PROVIDIA9682) || - (pTrident->Chipset == CYBER9385) || - (pTrident->Chipset == CYBER9382) ) - pTrident->EngineOperation |= 0x100; /* Disable Clipping */ + (pTrident->Chipset == CYBER9385) || + (pTrident->Chipset == CYBER9382) ) + pTrident->EngineOperation |= 0x100; /* Disable Clipping */ TGUI_OPERMODE(pTrident->EngineOperation); - pTrident->PatternLocation = pScrn->displayWidth*pScrn->bitsPerPixel/8; + pTrident->PatternLocation = pScrn->displayWidth * + pScrn->bitsPerPixel/8; } #endif @@ -123,95 +150,102 @@ TridentAccelInit(ScreenPtr pScreen) TRIDENTPtr pTrident = TRIDENTPTR(pScrn); if (pTrident->NoAccel) - return FALSE; + return FALSE; pTrident->AccelInfoRec = infoPtr = XAACreateInfoRec(); if (!infoPtr) return FALSE; if (!(pTrident->Chipset == TGUI9440AGi && pScrn->bitsPerPixel > 8)) - infoPtr->Flags = PIXMAP_CACHE | - OFFSCREEN_PIXMAPS | - LINEAR_FRAMEBUFFER; + infoPtr->Flags = PIXMAP_CACHE | + OFFSCREEN_PIXMAPS | + LINEAR_FRAMEBUFFER; pTrident->InitializeAccelerator = TridentInitializeAccelerator; TridentInitializeAccelerator(pScrn); infoPtr->PixmapCacheFlags = DO_NOT_BLIT_STIPPLES; - + infoPtr->Sync = TridentSync; infoPtr->SolidLineFlags = NO_PLANEMASK; infoPtr->SetupForSolidLine = TridentSetupForSolidLine; infoPtr->SolidBresenhamLineErrorTermBits = 12; - infoPtr->SubsequentSolidBresenhamLine = TridentSubsequentSolidBresenhamLine; - infoPtr->SubsequentSolidHorVertLine = TridentSubsequentSolidHorVertLine; + infoPtr->SubsequentSolidBresenhamLine = + TridentSubsequentSolidBresenhamLine; + infoPtr->SubsequentSolidHorVertLine = + TridentSubsequentSolidHorVertLine; infoPtr->DashedLineFlags = LINE_PATTERN_MSBFIRST_LSBJUSTIFIED | - NO_PLANEMASK | - LINE_PATTERN_POWER_OF_2_ONLY; + NO_PLANEMASK | + LINE_PATTERN_POWER_OF_2_ONLY; infoPtr->SetupForDashedLine = TridentSetupForDashedLine; infoPtr->DashedBresenhamLineErrorTermBits = 12; infoPtr->SubsequentDashedBresenhamLine = - TridentSubsequentDashedBresenhamLine; + TridentSubsequentDashedBresenhamLine; infoPtr->DashPatternMaxLength = 16; infoPtr->SolidFillFlags = NO_PLANEMASK; infoPtr->SetupForSolidFill = TridentSetupForFillRectSolid; infoPtr->SubsequentSolidFillRect = TridentSubsequentFillRectSolid; - + infoPtr->ScreenToScreenCopyFlags = NO_PLANEMASK; - if (!HAS_DST_TRANS) infoPtr->ScreenToScreenCopyFlags |= NO_TRANSPARENCY; + if (!HAS_DST_TRANS) + infoPtr->ScreenToScreenCopyFlags |= NO_TRANSPARENCY; infoPtr->SetupForScreenToScreenCopy = - TridentSetupForScreenToScreenCopy; + TridentSetupForScreenToScreenCopy; infoPtr->SubsequentScreenToScreenCopy = - TridentSubsequentScreenToScreenCopy; + TridentSubsequentScreenToScreenCopy; if (!((pTrident->Chipset == PROVIDIA9685 || - pTrident->Chipset == CYBER9388) && pScrn->bitsPerPixel > 8)) { - infoPtr->Mono8x8PatternFillFlags = NO_PLANEMASK | - HARDWARE_PATTERN_SCREEN_ORIGIN | - BIT_ORDER_IN_BYTE_MSBFIRST; - - infoPtr->SetupForMono8x8PatternFill = - TridentSetupForMono8x8PatternFill; - infoPtr->SubsequentMono8x8PatternFillRect = - TridentSubsequentMono8x8PatternFillRect; + pTrident->Chipset == CYBER9388) && + pScrn->bitsPerPixel > 8)) { + infoPtr->Mono8x8PatternFillFlags = NO_PLANEMASK | + HARDWARE_PATTERN_SCREEN_ORIGIN | + BIT_ORDER_IN_BYTE_MSBFIRST; + + infoPtr->SetupForMono8x8PatternFill = + TridentSetupForMono8x8PatternFill; + infoPtr->SubsequentMono8x8PatternFillRect = + TridentSubsequentMono8x8PatternFillRect; } #if 0 /* Not convinced this works 100% yet */ infoPtr->Color8x8PatternFillFlags = NO_PLANEMASK | - HARDWARE_PATTERN_SCREEN_ORIGIN | - BIT_ORDER_IN_BYTE_MSBFIRST; + HARDWARE_PATTERN_SCREEN_ORIGIN | + BIT_ORDER_IN_BYTE_MSBFIRST; - if (!HAS_DST_TRANS) infoPtr->Color8x8PatternFillFlags |= NO_TRANSPARENCY; + if (!HAS_DST_TRANS) + infoPtr->Color8x8PatternFillFlags |= NO_TRANSPARENCY; infoPtr->SetupForColor8x8PatternFill = - TridentSetupForColor8x8PatternFill; + TridentSetupForColor8x8PatternFill; infoPtr->SubsequentColor8x8PatternFillRect = - TridentSubsequentColor8x8PatternFillRect; + TridentSubsequentColor8x8PatternFillRect; #endif #if 0 /* This is buggy, it only seems to work 95% of the time.... */ { - infoPtr->ScanlineCPUToScreenColorExpandFillFlags = NO_PLANEMASK | - NO_TRANSPARENCY | - BIT_ORDER_IN_BYTE_MSBFIRST; - - pTrident->XAAScanlineColorExpandBuffers[0] = - xnfalloc(((pScrn->virtualX + 63)) *4* (pScrn->bitsPerPixel / 8)); - - infoPtr->NumScanlineColorExpandBuffers = 1; - infoPtr->ScanlineColorExpandBuffers = - pTrident->XAAScanlineColorExpandBuffers; - - infoPtr->SetupForScanlineCPUToScreenColorExpandFill = - TridentSetupForScanlineCPUToScreenColorExpandFill; - infoPtr->SubsequentScanlineCPUToScreenColorExpandFill = - TridentSubsequentScanlineCPUToScreenColorExpandFill; - infoPtr->SubsequentColorExpandScanline = - TridentSubsequentColorExpandScanline; + infoPtr->ScanlineCPUToScreenColorExpandFillFlags = + NO_PLANEMASK | + NO_TRANSPARENCY | + BIT_ORDER_IN_BYTE_MSBFIRST; + + pTrident->XAAScanlineColorExpandBuffers[0] = + xnfalloc(((pScrn->virtualX + 63)) *4* + (pScrn->bitsPerPixel / 8)); + + infoPtr->NumScanlineColorExpandBuffers = 1; + infoPtr->ScanlineColorExpandBuffers = + pTrident->XAAScanlineColorExpandBuffers; + + infoPtr->SetupForScanlineCPUToScreenColorExpandFill = + TridentSetupForScanlineCPUToScreenColorExpandFill; + infoPtr->SubsequentScanlineCPUToScreenColorExpandFill = + TridentSubsequentScanlineCPUToScreenColorExpandFill; + infoPtr->SubsequentColorExpandScanline = + TridentSubsequentColorExpandScanline; } #endif @@ -232,21 +266,21 @@ TridentSync(ScrnInfoPtr pScrn) TGUI_OPERMODE(pTrident->EngineOperation); for (;;) { - BLTBUSY(busy); - if (busy != GE_BUSY) { - return; - } - count++; - if (count == 10000000) { - ErrorF("Trident: BitBLT engine time-out.\n"); - count = 9990000; - timeout++; - if (timeout == 8) { - /* Reset BitBLT Engine */ - TGUI_STATUS(0x00); - return; - } - } + BLTBUSY(busy); + if (busy != GE_BUSY) { + return; + } + count++; + if (count == 10000000) { + ErrorF("Trident: BitBLT engine time-out.\n"); + count = 9990000; + timeout++; + if (timeout == 8) { + /* Reset BitBLT Engine */ + TGUI_STATUS(0x00); + return; + } + } } } @@ -258,28 +292,28 @@ TridentClearSync(ScrnInfoPtr pScrn) int busy; for (;;) { - BLTBUSY(busy); - if (busy != GE_BUSY) { - return; - } - count++; - if (count == 10000000) { - ErrorF("Trident: BitBLT engine time-out.\n"); - count = 9990000; - timeout++; - if (timeout == 8) { - /* Reset BitBLT Engine */ - TGUI_STATUS(0x00); - return; - } - } + BLTBUSY(busy); + if (busy != GE_BUSY) { + return; + } + count++; + if (count == 10000000) { + ErrorF("Trident: BitBLT engine time-out.\n"); + count = 9990000; + timeout++; + if (timeout == 8) { + /* Reset BitBLT Engine */ + TGUI_STATUS(0x00); + return; + } + } } } static void TridentSetupForScreenToScreenCopy(ScrnInfoPtr pScrn, - int xdir, int ydir, int rop, - unsigned int planemask, int transparency_color) + int xdir, int ydir, int rop, + unsigned int planemask, int transparency_color) { TRIDENTPtr pTrident = TRIDENTPTR(pScrn); int dst = 0; @@ -290,32 +324,35 @@ TridentSetupForScreenToScreenCopy(ScrnInfoPtr pScrn, REPLICATE(transparency_color); if (transparency_color != -1) { - if (pTrident->Chipset == PROVIDIA9685 || - pTrident->Chipset == CYBER9388) { - dst |= 1<<16; - } else { - TGUI_OPERMODE(pTrident->EngineOperation | DST_ENABLE); - } - TGUI_CKEY(transparency_color); + if (pTrident->Chipset == PROVIDIA9685 || + pTrident->Chipset == CYBER9388) { + dst |= 1<<16; + } else { + TGUI_OPERMODE(pTrident->EngineOperation | DST_ENABLE); + } + TGUI_CKEY(transparency_color); } - TGUI_DRAWFLAG(pTrident->DrawFlag | pTrident->BltScanDirection | SCR2SCR | dst); + TGUI_DRAWFLAG(pTrident->DrawFlag | pTrident->BltScanDirection | + SCR2SCR | dst); TGUI_FMIX(XAAGetCopyROP(rop)); } static void -TridentSubsequentScreenToScreenCopy(ScrnInfoPtr pScrn, int x1, int y1, - int x2, int y2, int w, int h) +TridentSubsequentScreenToScreenCopy(ScrnInfoPtr pScrn, + int x1, int y1, + int x2, int y2, + int w, int h) { TRIDENTPtr pTrident = TRIDENTPTR(pScrn); if (pTrident->BltScanDirection & YNEG) { y1 = y1 + h - 1; - y2 = y2 + h - 1; + y2 = y2 + h - 1; } if (pTrident->BltScanDirection & XNEG) { - x1 = x1 + w - 1; - x2 = x2 + w - 1; + x1 = x1 + w - 1; + x2 = x2 + w - 1; } TGUI_SRC_XY(x1,y1); TGUI_DEST_XY(x2,y2); @@ -326,7 +363,7 @@ TridentSubsequentScreenToScreenCopy(ScrnInfoPtr pScrn, int x1, int y1, static void TridentSetupForSolidLine(ScrnInfoPtr pScrn, int color, - int rop, unsigned int planemask) + int rop, unsigned int planemask) { TRIDENTPtr pTrident = TRIDENTPTR(pScrn); @@ -334,10 +371,10 @@ TridentSetupForSolidLine(ScrnInfoPtr pScrn, int color, REPLICATE(color); TGUI_FMIX(XAAGetPatternROP(rop)); if (pTrident->Chipset == PROVIDIA9685 || - pTrident->Chipset == CYBER9388) { - TGUI_FPATCOL(color); + pTrident->Chipset == CYBER9388) { + TGUI_FPATCOL(color); } else { - TGUI_FCOLOUR(color); + TGUI_FCOLOUR(color); } } @@ -361,19 +398,19 @@ TridentSubsequentSolidBresenhamLine( ScrnInfoPtr pScrn, static void TridentSubsequentSolidHorVertLine( - ScrnInfoPtr pScrn, - int x, int y, - int len, int dir + ScrnInfoPtr pScrn, + int x, int y, + int len, int dir ){ TRIDENTPtr pTrident = TRIDENTPTR(pScrn); TGUI_DRAWFLAG(pTrident->DrawFlag | SOLIDFILL); if (dir == DEGREES_0) { - TGUI_DIM_XY(len,1); - TGUI_DEST_XY(x,y); + TGUI_DIM_XY(len,1); + TGUI_DEST_XY(x,y); } else { - TGUI_DIM_XY(1,len); - TGUI_DEST_XY(x,y); + TGUI_DIM_XY(1,len); + TGUI_DEST_XY(x,y); } TGUI_COMMAND(GE_BLT); TridentSync(pScrn); @@ -381,11 +418,11 @@ TridentSubsequentSolidHorVertLine( void TridentSetupForDashedLine( - ScrnInfoPtr pScrn, - int fg, int bg, int rop, - unsigned int planemask, - int length, - unsigned char *pattern + ScrnInfoPtr pScrn, + int fg, int bg, int rop, + unsigned int planemask, + int length, + unsigned char *pattern ){ TRIDENTPtr pTrident = TRIDENTPTR(pScrn); CARD32 *DashPattern = (CARD32*)pattern; @@ -393,31 +430,31 @@ TridentSetupForDashedLine( NiceDashPattern = *((CARD16 *)pattern) & ((1<<length) - 1); switch(length) { - case 2: NiceDashPattern |= NiceDashPattern << 2; - case 4: NiceDashPattern |= NiceDashPattern << 4; - case 8: NiceDashPattern |= NiceDashPattern << 8; + case 2: NiceDashPattern |= NiceDashPattern << 2; + case 4: NiceDashPattern |= NiceDashPattern << 4; + case 8: NiceDashPattern |= NiceDashPattern << 8; } pTrident->BltScanDirection = 0; REPLICATE(fg); if (pTrident->Chipset == PROVIDIA9685 || - pTrident->Chipset == CYBER9388) { - TGUI_FPATCOL(fg); - if (bg == -1) { - pTrident->BltScanDirection |= 1<<12; - TGUI_BPATCOL(~fg); - } else { - REPLICATE(bg); - TGUI_BPATCOL(bg); - } + pTrident->Chipset == CYBER9388) { + TGUI_FPATCOL(fg); + if (bg == -1) { + pTrident->BltScanDirection |= 1<<12; + TGUI_BPATCOL(~fg); + } else { + REPLICATE(bg); + TGUI_BPATCOL(bg); + } } else { - TGUI_FCOLOUR(fg); - if (bg == -1) { - pTrident->BltScanDirection |= 1<<12; - TGUI_BCOLOUR(~fg); - } else { - REPLICATE(bg); - TGUI_BCOLOUR(bg); - } + TGUI_FCOLOUR(fg); + if (bg == -1) { + pTrident->BltScanDirection |= 1<<12; + TGUI_BCOLOUR(~fg); + } else { + REPLICATE(bg); + TGUI_BCOLOUR(bg); + } } TGUI_FMIX(XAAGetPatternROP(rop)); pTrident->LinePattern = NiceDashPattern; @@ -426,7 +463,10 @@ TridentSetupForDashedLine( void TridentSubsequentDashedBresenhamLine(ScrnInfoPtr pScrn, - int x, int y, int dmaj, int dmin, int e, int len, int octant, int phase) + int x, int y, + int dmaj, int dmin, + int e, int len, + int octant, int phase) { TRIDENTPtr pTrident = TRIDENTPTR(pScrn); int tmp = pTrident->BltScanDirection; @@ -436,7 +476,7 @@ TridentSubsequentDashedBresenhamLine(ScrnInfoPtr pScrn, if (octant & YDECREASING) tmp |= YNEG; TGUI_STYLE(((pTrident->LinePattern >> phase) | - (pTrident->LinePattern << (16-phase))) & 0x0000FFFF); + (pTrident->LinePattern << (16-phase))) & 0x0000FFFF); TGUI_DRAWFLAG(pTrident->DrawFlag | STENCIL | tmp); TGUI_SRC_XY(dmin-dmaj,dmin); TGUI_DEST_XY(x,y); @@ -447,7 +487,7 @@ TridentSubsequentDashedBresenhamLine(ScrnInfoPtr pScrn, static void TridentSetupForFillRectSolid(ScrnInfoPtr pScrn, int color, - int rop, unsigned int planemask) + int rop, unsigned int planemask) { TRIDENTPtr pTrident = TRIDENTPTR(pScrn); int drawflag = 0; @@ -455,17 +495,18 @@ TridentSetupForFillRectSolid(ScrnInfoPtr pScrn, int color, REPLICATE(color); TGUI_FMIX(XAAGetPatternROP(rop)); if (pTrident->Chipset == PROVIDIA9685 || - pTrident->Chipset == CYBER9388) { - TGUI_FPATCOL(color); + pTrident->Chipset == CYBER9388) { + TGUI_FPATCOL(color); } else { - drawflag |= PATMONO; - TGUI_FCOLOUR(color); + drawflag |= PATMONO; + TGUI_FCOLOUR(color); } TGUI_DRAWFLAG(pTrident->DrawFlag | SOLIDFILL | drawflag); } static void -TridentSubsequentFillRectSolid(ScrnInfoPtr pScrn, int x, int y, int w, int h) +TridentSubsequentFillRectSolid(ScrnInfoPtr pScrn, + int x, int y, int w, int h) { TRIDENTPtr pTrident = TRIDENTPTR(pScrn); @@ -477,84 +518,84 @@ TridentSubsequentFillRectSolid(ScrnInfoPtr pScrn, int x, int y, int w, int h) #if 0 static void MoveDWORDS( - register CARD32* dest, - register CARD32* src, - register int dwords ) + register CARD32* dest, + register CARD32* src, + register int dwords ) { - while(dwords & ~0x03) { - *dest = *src; - *(dest + 1) = *(src + 1); - *(dest + 2) = *(src + 2); - *(dest + 3) = *(src + 3); - src += 4; - dest += 4; - dwords -= 4; - } - if (!dwords) return; - *dest = *src; - dest += 1; - src += 1; - if (dwords == 1) return; - *dest = *src; - dest += 1; - src += 1; - if (dwords == 2) return; - *dest = *src; - dest += 1; - src += 1; + while(dwords & ~0x03) { + *dest = *src; + *(dest + 1) = *(src + 1); + *(dest + 2) = *(src + 2); + *(dest + 3) = *(src + 3); + src += 4; + dest += 4; + dwords -= 4; + } + if (!dwords) return; + *dest = *src; + dest += 1; + src += 1; + if (dwords == 1) return; + *dest = *src; + dest += 1; + src += 1; + if (dwords == 2) return; + *dest = *src; + dest += 1; + src += 1; } #endif static void TridentSetupForMono8x8PatternFill(ScrnInfoPtr pScrn, - int patternx, int patterny, - int fg, int bg, int rop, - unsigned int planemask) + int patternx, int patterny, + int fg, int bg, int rop, + unsigned int planemask) { TRIDENTPtr pTrident = TRIDENTPTR(pScrn); int drawflag = 0; REPLICATE(fg); if (pTrident->Chipset == PROVIDIA9685 || - pTrident->Chipset == CYBER9388) - TGUI_FPATCOL(fg); + pTrident->Chipset == CYBER9388) + TGUI_FPATCOL(fg); else - TGUI_FCOLOUR(fg); + TGUI_FCOLOUR(fg); if (bg == -1) { - drawflag |= 1<<12; - if (pTrident->Chipset == PROVIDIA9685 || - pTrident->Chipset == CYBER9388) - TGUI_BPATCOL(~fg); - else - TGUI_BCOLOUR(~fg); + drawflag |= 1<<12; + if (pTrident->Chipset == PROVIDIA9685 || + pTrident->Chipset == CYBER9388) + TGUI_BPATCOL(~fg); + else + TGUI_BCOLOUR(~fg); } else { - REPLICATE(bg); - if (pTrident->Chipset == PROVIDIA9685 || - pTrident->Chipset == CYBER9388) - TGUI_BPATCOL(bg); - else - TGUI_BCOLOUR(bg); + REPLICATE(bg); + if (pTrident->Chipset == PROVIDIA9685 || + pTrident->Chipset == CYBER9388) + TGUI_BPATCOL(bg); + else + TGUI_BCOLOUR(bg); } if (pTrident->Chipset == PROVIDIA9685 || - pTrident->Chipset == CYBER9388) { - drawflag |= 7<<18; + pTrident->Chipset == CYBER9388) { + drawflag |= 7<<18; } TGUI_DRAWFLAG(pTrident->DrawFlag | PAT2SCR | PATMONO | drawflag); TGUI_PATLOC(((patterny * pTrident->PatternLocation) + - (patternx * pScrn->bitsPerPixel / 8)) >> 6); + (patternx * pScrn->bitsPerPixel / 8)) >> 6); TGUI_FMIX(XAAGetPatternROP(rop)); } static void TridentSubsequentMono8x8PatternFillRect(ScrnInfoPtr pScrn, - int patternx, int patterny, - int x, int y, - int w, int h) + int patternx, int patterny, + int x, int y, + int w, int h) { TRIDENTPtr pTrident = TRIDENTPTR(pScrn); - + TGUI_DEST_XY(x,y); TGUI_DIM_XY(w,h); TGUI_COMMAND(GE_BLT); @@ -564,39 +605,39 @@ TridentSubsequentMono8x8PatternFillRect(ScrnInfoPtr pScrn, #if 0 static void TridentSetupForColor8x8PatternFill(ScrnInfoPtr pScrn, - int patternx, int patterny, - int rop, - unsigned int planemask, - int transparency_color) + int patternx, int patterny, + int rop, + unsigned int planemask, + int transparency_color) { TRIDENTPtr pTrident = TRIDENTPTR(pScrn); int drawflag = 0; REPLICATE(transparency_color); if (transparency_color != -1) { - if (pTrident->Chipset == PROVIDIA9685 || - pTrident->Chipset == CYBER9388) { - drawflag |= 1<<16; - } else { - TGUI_OPERMODE(pTrident->EngineOperation | DST_ENABLE); - } - TGUI_CKEY(transparency_color); + if (pTrident->Chipset == PROVIDIA9685 || + pTrident->Chipset == CYBER9388) { + drawflag |= 1<<16; + } else { + TGUI_OPERMODE(pTrident->EngineOperation | DST_ENABLE); + } + TGUI_CKEY(transparency_color); } TGUI_DRAWFLAG(pTrident->DrawFlag | PAT2SCR | drawflag); TGUI_PATLOC(((patterny * pTrident->PatternLocation) + - (patternx * pScrn->bitsPerPixel / 8)) >> 6); + (patternx * pScrn->bitsPerPixel / 8)) >> 6); TGUI_FMIX(XAAGetPatternROP(rop)); } static void TridentSubsequentColor8x8PatternFillRect(ScrnInfoPtr pScrn, - int patternx, int patterny, - int x, int y, - int w, int h) + int patternx, int patterny, + int x, int y, + int w, int h) { TRIDENTPtr pTrident = TRIDENTPTR(pScrn); - + TGUI_DEST_XY(x,y); TGUI_DIM_XY(w,h); TGUI_COMMAND(GE_BLT); @@ -607,10 +648,10 @@ TridentSubsequentColor8x8PatternFillRect(ScrnInfoPtr pScrn, #if 0 static void TridentSetupForScanlineCPUToScreenColorExpandFill( - ScrnInfoPtr pScrn, - int fg, int bg, - int rop, - unsigned int planemask + ScrnInfoPtr pScrn, + int fg, int bg, + int rop, + unsigned int planemask ){ TRIDENTPtr pTrident = TRIDENTPTR(pScrn); int drawflag = SRCMONO; @@ -618,11 +659,11 @@ TridentSetupForScanlineCPUToScreenColorExpandFill( REPLICATE(fg); TGUI_FCOLOUR(fg); if (bg == -1) { - drawflag |= 1<<12; - TGUI_BCOLOUR(~fg); + drawflag |= 1<<12; + TGUI_BCOLOUR(~fg); } else { - REPLICATE(bg); - TGUI_BCOLOUR(bg); + REPLICATE(bg); + TGUI_BCOLOUR(bg); } TGUI_SRC_XY(0,0); @@ -632,9 +673,9 @@ TridentSetupForScanlineCPUToScreenColorExpandFill( static void TridentSubsequentScanlineCPUToScreenColorExpandFill( - ScrnInfoPtr pScrn, - int x, int y, int w, int h, - int skipleft + ScrnInfoPtr pScrn, + int x, int y, int w, int h, + int skipleft ){ TRIDENTPtr pTrident = TRIDENTPTR(pScrn); pTrident->dwords = (w + 31) >> 5; @@ -656,15 +697,15 @@ TridentSubsequentColorExpandScanline(ScrnInfoPtr pScrn, int bufno) infoRec = GET_XAAINFORECPTR_FROM_SCRNINFOPTR(pScrn); MoveDWORDS((CARD32 *)pTrident->FbBase, - (CARD32 *)pTrident->XAAScanlineColorExpandBuffers[0], - pTrident->dwords); + (CARD32 *)pTrident->XAAScanlineColorExpandBuffers[0], + pTrident->dwords); pTrident->h--; TridentSync(pScrn); if (pTrident->h) { - TGUI_DEST_XY(pTrident->x,pTrident->y++); - TGUI_DIM_XY(pTrident->w,1); - TGUI_COMMAND(GE_BLT); + TGUI_DEST_XY(pTrident->x,pTrident->y++); + TGUI_DIM_XY(pTrident->w,1); + TGUI_COMMAND(GE_BLT); } } #endif -- 2.7.4 _______________________________________________ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: https://lists.x.org/mailman/listinfo/xorg-devel