Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 236112
b: refs/heads/master
c: 898fcb9
h: refs/heads/master
v: v3
  • Loading branch information
Javier Martinez Canillas authored and Greg Kroah-Hartman committed Feb 23, 2011
1 parent 5910231 commit e69860d
Show file tree
Hide file tree
Showing 2 changed files with 1 addition and 97 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: cfd6ea0b731d048037ba00b8dd3777a91b9675e0
refs/heads/master: 898fcb98066cfcd6051d61638e7e3a305de34c85
96 changes: 0 additions & 96 deletions trunk/drivers/staging/xgifb/XGI_accel.c
Original file line number Diff line number Diff line change
Expand Up @@ -99,102 +99,6 @@ XGI310Sync(void)
XGI310Idle
}

/* 310/325 series ------------------------------------------------ */

static void
XGI310SetupForScreenToScreenCopy(int xdir, int ydir, int rop,
unsigned int planemask, int trans_color)
{
XGI310SetupDSTColorDepth(xgi_video_info.DstColor);
XGI310SetupSRCPitch(xgi_video_info.video_linelength)
XGI310SetupDSTRect(xgi_video_info.video_linelength, 0xFFF)
if (trans_color != -1) {
XGI310SetupROP(0x0A)
XGI310SetupSRCTrans(trans_color)
XGI310SetupCMDFlag(TRANSPARENT_BITBLT)
} else {
XGI310SetupROP(XGIALUConv[rop])
/* Set command - not needed, both 0 */
/* XGISetupCMDFlag(BITBLT | SRCVIDEO) */
}
XGI310SetupCMDFlag(xgi_video_info.XGI310_AccelDepth)
/* TW: The 310/325 series is smart enough to know the direction */
}

static void
XGI310SubsequentScreenToScreenCopy(int src_x, int src_y, int dst_x, int dst_y,
int width, int height)
{
long srcbase, dstbase;
int mymin, mymax;

srcbase = dstbase = 0;
mymin = min(src_y, dst_y);
mymax = max(src_y, dst_y);

/* Although the chip knows the direction to use
* if the source and destination areas overlap,
* that logic fails if we fiddle with the bitmap
* addresses. Therefore, we check if the source
* and destination blitting areas overlap and
* adapt the bitmap addresses synchronously
* if the coordinates exceed the valid range.
* The the areas do not overlap, we do our
* normal check.
*/
if((mymax - mymin) < height) {
if((src_y >= 2048) || (dst_y >= 2048)) {
srcbase = xgi_video_info.video_linelength * mymin;
dstbase = xgi_video_info.video_linelength * mymin;
src_y -= mymin;
dst_y -= mymin;
}
} else {
if(src_y >= 2048) {
srcbase = xgi_video_info.video_linelength * src_y;
src_y = 0;
}
if(dst_y >= 2048) {
dstbase = xgi_video_info.video_linelength * dst_y;
dst_y = 0;
}
}

XGI310SetupSRCBase(srcbase);
XGI310SetupDSTBase(dstbase);
XGI310SetupRect(width, height)
XGI310SetupSRCXY(src_x, src_y)
XGI310SetupDSTXY(dst_x, dst_y)
XGI310DoCMD
}

static void
XGI310SetupForSolidFill(int color, int rop, unsigned int planemask)
{
XGI310SetupPATFG(color)
XGI310SetupDSTRect(xgi_video_info.video_linelength, 0xFFF)
XGI310SetupDSTColorDepth(xgi_video_info.DstColor);
XGI310SetupROP(XGIPatALUConv[rop])
XGI310SetupCMDFlag(PATFG | xgi_video_info.XGI310_AccelDepth)
}

static void
XGI310SubsequentSolidFillRect(int x, int y, int w, int h)
{
long dstbase;

dstbase = 0;
if(y >= 2048) {
dstbase = xgi_video_info.video_linelength * y;
y = 0;
}
XGI310SetupDSTBase(dstbase)
XGI310SetupDSTXY(x,y)
XGI310SetupRect(w,h)
XGI310SetupCMDFlag(BITBLT)
XGI310DoCMD
}

/* --------------------------------------------------------------------- */

/* The exported routines */
Expand Down

0 comments on commit e69860d

Please sign in to comment.