summaryrefslogtreecommitdiff
path: root/src/savage_image.c
diff options
context:
space:
mode:
authorAlex Deucher <agd5f@yahoo.com>2006-04-30 17:51:15 +0000
committerAlex Deucher <agd5f@yahoo.com>2006-04-30 17:51:15 +0000
commit6d688c993ec7baf8f00df59764dd3e04bab24e09 (patch)
tree81f74a3b06394f6f42679cb53fe3ecd706a39f11 /src/savage_image.c
parentef46fb29088e7cc50c6072d66c6ac1fe5cd398bd (diff)
- Add exa support (solid, copy, UTS)
Diffstat (limited to 'src/savage_image.c')
-rw-r--r--src/savage_image.c204
1 files changed, 0 insertions, 204 deletions
diff --git a/src/savage_image.c b/src/savage_image.c
deleted file mode 100644
index 766c810..0000000
--- a/src/savage_image.c
+++ /dev/null
@@ -1,204 +0,0 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/savage/savage_image.c,v 1.4 2001/05/18 23:35:32 dawes Exp $ */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include "savage_driver.h"
-#include "xaarop.h"
-#include "savage_bci.h"
-
-void SavageSubsequentImageWriteRect (
- ScrnInfoPtr pScrn,
- int x,
- int y,
- int w,
- int h,
- int skipleft);
-
-void SavageSetupForImageWrite (
- ScrnInfoPtr pScrn,
- int rop,
- unsigned planemask,
- int transparency_color,
- int bpp,
- int depth);
-
-void SavageWriteBitmapCPUToScreenColorExpand (
- ScrnInfoPtr pScrn,
- int x, int y, int w, int h,
- unsigned char * src,
- int srcwidth,
- int skipleft,
- int fg, int bg,
- int rop,
- unsigned int planemask);
-
-#if 0
-void SavageWriteBitmapScreenToScreenColorExpand(
- ScrnPtr pScrn,
- int x,
- int y,
- int w,
- int h,
- unsigned char * src,
- int srcwidth,
- int srcx,
- int srcy,
- int bg,
- int fg,
- int rop,
- unsigned int planemask
-)
-{
- SavagePtr psav = SAVPTR(pScrn);
- BCI_GET_PTR;
- unsigned int cmd;
- unsigned char * bd_offset;
- unsigned int bd;
-
- cmd = BCI_CMD_RECT | BCI_CMD_RECT_XP | BCI_CMD_RECT_YP
- | BCI_CMD_SEND_COLOR
- | BCI_CMD_DEST_GBD | BCI_CMD_SRC_SBD_MONO_NEW;
- cmd |= (bg != -1) ? BCI_CMD_SEND_COLOR : BCI_CMD_SRC_TRANSPARENT;
- cmd |= s3vAlu[rop];
-
- bd |= BCI_BD_BW_DISABLE;
- BCI_BD_SET_BPP(bd, 1);
- BCI_BD_SET_STRIDE(bd, srcwidth);
- bd_offset = srcwidth * srcy + (srcx >> 3) + src;
-
- psav->WaitQueue(psav,10);
- BCI_SEND(cmd);
- BCI_SEND((unsigned int)bd_offset);
- BCI_SEND(bd);
- BCI_SEND(fg);
- BCI_SEND((bg != -1) ? bg : 0);
- BCI_SEND(BCI_X_Y(srcx, srcy));
- BCI_SEND(BCI_X_Y(x, y));
- BCI_SEND(BCI_W_H(w, h));
-}
-#endif
-
-void
-SavageWriteBitmapCPUToScreenColorExpand (
- ScrnInfoPtr pScrn,
- int x, int y, int w, int h,
- unsigned char * src,
- int srcwidth,
- int skipleft,
- int fg, int bg,
- int rop,
- unsigned int planemask
-)
-{
- SavagePtr psav = SAVPTR(pScrn);
- BCI_GET_PTR;
- int i, j, count, reset;
- unsigned int cmd;
- CARD32 * srcp;
-
-/* We aren't using planemask at all here... */
-
- if( !srcwidth )
- return;
-
- cmd = BCI_CMD_RECT | BCI_CMD_RECT_XP | BCI_CMD_RECT_YP
- | BCI_CMD_SEND_COLOR | BCI_CMD_CLIP_LR
- | BCI_CMD_DEST_PBD_NEW | BCI_CMD_SRC_MONO;
- cmd |= XAAGetCopyROP(rop) << 16;
-
- if( bg == -1 )
- cmd |= BCI_CMD_SRC_TRANSPARENT;
-
- BCI_SEND(cmd);
-
- BCI_SEND(psav->GlobalBD.bd2.LoPart);
- BCI_SEND(psav->GlobalBD.bd2.HiPart);
-
- BCI_SEND(BCI_CLIP_LR(x+skipleft, x+w-1));
- BCI_SEND(fg);
- if( bg != -1 )
- BCI_SEND(bg);
-
- /* Bitmaps come in in units of DWORDS, LSBFirst. This is exactly */
- /* reversed of what we expect. */
-
- count = (w + 31) / 32;
-/* src += ((srcx & ~31) / 8); */
-
- /* The BCI region is 128k bytes. A screen-sized mono bitmap can */
- /* exceed that. */
-
- reset = 65536 / count;
-
- for (j = 0; j < h; j ++) {
- BCI_SEND(BCI_X_Y(x, y+j));
- BCI_SEND(BCI_W_H(w, 1));
- srcp = (CARD32 *) src;
- for (i = count; i > 0; srcp ++, i --) {
- /* We have to invert the bits in each byte. */
- CARD32 u = *srcp;
- u = ((u & 0x0f0f0f0f) << 4) | ((u & 0xf0f0f0f0) >> 4);
- u = ((u & 0x33333333) << 2) | ((u & 0xcccccccc) >> 2);
- u = ((u & 0x55555555) << 1) | ((u & 0xaaaaaaaa) >> 1);
- BCI_SEND(u);
- }
- src += srcwidth;
- if( !--reset ) {
- BCI_RESET;
- reset = 65536 / count;
- }
- }
-}
-
-void
-SavageSetupForImageWrite(
- ScrnInfoPtr pScrn,
- int rop,
- unsigned planemask,
- int transparency_color,
- int bpp,
- int depth)
-{
- SavagePtr psav = SAVPTR(pScrn);
- int cmd;
-
- cmd = BCI_CMD_RECT | BCI_CMD_RECT_XP | BCI_CMD_RECT_YP
- | BCI_CMD_CLIP_LR
- | BCI_CMD_DEST_PBD_NEW | BCI_CMD_SRC_COLOR;
-
- cmd |= XAAGetCopyROP(rop) << 16;
-
- if( transparency_color != -1 )
- cmd |= BCI_CMD_SRC_TRANSPARENT;
-
- psav->SavedBciCmd = cmd;
- psav->SavedBgColor = transparency_color;
-}
-
-
-void SavageSubsequentImageWriteRect
-(
- ScrnInfoPtr pScrn,
- int x,
- int y,
- int w,
- int h,
- int skipleft)
-{
- SavagePtr psav = SAVPTR(pScrn);
- BCI_GET_PTR;
-
- psav->WaitQueue( psav, 8 );
- BCI_SEND(psav->SavedBciCmd);
-
- BCI_SEND(psav->GlobalBD.bd2.LoPart);
- BCI_SEND(psav->GlobalBD.bd2.HiPart);
-
- BCI_SEND(BCI_CLIP_LR(x+skipleft, x+w-1));
- if( psav->SavedBgColor != 0xffffffff )
- BCI_SEND(psav->SavedBgColor);
- BCI_SEND(BCI_X_Y(x, y));
- BCI_SEND(BCI_W_H(w, h));
-}