Module Name: xsrc
Committed By: jmcneill
Date: Wed Aug 18 22:28:09 UTC 2010
Modified Files:
xsrc/external/mit/xf86-video-openchrome/dist/src: via_accel.c
Log Message:
openchrome r848: Improve 2d performance on chipsets without AGP/PCIe
To generate a diff of this commit:
cvs rdiff -u -r1.1.1.1 -r1.2 \
xsrc/external/mit/xf86-video-openchrome/dist/src/via_accel.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: xsrc/external/mit/xf86-video-openchrome/dist/src/via_accel.c
diff -u xsrc/external/mit/xf86-video-openchrome/dist/src/via_accel.c:1.1.1.1 xsrc/external/mit/xf86-video-openchrome/dist/src/via_accel.c:1.2
--- xsrc/external/mit/xf86-video-openchrome/dist/src/via_accel.c:1.1.1.1 Thu May 27 07:32:03 2010
+++ xsrc/external/mit/xf86-video-openchrome/dist/src/via_accel.c Wed Aug 18 22:28:09 2010
@@ -759,6 +759,7 @@
tdc->cmd = cmd;
viaAccelTransparentHelper(pVia, (trans_color != -1) ? 0x4000 : 0x0000,
trans_color, FALSE);
+ ADVANCE_RING;
}
static void
@@ -796,6 +797,7 @@
tdc->cmd = VIA_GEC_BLT | VIA_GEC_FIXCOLOR_PAT | VIAACCELPATTERNROP(rop);
tdc->fgColor = color;
viaAccelTransparentHelper(pVia, 0x00, 0x00, FALSE);
+ ADVANCE_RING;
}
static void
@@ -852,6 +854,7 @@
tdc->pattern0 = pattern0;
tdc->pattern1 = pattern1;
viaAccelTransparentHelper(pVia, 0x00, 0x00, FALSE);
+ ADVANCE_RING;
}
static void
@@ -901,6 +904,7 @@
tdc->patternAddr = (patternx * pVia->Bpp + patterny * pVia->Bpl);
viaAccelTransparentHelper(pVia, (trans_color != -1) ? 0x4000 : 0x0000,
trans_color, FALSE);
+ ADVANCE_RING;
}
static void
@@ -962,9 +966,9 @@
tdc->fgColor = fg;
tdc->bgColor = bg;
- ADVANCE_RING;
-
viaAccelTransparentHelper(pVia, 0x0, 0x0, FALSE);
+
+ ADVANCE_RING;
}
static void
@@ -991,7 +995,7 @@
pScrn->fbOffset + sub * pVia->Bpl, tdc->mode,
pVia->Bpl, pVia->Bpl, tdc->cmd);
- viaFlushPCI(cb);
+ ADVANCE_RING;
viaDisableClipping(pScrn);
}
@@ -1005,9 +1009,9 @@
RING_VARS;
tdc->cmd = VIA_GEC_BLT | VIA_GEC_SRC_SYS | VIAACCELCOPYROP(rop);
- ADVANCE_RING;
viaAccelTransparentHelper(pVia, (trans_color != -1) ? 0x4000 : 0x0000,
trans_color, FALSE);
+ ADVANCE_RING;
}
static void
@@ -1030,7 +1034,7 @@
pScrn->fbOffset + pVia->Bpl * sub, tdc->mode,
pVia->Bpl, pVia->Bpl, tdc->cmd);
- viaFlushPCI(cb);
+ ADVANCE_RING;
viaDisableClipping(pScrn);
}
@@ -1052,6 +1056,7 @@
OUT_RING_H1(VIA_REG(pVia, GEMODE), tdc->mode);
OUT_RING_H1(VIA_REG(pVia, MONOPAT0), 0xFF);
OUT_RING_H1(VIA_REG(pVia, MONOPATFGC), tdc->fgColor);
+ ADVANCE_RING;
}
static void
@@ -1189,6 +1194,7 @@
OUT_RING_H1(VIA_REG(pVia, MONOPATFGC), tdc->fgColor);
OUT_RING_H1(VIA_REG(pVia, MONOPATBGC), tdc->bgColor);
OUT_RING_H1(VIA_REG(pVia, MONOPAT0), tdc->pattern0);
+ ADVANCE_RING;
}
static void
@@ -1283,8 +1289,8 @@
CPU_TRANSFER_PAD_DWORD |
SCANLINE_PAD_DWORD |
BIT_ORDER_IN_BYTE_MSBFIRST |
- LEFT_EDGE_CLIPPING | ROP_NEEDS_SOURCE | 0);
- // SYNC_AFTER_IMAGE_WRITE | 0);
+ LEFT_EDGE_CLIPPING | ROP_NEEDS_SOURCE |
+ NO_GXCOPY | 0);
/*
* Most Unichromes are much faster using processor-to-framebuffer writes
@@ -1292,18 +1298,6 @@
* test with x11perf -shmput500!
*/
- switch (pVia->Chipset) {
- case VIA_K8M800:
- case VIA_K8M890:
- case VIA_P4M900:
- case VIA_VX800:
- case VIA_VX855:
- break;
- default:
- xaaptr->ImageWriteFlags |= NO_GXCOPY;
- break;
- }
-
xaaptr->SetupForImageWrite = viaSetupForImageWrite;
xaaptr->SubsequentImageWriteRect = viaSubsequentImageWriteRect;
xaaptr->ImageWriteBase = pVia->BltBase;