You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1811 lines
50 KiB
1811 lines
50 KiB
#ifndef GIGIREG_H
|
|
#define GIGIREG_H
|
|
/******************************Module*Header*******************************\
|
|
*
|
|
* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
* !! !!
|
|
* !! WARNING: NOT DDK SAMPLE CODE !!
|
|
* !! !!
|
|
* !! This source code is provided for completeness only and should not be !!
|
|
* !! used as sample code for display driver development. Only those sources !!
|
|
* !! marked as sample code for a given driver component should be used for !!
|
|
* !! development purposes. !!
|
|
* !! !!
|
|
* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
*
|
|
* Module Name: gigiregl.h
|
|
*
|
|
* Content:
|
|
*
|
|
* Copyright (c) 1994-1999 3Dlabs Inc. Ltd. All rights reserved.
|
|
* Copyright (c) 1995-2003 Microsoft Corporation. All rights reserved.
|
|
\*****************************************************************************/
|
|
|
|
|
|
#if (defined(_MSDOS) || (defined(__cplusplus) && !defined(_WIN32)))
|
|
typedef unsigned long unsigned32;
|
|
typedef signed long signed32;
|
|
#else
|
|
typedef unsigned long unsigned32;
|
|
typedef signed long signed32;
|
|
#endif
|
|
|
|
typedef unsigned short unsigned16;
|
|
typedef signed short signed16;
|
|
|
|
typedef unsigned char unsigned8;
|
|
typedef signed char signed8;
|
|
|
|
typedef long __GigiSignedIntegerFmat;
|
|
typedef unsigned32 __GigiUnsignedIntegerFmat;
|
|
|
|
/*
|
|
** Generic signed 16 + signed 16 format
|
|
*/
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
signed32 hi: 16;
|
|
signed32 lo: 16;
|
|
} __GigiS16S16Fmat;
|
|
#else
|
|
typedef struct {
|
|
signed32 lo: 16;
|
|
signed32 hi: 16;
|
|
} __GigiS16S16Fmat;
|
|
#endif
|
|
|
|
/*
|
|
** Delta Registers
|
|
*/
|
|
|
|
#ifdef BIG_ENDIAN
|
|
typedef struct {
|
|
unsigned32 pad: 13;
|
|
unsigned32 ColorOrder: 1;
|
|
unsigned32 BackfaceCull: 1;
|
|
unsigned32 FillDirection: 1;
|
|
unsigned32 TextureParameterMode: 2;
|
|
unsigned32 ClampEnable: 1;
|
|
unsigned32 NoDraw: 1;
|
|
unsigned32 DiamondExit: 1;
|
|
unsigned32 SubPixelCorrectionEnable: 1;
|
|
unsigned32 DiffuseTextureEnable: 1;
|
|
unsigned32 SpecularTextureEnable: 1;
|
|
unsigned32 DepthEnable: 1;
|
|
unsigned32 SmoothShadingEnable: 1;
|
|
unsigned32 TextureEnable: 1;
|
|
unsigned32 FogEnable: 1;
|
|
unsigned32 DepthFormat: 2;
|
|
unsigned32 TargetChip: 2;
|
|
} __GigiDeltaModeFmat;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 TargetChip: 2;
|
|
unsigned32 DepthFormat: 2;
|
|
unsigned32 FogEnable: 1;
|
|
unsigned32 TextureEnable: 1;
|
|
unsigned32 SmoothShadingEnable: 1;
|
|
unsigned32 DepthEnable: 1;
|
|
unsigned32 SpecularTextureEnable: 1;
|
|
unsigned32 DiffuseTextureEnable: 1;
|
|
unsigned32 SubPixelCorrectionEnable: 1;
|
|
unsigned32 DiamondExit: 1;
|
|
unsigned32 NoDraw: 1;
|
|
unsigned32 ClampEnable: 1;
|
|
unsigned32 TextureParameterMode: 2;
|
|
unsigned32 FillDirection: 1;
|
|
unsigned32 BackfaceCull: 1;
|
|
unsigned32 ColorOrder: 1;
|
|
unsigned32 pad: 13;
|
|
} __GigiDeltaModeFmat;
|
|
#endif
|
|
|
|
#ifdef BIG_ENDIAN
|
|
typedef struct {
|
|
unsigned32 pad2: 11;
|
|
unsigned32 RejectNegativeFace: 1;
|
|
unsigned32 pad1: 1;
|
|
unsigned32 SpanOperation: 1;
|
|
unsigned32 pad0: 1;
|
|
unsigned32 SubPixelCorrectionEnable: 1;
|
|
unsigned32 CoverageEnable: 1;
|
|
unsigned32 FogEnable: 1;
|
|
unsigned32 TextureEnable: 1;
|
|
unsigned32 SyncOnHostData: 1;
|
|
unsigned32 SyncOnBitMask: 1;
|
|
unsigned32 UsePointTable: 1;
|
|
unsigned32 AntialiasingQuality: 1;
|
|
unsigned32 AntialiasEnable: 1;
|
|
unsigned32 PrimitiveType: 2;
|
|
unsigned32 reserved: 2;
|
|
unsigned32 FastFillEnable: 1;
|
|
unsigned32 ResetLineStipple: 1;
|
|
unsigned32 LineStippleEnable: 1;
|
|
unsigned32 AreaStippleEnable: 1;
|
|
} __GigiDeltaDrawFmat;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 AreaStippleEnable: 1;
|
|
unsigned32 LineStippleEnable: 1;
|
|
unsigned32 ResetLineStipple: 1;
|
|
unsigned32 FastFillEnable: 1;
|
|
unsigned32 reserved: 2;
|
|
unsigned32 PrimitiveType: 2;
|
|
unsigned32 AntialiasEnable: 1;
|
|
unsigned32 AntialiasingQuality: 1;
|
|
unsigned32 UsePointTable: 1;
|
|
unsigned32 SyncOnBitMask: 1;
|
|
unsigned32 SyncOnHostData: 1;
|
|
unsigned32 TextureEnable: 1;
|
|
unsigned32 FogEnable: 1;
|
|
unsigned32 CoverageEnable: 1;
|
|
unsigned32 SubPixelCorrectionEnable: 1;
|
|
unsigned32 pad0: 1;
|
|
unsigned32 SpanOperation: 1;
|
|
unsigned32 pad1: 1;
|
|
unsigned32 RejectNegativeFace: 1;
|
|
unsigned32 pad2: 11;
|
|
} __GigiDeltaDrawFmat;
|
|
#endif
|
|
|
|
#ifdef BIG_ENDIAN
|
|
typedef union {
|
|
struct {
|
|
signed32 Val: 32; /* 2.30s or 16.16s */
|
|
} STQ;
|
|
struct {
|
|
unsigned32 pad: 8;
|
|
unsigned32 Val: 24; /* 2.22s */
|
|
} K;
|
|
struct {
|
|
unsigned32 pad: 1;
|
|
unsigned32 Val: 31; /* 1.30us */
|
|
} RGBA;
|
|
struct {
|
|
signed32 Val: 32; /* 10.22s */
|
|
} F;
|
|
struct {
|
|
signed32 Val: 32; /* 16.16s */
|
|
} XY;
|
|
struct {
|
|
unsigned32 pad: 1;
|
|
unsigned32 Val: 31; /* 1.31us */
|
|
} Z;
|
|
} __GigiDeltaFixedFmat;
|
|
#else
|
|
typedef union {
|
|
struct {
|
|
signed32 Val: 32; /* 2.30s or 16.16s */
|
|
} STQ;
|
|
struct {
|
|
unsigned32 Val: 24; /* 2.22s */
|
|
unsigned32 pad: 8;
|
|
} K;
|
|
struct {
|
|
unsigned32 Val: 31; /* 1.30us */
|
|
unsigned32 pad: 1;
|
|
} RGBA;
|
|
struct {
|
|
signed32 Val: 32; /* 10.22s */
|
|
} F;
|
|
struct {
|
|
signed32 Val: 32; /* 16.16s */
|
|
} XY;
|
|
struct {
|
|
unsigned32 Val: 31; /* 1.31us */
|
|
unsigned32 pad: 1;
|
|
} Z;
|
|
} __GigiDeltaFixedFmat;
|
|
#endif
|
|
|
|
#define N_GIGI_DELTA_BROADCAST_MASK_BITS 4
|
|
|
|
#ifdef BIG_ENDIAN
|
|
typedef struct {
|
|
unsigned32 pad: 32 - N_GIGI_DELTA_BROADCAST_MASK_BITS;
|
|
unsigned32 Mask: N_GIGI_DELTA_BROADCAST_MASK_BITS ;
|
|
} __GigiDeltaBroadcastMaskFmat;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 Mask: N_GIGI_DELTA_BROADCAST_MASK_BITS ;
|
|
unsigned32 pad: 32 - N_GIGI_DELTA_BROADCAST_MASK_BITS ;
|
|
} __GigiDeltaBroadcastMaskFmat;
|
|
#endif
|
|
|
|
/*
|
|
** GIGI Host In Registers
|
|
*/
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 Mask: 16;
|
|
unsigned32 Mode: 2;
|
|
unsigned32 pad0: 5;
|
|
unsigned32 MajorGroup: 5;
|
|
unsigned32 Offset: 4;
|
|
} __GigiDMADataFmat;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 Offset: 4;
|
|
unsigned32 MajorGroup: 5;
|
|
unsigned32 pad0: 5;
|
|
unsigned32 Mode: 2;
|
|
unsigned32 Mask: 16;
|
|
} __GigiDMADataFmat;
|
|
#endif
|
|
|
|
/*
|
|
** GIGI Rasterizer Registers
|
|
*/
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 pad1: 4;
|
|
signed32 Integer: 12;
|
|
unsigned32 Fraction: 15;
|
|
unsigned32 pad0: 1;
|
|
} __GigiStartXDomFmat,
|
|
__GigidXDomFmat,
|
|
__GigiStartXSubFmat,
|
|
__GigidXSubFmat;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 pad0: 1;
|
|
unsigned32 Fraction: 15;
|
|
signed32 Integer: 12;
|
|
unsigned32 pad1: 4;
|
|
} __GigiStartXDomFmat,
|
|
__GigidXDomFmat,
|
|
__GigiStartXSubFmat,
|
|
__GigidXSubFmat;
|
|
#endif
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 pad1: 4;
|
|
signed32 Integer: 12;
|
|
unsigned32 Fraction: 15;
|
|
unsigned32 pad0: 1;
|
|
} __GigiStartYFmat,
|
|
__GigidYFmat;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 pad0: 1;
|
|
unsigned32 Fraction: 15;
|
|
signed32 Integer: 12;
|
|
unsigned32 pad1: 4;
|
|
} __GigiStartYFmat,
|
|
__GigidYFmat;
|
|
#endif
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 pad0: 20;
|
|
unsigned32 Val: 12;
|
|
} __GigiCountFmat,
|
|
__GigiContinueNewLineFmat,
|
|
__GigiContinueNewDomFmat,
|
|
__GigiContinueNewSubFmat,
|
|
__GigiContinueFmat;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 Val: 12;
|
|
unsigned32 pad0: 20;
|
|
} __GigiCountFmat,
|
|
__GigiContinueNewLineFmat,
|
|
__GigiContinueNewDomFmat,
|
|
__GigiContinueNewSubFmat,
|
|
__GigiContinueFmat;
|
|
#endif
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 pad5: 9;
|
|
unsigned32 IncreaseY: 1;
|
|
unsigned32 IncreaseX: 1;
|
|
unsigned32 RejectNegativeFace: 1;
|
|
unsigned32 pad4: 2;
|
|
unsigned32 ReuseBitMask: 1;
|
|
unsigned32 SubPixelCorrectionEnable: 1;
|
|
unsigned32 pad3: 1;
|
|
unsigned32 FogEnable: 1;
|
|
unsigned32 TextureEnable: 1;
|
|
unsigned32 SyncOnHostData: 1;
|
|
unsigned32 SyncOnBitMask: 1;
|
|
unsigned32 pad2: 3;
|
|
unsigned32 PrimitiveType: 2;
|
|
unsigned32 pad1: 2;
|
|
unsigned32 FastFillEnable: 1;
|
|
unsigned32 pad0: 2;
|
|
unsigned32 AreaStippleEnable: 1;
|
|
} __GigiRenderFmat,
|
|
__GigiPrepareToRenderFmat;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 AreaStippleEnable: 1;
|
|
unsigned32 pad0: 2;
|
|
unsigned32 FastFillEnable: 1;
|
|
unsigned32 pad1: 2;
|
|
unsigned32 PrimitiveType: 2;
|
|
unsigned32 pad2: 3;
|
|
unsigned32 SyncOnBitMask: 1;
|
|
unsigned32 SyncOnHostData: 1;
|
|
unsigned32 TextureEnable: 1;
|
|
unsigned32 FogEnable: 1;
|
|
unsigned32 pad3: 1;
|
|
unsigned32 SubPixelCorrectionEnable: 1;
|
|
unsigned32 ReuseBitMask: 1;
|
|
unsigned32 pad4: 2;
|
|
unsigned32 RejectNegativeFace: 1;
|
|
unsigned32 IncreaseX: 1;
|
|
unsigned32 IncreaseY: 1;
|
|
unsigned32 pad5: 9;
|
|
} __GigiRenderFmat,
|
|
__GigiPrepareToRenderFmat;
|
|
#endif
|
|
|
|
typedef __GigiUnsignedIntegerFmat __GigiBitMaskPatternFmat;
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 pad1: 12;
|
|
unsigned32 BitMaskRelative: 1;
|
|
unsigned32 LimitsEnable: 1;
|
|
unsigned32 pad0: 1;
|
|
unsigned32 HostDataByteSwapMode: 2;
|
|
unsigned32 BitMaskOffset: 5;
|
|
unsigned32 BitMaskPacking: 1;
|
|
unsigned32 BitMaskByteSwapMode: 2;
|
|
unsigned32 ForceBackgroundColor: 1;
|
|
unsigned32 BiasCoordinates: 2;
|
|
unsigned32 FractionAdjust: 2;
|
|
unsigned32 InvertBitMask: 1;
|
|
unsigned32 MirrorBitMask: 1;
|
|
} __GigiRasterizerModeFmat;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 MirrorBitMask: 1;
|
|
unsigned32 InvertBitMask: 1;
|
|
unsigned32 FractionAdjust: 2;
|
|
unsigned32 BiasCoordinates: 2;
|
|
unsigned32 ForceBackgroundColor: 1;
|
|
unsigned32 BitMaskByteSwapMode: 2;
|
|
unsigned32 BitMaskPacking: 1;
|
|
unsigned32 BitMaskOffset: 5;
|
|
unsigned32 HostDataByteSwapMode: 2;
|
|
unsigned32 pad0: 1;
|
|
unsigned32 LimitsEnable: 1;
|
|
unsigned32 BitMaskRelative: 1;
|
|
unsigned32 pad1: 12;
|
|
} __GigiRasterizerModeFmat;
|
|
#endif
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 pad1: 4;
|
|
signed32 Max: 12;
|
|
unsigned32 pad0: 4;
|
|
signed32 Min: 12;
|
|
} __GigiYLimitsFmat, __GigiXLimitsFmat;
|
|
#else
|
|
typedef struct {
|
|
signed32 Min: 12;
|
|
unsigned32 pad0: 4;
|
|
signed32 Max: 12;
|
|
unsigned32 pad1: 4;
|
|
} __GigiYLimitsFmat, __GigiXLimitsFmat;
|
|
#endif
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 pad1: 4;
|
|
signed32 Y: 12;
|
|
unsigned32 pad0: 4;
|
|
signed32 X: 12;
|
|
} __GigiStepFmat;
|
|
#else
|
|
typedef struct {
|
|
signed32 X: 12;
|
|
unsigned32 pad0: 4;
|
|
signed32 Y: 12;
|
|
unsigned32 pad1: 4;
|
|
} __GigiStepFmat;
|
|
#endif
|
|
|
|
typedef __GigiStepFmat __GigiActiveStepXFmat;
|
|
typedef __GigiStepFmat __GigiActiveStepYDomEdgeFmat;
|
|
typedef __GigiStepFmat __GigiPassiveStepXFmat;
|
|
typedef __GigiStepFmat __GigiPassiveStepYDomEdgeFmat;
|
|
typedef __GigiStepFmat __GigiFastBlockFillFmat;
|
|
typedef __GigiStepFmat __GigiRectangleOriginFmat;
|
|
typedef __GigiStepFmat __GigiRectangleSizeFmat;
|
|
typedef __GigiStepFmat __GigiFBSourceDeltaFmat;
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 pad1: 5;
|
|
unsigned32 Y: 11;
|
|
unsigned32 pad0: 5;
|
|
unsigned32 X: 11;
|
|
} __GigiUnsignedStepFmat;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 X: 11;
|
|
unsigned32 pad0: 5;
|
|
unsigned32 Y: 11;
|
|
unsigned32 pad1: 5;
|
|
} __GigiUnsignedStepFmat;
|
|
#endif
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 pad1: 4;
|
|
signed32 XRight: 12;
|
|
unsigned32 pad0: 4;
|
|
signed32 XLeft: 12;
|
|
} __GigiFastBlockLimitsFmat;
|
|
#else
|
|
typedef struct {
|
|
signed32 XLeft: 12;
|
|
unsigned32 pad0: 4;
|
|
signed32 XRight: 12;
|
|
unsigned32 pad1: 4;
|
|
} __GigiFastBlockLimitsFmat;
|
|
#endif
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 pad0: 27;
|
|
unsigned32 Sign: 1;
|
|
unsigned32 Magnitude: 4;
|
|
} __GigiSubPixelCorrectionFmat;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 Magnitude: 4;
|
|
unsigned32 Sign: 1;
|
|
unsigned32 pad0: 27;
|
|
} __GigiSubPixelCorrectionFmat;
|
|
#endif
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
signed32 RelativeOffset: 3;
|
|
unsigned32 pad1: 1;
|
|
signed32 XStart: 12;
|
|
unsigned32 pad0: 4;
|
|
signed32 XEnd: 12;
|
|
} __GigiPackedDataLimitsFmat;
|
|
#else
|
|
typedef struct {
|
|
signed32 XEnd: 12;
|
|
unsigned32 pad0: 4;
|
|
signed32 XStart: 12;
|
|
unsigned32 pad1: 1;
|
|
signed32 RelativeOffset: 3;
|
|
} __GigiPackedDataLimitsFmat;
|
|
#endif
|
|
|
|
typedef __GigiUnsignedIntegerFmat __GigiSpanMaskFmat;
|
|
|
|
/*
|
|
** GIGI Scissor and Stipple Registers
|
|
*/
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 pad0: 30;
|
|
unsigned32 ScreenScissorEnable: 1;
|
|
unsigned32 UserScissorEnable: 1;
|
|
} __GigiScissorModeFmat;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 UserScissorEnable: 1;
|
|
unsigned32 ScreenScissorEnable: 1;
|
|
unsigned32 pad0: 30;
|
|
} __GigiScissorModeFmat;
|
|
#endif
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 pad3: 11;
|
|
unsigned32 ForceBackgroundColor: 1;
|
|
unsigned32 MirrorY: 1;
|
|
unsigned32 MirrorX: 1;
|
|
unsigned32 InvertStipplePattern: 1;
|
|
unsigned32 pad2: 2;
|
|
unsigned32 YOffset: 3;
|
|
unsigned32 pad1: 2;
|
|
unsigned32 XOffset: 3;
|
|
unsigned32 pad0: 6;
|
|
unsigned32 UnitEnable: 1;
|
|
} __GigiAreaStippleModeFmat;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 UnitEnable: 1;
|
|
unsigned32 pad0: 6;
|
|
unsigned32 XOffset: 3;
|
|
unsigned32 pad1: 2;
|
|
unsigned32 YOffset: 3;
|
|
unsigned32 pad2: 2;
|
|
unsigned32 InvertStipplePattern: 1;
|
|
unsigned32 MirrorX: 1;
|
|
unsigned32 MirrorY: 1;
|
|
unsigned32 ForceBackgroundColor: 1;
|
|
unsigned32 pad3: 11;
|
|
} __GigiAreaStippleModeFmat;
|
|
#endif
|
|
|
|
typedef __GigiStepFmat __GigiScreenRegionFmat;
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 pad1: 4;
|
|
signed32 Y: 12;
|
|
unsigned32 pad0: 4;
|
|
signed32 X: 12;
|
|
} __GigiScissorMinXYFmat, __GigiScissorMaxXYFmat;
|
|
#else
|
|
typedef struct {
|
|
signed32 X: 12;
|
|
unsigned32 pad0: 4;
|
|
signed32 Y: 12;
|
|
unsigned32 pad1: 4;
|
|
} __GigiScissorMinXYFmat, __GigiScissorMaxXYFmat;
|
|
#endif
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 pad1: 4;
|
|
signed32 Y: 12;
|
|
unsigned32 pad0: 4;
|
|
signed32 X: 12;
|
|
} __GigiWindowOriginFmat;
|
|
#else
|
|
typedef struct {
|
|
signed32 X: 12;
|
|
unsigned32 pad0: 4;
|
|
signed32 Y: 12;
|
|
unsigned32 pad1: 4;
|
|
} __GigiWindowOriginFmat;
|
|
#endif
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 pad1: 5;
|
|
unsigned32 Y: 11;
|
|
unsigned32 pad0: 5;
|
|
unsigned32 X: 11;
|
|
} __GigiScreenSizeFmat;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 X: 11;
|
|
unsigned32 pad0: 5;
|
|
unsigned32 Y: 11;
|
|
unsigned32 pad1: 5;
|
|
} __GigiScreenSizeFmat;
|
|
#endif
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 pad0: 24;
|
|
unsigned32 Pattern: 8;
|
|
} __GigiAreaStipplePatternFmat;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 Pattern: 8;
|
|
unsigned32 pad0: 24;
|
|
} __GigiAreaStipplePatternFmat;
|
|
#endif
|
|
|
|
/*
|
|
** GIGI Color DDA Registers
|
|
*/
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 pad2: 8;
|
|
signed32 Integer: 9;
|
|
unsigned32 Fraction: 11;
|
|
unsigned32 pad0: 4;
|
|
} __GigiCStartFmat;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 pad0: 4;
|
|
unsigned32 Fraction: 11;
|
|
signed32 Integer: 9;
|
|
unsigned32 pad2: 8;
|
|
} __GigiCStartFmat;
|
|
#endif
|
|
|
|
typedef __GigiCStartFmat __GigiRStartFmat;
|
|
typedef __GigiCStartFmat __GigiGStartFmat;
|
|
typedef __GigiCStartFmat __GigiBStartFmat;
|
|
typedef __GigiCStartFmat __GigiAStartFmat;
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 pad2: 8;
|
|
signed32 Integer: 9;
|
|
unsigned32 Fraction: 11;
|
|
unsigned32 pad0: 4;
|
|
} __GigidCdxFmat;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 pad0: 4;
|
|
unsigned32 Fraction: 11;
|
|
signed32 Integer: 9;
|
|
unsigned32 pad2: 8;
|
|
} __GigidCdxFmat;
|
|
#endif
|
|
|
|
typedef __GigidCdxFmat __GigidRdxFmat;
|
|
typedef __GigidCdxFmat __GigidGdxFmat;
|
|
typedef __GigidCdxFmat __GigidBdxFmat;
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 pad2: 8;
|
|
signed32 Integer: 9;
|
|
unsigned32 Fraction: 11;
|
|
unsigned32 pad0: 4;
|
|
} __GigidCdyDomFmat;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 pad0: 4;
|
|
unsigned32 Fraction: 11;
|
|
signed32 Integer: 9;
|
|
unsigned32 pad2: 8;
|
|
} __GigidCdyDomFmat;
|
|
#endif
|
|
|
|
typedef __GigidCdyDomFmat __GigidRdyDomFmat;
|
|
typedef __GigidCdyDomFmat __GigidGdyDomFmat;
|
|
typedef __GigidCdyDomFmat __GigidBdyDomFmat;
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 Alpha: 8;
|
|
unsigned32 Blue: 8;
|
|
unsigned32 Green: 8;
|
|
unsigned32 Red: 8;
|
|
} __GigiColorFmat;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 Red: 8;
|
|
unsigned32 Green: 8;
|
|
unsigned32 Blue: 8;
|
|
unsigned32 Alpha: 8;
|
|
} __GigiColorFmat;
|
|
#endif
|
|
|
|
typedef __GigiColorFmat __GigiConstantColorFmat;
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 AlphaInteger: 5;
|
|
unsigned32 AlphaFraction: 3;
|
|
unsigned32 BlueInteger: 5;
|
|
unsigned32 BlueFraction: 3;
|
|
unsigned32 GreenInteger: 5;
|
|
unsigned32 GreenFraction: 3;
|
|
unsigned32 RedInteger: 5;
|
|
unsigned32 RedFraction: 3;
|
|
} __GigiFractionalColorFmat;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 RedFraction: 3;
|
|
unsigned32 RedInteger: 5;
|
|
unsigned32 GreenFraction: 3;
|
|
unsigned32 GreenInteger: 5;
|
|
unsigned32 BlueFraction: 3;
|
|
unsigned32 BlueInteger: 5;
|
|
unsigned32 AlphaFraction: 3;
|
|
unsigned32 AlphaInteger: 5;
|
|
} __GigiFractionalColorFmat;
|
|
#endif
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 pad0: 30;
|
|
unsigned32 ShadeMode: 1;
|
|
unsigned32 UnitEnable: 1;
|
|
} __GigiColorDDAModeFmat;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 UnitEnable: 1;
|
|
unsigned32 ShadeMode: 1;
|
|
unsigned32 pad0: 30;
|
|
} __GigiColorDDAModeFmat;
|
|
#endif
|
|
|
|
/*
|
|
** GIGI Texture Application, Fog and
|
|
** Alpha Blend Registers
|
|
*/
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 pad1: 8;
|
|
signed32 Integer: 2;
|
|
unsigned32 Fraction: 19;
|
|
unsigned32 pad0: 3;
|
|
} __GigiFogFmat;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 pad0: 3;
|
|
unsigned32 Fraction: 19;
|
|
signed32 Integer: 2;
|
|
unsigned32 pad1: 8;
|
|
} __GigiFogFmat;
|
|
#endif
|
|
|
|
typedef __GigiFogFmat __GigiFStartFmat;
|
|
typedef __GigiFogFmat __GigidFdxFmat;
|
|
typedef __GigiFogFmat __GigidFdyDomFmat;
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 pad1: 29;
|
|
unsigned32 FogTest: 1;
|
|
unsigned32 pad0: 1;
|
|
unsigned32 FogEnable: 1;
|
|
} __GigiFogModeFmat;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 FogEnable: 1;
|
|
unsigned32 pad0: 1;
|
|
unsigned32 FogTest: 1;
|
|
unsigned32 pad1: 29;
|
|
} __GigiFogModeFmat;
|
|
#endif
|
|
|
|
typedef __GigiColorFmat __GigiFogColorFmat;
|
|
typedef __GigiColorFmat __GigiTexelFmat;
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 pad0: 25;
|
|
unsigned32 KsDDA: 1;
|
|
unsigned32 KdDDA: 1;
|
|
unsigned32 TextureType: 1;
|
|
unsigned32 ApplicationMode: 3;
|
|
unsigned32 TextureEnable: 1;
|
|
} __GigiTextureColorModeFmat;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 TextureEnable: 1;
|
|
unsigned32 ApplicationMode: 3;
|
|
unsigned32 TextureType: 1;
|
|
unsigned32 KdDDA: 1;
|
|
unsigned32 KsDDA: 1;
|
|
unsigned32 pad0: 25;
|
|
} __GigiTextureColorModeFmat;
|
|
#endif
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 pad2: 13;
|
|
unsigned32 AlphaConversion: 1;
|
|
unsigned32 ColorConversion: 1;
|
|
unsigned32 ColorFormatExtension: 1;
|
|
unsigned32 pad1: 1;
|
|
unsigned32 BlendType: 1;
|
|
unsigned32 ColorOrder: 1;
|
|
unsigned32 NoAlphaBuffer: 1;
|
|
unsigned32 ColorFormat: 4;
|
|
unsigned32 DestinationBlend: 3;
|
|
unsigned32 SourceBlend: 4;
|
|
unsigned32 AlphaBlendEnable: 1;
|
|
} __GigiAlphaBlendModeFmat;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 AlphaBlendEnable: 1;
|
|
unsigned32 SourceBlend: 4;
|
|
unsigned32 DestinationBlend: 3;
|
|
unsigned32 ColorFormat: 4;
|
|
unsigned32 NoAlphaBuffer: 1;
|
|
unsigned32 ColorOrder: 1;
|
|
unsigned32 BlendType: 1;
|
|
unsigned32 pad1: 1;
|
|
unsigned32 ColorFormatExtension: 1;
|
|
unsigned32 ColorConversion: 1;
|
|
unsigned32 AlphaConversion: 1;
|
|
unsigned32 pad2: 13;
|
|
} __GigiAlphaBlendModeFmat;
|
|
#endif
|
|
|
|
/*
|
|
** GIGI Texture Address Registers
|
|
*/
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
signed32 Integer: 12;
|
|
unsigned32 Fraction: 18;
|
|
unsigned32 pad1: 2;
|
|
} __GigiSTFmat;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 pad1: 2;
|
|
unsigned32 Fraction: 18;
|
|
signed32 Integer: 12;
|
|
} __GigiSTFmat;
|
|
#endif
|
|
|
|
typedef __GigiSTFmat __GigiSStartFmat;
|
|
typedef __GigiSTFmat __GigiTStartFmat;
|
|
typedef __GigiSTFmat __GigidSdxFmat;
|
|
typedef __GigiSTFmat __GigidTdxFmat;
|
|
typedef __GigiSTFmat __GigidSdyDomFmat;
|
|
typedef __GigiSTFmat __GigidTdyDomFmat;
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
signed32 Integer: 2;
|
|
unsigned32 Fraction: 27;
|
|
unsigned32 pad0: 3;
|
|
} __GigiQFmat;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 pad0: 3;
|
|
unsigned32 Fraction: 27;
|
|
signed32 Integer: 2;
|
|
} __GigiQFmat;
|
|
#endif
|
|
|
|
typedef __GigiQFmat __GigiQStartFmat;
|
|
typedef __GigiQFmat __GigidQdxFmat;
|
|
typedef __GigiQFmat __GigidQdyDomFmat;
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 TLoMagnitude: 12;
|
|
unsigned32 SSign: 1;
|
|
unsigned32 SMagnitude: 19;
|
|
} __GigiTextureAddressFmat0;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 SMagnitude: 19;
|
|
unsigned32 SSign: 1;
|
|
unsigned32 TLoMagnitude: 12;
|
|
} __GigiTextureAddressFmat0;
|
|
#endif
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 pad0: 24;
|
|
unsigned32 TSign: 1;
|
|
unsigned32 THiMagnitude: 7;
|
|
} __GigiTextureAddressFmat1;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 THiMagnitude: 7;
|
|
unsigned32 TSign: 1;
|
|
unsigned32 pad0: 24;
|
|
} __GigiTextureAddressFmat1;
|
|
#endif
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 pad0: 28;
|
|
unsigned32 DeltaFormat: 1;
|
|
unsigned32 Fast: 1;
|
|
unsigned32 PerspectiveCorrection: 1;
|
|
unsigned32 Enable: 1;
|
|
} __GigiTextureAddrModeFmat;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 Enable: 1;
|
|
unsigned32 PerspectiveCorrection: 1;
|
|
unsigned32 Fast: 1;
|
|
unsigned32 DeltaFormat: 1;
|
|
unsigned32 pad0: 28;
|
|
} __GigiTextureAddrModeFmat;
|
|
#endif
|
|
|
|
/*
|
|
** GIGI Texture Read Registers
|
|
*/
|
|
|
|
typedef struct {
|
|
#if BIG_ENDIAN == 1
|
|
unsigned32 TCoeff : 8;
|
|
unsigned32 Pad1 : 7;
|
|
unsigned32 SwapT : 1;
|
|
unsigned32 SCoeff : 8;
|
|
unsigned32 Pad0 : 7;
|
|
unsigned32 SwapS : 1;
|
|
#else
|
|
unsigned32 SwapS : 1;
|
|
unsigned32 Pad0 : 7;
|
|
unsigned32 SCoeff : 8;
|
|
unsigned32 SwapT : 1;
|
|
unsigned32 Pad1 : 7;
|
|
unsigned32 TCoeff : 8;
|
|
#endif
|
|
} __GigiTextureReadPadFmat;
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 pad2: 7;
|
|
unsigned32 PackedData: 1;
|
|
unsigned32 pad1: 6;
|
|
unsigned32 FilterMode: 1;
|
|
unsigned32 Height: 4;
|
|
unsigned32 Width: 4;
|
|
unsigned32 pad0: 4;
|
|
unsigned32 TWrapMode: 2;
|
|
unsigned32 SWrapMode: 2;
|
|
unsigned32 Enable: 1;
|
|
} __GigiTextureReadModeFmat;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 Enable: 1;
|
|
unsigned32 SWrapMode: 2;
|
|
unsigned32 TWrapMode: 2;
|
|
unsigned32 pad0: 4;
|
|
unsigned32 Width: 4;
|
|
unsigned32 Height: 4;
|
|
unsigned32 FilterMode: 1;
|
|
unsigned32 pad1: 6;
|
|
unsigned32 PackedData: 1;
|
|
unsigned32 pad2: 7;
|
|
} __GigiTextureReadModeFmat;
|
|
#endif
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 pad2: 10;
|
|
unsigned32 TexelSize: 3;
|
|
unsigned32 pad1: 1;
|
|
unsigned32 SubPatchMode: 1;
|
|
unsigned32 WindowOrigin: 1;
|
|
unsigned32 pad0: 7;
|
|
unsigned32 PP2: 3;
|
|
unsigned32 PP1: 3;
|
|
unsigned32 PP0: 3;
|
|
} __GigiTextureMapFormatFmat;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 PP0: 3;
|
|
unsigned32 PP1: 3;
|
|
unsigned32 PP2: 3;
|
|
unsigned32 pad0: 7;
|
|
unsigned32 WindowOrigin: 1;
|
|
unsigned32 SubPatchMode: 1;
|
|
unsigned32 pad1: 1;
|
|
unsigned32 TexelSize: 3;
|
|
unsigned32 pad2: 10;
|
|
} __GigiTextureMapFormatFmat;
|
|
#endif
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 pad0: 22;
|
|
unsigned32 SpanFormat: 1;
|
|
unsigned32 AlphaMap: 2;
|
|
unsigned32 TextureFormatExtension: 1;
|
|
unsigned32 ColorOrder: 1;
|
|
unsigned32 NoAlphaBuffer: 1;
|
|
unsigned32 TextureFormat: 4;
|
|
} __GigiTextureDataFormatFmat;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 TextureFormat: 4;
|
|
unsigned32 NoAlphaBuffer: 1;
|
|
unsigned32 ColorOrder: 1;
|
|
unsigned32 TextureFormatExtension: 1;
|
|
unsigned32 AlphaMap: 2;
|
|
unsigned32 SpanFormat: 1;
|
|
unsigned32 pad0: 22;
|
|
} __GigiTextureDataFormatFmat;
|
|
#endif
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 pad0: 8;
|
|
unsigned32 Addr: 24;
|
|
} __GigiTexelLUTAddressFmat, __GigiTexelLUTID;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 Addr: 24;
|
|
unsigned32 pad0: 8;
|
|
} __GigiTexelLUTAddressFmat, __GigiTexelLUTID;
|
|
#endif
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 pad0: 1;
|
|
unsigned32 Access: 1;
|
|
unsigned32 pad1: 6;
|
|
unsigned32 Addr: 24;
|
|
} __GigiTextureBaseAddressFmat;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 Addr: 24;
|
|
unsigned32 pad1: 6;
|
|
unsigned32 Access: 1;
|
|
unsigned32 pad0: 1;
|
|
} __GigiTextureBaseAddressFmat;
|
|
#endif
|
|
|
|
typedef __GigiUnsignedIntegerFmat __GigiRawDataFmat[2];
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 Alpha: 8;
|
|
unsigned32 V: 8;
|
|
unsigned32 U: 8;
|
|
unsigned32 Y: 8;
|
|
} __GigiTexelYUVFmat;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 Y: 8;
|
|
unsigned32 U: 8;
|
|
unsigned32 V: 8;
|
|
unsigned32 Alpha: 8;
|
|
} __GigiTexelYUVFmat;
|
|
#endif
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 pad0: 20;
|
|
unsigned32 PixelsPerEntry: 2;
|
|
unsigned32 LUTOffset: 8;
|
|
unsigned32 DirectIndex: 1;
|
|
unsigned32 Enable: 1;
|
|
} __GigiTexelLUTModeFmat;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 Enable: 1;
|
|
unsigned32 DirectIndex: 1;
|
|
unsigned32 LUTOffset: 8;
|
|
unsigned32 PixelsPerEntry: 2;
|
|
unsigned32 pad0: 20;
|
|
} __GigiTexelLUTModeFmat;
|
|
#endif
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 TCoeff: 8;
|
|
unsigned32 pad1: 7;
|
|
unsigned32 SwapT: 1;
|
|
unsigned32 SCoeff: 8;
|
|
unsigned32 pad0: 7;
|
|
unsigned32 SwapS: 1;
|
|
} __GigiInterp0Fmat;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 SwapS: 1;
|
|
unsigned32 pad0: 7;
|
|
unsigned32 SCoeff: 8;
|
|
unsigned32 SwapT: 1;
|
|
unsigned32 pad1: 7;
|
|
unsigned32 TCoeff: 8;
|
|
} __GigiInterp0Fmat;
|
|
#endif
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 pad0: 24;
|
|
unsigned32 Offset: 8;
|
|
} __GigiTexelLUTIndexFmat;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 Offset: 8;
|
|
unsigned32 pad0: 24;
|
|
} __GigiTexelLUTIndexFmat;
|
|
#endif
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 pad0: 15;
|
|
unsigned32 Count: 9;
|
|
unsigned32 Index: 8;
|
|
} __GigiTexelLUTTransferFmat;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 Index: 8;
|
|
unsigned32 Count: 9;
|
|
unsigned32 pad0: 15;
|
|
} __GigiTexelLUTTransferFmat;
|
|
#endif
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 Valid: 1;
|
|
unsigned32 pad0: 7;
|
|
unsigned32 Address: 24;
|
|
} __GigiTextureIDFmat;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 Address: 24;
|
|
unsigned32 pad0: 7;
|
|
unsigned32 Valid: 1;
|
|
} __GigiTextureIDFmat;
|
|
#endif
|
|
|
|
typedef __GigiColorFmat __GigiAlphaMapUpperBoundFmat;
|
|
typedef __GigiColorFmat __GigiAlphaMapLowerBoundFmat;
|
|
|
|
/*
|
|
** GIGI YUV-REG Registers
|
|
*/
|
|
|
|
typedef __GigiColorFmat __GigiChromaUpperBoundFmat;
|
|
typedef __GigiColorFmat __GigiChromaLowerBoundFmat;
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 pad0: 26;
|
|
unsigned32 TexelDisableUpdate:1;
|
|
unsigned32 RejectTexel: 1;
|
|
unsigned32 TestData: 1;
|
|
unsigned32 TestMode: 2;
|
|
unsigned32 Enable: 1;
|
|
} __GigiYUVModeFmat;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 Enable: 1;
|
|
unsigned32 TestMode: 2;
|
|
unsigned32 TestData: 1;
|
|
unsigned32 RejectTexel: 1;
|
|
unsigned32 TexelDisableUpdate:1;
|
|
unsigned32 pad0: 26;
|
|
} __GigiYUVModeFmat;
|
|
#endif
|
|
|
|
/*
|
|
** GIGI Localbuffer Registers
|
|
*/
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 pad0: 15;
|
|
unsigned32 Stencil: 1;
|
|
unsigned32 Depth: 16;
|
|
} __GigiLBDataFmat;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 Depth: 16;
|
|
unsigned32 Stencil: 1;
|
|
unsigned32 pad0: 15;
|
|
} __GigiLBDataFmat;
|
|
#endif
|
|
|
|
typedef __GigiLBDataFmat __GigiLBWriteDataFmat;
|
|
typedef __GigiLBDataFmat __GigiLBSourceDataFmat;
|
|
typedef __GigiLBDataFmat __GigiLBCancelWriteFmat;
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 pad0: 28;
|
|
unsigned32 StencilWidth: 2;
|
|
unsigned32 DepthWidth: 2;
|
|
} __GigiLBFormatFmat;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 DepthWidth: 2;
|
|
unsigned32 StencilWidth: 2;
|
|
unsigned32 pad0: 28;
|
|
} __GigiLBFormatFmat;
|
|
#endif
|
|
|
|
typedef __GigiLBFormatFmat __GigiLBReadFormatFmat;
|
|
typedef __GigiLBFormatFmat __GigiLBWriteFormatFmat;
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 pad1: 12;
|
|
unsigned32 PatchMode: 1;
|
|
unsigned32 WindowOrigin: 1;
|
|
unsigned32 DataType: 2;
|
|
unsigned32 pad0: 5;
|
|
unsigned32 ReadDestinationEnable: 1;
|
|
unsigned32 ReadSourceEnable: 1;
|
|
unsigned32 PP2: 3;
|
|
unsigned32 PP1: 3;
|
|
unsigned32 PP0: 3;
|
|
} __GigiLBReadModeFmat;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 PP0: 3;
|
|
unsigned32 PP1: 3;
|
|
unsigned32 PP2: 3;
|
|
unsigned32 ReadSourceEnable: 1;
|
|
unsigned32 ReadDestinationEnable: 1;
|
|
unsigned32 pad0: 5;
|
|
unsigned32 DataType: 2;
|
|
unsigned32 WindowOrigin: 1;
|
|
unsigned32 PatchMode: 1;
|
|
unsigned32 pad1: 12;
|
|
} __GigiLBReadModeFmat;
|
|
#endif
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 pad1: 12;
|
|
unsigned32 PatchMode: 1;
|
|
unsigned32 WindowOrigin: 1;
|
|
unsigned32 pad0: 9;
|
|
unsigned32 PP2: 3;
|
|
unsigned32 PP1: 3;
|
|
unsigned32 PP0: 3;
|
|
} __GigiLBWriteConfigFmat;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 PP0: 3;
|
|
unsigned32 PP1: 3;
|
|
unsigned32 PP2: 3;
|
|
unsigned32 pad0: 9;
|
|
unsigned32 WindowOrigin: 1;
|
|
unsigned32 PatchMode: 1;
|
|
unsigned32 pad1: 12;
|
|
} __GigiLBWriteConfigFmat;
|
|
#endif
|
|
|
|
typedef __GigiUnsignedIntegerFmat __GigiLBReadPadFmat;
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 pad0: 31;
|
|
unsigned32 WriteEnable: 1;
|
|
} __GigiLBWriteModeFmat;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 WriteEnable: 1;
|
|
unsigned32 pad0: 31;
|
|
} __GigiLBWriteModeFmat;
|
|
#endif
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 pad0: 8;
|
|
unsigned32 Addr: 24;
|
|
} __GigiLBAddressFmat;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 Addr: 24;
|
|
unsigned32 pad0: 8;
|
|
} __GigiLBAddressFmat;
|
|
#endif
|
|
|
|
typedef __GigiLBAddressFmat __GigiLBWindowBaseFmat;
|
|
typedef __GigiLBAddressFmat __GigiLBSourceOffsetFmat;
|
|
typedef __GigiLBAddressFmat __GigiLBWriteBaseFmat;
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 pad0: 31;
|
|
unsigned32 Stencil: 1;
|
|
} __GigiLBStencilFmat;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 Stencil: 1;
|
|
unsigned32 pad0: 31;
|
|
} __GigiLBStencilFmat;
|
|
#endif
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 pad0: 16;
|
|
unsigned32 Depth: 16;
|
|
} __GigiLBDepthFmat;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 Depth: 16;
|
|
unsigned32 pad0: 16;
|
|
} __GigiLBDepthFmat;
|
|
#endif
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 pad0: 31;
|
|
unsigned32 Data: 1;
|
|
} __GigiStencilFmat;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 Data: 1;
|
|
unsigned32 pad0: 31;
|
|
} __GigiStencilFmat;
|
|
#endif
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 pad0: 16;
|
|
unsigned32 Data: 16;
|
|
} __GigiDepthFmat;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 Data: 16;
|
|
unsigned32 pad0: 16;
|
|
} __GigiDepthFmat;
|
|
#endif
|
|
|
|
/*
|
|
** GIGI Depth and Stencil Registers
|
|
*/
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 pad2: 13;
|
|
unsigned32 DisableLBUpdate: 1;
|
|
unsigned32 pad1: 13;
|
|
unsigned32 LBUpdateSource: 1;
|
|
unsigned32 ForceLBUpdate: 1;
|
|
unsigned32 pad0: 3;
|
|
} __GigiWindowFmat;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 pad0: 3;
|
|
unsigned32 ForceLBUpdate: 1;
|
|
unsigned32 LBUpdateSource: 1;
|
|
unsigned32 pad1: 13;
|
|
unsigned32 DisableLBUpdate: 1;
|
|
unsigned32 pad2: 13;
|
|
} __GigiWindowFmat;
|
|
#endif
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 pad2: 15;
|
|
unsigned32 WriteMask: 1;
|
|
unsigned32 pad1: 7;
|
|
unsigned32 CompareMask: 1;
|
|
unsigned32 pad0: 7;
|
|
unsigned32 ReferenceValue: 1;
|
|
} __GigiStencilDataFmat;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 ReferenceValue: 1;
|
|
unsigned32 pad0: 7;
|
|
unsigned32 CompareMask: 1;
|
|
unsigned32 pad1: 7;
|
|
unsigned32 WriteMask: 1;
|
|
unsigned32 pad2: 15;
|
|
} __GigiStencilDataFmat;
|
|
#endif
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 pad0: 17;
|
|
unsigned32 StencilSource: 2;
|
|
unsigned32 CompareFunction: 3;
|
|
unsigned32 SFail: 3;
|
|
unsigned32 DPFail: 3;
|
|
unsigned32 DPPass: 3;
|
|
unsigned32 UnitEnable: 1;
|
|
} __GigiStencilModeFmat;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 UnitEnable: 1;
|
|
unsigned32 DPPass: 3;
|
|
unsigned32 DPFail: 3;
|
|
unsigned32 SFail: 3;
|
|
unsigned32 CompareFunction: 3;
|
|
unsigned32 StencilSource: 2;
|
|
unsigned32 pad0: 17;
|
|
} __GigiStencilModeFmat;
|
|
#endif
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 pad0: 25;
|
|
unsigned32 CompareMode: 3;
|
|
unsigned32 NewDepthSource: 2;
|
|
unsigned32 WriteMask: 1;
|
|
unsigned32 UnitEnable: 1;
|
|
} __GigiDepthModeFmat;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 UnitEnable: 1;
|
|
unsigned32 WriteMask: 1;
|
|
unsigned32 NewDepthSource: 2;
|
|
unsigned32 CompareMode: 3;
|
|
unsigned32 pad0: 25;
|
|
} __GigiDepthModeFmat;
|
|
#endif
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 pad0: 15;
|
|
signed32 Z: 17;
|
|
} __GigiZUFmat;
|
|
#else
|
|
typedef struct {
|
|
signed32 Z: 17;
|
|
unsigned32 pad0: 15;
|
|
} __GigiZUFmat;
|
|
#endif
|
|
|
|
typedef __GigiZUFmat __GigiZStartUFmat;
|
|
typedef __GigiZUFmat __GigidZdxUFmat;
|
|
typedef __GigiZUFmat __GigidZdyDomUFmat;
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 Z: 11;
|
|
unsigned32 pad0: 21;
|
|
} __GigiZLFmat;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 pad0: 21;
|
|
unsigned32 Z: 11;
|
|
} __GigiZLFmat;
|
|
#endif
|
|
|
|
typedef __GigiZLFmat __GigiZStartLFmat;
|
|
typedef __GigiZLFmat __GigidZdxLFmat;
|
|
typedef __GigiZLFmat __GigidZdyDomLFmat;
|
|
|
|
/*
|
|
** GIGI Framebuffer Registers
|
|
*/
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 pad0: 8;
|
|
unsigned32 Addr: 24;
|
|
} __GigiFBAddressFmat;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 Addr: 24;
|
|
unsigned32 pad0: 8;
|
|
} __GigiFBAddressFmat;
|
|
#endif
|
|
|
|
typedef __GigiFBAddressFmat __GigiFBBaseAddressFmat;
|
|
typedef __GigiFBAddressFmat __GigiFBPixelOffsetFmat;
|
|
typedef __GigiFBAddressFmat __GigiFBSourceOffsetFmat;
|
|
typedef __GigiFBAddressFmat __GigiFBWindowBaseFmat;
|
|
typedef __GigiFBAddressFmat __GigiFBWriteBaseFmat;
|
|
typedef __GigiFBAddressFmat __GigiFBSourceBaseFmat;
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 pad3: 5;
|
|
unsigned32 PatchMode: 2;
|
|
unsigned32 pad2: 2;
|
|
signed32 RelativeOffset: 3;
|
|
unsigned32 PackedData: 1;
|
|
unsigned32 PatchEnable: 1;
|
|
unsigned32 TexelInhibit: 1;
|
|
unsigned32 WindowOrigin: 1;
|
|
unsigned32 MessageType: 1;
|
|
unsigned32 pad0: 4;
|
|
unsigned32 ReadDestinationEnable: 1;
|
|
unsigned32 ReadSourceEnable: 1;
|
|
unsigned32 PP2: 3;
|
|
unsigned32 PP1: 3;
|
|
unsigned32 PP0: 3;
|
|
} __GigiFBReadModeFmat;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 PP0: 3;
|
|
unsigned32 PP1: 3;
|
|
unsigned32 PP2: 3;
|
|
unsigned32 ReadSourceEnable: 1;
|
|
unsigned32 ReadDestinationEnable: 1;
|
|
unsigned32 pad0: 4;
|
|
unsigned32 MessageType: 1;
|
|
unsigned32 WindowOrigin: 1;
|
|
unsigned32 TexelInhibit: 1;
|
|
unsigned32 PatchEnable: 1;
|
|
unsigned32 PackedData: 1;
|
|
signed32 RelativeOffset: 3;
|
|
unsigned32 pad2: 2;
|
|
unsigned32 PatchMode: 2;
|
|
unsigned32 pad3: 5;
|
|
} __GigiFBReadModeFmat;
|
|
#endif
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 pad3: 5;
|
|
unsigned32 PatchMode: 2;
|
|
unsigned32 pad2: 2;
|
|
signed32 RelativeOffset: 3;
|
|
unsigned32 PackedData: 1;
|
|
unsigned32 PatchEnable: 1;
|
|
unsigned32 pad1: 1;
|
|
unsigned32 WindowOrigin: 1;
|
|
unsigned32 pad0: 7;
|
|
unsigned32 PP2: 3;
|
|
unsigned32 PP1: 3;
|
|
unsigned32 PP0: 3;
|
|
} __GigiFBWriteConfigFmat;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 PP0: 3;
|
|
unsigned32 PP1: 3;
|
|
unsigned32 PP2: 3;
|
|
unsigned32 pad0: 7;
|
|
unsigned32 WindowOrigin: 1;
|
|
unsigned32 pad1: 1;
|
|
unsigned32 PatchEnable: 1;
|
|
unsigned32 PackedData: 1;
|
|
signed32 RelativeOffset: 3;
|
|
unsigned32 pad2: 2;
|
|
unsigned32 PatchMode: 2;
|
|
unsigned32 pad3: 5;
|
|
} __GigiFBWriteConfigFmat;
|
|
#endif
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 pad1: 29;
|
|
unsigned32 PixelSize: 3;
|
|
} __GigiFBPixelFmat;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 PixelSize: 3;
|
|
unsigned32 pad1: 29;
|
|
} __GigiFBPixelFmat;
|
|
#endif
|
|
|
|
typedef __GigiFBPixelFmat __GigiFBReadPixelFmat;
|
|
typedef __GigiFBPixelFmat __GigiFBWritePixelFmat;
|
|
|
|
typedef __GigiUnsignedIntegerFmat __GigiFBReadPadFmat;
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 pad1: 28;
|
|
unsigned32 UpLoadData: 1;
|
|
unsigned32 pad0: 2;
|
|
unsigned32 WriteEnable: 1;
|
|
} __GigiFBWriteModeFmat;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 WriteEnable: 1;
|
|
unsigned32 pad0: 2;
|
|
unsigned32 UpLoadData: 1;
|
|
unsigned32 pad1: 28;
|
|
} __GigiFBWriteModeFmat;
|
|
#endif
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 pad0: 28;
|
|
signed32 RelativeOffset: 3;
|
|
unsigned32 DataPacking: 1;
|
|
} __GigiFBPackedDataModeFmat;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 DataPacking: 1;
|
|
signed32 RelativeOffset: 3;
|
|
unsigned32 pad0: 28;
|
|
} __GigiFBPackedDataModeFmat;
|
|
#endif
|
|
|
|
typedef __GigiUnsignedIntegerFmat __GigiFBFmat;
|
|
|
|
typedef __GigiFBFmat __GigiFBColorFmat;
|
|
typedef __GigiFBFmat __GigiFBDataFmat;
|
|
typedef __GigiFBFmat __GigiFBSourceDataFmat;
|
|
|
|
typedef __GigiUnsignedIntegerFmat __GigiFBHardwareWriteMaskFmat;
|
|
typedef __GigiUnsignedIntegerFmat __GigiFBBlockColorFmat;
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 pad0: 10;
|
|
unsigned32 Offset: 22;
|
|
} __GigiTextureDownloadOffsetFmat;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 Offset: 22;
|
|
unsigned32 pad0: 10;
|
|
} __GigiTextureDownloadOffsetFmat;
|
|
#endif
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 pad: 22;
|
|
unsigned32 LogicOpLogicOp: 4;
|
|
unsigned32 LogicOpEnable: 1;
|
|
unsigned32 ColorDDAModeEnable: 1;
|
|
unsigned32 FBWriteModeEnable: 1;
|
|
unsigned32 FBReadModePackedData: 1;
|
|
unsigned32 FBReadModeReadDestination: 1;
|
|
unsigned32 FBReadModeReadSource: 1;
|
|
} __GigiConfigFmat;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 FBReadModeReadSource: 1;
|
|
unsigned32 FBReadModeReadDestination: 1;
|
|
unsigned32 FBReadModePackedData: 1;
|
|
unsigned32 FBWriteModeEnable: 1;
|
|
unsigned32 ColorDDAModeEnable: 1;
|
|
unsigned32 LogicOpEnable: 1;
|
|
unsigned32 LogicOpLogicOp: 4;
|
|
unsigned32 pad: 22;
|
|
} __GigiConfigFmat;
|
|
#endif
|
|
|
|
/*
|
|
** GIGI Dither Registers
|
|
*/
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 pad1: 15;
|
|
unsigned32 ColorFormatExtension: 1;
|
|
unsigned32 pad0: 2;
|
|
unsigned32 ForceAlpha: 2;
|
|
unsigned32 DitherMethod: 1;
|
|
unsigned32 ColorOrder: 1;
|
|
unsigned32 YOffset: 2;
|
|
unsigned32 XOffset: 2;
|
|
unsigned32 ColorFormat: 4;
|
|
unsigned32 DitherEnable: 1;
|
|
unsigned32 UnitEnable: 1;
|
|
} __GigiDitherModeFmat;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 UnitEnable: 1;
|
|
unsigned32 DitherEnable: 1;
|
|
unsigned32 ColorFormat: 4;
|
|
unsigned32 XOffset: 2;
|
|
unsigned32 YOffset: 2;
|
|
unsigned32 ColorOrder: 1;
|
|
unsigned32 DitherMethod: 1;
|
|
unsigned32 ForceAlpha: 2;
|
|
unsigned32 pad0: 2;
|
|
unsigned32 ColorFormatExtension: 1;
|
|
unsigned32 pad1: 15;
|
|
} __GigiDitherModeFmat;
|
|
#endif
|
|
|
|
/*
|
|
** GIGI Logic Ops and WriteMask Registers
|
|
*/
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 pad0: 26;
|
|
unsigned32 UseConstantFBWriteData: 1;
|
|
unsigned32 LogicalOp: 4;
|
|
unsigned32 LogicalOpEnable: 1;
|
|
} __GigiLogicalOpModeFmat;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 LogicalOpEnable: 1;
|
|
unsigned32 LogicalOp: 4;
|
|
unsigned32 UseConstantFBWriteData: 1;
|
|
unsigned32 pad0: 26;
|
|
} __GigiLogicalOpModeFmat;
|
|
#endif
|
|
|
|
typedef __GigiFBFmat __GigiFBWriteDataFmat;
|
|
typedef __GigiFBFmat __GigiFBSoftwareWriteMaskFmat;
|
|
|
|
/*
|
|
** GIGI Host Out Registers
|
|
*/
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 pad0: 16;
|
|
unsigned32 Remainder: 2;
|
|
unsigned32 Statistics: 2;
|
|
unsigned32 Synchronization: 2;
|
|
unsigned32 Color: 2;
|
|
unsigned32 Stencil: 2;
|
|
unsigned32 Depth: 2;
|
|
unsigned32 Passive: 2;
|
|
unsigned32 Active: 2;
|
|
} __GigiFilterModeFmat;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 Active: 2;
|
|
unsigned32 Passive: 2;
|
|
unsigned32 Depth: 2;
|
|
unsigned32 Stencil: 2;
|
|
unsigned32 Color: 2;
|
|
unsigned32 Synchronization: 2;
|
|
unsigned32 Statistics: 2;
|
|
unsigned32 Remainder: 2;
|
|
unsigned32 pad0: 16;
|
|
} __GigiFilterModeFmat;
|
|
#endif
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 pad0: 26;
|
|
unsigned32 Spans: 1;
|
|
unsigned32 CompareFunction: 1;
|
|
unsigned32 PassiveSteps: 1;
|
|
unsigned32 ActiveSteps: 1;
|
|
unsigned32 StatType: 1;
|
|
unsigned32 Enable: 1;
|
|
} __GigiStatisticModeFmat;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 Enable: 1;
|
|
unsigned32 StatType: 1;
|
|
unsigned32 ActiveSteps: 1;
|
|
unsigned32 PassiveSteps: 1;
|
|
unsigned32 CompareFunction: 1;
|
|
unsigned32 Spans: 1;
|
|
unsigned32 pad0: 26;
|
|
} __GigiStatisticModeFmat;
|
|
#endif
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 InterruptEnable: 1;
|
|
unsigned32 pad0: 31;
|
|
} __GigiSyncFmat;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 pad0: 31;
|
|
unsigned32 InterruptEnable: 1;
|
|
} __GigiSyncFmat;
|
|
#endif
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 pad1: 4;
|
|
signed32 Y: 12;
|
|
unsigned32 pad0: 4;
|
|
signed32 X: 12;
|
|
} __GigiMinRegionFmat,
|
|
__GigiMaxRegionFmat,
|
|
__GigiMinHitRegionFmat,
|
|
__GigiMaxHitRegionFmat;
|
|
#else
|
|
typedef struct {
|
|
signed32 X: 12;
|
|
unsigned32 pad0: 4;
|
|
signed32 Y: 12;
|
|
unsigned32 pad1: 4;
|
|
} __GigiMinRegionFmat,
|
|
__GigiMaxRegionFmat,
|
|
__GigiMinHitRegionFmat,
|
|
__GigiMaxHitRegionFmat;
|
|
#endif
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 pad0: 30;
|
|
unsigned32 BusyFlag: 1;
|
|
unsigned32 PickFlag: 1;
|
|
} __GigiPickResultFmat;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 PickFlag: 1;
|
|
unsigned32 BusyFlag: 1;
|
|
unsigned32 pad0: 30;
|
|
} __GigiPickResultFmat;
|
|
#endif
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 pad0: 12;
|
|
unsigned32 screenbase: 20;
|
|
} __GigiSuspendUntilFrameBlankFmat;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 screenbase: 20;
|
|
unsigned32 pad0: 12;
|
|
} __GigiSuspendUntilFrameBlankFmat;
|
|
#endif
|
|
|
|
typedef __GigiUnsignedIntegerFmat __GigiResetPickResultFmat;
|
|
|
|
#if BIG_ENDIAN == 1
|
|
typedef struct {
|
|
unsigned32 pad: 31;
|
|
unsigned32 value: 1;
|
|
} __GigiPCITextureCacheFmat;
|
|
#else
|
|
typedef struct {
|
|
unsigned32 value: 1;
|
|
unsigned32 pad: 31;
|
|
} __GigiPCITextureCacheFmat;
|
|
#endif
|
|
|
|
typedef __GigiPCITextureCacheFmat __GigiPCIReadTextureCacheFmat;
|
|
typedef __GigiPCITextureCacheFmat __GigiPCIWriteTextureCacheFmat;
|
|
|
|
#endif /* GIGIREG_H */
|