-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/ati/r128.h,v 1.24 2002/12/16 16:19:10 dawes Exp $ */
/*
* Copyright 1999, 2000 ATI Technologies Inc., Markham, Ontario,
* Precision Insight, Inc., Cedar Park, Texas, and
#define _R128_H_
#include "dri_util.h"
-#ifndef _SOLO
-#include "xf86str.h"
-
- /* PCI support */
-#include "xf86Pci.h"
-
- /* XAA and Cursor Support */
-#include "xaa.h"
-#include "xf86Cursor.h"
-
- /* DDC support */
-#include "xf86DDC.h"
-
- /* Xv support */
-#include "xf86xv.h"
-
- /* DRI support */
-#ifdef XF86DRI
-#define _XF86DRI_SERVER_
-#include "r128_dripriv.h"
-#include "dri.h"
-#include "GL/glxint.h"
-#endif
-#endif
-#ifdef _SOLO
-#define XF86DRI
-#endif
#define R128_DEBUG 0 /* Turn off debugging output */
#define R128_IDLE_RETRY 32 /* Fall out of idle loops after this count */
uint32_t palette[256];
} R128SaveRec, *R128SavePtr;
-#ifndef _SOLO
-typedef struct {
- CARD16 reference_freq;
- CARD16 reference_div;
- uint32_t min_pll_freq;
- uint32_t max_pll_freq;
- CARD16 xclk;
-} R128PLLRec, *R128PLLPtr;
-
typedef struct {
- int bitsPerPixel;
- int depth;
- int displayWidth;
- int pixel_code;
- int pixel_bytes;
- DisplayModePtr mode;
-} R128FBLayout;
-#endif
-
-typedef struct {
-#ifndef _SOLO
- EntityInfoPtr pEnt;
- pciVideoPtr PciInfo;
- PCITAG PciTag;
-#endif
int Chipset;
GLboolean Primary;
unsigned long FbMapSize; /* Size of frame buffer, in bytes */
int Flags; /* Saved copy of mode flags */
-#ifndef _SOLO
- uint8_t BIOSDisplay; /* Device the BIOS is set to display to */
-
- GLboolean HasPanelRegs; /* Current chip can connect to a FP */
- uint8_t *VBIOS; /* Video BIOS for mode validation on FPs */
- int FPBIOSstart; /* Start of the flat panel info */
-#endif
/* Computed values for FPs */
int PanelXRes;
int PanelYRes;
int VSyncWidth;
int VBlank;
int PanelPwrDly;
-#ifndef _SOLO
- R128PLLRec pll;
- R128RAMPtr ram;
-
- R128SaveRec SavedReg; /* Original (text) mode */
- R128SaveRec ModeReg; /* Current mode */
- GLboolean (*CloseScreen)(int, ScreenPtr);
- void (*BlockHandler)(int, pointer, pointer, pointer);
-
- GLboolean PaletteSavedOnVT; /* Palette saved on last VT switch */
-
- XAAInfoRecPtr accel;
- GLboolean accelOn;
- xf86CursorInfoPtr cursor;
-#endif
+
unsigned long cursor_start;
unsigned long cursor_end;
int scanline_y;
int scanline_w;
int scanline_h;
-#ifdef XF86DRI
+
int scanline_hpass;
int scanline_x1clip;
int scanline_x2clip;
int scanline_rop;
int scanline_fg;
int scanline_bg;
-#endif /* XF86DRI */
+
int scanline_words;
int scanline_direct;
int scanline_bpp; /* Only used for ImageWrite */
-#ifndef _SOLO
- DGAModePtr DGAModes;
- int numDGAModes;
- GLboolean DGAactive;
- int DGAViewportStatus;
- DGAFunctionRec DGAFuncs;
-
- R128FBLayout CurrentLayout;
-#endif
-#ifdef XF86DRI
- drmContext drmCtx;
-#ifndef _SOLO
- DRIInfoPtr pDRIInfo;
- int numVisualConfigs;
- __GLXvisualConfig *pVisualConfigs;
- R128ConfigPrivPtr pVisualConfigsPriv;
-#endif
+ drm_context_t drmCtx;
drmSize registerSize;
- drmHandle registerHandle;
+ drm_handle_t registerHandle;
GLboolean IsPCI; /* Current card is a PCI card */
drmSize pciSize;
- drmHandle pciMemHandle;
+ drm_handle_t pciMemHandle;
unsigned char *PCI; /* Map */
GLboolean allowPageFlip; /* Enable 3d page flipping */
int drmMinor;
drmSize agpSize;
- drmHandle agpMemHandle; /* Handle from drmAgpAlloc */
+ drm_handle_t agpMemHandle; /* Handle from drmAgpAlloc */
unsigned long agpOffset;
unsigned char *AGP; /* Map */
int agpMode;
/* CCE ring buffer data */
unsigned long ringStart; /* Offset into AGP space */
- drmHandle ringHandle; /* Handle from drmAddMap */
+ drm_handle_t ringHandle; /* Handle from drmAddMap */
drmSize ringMapSize; /* Size of map */
int ringSize; /* Size of ring (in MB) */
unsigned char *ring; /* Map */
int ringSizeLog2QW;
unsigned long ringReadOffset; /* Offset into AGP space */
- drmHandle ringReadPtrHandle; /* Handle from drmAddMap */
+ drm_handle_t ringReadPtrHandle; /* Handle from drmAddMap */
drmSize ringReadMapSize; /* Size of map */
unsigned char *ringReadPtr; /* Map */
/* CCE vertex/indirect buffer data */
unsigned long bufStart; /* Offset into AGP space */
- drmHandle bufHandle; /* Handle from drmAddMap */
+ drm_handle_t bufHandle; /* Handle from drmAddMap */
drmSize bufMapSize; /* Size of map */
int bufSize; /* Size of buffers (in MB) */
unsigned char *buf; /* Map */
/* CCE AGP Texture data */
unsigned long agpTexStart; /* Offset into AGP space */
- drmHandle agpTexHandle; /* Handle from drmAddMap */
+ drm_handle_t agpTexHandle; /* Handle from drmAddMap */
drmSize agpTexMapSize; /* Size of map */
int agpTexSize; /* Size of AGP tex space (in MB) */
unsigned char *agpTex; /* Map */
uint32_t gen_int_cntl;
GLboolean DMAForXv;
-#endif
-#ifndef _SOLO
- XF86VideoAdaptorPtr adaptor;
- void (*VideoTimerCallback)(ScrnInfoPtr, Time);
- int videoKey;
- GLboolean showCache;
- OptionInfoPtr Options;
-
- GLboolean isDFP;
- GLboolean isPro2;
- I2CBusPtr pI2CBus;
- uint32_t DDCReg;
-#endif
} R128InfoRec, *R128InfoPtr;
#define R128WaitForFifo(pScrn, entries) \