summaryrefslogtreecommitdiff
path: root/driver/xf86-video-i740/src/i740_cursor.c
diff options
context:
space:
mode:
authorMatthieu Herrb <matthieu@cvs.openbsd.org>2019-06-30 12:33:10 +0000
committerMatthieu Herrb <matthieu@cvs.openbsd.org>2019-06-30 12:33:10 +0000
commit3214d3b1f090aed1dafb667e09542b648305c0d1 (patch)
treee30ddbd7618fc9d7f17acbb323cb40f7ca7289fd /driver/xf86-video-i740/src/i740_cursor.c
parent1b0ba1156f4b42509f1eecc26fc15871f264e2db (diff)
Remove. Unlinked from the build for 6 weeks.
Diffstat (limited to 'driver/xf86-video-i740/src/i740_cursor.c')
-rw-r--r--driver/xf86-video-i740/src/i740_cursor.c222
1 files changed, 0 insertions, 222 deletions
diff --git a/driver/xf86-video-i740/src/i740_cursor.c b/driver/xf86-video-i740/src/i740_cursor.c
deleted file mode 100644
index 8c8cc8f21..000000000
--- a/driver/xf86-video-i740/src/i740_cursor.c
+++ /dev/null
@@ -1,222 +0,0 @@
-
-/**************************************************************************
-
-Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
-All Rights Reserved.
-
-Permission is hereby granted, free of charge, to any person obtaining a
-copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sub license, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice (including the
-next paragraph) shall be included in all copies or substantial portions
-of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
-IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
-ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-**************************************************************************/
-
-/*
- * Authors:
- * Daryll Strauss <daryll@precisioninsight.com>
- *
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include "xf86.h"
-#include "xf86_OSproc.h"
-#include "compiler.h"
-
-#include "xf86fbman.h"
-
-#include "vgaHW.h"
-#include "xf86xv.h"
-#include "i740.h"
-
-static void I740LoadCursorImage(ScrnInfoPtr pScrn, unsigned char *src);
-static void I740ShowCursor(ScrnInfoPtr pScrn);
-static void I740HideCursor(ScrnInfoPtr pScrn);
-static void I740SetCursorPosition(ScrnInfoPtr pScrn, int x, int y);
-static void I740SetCursorColors(ScrnInfoPtr pScrn, int bg, int fb);
-static Bool I740UseHWCursor(ScreenPtr pScrn, CursorPtr pCurs);
-
-Bool
-I740CursorInit(ScreenPtr pScreen)
-{
- ScrnInfoPtr pScrn;
- I740Ptr pI740;
- xf86CursorInfoPtr infoPtr;
- FBAreaPtr fbarea;
-
- pScrn = xf86ScreenToScrn(pScreen);
- pI740 = I740PTR(pScrn);
- pI740->CursorInfoRec = infoPtr = xf86CreateCursorInfoRec();
- if (!infoPtr) return FALSE;
-
- infoPtr->MaxWidth = 64;
- infoPtr->MaxHeight = 64;
- infoPtr->Flags = HARDWARE_CURSOR_TRUECOLOR_AT_8BPP |
- HARDWARE_CURSOR_BIT_ORDER_MSBFIRST |
- HARDWARE_CURSOR_INVERT_MASK |
- HARDWARE_CURSOR_SWAP_SOURCE_AND_MASK |
- HARDWARE_CURSOR_AND_SOURCE_WITH_MASK |
- HARDWARE_CURSOR_SOURCE_MASK_INTERLEAVE_64;
-
- infoPtr->SetCursorColors = I740SetCursorColors;
- infoPtr->SetCursorPosition = I740SetCursorPosition;
- infoPtr->LoadCursorImage = I740LoadCursorImage;
- infoPtr->HideCursor = I740HideCursor;
- infoPtr->ShowCursor = I740ShowCursor;
- infoPtr->UseHWCursor = I740UseHWCursor;
-
-/*
- * Allocate a region the full width and tall enough
- * that at least 6K of video memory is consumed.
- * Then use a 1 kilobyte piece that is 4K byte aligned
- * within that region. KAO.
- */
- fbarea = xf86AllocateOffscreenArea(pScreen,
- pScrn->displayWidth,
- ((6*1024)/(pScrn->displayWidth*pI740->cpp))+1,
- 0,0,0,0);
- if (fbarea == NULL) {
- pI740->CursorStart=0;
- xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
- "Hardware cursor disabled due to failure allocating offscreen memory.\n");
- }
- else {
- pI740->CursorStart = ((((fbarea->box.x1 + pScrn->displayWidth * fbarea->box.y1) * pI740->cpp)+4096)&0xfff000);
- }
- /*
- * Perhaps move the cursor to the beginning of the frame buffer
- * so that it never fails?
- */
- if (pI740->CursorStart>4*1024*1024) {
- pI740->CursorStart=0;
- xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
- "Disabling hardware cursor due to large framebuffer\n");
- }
- return xf86InitCursor(pScreen, infoPtr);
-}
-
-static Bool
-I740UseHWCursor(ScreenPtr pScreen, CursorPtr pCurs) {
- ScrnInfoPtr pScrn;
- I740Ptr pI740;
-
- pScrn = xf86ScreenToScrn(pScreen);
- pI740 = I740PTR(pScrn);
- if (pScrn->currentMode->Flags&V_DBLSCAN)
- return FALSE;
- if (!pI740->CursorStart) return FALSE;
- return TRUE;
-}
-
-static void
-I740LoadCursorImage(ScrnInfoPtr pScrn, unsigned char *src) {
- I740Ptr pI740;
- int x, y;
- CARD8 *pcurs;
-
- pI740 = I740PTR(pScrn);
- pcurs = (CARD8 *)(pI740->FbBase + pI740->CursorStart);
- for (y = 0; y < 64; y++) {
- for (x = 0; x < 64 / 4; x++) {
- *pcurs++ = *src++;
- }
- }
-}
-
-static void
-I740SetCursorPosition(ScrnInfoPtr pScrn, int x, int y) {
- I740Ptr pI740;
- int flag;
-
- pI740 = I740PTR(pScrn);
- if (x >= 0) flag = CURSOR_X_POS;
- else {
- flag = CURSOR_X_NEG;
- x=-x;
- }
- pI740->writeControl(pI740, XRX, CURSOR_X_LO, x&0xFF);
- pI740->writeControl(pI740, XRX, CURSOR_X_HI, (((x >> 8) & 0x07) | flag));
-
- if (y >= 0) flag = CURSOR_Y_POS;
- else {
- flag = CURSOR_Y_NEG;
- y=-y;
- }
- pI740->writeControl(pI740, XRX, CURSOR_Y_LO, y&0xFF);
- pI740->writeControl(pI740, XRX, CURSOR_Y_HI, (((y >> 8) & 0x07) | flag));
-}
-
-static void
-I740ShowCursor(ScrnInfoPtr pScrn) {
- I740Ptr pI740;
- unsigned char tmp;
-
- pI740 = I740PTR(pScrn);
- pI740->writeControl(pI740, XRX, CURSOR_BASEADDR_LO,
- (pI740->CursorStart & 0x0000F000) >> 8);
- pI740->writeControl(pI740, XRX, CURSOR_BASEADDR_HI,
- (pI740->CursorStart & 0x003F0000) >> 16);
- pI740->writeControl(pI740, XRX, CURSOR_CONTROL,
- CURSOR_ORIGIN_DISPLAY | CURSOR_MODE_64_3C);
-
- tmp=pI740->readControl(pI740, XRX, PIXPIPE_CONFIG_0);
- tmp |= HW_CURSOR_ENABLE;
- pI740->writeControl(pI740, XRX, PIXPIPE_CONFIG_0, tmp);
-}
-
-static void
-I740HideCursor(ScrnInfoPtr pScrn) {
- unsigned char tmp;
- I740Ptr pI740;
-
- pI740 = I740PTR(pScrn);
- tmp=pI740->readControl(pI740, XRX, PIXPIPE_CONFIG_0);
- tmp &= ~HW_CURSOR_ENABLE;
- pI740->writeControl(pI740, XRX, PIXPIPE_CONFIG_0, tmp);
-}
-
-static void
-I740SetCursorColors(ScrnInfoPtr pScrn, int bg, int fg) {
- int tmp;
- I740Ptr pI740;
-
- pI740 = I740PTR(pScrn);
- tmp=pI740->readControl(pI740, XRX, PIXPIPE_CONFIG_0);
- tmp |= EXTENDED_PALETTE;
- pI740->writeControl(pI740, XRX, PIXPIPE_CONFIG_0, tmp);
-
- pI740->writeStandard(pI740, DACMASK, 0xFF);
- pI740->writeStandard(pI740, DACWX, 0x04);
-
- pI740->writeStandard(pI740, DACDATA, (bg & 0x00FF0000) >> 16);
- pI740->writeStandard(pI740, DACDATA, (bg & 0x0000FF00) >> 8);
- pI740->writeStandard(pI740, DACDATA, (bg & 0x000000FF));
-
- pI740->writeStandard(pI740, DACDATA, (fg & 0x00FF0000) >> 16);
- pI740->writeStandard(pI740, DACDATA, (fg & 0x0000FF00) >> 8);
- pI740->writeStandard(pI740, DACDATA, (fg & 0x000000FF));
-
- tmp=pI740->readControl(pI740, XRX, PIXPIPE_CONFIG_0);
- tmp &= ~EXTENDED_PALETTE;
- pI740->writeControl(pI740, XRX, PIXPIPE_CONFIG_0, tmp);
-}
-
-
-