summaryrefslogtreecommitdiff
path: root/hw/kdrive/pm2/glint_regs.h
diff options
context:
space:
mode:
Diffstat (limited to 'hw/kdrive/pm2/glint_regs.h')
-rw-r--r--hw/kdrive/pm2/glint_regs.h1371
1 files changed, 0 insertions, 1371 deletions
diff --git a/hw/kdrive/pm2/glint_regs.h b/hw/kdrive/pm2/glint_regs.h
deleted file mode 100644
index 269b05fbe..000000000
--- a/hw/kdrive/pm2/glint_regs.h
+++ /dev/null
@@ -1,1371 +0,0 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/glint/glint_regs.h,v 1.36tsi Exp $ */
-
-/*
- * glint register file
- *
- * Copyright by Stefan Dirsch, Dirk Hohndel, Alan Hourihane
- * Authors: Alan Hourihane, <alanh@fairlite.demon.co.uk>
- * Dirk Hohndel, <hohndel@suse.de>
- * Stefan Dirsch, <sndirsch@suse.de>
- * Simon P., <sim@suse.de>
- *
- * this work is sponsored by S.u.S.E. GmbH, Fuerth, Elsa GmbH, Aachen and
- * Siemens Nixdorf Informationssysteme
- *
- */
-
-#ifndef _GLINTREG_H_
-#define _GLINTREG_H_
-
-/* The chips we know */
-#define PCI_CHIP_3DLABS_300SX 0x01
-#define PCI_CHIP_3DLABS_500TX 0x02
-#define PCI_CHIP_3DLABS_DELTA 0x03
-#define PCI_CHIP_3DLABS_PERMEDIA 0x04
-#define PCI_CHIP_3DLABS_MX 0x06
-#define PCI_CHIP_3DLABS_PERMEDIA2 0x07
-#define PCI_CHIP_3DLABS_GAMMA 0x08
-#define PCI_CHIP_3DLABS_PERMEDIA2V 0x09
-#define PCI_CHIP_3DLABS_PERMEDIA3 0x0A
-#define PCI_CHIP_3DLABS_PERMEDIA4 0x0C
-#define PCI_CHIP_3DLABS_R4 0x0D
-#define PCI_CHIP_3DLABS_GAMMA2 0x0E
-
-/* The boards we know */
-#define IS_GLORIAXXL ((pGlint->PciInfo->subsysVendor == 0x1048) && \
- (pGlint->PciInfo->subsysCard == 0x0a42))
-
-#define IS_GLORIASYNERGY ((pGlint->PciInfo->subsysVendor == 0x1048) && \
- (pGlint->PciInfo->subsysCard == 0x0a32))
-
-#define IS_GMX2000 ((pGlint->PciInfo->subsysVendor == 0x3d3d) && \
- (pGlint->PciInfo->subsysCard == 0x0106))
-
-#define IS_J2000 ((pGlint->PciInfo->subsysVendor == 0x1097) && \
- (pGlint->PciInfo->subsysCard == 0x3d32))
-
-#define IS_JPRO ((pGlint->PciInfo->subsysVendor == 0x1097) && \
- (pGlint->PciInfo->subsysCard == 0x3db3))
-
-/* COMPAQ OEM VX1 PCI
- * subsys == 0x0121 if VGA is enabled
- * subsys == 0x000a if VGA has never been enabled
- */
-#define IS_PCI_QVX1 (pGlint->PciInfo->subsysVendor == 0x3d3d && \
- ((pGlint->PciInfo->subsysCard == 0x0121) || \
- (pGlint->PciInfo->subsysCard == 0x000a)))
-
-/* COMPAQ OEM VX1 AGP
- * subsys == 0x0144 if VGA is enabled
- * subsys == 0x000c if VGA has never been enabled
- */
-#define IS_AGP_QVX1 (pGlint->PciInfo->subsysVendor == 0x3d3d && \
- ((pGlint->PciInfo->subsysCard == 0x0144) || \
- (pGlint->PciInfo->subsysCard == 0x000c)))
-
-#define IS_QVX1 (IS_PCI_QVX1 || IS_AGP_QVX1)
-
-#define IS_ELSA_SYNERGY ((pGlint->PciInfo->subsysVendor == 0x1048) && \
- (pGlint->PciInfo->subsysCard == 0x0a32))
-
-/* COMPAQ OEM Permedia 2V with VGA disable jumper - 0x13e9 ? */
-#define IS_QPM2V ((pGlint->PciInfo->subsysVendor == 0x13e9) && \
- ((pGlint->PciInfo->subsysCard == 0x0100) || \
- (pGlint->PciInfo->subsysCard == 0x0002)))
-
-/**********************************************
-* GLINT 500TX Configuration Region Registers *
-***********************************************/
-
-/* Device Identification */
-#define CFGVendorId 0x0000
-#define PCI_VENDOR_3DLABS 0x3D3D
-#define PCI_VENDOR_TI 0x104C
-#define CFGDeviceId 0x0002
-
-#define CFGRevisionId 0x08
-#define CFGClassCode 0x09
-#define CFGHeaderType 0x0E
-
-/* Device Control/Status */
-#define CFGCommand 0x04
-#define CFGStatus 0x06
-
-/* Miscellaneous Functions */
-#define CFGBist 0x0f
-#define CFGLatTimer 0x0d
-#define CFGCacheLine 0x0c
-#define CFGMaxLat 0x3f
-#define CFGMinGrant 0x3e
-#define CFGIntPin 0x3d
-#define CFGIntLine 0x3c
-
-/* Base Adresses */
-#define CFGBaseAddr0 0x10
-#define CFGBaseAddr1 0x14
-#define CFGBaseAddr2 0x18
-#define CFGBaseAddr3 0x1C
-#define CFGBaseAddr4 0x20
-#define CFGRomAddr 0x30
-
-
-
-/**********************************
- * GLINT 500TX Region 0 Registers *
- **********************************/
-
-/* Control Status Registers */
-#define ResetStatus 0x0000
-#define IntEnable 0x0008
-#define IntFlags 0x0010
-#define InFIFOSpace 0x0018
-#define OutFIFOWords 0x0020
-#define DMAAddress 0x0028
-#define DMACount 0x0030
-#define ErrorFlags 0x0038
-#define VClkCtl 0x0040
-#define TestRegister 0x0048
-#define Aperture0 0x0050
-#define Aperture1 0x0058
-#define DMAControl 0x0060
-#define FIFODis 0x0068
-
-/* GLINT PerMedia Region 0 additional Registers */
-#define ChipConfig 0x0070
-# define SCLK_SEL_MASK (3 << 10)
-# define SCLK_SEL_MCLK_HALF (3 << 10)
-
-#define ByDMAControl 0x00D8
-
-/* GLINT 500TX LocalBuffer Registers */
-#define LBMemoryCtl 0x1000
-# define LBNumBanksMask 0x00000001
-# define LBNumBanks1 (0)
-# define LBNumBanks2 (1)
-# define LBPageSizeMask 0x00000006
-# define LBPageSize256 (0<<1)
-# define LBPageSize512 (1<<1)
-# define LBPageSize1024 (2<<1)
-# define LBPageSize2048 (3<<1)
-# define LBRASCASLowMask 0x00000018
-# define LBRASCASLow2 (0<<3)
-# define LBRASCASLow3 (1<<3)
-# define LBRASCASLow4 (2<<3)
-# define LBRASCASLow5 (3<<3)
-# define LBRASPrechargeMask 0x00000060
-# define LBRASPrecharge2 (0<<5)
-# define LBRASPrecharge3 (1<<5)
-# define LBRASPrecharge4 (2<<5)
-# define LBRASPrecharge5 (3<<5)
-# define LBCASLowMask 0x00000180
-# define LBCASLow1 (0<<7)
-# define LBCASLow2 (1<<7)
-# define LBCASLow3 (2<<7)
-# define LBCASLow4 (3<<7)
-# define LBPageModeMask 0x00000200
-# define LBPageModeEnabled (0<<9)
-# define LBPageModeDisabled (1<<9)
-# define LBRefreshCountMask 0x0003fc00
-# define LBRefreshCountShift 10
-
-#define LBMemoryEDO 0x1008
-# define LBEDOMask 0x00000001
-# define LBEDODisabled (0)
-# define LBEDOEnabled (1)
-# define LBEDOBankSizeMask 0x0000000e
-# define LBEDOBankSizeDiabled (0<<1)
-# define LBEDOBankSize256K (1<<1)
-# define LBEDOBankSize512K (2<<1)
-# define LBEDOBankSize1M (3<<1)
-# define LBEDOBankSize2M (4<<1)
-# define LBEDOBankSize4M (5<<1)
-# define LBEDOBankSize8M (6<<1)
-# define LBEDOBankSize16M (7<<1)
-# define LBTwoPageDetectorMask 0x00000010
-# define LBSinglePageDetector (0<<4)
-# define LBTwoPageDetector (1<<4)
-
-/* GLINT PerMedia Memory Control Registers */
-#define PMReboot 0x1000
-#define PMRomControl 0x1040
-#define PMBootAddress 0x1080
-#define PMMemConfig 0x10C0
-# define RowCharge8 1 << 10
-# define TimeRCD8 1 << 7
-# define TimeRC8 0x6 << 3
-# define TimeRP8 1
-# define CAS3Latency8 0 << 16
-# define BootAdress8 0x10
-# define NumberBanks8 0x3 << 29
-# define RefreshCount8 0x41 << 21
-# define TimeRASMin8 1 << 13
-# define DeadCycle8 1 << 17
-# define BankDelay8 0 << 18
-# define Burst1Cycle8 1 << 31
-# define SDRAM8 0 << 4
-
-# define RowCharge6 1 << 10
-# define TimeRCD6 1 << 7
-# define TimeRC6 0x6 << 3
-# define TimeRP6 0x2
-# define CAS3Latency6 1 << 16
-# define BootAdress6 0x60
-# define NumberBanks6 0x2 << 29
-# define RefreshCount6 0x41 << 21
-# define TimeRASMin6 1 << 13
-# define DeadCycle6 1 << 17
-# define BankDelay6 0 << 18
-# define Burst1Cycle6 1 << 31
-# define SDRAM6 0 << 4
-
-# define RowCharge4 0 << 10
-# define TimeRCD4 0 << 7
-# define TimeRC4 0x4 << 3
-# define TimeRP4 1
-# define CAS3Latency4 0 << 16
-# define BootAdress4 0x10
-# define NumberBanks4 1 << 29
-# define RefreshCount4 0x30 << 21
-# define TimeRASMin4 1 << 13
-# define DeadCycle4 0 << 17
-# define BankDelay4 0 << 18
-# define Burst1Cycle4 1 << 31
-# define SDRAM4 0 << 4
-
-/* Permedia 2 Control */
-#define MemControl 0x1040
-
-#define PMBypassWriteMask 0x1100
-#define PMFramebufferWriteMask 0x1140
-#define PMCount 0x1180
-
-/* Framebuffer Registers */
-#define FBMemoryCtl 0x1800
-#define FBModeSel 0x1808
-#define FBGCWrMask 0x1810
-#define FBGCColorLower 0x1818
-#define FBTXMemCtl 0x1820
-#define FBWrMaskk 0x1830
-#define FBGCColorUpper 0x1838
-
-/* Core FIFO */
-#define OutputFIFO 0x2000
-
-/* 500TX Internal Video Registers */
-#define VTGHLimit 0x3000
-#define VTGHSyncStart 0x3008
-#define VTGHSyncEnd 0x3010
-#define VTGHBlankEnd 0x3018
-#define VTGVLimit 0x3020
-#define VTGVSyncStart 0x3028
-#define VTGVSyncEnd 0x3030
-#define VTGVBlankEnd 0x3038
-#define VTGHGateStart 0x3040
-#define VTGHGateEnd 0x3048
-#define VTGVGateStart 0x3050
-#define VTGVGateEnd 0x3058
-#define VTGPolarity 0x3060
-#define VTGFrameRowAddr 0x3068
-#define VTGVLineNumber 0x3070
-#define VTGSerialClk 0x3078
-#define VTGModeCtl 0x3080
-
-/* Permedia Video Control Registers */
-#define PMScreenBase 0x3000
-#define PMScreenStride 0x3008
-#define PMHTotal 0x3010
-#define PMHgEnd 0x3018
-#define PMHbEnd 0x3020
-#define PMHsStart 0x3028
-#define PMHsEnd 0x3030
-#define PMVTotal 0x3038
-#define PMVbEnd 0x3040
-#define PMVsStart 0x3048
-#define PMVsEnd 0x3050
-#define PMVideoControl 0x3058
-#define PMInterruptLine 0x3060
-#define PMDDCData 0x3068
-# define DataIn (1<<0)
-# define ClkIn (1<<1)
-# define DataOut (1<<2)
-# define ClkOut (1<<3)
-#define PMLineCount 0x3070
-#define PMFifoControl 0x3078
-
-/* Permedia 2 RAMDAC Registers */
-#define PM2DACWriteAddress 0x4000
-#define PM2DACIndexReg 0x4000
-#define PM2DACData 0x4008
-#define PM2DACReadMask 0x4010
-#define PM2DACReadAddress 0x4018
-#define PM2DACCursorColorAddress 0x4020
-#define PM2DACCursorColorData 0x4028
-#define PM2DACIndexData 0x4050
-#define PM2DACCursorData 0x4058
-#define PM2DACCursorXLsb 0x4060
-#define PM2DACCursorXMsb 0x4068
-#define PM2DACCursorYLsb 0x4070
-#define PM2DACCursorYMsb 0x4078
-#define PM2DACCursorControl 0x06
-
-#define PM2DACIndexCMR 0x18
-# define PM2DAC_TRUECOLOR 0x80
-# define PM2DAC_RGB 0x20
-# define PM2DAC_GRAPHICS 0x10
-# define PM2DAC_PACKED 0x09
-# define PM2DAC_8888 0x08
-# define PM2DAC_565 0x06
-# define PM2DAC_4444 0x05
-# define PM2DAC_5551 0x04
-# define PM2DAC_2321 0x03
-# define PM2DAC_2320 0x02
-# define PM2DAC_332 0x01
-# define PM2DAC_CI8 0x00
-
-#define PM2DACIndexMDCR 0x19
-#define PM2DACIndexPalettePage 0x1c
-#define PM2DACIndexMCR 0x1e
-#define PM2DACIndexClockAM 0x20
-#define PM2DACIndexClockAN 0x21
-#define PM2DACIndexClockAP 0x22
-#define PM2DACIndexClockBM 0x23
-#define PM2DACIndexClockBN 0x24
-#define PM2DACIndexClockBP 0x25
-#define PM2DACIndexClockCM 0x26
-#define PM2DACIndexClockCN 0x27
-#define PM2DACIndexClockCP 0x28
-#define PM2DACIndexClockStatus 0x29
-#define PM2DACIndexMemClockM 0x30
-#define PM2DACIndexMemClockN 0x31
-#define PM2DACIndexMemClockP 0x32
-#define PM2DACIndexMemClockStatus 0x33
-#define PM2DACIndexColorKeyControl 0x40
-#define PM2DACIndexColorKeyOverlay 0x41
-#define PM2DACIndexColorKeyRed 0x42
-#define PM2DACIndexColorKeyGreen 0x43
-#define PM2DACIndexColorKeyBlue 0x44
-
-/* Permedia 2V extensions */
-#define PM2VDACRDMiscControl 0x000
-#define PM2VDACRDSyncControl 0x001
-#define PM2VDACRDDACControl 0x002
-#define PM2VDACRDPixelSize 0x003
-#define PM2VDACRDColorFormat 0x004
-#define PM2VDACRDCursorMode 0x005
-#define PM2VDACRDCursorXLow 0x007
-#define PM2VDACRDCursorXHigh 0x008
-#define PM2VDACRDCursorYLow 0x009
-#define PM2VDACRDCursorYHigh 0x00A
-#define PM2VDACRDCursorHotSpotX 0x00B
-#define PM2VDACRDCursorHotSpotY 0x00C
-#define PM2VDACRDOverlayKey 0x00D
-#define PM2VDACRDPan 0x00E
-#define PM2VDACRDSense 0x00F
-#define PM2VDACRDCheckControl 0x018
-#define PM2VDACIndexClockControl 0x200
-#define PM2VDACRDDClk0PreScale 0x201
-#define PM2VDACRDDClk0FeedbackScale 0x202
-#define PM2VDACRDDClk0PostScale 0x203
-#define PM2VDACRDDClk1PreScale 0x204
-#define PM2VDACRDDClk1FeedbackScale 0x205
-#define PM2VDACRDDClk1PostScale 0x206
-#define PM2VDACRDMClkControl 0x20D
-#define PM2VDACRDMClkPreScale 0x20E
-#define PM2VDACRDMClkFeedbackScale 0x20F
-#define PM2VDACRDMClkPostScale 0x210
-#define PM2VDACRDCursorPalette 0x303
-#define PM2VDACRDCursorPattern 0x400
-#define PM2VDACIndexRegLow 0x4020
-#define PM2VDACIndexRegHigh 0x4028
-#define PM2VDACIndexData 0x4030
-
-#define PM2VDACRDIndexControl 0x4038
-/* Permedia 2 Video Streams Unit Registers */
-# define VSBIntFlag (1<<8)
-# define VSAIntFlag (1<<9)
-
-#define VSConfiguration 0x5800
-# define VS_UnitMode_ROM 0
-# define VS_UnitMode_AB8 3
-# define VS_UnitMode_Mask 7
-# define VS_GPBusMode_A (1<<3)
-# define VS_HRefPolarityA (1<<9)
-# define VS_VRefPolarityA (1<<10)
-# define VS_VActivePolarityA (1<<11)
-# define VS_UseFieldA (1<<12)
-# define VS_FieldPolarityA (1<<13)
-# define VS_FieldEdgeA (1<<14)
-# define VS_VActiveVBIA (1<<15)
-# define VS_InterlaceA (1<<16)
-# define VS_ReverseDataA (1<<17)
-# define VS_HRefPolarityB (1<<18)
-# define VS_VRefPolarityB (1<<19)
-# define VS_VActivePolarityB (1<<20)
-# define VS_UseFieldB (1<<21)
-# define VS_FieldPolarityB (1<<22)
-# define VS_FieldEdgeB (1<<23)
-# define VS_VActiveVBIB (1<<24)
-# define VS_InterlaceB (1<<25)
-# define VS_ColorSpaceB_RGB (1<<26)
-# define VS_ReverseDataB (1<<27)
-# define VS_DoubleEdgeB (1<<28)
-
-#define VSStatus 0x5808
-# define VS_FieldOne0A (1<<9)
-# define VS_FieldOne1A (1<<10)
-# define VS_FieldOne2A (1<<11)
-# define VS_InvalidInterlaceA (1<<12)
-# define VS_FieldOne0B (1<<17)
-# define VS_FieldOne1B (1<<18)
-# define VS_FieldOne2B (1<<19)
-# define VS_InvalidInterlaceB (1<<20)
-
-#define VSSerialBusControl 0x5810
-
-#define VSABase 0x5900
-# define VSA_Video (1<<0)
-# define VSA_VBI (1<<1)
-# define VSA_BufferCtl (1<<2)
-# define VSA_MirrorX (1<<7)
-# define VSA_MirrorY (1<<8)
-# define VSA_Discard_None (0<<9)
-# define VSA_Discard_FieldOne (1<<9)
-# define VSA_Discard_FieldTwo (2<<9)
-# define VSA_CombineFields (1<<11)
-# define VSA_LockToStreamB (1<<12)
-
-#define VSBBase 0x5A00
-# define VSB_Video (1<<0)
-# define VSB_VBI (1<<1)
-# define VSB_BufferCtl (1<<2)
-# define VSB_CombineFields (1<<3)
-# define VSB_RGBOrder (1<<11)
-# define VSB_GammaCorrect (1<<12)
-# define VSB_LockToStreamA (1<<13)
-
-#define VSControl 0x0000
-#define VSInterrupt 0x0008
-#define VSCurrentLine 0x0010
-#define VSVideoAddressHost 0x0018
-#define VSVideoAddressIndex 0x0020
-#define VSVideoAddress0 0x0028
-#define VSVideoAddress1 0x0030
-#define VSVideoAddress2 0x0038
-#define VSVideoStride 0x0040
-#define VSVideoStartLine 0x0048
-#define VSVideoEndLine 0x0050
-#define VSVideoStartData 0x0058
-#define VSVideoEndData 0x0060
-#define VSVBIAddressHost 0x0068
-#define VSVBIAddressIndex 0x0070
-#define VSVBIAddress0 0x0078
-#define VSVBIAddress1 0x0080
-#define VSVBIAddress2 0x0088
-#define VSVBIStride 0x0090
-#define VSVBIStartLine 0x0098
-#define VSVBIEndLine 0x00A0
-#define VSVBIStartData 0x00A8
-#define VSVBIEndData 0x00B0
-#define VSFifoControl 0x00B8
-
-/**********************************
- * GLINT Delta Region 0 Registers *
- **********************************/
-
-/* Control Status Registers */
-#define DResetStatus 0x0800
-#define DIntEnable 0x0808
-#define DIntFlags 0x0810
-#define DErrorFlags 0x0838
-#define DTestRegister 0x0848
-#define DFIFODis 0x0868
-
-
-
-/**********************************
- * GLINT Gamma Region 0 Registers *
- **********************************/
-
-/* Control Status Registers */
-#define GInFIFOSpace 0x0018
-#define GDMAAddress 0x0028
-#define GDMACount 0x0030
-#define GDMAControl 0x0060
-#define GOutDMA 0x0080
-#define GOutDMACount 0x0088
-#define GResetStatus 0x0800
-#define GIntEnable 0x0808
-#define GIntFlags 0x0810
-#define GErrorFlags 0x0838
-#define GTestRegister 0x0848
-#define GFIFODis 0x0868
-
-#define GChipConfig 0x0870
-# define GChipAGPCapable 1 << 0
-# define GChipAGPSideband 1 << 1
-# define GChipMultiGLINTApMask 3 << 19
-# define GChipMultiGLINTAp_0M 0 << 19
-# define GChipMultiGLINTAp_16M 1 << 19
-# define GChipMultiGLINTAp_32M 2 << 19
-# define GChipMultiGLINTAp_64M 3 << 19
-
-#define GCSRAperture 0x0878
-# define GCSRSecondaryGLINTMapEn 1 << 0
-# define GCSRBitSwap 1 << 1
-
-#define GPageTableAddr 0x0c00
-#define GPageTableLength 0x0c08
-#define GDelayTimer 0x0c38
-#define GCommandMode 0x0c40
-#define GCommandIntEnable 0x0c48
-#define GCommandIntFlags 0x0c50
-#define GCommandErrorFlags 0x0c58
-#define GCommandStatus 0x0c60
-#define GCommandFaultingAddr 0x0c68
-#define GVertexFaultingAddr 0x0c70
-#define GWriteFaultingAddr 0x0c88
-#define GFeedbackSelectCount 0x0c98
-#define GGammaProcessorMode 0x0cb8
-#define GVGAShadow 0x0d00
-#define GMultGLINTAperture 0x0d08
-#define GMultGLINT1 0x0d10
-#define GMultGLINT2 0x0d18
-
-/************************
- * GLINT Core Registers *
- ************************/
-
-#define GLINT_TAG(major,offset) (((major) << 7) | ((offset) << 3))
-#define GLINT_TAG_ADDR(major,offset) (0x8000 | GLINT_TAG((major),(offset)))
-
-#define UNIT_DISABLE 0
-#define UNIT_ENABLE 1
-
-#define StartXDom GLINT_TAG_ADDR(0x00,0x00)
-#define dXDom GLINT_TAG_ADDR(0x00,0x01)
-#define StartXSub GLINT_TAG_ADDR(0x00,0x02)
-#define dXSub GLINT_TAG_ADDR(0x00,0x03)
-#define StartY GLINT_TAG_ADDR(0x00,0x04)
-#define dY GLINT_TAG_ADDR(0x00,0x05)
-#define GLINTCount GLINT_TAG_ADDR(0x00,0x06)
-
-#define Render GLINT_TAG_ADDR(0x00,0x07)
-# define AreaStippleEnable 0x00001
-# define LineStippleEnable 0x00002
-# define ResetLineStipple 0x00004
-# define FastFillEnable 0x00008
-# define PrimitiveLine 0
-# define PrimitiveTrapezoid 0x00040
-# define PrimitivePoint 0x00080
-# define PrimitiveRectangle 0x000C0
-# define AntialiasEnable 0x00100
-# define AntialiasingQuality 0x00200
-# define UsePointTable 0x00400
-# define SyncOnBitMask 0x00800
-# define SyncOnHostData 0x01000
-# define TextureEnable 0x02000
-# define FogEnable 0x04000
-# define CoverageEnable 0x08000
-# define SubPixelCorrectionEnable 0x10000
-# define SpanOperation 0x40000
-# define XPositive 1<<21
-# define YPositive 1<<22
-
-#define ContinueNewLine GLINT_TAG_ADDR(0x00,0x08)
-#define ContinueNewDom GLINT_TAG_ADDR(0x00,0x09)
-#define ContinueNewSub GLINT_TAG_ADDR(0x00,0x0a)
-#define Continue GLINT_TAG_ADDR(0x00,0x0b)
-#define FlushSpan GLINT_TAG_ADDR(0x00,0x0c)
-#define BitMaskPattern GLINT_TAG_ADDR(0x00,0x0d)
-
-#define PointTable0 GLINT_TAG_ADDR(0x01,0x00)
-#define PointTable1 GLINT_TAG_ADDR(0x01,0x01)
-#define PointTable2 GLINT_TAG_ADDR(0x01,0x02)
-#define PointTable3 GLINT_TAG_ADDR(0x01,0x03)
-
-#define RasterizerMode GLINT_TAG_ADDR(0x01,0x04)
-#define RMMultiGLINT 1<<17
-#define BitMaskPackingEachScanline 1<<9
-#define ForceBackgroundColor 1<<6
-#define InvertBitMask 1<<1
-
-#define YLimits GLINT_TAG_ADDR(0x01,0x05)
-#define ScanLineOwnership GLINT_TAG_ADDR(0x01,0x06)
-#define WaitForCompletion GLINT_TAG_ADDR(0x01,0x07)
-#define PixelSize GLINT_TAG_ADDR(0x01,0x08)
-#define XLimits GLINT_TAG_ADDR(0x01,0x09) /* PM only */
-
-#define RectangleOrigin GLINT_TAG_ADDR(0x01,0x0A) /* PM2 only */
-#define RectangleSize GLINT_TAG_ADDR(0x01,0x0B) /* PM2 only */
-
-#define PackedDataLimits GLINT_TAG_ADDR(0x02,0x0a) /* PM only */
-
-#define ScissorMode GLINT_TAG_ADDR(0x03,0x00)
-# define SCI_USER 0x01
-# define SCI_SCREEN 0x02
-# define SCI_USERANDSCREEN 0x03
-
-#define ScissorMinXY GLINT_TAG_ADDR(0x03,0x01)
-#define ScissorMaxXY GLINT_TAG_ADDR(0x03,0x02)
-#define ScreenSize GLINT_TAG_ADDR(0x03,0x03)
-#define AreaStippleMode GLINT_TAG_ADDR(0x03,0x04)
- /* 0: */
- /* NoMirrorY */
- /* NoMirrorX */
- /* NoInvertPattern */
- /* YAddress_1bit */
- /* XAddress_1bit */
- /* UNIT_DISABLE */
-
-# define ASM_XAddress_2bit 1 << 1
-# define ASM_XAddress_3bit 2 << 1
-# define ASM_XAddress_4bit 3 << 1
-# define ASM_XAddress_5bit 4 << 1
-# define ASM_YAddress_2bit 1 << 4
-# define ASM_YAddress_3bit 2 << 4
-# define ASM_YAddress_4bit 3 << 4
-# define ASM_YAddress_5bit 4 << 4
-# define ASM_InvertPattern 1 << 17
-# define ASM_MirrorX 1 << 18
-# define ASM_MirrorY 1 << 19
-
-#define LineStippleMode GLINT_TAG_ADDR(0x03,0x05)
-#define LoadLineStippleCounters GLINT_TAG_ADDR(0x03,0x06)
-#define UpdateLineStippleCounters GLINT_TAG_ADDR(0x03,0x07)
-#define SaveLineStippleState GLINT_TAG_ADDR(0x03,0x08)
-#define WindowOrigin GLINT_TAG_ADDR(0x03,0x09)
-
-#define AreaStipplePattern0 GLINT_TAG_ADDR(0x04,0x00)
-#define AreaStipplePattern1 GLINT_TAG_ADDR(0x04,0x01)
-#define AreaStipplePattern2 GLINT_TAG_ADDR(0x04,0x02)
-#define AreaStipplePattern3 GLINT_TAG_ADDR(0x04,0x03)
-#define AreaStipplePattern4 GLINT_TAG_ADDR(0x04,0x04)
-#define AreaStipplePattern5 GLINT_TAG_ADDR(0x04,0x05)
-#define AreaStipplePattern6 GLINT_TAG_ADDR(0x04,0x06)
-#define AreaStipplePattern7 GLINT_TAG_ADDR(0x04,0x07)
-
-#define TextureAddressMode GLINT_TAG_ADDR(0x07,0x00)
-#define SStart GLINT_TAG_ADDR(0x07,0x01)
-#define dSdx GLINT_TAG_ADDR(0x07,0x02)
-#define dSdyDom GLINT_TAG_ADDR(0x07,0x03)
-#define TStart GLINT_TAG_ADDR(0x07,0x04)
-#define dTdx GLINT_TAG_ADDR(0x07,0x05)
-#define dTdyDom GLINT_TAG_ADDR(0x07,0x06)
-#define QStart GLINT_TAG_ADDR(0x07,0x07)
-#define dQdx GLINT_TAG_ADDR(0x07,0x08)
-#define dQdyDom GLINT_TAG_ADDR(0x07,0x09)
-#define LOD GLINT_TAG_ADDR(0x07,0x0A)
-#define dSdy GLINT_TAG_ADDR(0x07,0x0B)
-#define dTdy GLINT_TAG_ADDR(0x07,0x0C)
-#define dQdy GLINT_TAG_ADDR(0x07,0x0D)
-
-#define TextureReadMode GLINT_TAG_ADDR(0x09,0x00)
-
-#define TextureFormat GLINT_TAG_ADDR(0x09,0x01)
-# define Texture_4_Components 3 << 3
-# define Texture_Texel 0
-
-#define TextureCacheControl GLINT_TAG_ADDR(0x09,0x02)
-# define TextureCacheControlEnable 2
-# define TextureCacheControlInvalidate 1
-
-#define GLINTBorderColor GLINT_TAG_ADDR(0x09,0x05)
-
-#define TexelLUTIndex GLINT_TAG_ADDR(0x09,0x08)
-#define TexelLUTData GLINT_TAG_ADDR(0x09,0x09)
-#define TexelLUTAddress GLINT_TAG_ADDR(0x09,0x0A)
-#define TexelLUTTransfer GLINT_TAG_ADDR(0x09,0x0B)
-
-#define TextureFilterMode GLINT_TAG_ADDR(0x09,0x0C)
-
-#define TextureChromaUpper GLINT_TAG_ADDR(0x09,0x0D)
-#define TextureChromaLower GLINT_TAG_ADDR(0x09,0x0E)
-
-#define TxBaseAddr0 GLINT_TAG_ADDR(0x0A,0x00)
-#define TxBaseAddr1 GLINT_TAG_ADDR(0x0A,0x01)
-#define TxBaseAddr2 GLINT_TAG_ADDR(0x0A,0x02)
-#define TxBaseAddr3 GLINT_TAG_ADDR(0x0A,0x03)
-#define TxBaseAddr4 GLINT_TAG_ADDR(0x0A,0x04)
-#define TxBaseAddr5 GLINT_TAG_ADDR(0x0A,0x05)
-#define TxBaseAddr6 GLINT_TAG_ADDR(0x0A,0x06)
-#define TxBaseAddr7 GLINT_TAG_ADDR(0x0A,0x07)
-#define TxBaseAddr8 GLINT_TAG_ADDR(0x0A,0x08)
-#define TxBaseAddr9 GLINT_TAG_ADDR(0x0A,0x09)
-#define TxBaseAddr10 GLINT_TAG_ADDR(0x0A,0x0A)
-#define TxBaseAddr11 GLINT_TAG_ADDR(0x0A,0x0B)
-
-#define PMTextureBaseAddress GLINT_TAG_ADDR(0x0b,0x00)
-#define PMTextureMapFormat GLINT_TAG_ADDR(0x0b,0x01)
-#define PMTextureDataFormat GLINT_TAG_ADDR(0x0b,0x02)
-
-#define Texel0 GLINT_TAG_ADDR(0x0c,0x00)
-#define Texel1 GLINT_TAG_ADDR(0x0c,0x01)
-#define Texel2 GLINT_TAG_ADDR(0x0c,0x02)
-#define Texel3 GLINT_TAG_ADDR(0x0c,0x03)
-#define Texel4 GLINT_TAG_ADDR(0x0c,0x04)
-#define Texel5 GLINT_TAG_ADDR(0x0c,0x05)
-#define Texel6 GLINT_TAG_ADDR(0x0c,0x06)
-#define Texel7 GLINT_TAG_ADDR(0x0c,0x07)
-
-#define Interp0 GLINT_TAG_ADDR(0x0c,0x08)
-#define Interp1 GLINT_TAG_ADDR(0x0c,0x09)
-#define Interp2 GLINT_TAG_ADDR(0x0c,0x0a)
-#define Interp3 GLINT_TAG_ADDR(0x0c,0x0b)
-#define Interp4 GLINT_TAG_ADDR(0x0c,0x0c)
-
-#define TextureFilter GLINT_TAG_ADDR(0x0c,0x0d)
-#define PMTextureReadMode GLINT_TAG_ADDR(0x0c,0x0e)
-#define TexelLUTMode GLINT_TAG_ADDR(0x0c,0x0f)
-
-#define TextureColorMode GLINT_TAG_ADDR(0x0d,0x00)
-# define TextureTypeOpenGL 0
-# define TextureTypeApple 1 << 4
-# define TextureKsDDA 1 << 5 /* only Apple-Mode */
-# define TextureKdDDA 1 << 6 /* only Apple-Mode */
-
-#define TextureEnvColor GLINT_TAG_ADDR(0x0d,0x01)
-#define FogMode GLINT_TAG_ADDR(0x0d,0x02)
- /* 0: */
- /* FOG RGBA */
- /* UNIT_DISABLE */
-# define FOG_CI 0x0002
-
-#define FogColor GLINT_TAG_ADDR(0x0d,0x03)
-#define FStart GLINT_TAG_ADDR(0x0d,0x04)
-#define dFdx GLINT_TAG_ADDR(0x0d,0x05)
-#define dFdyDom GLINT_TAG_ADDR(0x0d,0x06)
-#define KsStart GLINT_TAG_ADDR(0x0d,0x09)
-#define dKsdx GLINT_TAG_ADDR(0x0d,0x0a)
-#define dKsdyDom GLINT_TAG_ADDR(0x0d,0x0b)
-#define KdStart GLINT_TAG_ADDR(0x0d,0x0c)
-#define dKdStart GLINT_TAG_ADDR(0x0d,0x0d)
-#define dKddyDom GLINT_TAG_ADDR(0x0d,0x0e)
-
-#define RStart GLINT_TAG_ADDR(0x0f,0x00)
-#define dRdx GLINT_TAG_ADDR(0x0f,0x01)
-#define dRdyDom GLINT_TAG_ADDR(0x0f,0x02)
-#define GStart GLINT_TAG_ADDR(0x0f,0x03)
-#define dGdx GLINT_TAG_ADDR(0x0f,0x04)
-#define dGdyDom GLINT_TAG_ADDR(0x0f,0x05)
-#define BStart GLINT_TAG_ADDR(0x0f,0x06)
-#define dBdx GLINT_TAG_ADDR(0x0f,0x07)
-#define dBdyDom GLINT_TAG_ADDR(0x0f,0x08)
-#define AStart GLINT_TAG_ADDR(0x0f,0x09)
-#define dAdx GLINT_TAG_ADDR(0x0f,0x0a)
-#define dAdyDom GLINT_TAG_ADDR(0x0f,0x0b)
-#define ColorDDAMode GLINT_TAG_ADDR(0x0f,0x0c)
- /* 0:*/
- /* UNIT_DISABLE */
-# define CDDA_FlatShading 0
-# define CDDA_GouraudShading 0x0002
-
-
-#define ConstantColor GLINT_TAG_ADDR(0x0f,0x0d)
-#define GLINTColor GLINT_TAG_ADDR(0x0f,0x0e)
-#define AlphaTestMode GLINT_TAG_ADDR(0x10,0x00)
-#define AntialiasMode GLINT_TAG_ADDR(0x10,0x01)
-#define AlphaBlendMode GLINT_TAG_ADDR(0x10,0x02)
- /* 0: */
- /* SrcZERO */
- /* DstZERO */
- /* ColorFormat8888 */
- /* AlphaBuffer present */
- /* ColorOrderBGR */
- /* TypeOpenGL */
- /* DstFBData */
- /* UNIT_DISABLE */
-
-# define ABM_SrcONE 1 << 1
-# define ABM_SrcDST_COLOR 2 << 1
-# define ABM_SrcONE_MINUS_DST_COLOR 3 << 1
-# define ABM_SrcSRC_ALPHA 4 << 1
-# define ABM_SrcONE_MINUS_SRC_ALPHA 5 << 1
-# define ABM_SrcDST_ALPHA 6 << 1
-# define ABM_SrcONE_MINUS_DST_ALPHA 7 << 1
-# define ABM_SrcSRC_ALPHA_SATURATE 8 << 1
-# define ABM_DstONE 1 << 5
-# define ABM_DstSRC_COLOR 2 << 5
-# define ABM_DstONE_MINUS_SRC_COLOR 3 << 5
-# define ABM_DstSRC_ALPHA 4 << 5
-# define ABM_DstONE_MINUS_SRC_ALPHA 5 << 5
-# define ABM_DstDST_ALPHA 6 << 5
-# define ABM_DstONE_MINUS_DST_ALPHA 7 << 5
-# define ABM_ColorFormat5555 1 << 8
-# define ABM_ColorFormat4444 2 << 8
-# define ABM_ColorFormat4444_Front 3 << 8
-# define ABM_ColorFormat4444_Back 4 << 8
-# define ABM_ColorFormat332_Front 5 << 8
-# define ABM_ColorFormat332_Back 6 << 8
-# define ABM_ColorFormat121_Front 7 << 8
-# define ABM_ColorFormat121_Back 8 << 8
-# define ABM_ColorFormat555_Back 13 << 8
-# define ABM_ColorFormat_CI8 14 << 8
-# define ABM_ColorFormat_CI4 15 << 8
-# define ABM_NoAlphaBuffer 0x1000
-# define ABM_ColorOrderRGB 0x2000
-# define ABM_TypeQuickDraw3D 0x4000
-# define ABM_DstFBSourceData 0x8000
-
-#define DitherMode GLINT_TAG_ADDR(0x10,0x03)
- /* 0: */
- /* ColorOrder BGR */
- /* AlphaDitherDefault */
- /* ColorFormat8888 */
- /* TruncateMode */
- /* DitherDisable */
- /* UNIT_DISABLE */
-
-# define DTM_DitherEnable 1 << 1
-# define DTM_ColorFormat5555 1 << 2
-# define DTM_ColorFormat4444 2 << 2
-# define DTM_ColorFormat4444_Front 3 << 2
-# define DTM_ColorFormat4444_Back 4 << 2
-# define DTM_ColorFormat332_Front 5 << 2
-# define DTM_ColorFormat332_Back 6 << 2
-# define DTM_ColorFormat121_Front 7 << 2
-# define DTM_ColorFormat121_Back 8 << 2
-# define DTM_ColorFormat555_Back 13 << 2
-# define DTM_ColorFormat_CI8 14 << 2
-# define DTM_ColorFormat_CI4 15 << 2
-# define DTM_ColorOrderRGB 1 << 10
-# define DTM_NoAlphaDither 1 << 14
-# define DTM_RoundMode 1 << 15
-
-#define FBSoftwareWriteMask GLINT_TAG_ADDR(0x10,0x04)
-#define LogicalOpMode GLINT_TAG_ADDR(0x10,0x05)
-# define Use_ConstantFBWriteData 0x40
-
-
-#define FBWriteData GLINT_TAG_ADDR(0x10,0x06)
-#define RouterMode GLINT_TAG_ADDR(0x10,0x08)
-# define ROUTER_Depth_Texture 1
-# define ROUTER_Texture_Depth 0
-
-
-#define LBReadMode GLINT_TAG_ADDR(0x11,0x00)
- /* 0: */
- /* SrcNoRead */
- /* DstNoRead */
- /* DataLBDefault */
- /* WinTopLeft */
- /* NoPatch */
- /* ScanlineInterval1 */
-
-# define LBRM_SrcEnable 1 << 9
-# define LBRM_DstEnable 1 << 10
-# define LBRM_DataLBStencil 1 << 16
-# define LBRM_DataLBDepth 2 << 16
-# define LBRM_WinBottomLeft 1 << 18
-# define LBRM_DoPatch 1 << 19
-
-# define LBRM_ScanlineInt2 1 << 20
-# define LBRM_ScanlineInt4 2 << 20
-# define LBRM_ScanlineInt8 3 << 20
-
-
-#define LBReadFormat GLINT_TAG_ADDR(0x11,0x01)
-# define LBRF_DepthWidth15 0x03 /* only permedia */
-# define LBRF_DepthWidth16 0x00
-# define LBRF_DepthWidth24 0x01
-# define LBRF_DepthWidth32 0x02
-
-# define LBRF_StencilWidth0 (0 << 2)
-# define LBRF_StencilWidth4 (1 << 2)
-# define LBRF_StencilWidth8 (2 << 2)
-
-# define LBRF_StencilPos16 (0 << 4)
-# define LBRF_StencilPos20 (1 << 4)
-# define LBRF_StencilPos24 (2 << 4)
-# define LBRF_StencilPos28 (3 << 4)
-# define LBRF_StencilPos32 (4 << 4)
-
-# define LBRF_FrameCount0 (0 << 7)
-# define LBRF_FrameCount4 (1 << 7)
-# define LBRF_FrameCount8 (2 << 7)
-
-# define LBRF_FrameCountPos16 (0 << 9)
-# define LBRF_FrameCountPos20 (1 << 9)
-# define LBRF_FrameCountPos24 (2 << 9)
-# define LBRF_FrameCountPos28 (3 << 9)
-# define LBRF_FrameCountPos32 (4 << 9)
-# define LBRF_FrameCountPos36 (5 << 9)
-# define LBRF_FrameCountPos40 (6 << 9)
-
-# define LBRF_GIDWidth0 (0 << 12)
-# define LBRF_GIDWidth4 (1 << 12)
-
-# define LBRF_GIDPos16 (0 << 13)
-# define LBRF_GIDPos20 (1 << 13)
-# define LBRF_GIDPos24 (2 << 13)
-# define LBRF_GIDPos28 (3 << 13)
-# define LBRF_GIDPos32 (4 << 13)
-# define LBRF_GIDPos36 (5 << 13)
-# define LBRF_GIDPos40 (6 << 13)
-# define LBRF_GIDPos44 (7 << 13)
-# define LBRF_GIDPos48 (8 << 13)
-
-# define LBRF_Compact32 (1 << 17)
-
-
-
-#define LBSourceOffset GLINT_TAG_ADDR(0x11,0x02)
-#define LBStencil GLINT_TAG_ADDR(0x11,0x05)
-#define LBDepth GLINT_TAG_ADDR(0x11,0x06)
-#define LBWindowBase GLINT_TAG_ADDR(0x11,0x07)
-#define LBWriteMode GLINT_TAG_ADDR(0x11,0x08)
-# define LBWM_WriteEnable 0x1
-# define LBWM_UpLoad_LBDepth 0x2
-# define LBWM_UpLoad_LBStencil 0x4
-
-#define LBWriteFormat GLINT_TAG_ADDR(0x11,0x09)
-
-
-#define TextureData GLINT_TAG_ADDR(0x11,0x0d)
-#define TextureDownloadOffset GLINT_TAG_ADDR(0x11,0x0e)
-#define LBWindowOffset GLINT_TAG_ADDR(0x11,0x0f)
-
-#define GLINTWindow GLINT_TAG_ADDR(0x13,0x00)
-# define GWIN_UnitEnable (1 << 0)
-# define GWIN_ForceLBUpdate (1 << 3)
-# define GWIN_LBUpdateSourceREG (1 << 4)
-# define GWIN_LBUpdateSourceLB (0 << 4)
-# define GWIN_StencilFCP (1 << 17)
-# define GWIN_DepthFCP (1 << 18)
-# define GWIN_OverrideWriteFilter (1 << 19)
-# define GWIN_DisableLBUpdate 0x40000 /* ??? is this needed, set by permedia (2) modules */
-
-#define StencilMode GLINT_TAG_ADDR(0x13,0x01)
-#define StencilData GLINT_TAG_ADDR(0x13,0x02)
-#define GLINTStencil GLINT_TAG_ADDR(0x13,0x03)
-#define DepthMode GLINT_TAG_ADDR(0x13,0x04)
- /* 0: */
- /* WriteDisable */
- /* SrcCompFragment */
- /* CompFuncNEVER */
- /* UNIT_DISABLE */
-
-# define DPM_WriteEnable 1 << 1
-# define DPM_SrcCompLBData 1 << 2
-# define DPM_SrcCompDregister 2 << 2
-# define DPM_SrcCompLBSourceData 3 << 2
-# define DPM_CompFuncLESS 1 << 4
-# define DPM_CompFuncEQUAL 2 << 4
-# define DPM_CompFuncLESS_OR_EQ 3 << 4
-# define DPM_CompFuncGREATER 4 << 4
-# define DPM_CompFuncNOT_EQ 5 << 4
-# define DPM_CompFuncGREATER_OR_EQ 6 << 4
-# define DPM_CompFuncALWAYS 7 << 4
-
-#define GLINTDepth GLINT_TAG_ADDR(0x13,0x05)
-#define ZStartU GLINT_TAG_ADDR(0x13,0x06)
-#define ZStartL GLINT_TAG_ADDR(0x13,0x07)
-#define dZdxU GLINT_TAG_ADDR(0x13,0x08)
-#define dZdxL GLINT_TAG_ADDR(0x13,0x09)
-#define dZdyDomU GLINT_TAG_ADDR(0x13,0x0a)
-#define dZdyDomL GLINT_TAG_ADDR(0x13,0x0b)
-#define FastClearDepth GLINT_TAG_ADDR(0x13,0x0c)
-
-#define FBReadMode GLINT_TAG_ADDR(0x15,0x00)
- /* 0: */
- /* SrcNoRead */
- /* DstNoRead */
- /* DataFBDefault */
- /* WinTopLeft */
- /* ScanlineInterval1 */
-
-# define FBRM_SrcEnable 1 << 9
-# define FBRM_DstEnable 1 << 10
-# define FBRM_DataFBColor 1 << 15
-# define FBRM_WinBottomLeft 1 << 16
-# define FBRM_Packed 1 << 19
-# define FBRM_ScanlineInt2 1 << 23
-# define FBRM_ScanlineInt4 2 << 23
-# define FBRM_ScanlineInt8 3 << 23
-
-
-#define FBSourceOffset GLINT_TAG_ADDR(0x15,0x01)
-#define FBPixelOffset GLINT_TAG_ADDR(0x15,0x02)
-#define FBColor GLINT_TAG_ADDR(0x15,0x03)
-#define FBData GLINT_TAG_ADDR(0x15,0x04)
-#define FBSourceData GLINT_TAG_ADDR(0x15,0x05)
-
-#define FBWindowBase GLINT_TAG_ADDR(0x15,0x06)
-#define FBWriteMode GLINT_TAG_ADDR(0x15,0x07)
- /* 0: */
- /* FBWM_NoColorUpload */
- /* FBWM_WriteDisable */
-# define FBWM_WriteEnable 1
-# define FBWM_UploadColor 1 << 3
-# define FBWM_Enable0 1 << 12 /* PM3 */
-
-#define FBHardwareWriteMask GLINT_TAG_ADDR(0x15,0x08)
-#define FBBlockColor GLINT_TAG_ADDR(0x15,0x09)
-#define FBReadPixel GLINT_TAG_ADDR(0x15,0x0a) /* PM */
-#define PatternRamMode GLINT_TAG_ADDR(0x15,0x0f)
-
-#define PatternRamData0 GLINT_TAG_ADDR(0x16,0x00)
-#define PatternRamData1 GLINT_TAG_ADDR(0x16,0x01)
-#define PatternRamData2 GLINT_TAG_ADDR(0x16,0x02)
-#define PatternRamData3 GLINT_TAG_ADDR(0x16,0x03)
-#define PatternRamData4 GLINT_TAG_ADDR(0x16,0x04)
-#define PatternRamData5 GLINT_TAG_ADDR(0x16,0x05)
-#define PatternRamData6 GLINT_TAG_ADDR(0x16,0x06)
-#define PatternRamData7 GLINT_TAG_ADDR(0x16,0x07)
-
-#define FilterMode GLINT_TAG_ADDR(0x18,0x00)
- /* 0: */
- /* CullDepthTags */
- /* CullDepthData */
- /* CullStencilTags */
- /* CullStencilData */
- /* CullColorTag */
- /* CullColorData */
- /* CullSyncTag */
- /* CullSyncData */
- /* CullStatisticTag */
- /* CullStatisticData */
-
-# define FM_PassDepthTags 0x0010
-# define FM_PassDepthData 0x0020
-# define FM_PassStencilTags 0x0040
-# define FM_PassStencilData 0x0080
-# define FM_PassColorTag 0x0100
-# define FM_PassColorData 0x0200
-# define FM_PassSyncTag 0x0400
-# define FM_PassSyncData 0x0800
-# define FM_PassStatisticTag 0x1000
-# define FM_PassStatisticData 0x2000
-
-#define Sync_tag 0x0188
-
-#define StatisticMode GLINT_TAG_ADDR(0x18,0x01)
-#define MinRegion GLINT_TAG_ADDR(0x18,0x02)
-#define MaxRegion GLINT_TAG_ADDR(0x18,0x03)
-#define ResetPickResult GLINT_TAG_ADDR(0x18,0x04)
-#define MitHitRegion GLINT_TAG_ADDR(0x18,0x05)
-#define MaxHitRegion GLINT_TAG_ADDR(0x18,0x06)
-#define PickResult GLINT_TAG_ADDR(0x18,0x07)
-#define GlintSync GLINT_TAG_ADDR(0x18,0x08)
-
-#define FBBlockColorU GLINT_TAG_ADDR(0x18,0x0d)
-#define FBBlockColorL GLINT_TAG_ADDR(0x18,0x0e)
-#define SuspendUntilFrameBlank GLINT_TAG_ADDR(0x18,0x0f)
-
-#define KsRStart GLINT_TAG_ADDR(0x19,0x00)
-#define dKsRdx GLINT_TAG_ADDR(0x19,0x01)
-#define dKsRdyDom GLINT_TAG_ADDR(0x19,0x02)
-#define KsGStart GLINT_TAG_ADDR(0x19,0x03)
-#define dKsGdx GLINT_TAG_ADDR(0x19,0x04)
-#define dKsGdyDom GLINT_TAG_ADDR(0x19,0x05)
-#define KsBStart GLINT_TAG_ADDR(0x19,0x06)
-#define dKsBdx GLINT_TAG_ADDR(0x19,0x07)
-#define dKsBdyDom GLINT_TAG_ADDR(0x19,0x08)
-
-#define KdRStart GLINT_TAG_ADDR(0x1A,0x00)
-#define dKdRdx GLINT_TAG_ADDR(0x1A,0x01)
-#define dKdRdyDom GLINT_TAG_ADDR(0x1A,0x02)
-#define KdGStart GLINT_TAG_ADDR(0x1A,0x03)
-#define dKdGdx GLINT_TAG_ADDR(0x1A,0x04)
-#define dKdGdyDom GLINT_TAG_ADDR(0x1A,0x05)
-#define KdBStart GLINT_TAG_ADDR(0x1A,0x06)
-#define dKdBdx GLINT_TAG_ADDR(0x1A,0x07)
-#define dKdBdyDom GLINT_TAG_ADDR(0x1A,0x08)
-
-#define FBSourceBase GLINT_TAG_ADDR(0x1B,0x00)
-#define FBSourceDelta GLINT_TAG_ADDR(0x1B,0x01)
-#define Config GLINT_TAG_ADDR(0x1B,0x02)
-#define CFBRM_SrcEnable 1<<0
-#define CFBRM_DstEnable 1<<1
-#define CFBRM_Packed 1<<2
-#define CWM_Enable 1<<3
-#define CCDDA_Enable 1<<4
-#define CLogOp_Enable 1<<5
-#define ContextDump GLINT_TAG_ADDR(0x1B,0x08)
-#define ContextRestore GLINT_TAG_ADDR(0x1B,0x09)
-#define ContextData GLINT_TAG_ADDR(0x1B,0x0a)
-
-#define TexelLUT0 GLINT_TAG_ADDR(0x1D,0x00)
-#define TexelLUT1 GLINT_TAG_ADDR(0x1D,0x01)
-#define TexelLUT2 GLINT_TAG_ADDR(0x1D,0x02)
-#define TexelLUT3 GLINT_TAG_ADDR(0x1D,0x03)
-#define TexelLUT4 GLINT_TAG_ADDR(0x1D,0x04)
-#define TexelLUT5 GLINT_TAG_ADDR(0x1D,0x05)
-#define TexelLUT6 GLINT_TAG_ADDR(0x1D,0x06)
-#define TexelLUT7 GLINT_TAG_ADDR(0x1D,0x07)
-#define TexelLUT8 GLINT_TAG_ADDR(0x1D,0x08)
-#define TexelLUT9 GLINT_TAG_ADDR(0x1D,0x09)
-#define TexelLUT10 GLINT_TAG_ADDR(0x1D,0x0A)
-#define TexelLUT11 GLINT_TAG_ADDR(0x1D,0x0B)
-#define TexelLUT12 GLINT_TAG_ADDR(0x1D,0x0C)
-#define TexelLUT13 GLINT_TAG_ADDR(0x1D,0x0D)
-#define TexelLUT14 GLINT_TAG_ADDR(0x1D,0x0E)
-#define TexelLUT15 GLINT_TAG_ADDR(0x1D,0x0F)
-
-#define YUVMode GLINT_TAG_ADDR(0x1E,0x00)
-#define ChromaUpper GLINT_TAG_ADDR(0x1E,0x01)
-#define ChromaLower GLINT_TAG_ADDR(0x1E,0x02)
-#define ChromaTestMode GLINT_TAG_ADDR(0x1E,0x03)
-
-
-/******************************
- * GLINT Delta Core Registers *
- ******************************/
-
-#define V0FixedTag GLINT_TAG_ADDR(0x20,0x00)
-#define V1FixedTag GLINT_TAG_ADDR(0x21,0x00)
-#define V2FixedTag GLINT_TAG_ADDR(0x22,0x00)
-#define V0FloatTag GLINT_TAG_ADDR(0x23,0x00)
-#define V1FloatTag GLINT_TAG_ADDR(0x24,0x00)
-#define V2FloatTag GLINT_TAG_ADDR(0x25,0x00)
-
-#define VPAR_s 0x00
-#define VPAR_t 0x08
-#define VPAR_q 0x10
-#define VPAR_Ks 0x18
-#define VPAR_Kd 0x20
-
-/* have changed colors in ramdac !
-#define VPAR_R 0x28
-#define VPAR_G 0x30
-#define VPAR_B 0x38
-#define VPAR_A 0x40
-*/
-#define VPAR_B 0x28
-#define VPAR_G 0x30
-#define VPAR_R 0x38
-#define VPAR_A 0x40
-
-#define VPAR_f 0x48
-
-#define VPAR_x 0x50
-#define VPAR_y 0x58
-#define VPAR_z 0x60
-
-#define DeltaModeTag GLINT_TAG_ADDR(0x26,0x00)
- /* 0: */
- /* GLINT_300SX */
-
- /* DeltaMode Register Bit Field Assignments */
-# define DM_GLINT_300SX 0x0000
-# define DM_GLINT_500TX 0x0001
-# define DM_PERMEDIA 0x0002
-# define DM_Depth_16BPP (1 << 2)
-# define DM_Depth_24BPP (2 << 2)
-# define DM_Depth_32BPP (3 << 2)
-# define DM_FogEnable 0x0010
-# define DM_TextureEnable 0x0020
-# define DM_SmoothShadingEnable 0x0040
-# define DM_DepthEnable 0x0080
-# define DM_SpecularTextureEnable 0x0100
-# define DM_DiffuseTextureEnable 0x0200
-# define DM_SubPixelCorrectionEnable 0x0400
-# define DM_DiamondExit 0x0800
-# define DM_NoDraw 0x1000
-# define DM_ClampEnable 0x2000
-# define DM_ClampedTexParMode 0x4000
-# define DM_NormalizedTexParMode 0xC000
-
-
-# define DDCMD_AreaStrippleEnable 0x0001
-# define DDCMD_LineStrippleEnable 0x0002
-# define DDCMD_ResetLineStripple 1 << 2
-# define DDCMD_FastFillEnable 1 << 3
- /* 2 Bits reserved */
-# define DDCMD_PrimitiveType_Point 2 << 6
-# define DDCMD_PrimitiveType_Line 0 << 6
-# define DDCMD_PrimitiveType_Trapezoid 1 << 6
-# define DDCMD_AntialiasEnable 1 << 8
-# define DDCMD_AntialiasingQuality 1 << 9
-# define DDCMD_UsePointTable 1 << 10
-# define DDCMD_SyncOnBitMask 1 << 11
-# define DDCMD_SyncOnHostDate 1 << 12
-# define DDCMD_TextureEnable 1 << 13
-# define DDCMD_FogEnable 1 << 14
-# define DDCMD_CoverageEnable 1 << 15
-# define DDCMD_SubPixelCorrectionEnable 1 << 16
-
-
-
-#define DrawTriangle GLINT_TAG_ADDR(0x26,0x01)
-#define RepeatTriangle GLINT_TAG_ADDR(0x26,0x02)
-#define DrawLine01 GLINT_TAG_ADDR(0x26,0x03)
-#define DrawLine10 GLINT_TAG_ADDR(0x26,0x04)
-#define RepeatLine GLINT_TAG_ADDR(0x26,0x05)
-#define BroadcastMask GLINT_TAG_ADDR(0x26,0x0F)
-
-/* Permedia 3 - Accelerator Extensions */
-#define FillRectanglePosition 0x8348
-#define FillRender2D 0x8350
-#define FBDstReadBufAddr0 0xAE80
-#define FBDstReadBufOffset0 0xAEA0
-#define FBDstReadBufWidth0 0xAEC0
-#define FBDstReadMode 0xAEE0
-#define FBDRM_Enable0 1<<8
-#define FBDRM_Blocking 1<<24
-#define FBDstReadEnables 0xAEE8
-#define FBSrcReadMode 0xAF00
-#define FBSRM_Blocking 1<<11
-#define FBSrcReadBufAddr 0xAF08
-#define FBSrcReadBufOffset0 0xAF10
-#define FBSrcReadBufWidth 0xAF18
-#define FBWriteBufAddr0 0xB000
-#define FBWriteBufOffset0 0xB020
-#define FBWriteBufWidth0 0xB040
-#define FBBlockColorBack 0xB0A0
-#define ForegroundColor 0xB0C0
-#define BackgroundColor 0xB0C8
-#define RectanglePosition 0xB600
-#define Render2D 0xB640
-
-/* Colorformats */
-#define BGR555 1
-#define BGR565 16
-#define CI8 14
-#define CI4 15
-
-#if 0
-
-#ifdef DEBUG
-#define GLINT_WRITE_REG(v,r) \
- GLINT_VERB_WRITE_REG(pGlint,v,r,__FILE__,__LINE__)
-#define GLINT_READ_REG(r) \
- GLINT_VERB_READ_REG(pGlint,r,__FILE__,__LINE__)
-#else
-
-#define GLINT_WRITE_REG(v,r) \
- MMIO_OUT32(pGlint->IOBase + pGlint->IOOffset,(unsigned long)(r), (v))
-#define GLINT_READ_REG(r) \
- MMIO_IN32(pGlint->IOBase + pGlint->IOOffset,(unsigned long)(r))
-
-#endif /* DEBUG */
-
-#define GLINT_WAIT(n) \
-do{ \
- if (pGlint->InFifoSpace>=(n)) \
- pGlint->InFifoSpace -= (n); \
- else { \
- int tmp; \
- while((tmp=GLINT_READ_REG(InFIFOSpace))<(n)); \
- /* Clamp value due to bugs in PM3 */ \
- if (tmp > pGlint->FIFOSize) \
- tmp = pGlint->FIFOSize; \
- pGlint->InFifoSpace = tmp - (n); \
- } \
-}while(0)
-
-#define GLINTDACDelay(x) do { \
- int delay = x; \
- while(delay--){(void)GLINT_READ_REG(InFIFOSpace);}; \
- } while(0)
-
-#define GLINT_MASK_WRITE_REG(v,m,r) \
- GLINT_WRITE_REG((GLINT_READ_REG(r)&(m))|(v),r)
-
-#define GLINT_SLOW_WRITE_REG(v,r) \
-do{ \
- mem_barrier(); \
- GLINT_WAIT(pGlint->FIFOSize); \
- mem_barrier(); \
- GLINT_WRITE_REG(v,r); \
-}while(0)
-
-#define GLINT_SET_INDEX(index) \
-do{ \
- GLINT_SLOW_WRITE_REG(((index)>>8)&0xff,PM2VDACIndexRegHigh); \
- GLINT_SLOW_WRITE_REG((index)&0xff,PM2VDACIndexRegLow); \
-} while(0)
-
-#define REPLICATE(r) \
-{ \
- if (pScrn->bitsPerPixel == 16) { \
- r &= 0xFFFF; \
- r |= (r<<16); \
- } else \
- if (pScrn->bitsPerPixel == 8) { \
- r &= 0xFF; \
- r |= (r<<8); \
- r |= (r<<16); \
- } \
-}
-
-#ifndef XF86DRI
-#define LOADROP(rop) \
-{ \
- if (pGlint->ROP != rop) { \
- GLINT_WRITE_REG(rop<<1|UNIT_ENABLE, LogicalOpMode); \
- pGlint->ROP = rop; \
- } \
-}
-#else
-#define LOADROP(rop) \
- { \
- GLINT_WRITE_REG(rop<<1|UNIT_ENABLE, LogicalOpMode); \
- pGlint->ROP = rop; \
- }
-#endif
-
-#define CHECKCLIPPING \
-{ \
- if (pGlint->ClippingOn) { \
- pGlint->ClippingOn = FALSE; \
- GLINT_WAIT(1); \
- GLINT_WRITE_REG(0, ScissorMode); \
- } \
-}
-
-#ifndef XF86DRI
-#define DO_PLANEMASK(planemask) \
-{ \
- if (planemask != pGlint->planemask) { \
- pGlint->planemask = planemask; \
- REPLICATE(planemask); \
- GLINT_WRITE_REG(planemask, FBHardwareWriteMask);\
- } \
-}
-#else
-#define DO_PLANEMASK(planemask) \
- { \
- pGlint->planemask = planemask; \
- REPLICATE(planemask); \
- GLINT_WRITE_REG(planemask, FBHardwareWriteMask);\
- }
-#endif
-
-/* Permedia Save/Restore functions */
-
-#define STOREREG(address,value) \
- pReg->glintRegs[address >> 3] = value;
-
-#define SAVEREG(address) \
- pReg->glintRegs[address >> 3] = GLINT_READ_REG(address);
-
-#define RESTOREREG(address) \
- GLINT_SLOW_WRITE_REG(pReg->glintRegs[address >> 3], address);
-
-#define STOREDAC(address,value) \
- pReg->DacRegs[address] = value;
-
-#define P2VOUT(address) \
- Permedia2vOutIndReg(pScrn, address, 0x00, pReg->DacRegs[address]);
-
-#define P2VIN(address) \
- pReg->DacRegs[address] = Permedia2vInIndReg(pScrn, address);
-
-/* RamDac Save/Restore functions, used by external DAC's */
-
-#define STORERAMDAC(address,value) \
- ramdacReg->DacRegs[address] = value;
-
-/* Multi Chip access */
-
-#define ACCESSCHIP1() \
- pGlint->IOOffset = 0;
-
-#define ACCESSCHIP2() \
- pGlint->IOOffset = 0x10000;
-
-#endif /* 0 */
-
-#define GLINT_XY(x,y) (((x) & 0x0FFF) | (((y) & 0x0FFF) << 16))
-
-#endif