Leaked source code of windows server 2003
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.
 
 
 
 
 
 

5569 lines
272 KiB

/******************************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: reg.h
*
* Content:
*
* Copyright (c) 1994-1999 3Dlabs Inc. Ltd. All rights reserved.
* Copyright (c) 1995-2003 Microsoft Corporation. All rights reserved.
\*****************************************************************************/
#ifndef __REG_H
#define __REG_H
#ifndef _REG_H_
#define _REG_H_
typedef signed long signed32;
typedef unsigned long unsigned32;
struct DMATag {
#if BIG_ENDIAN == 1
unsigned32 Mask :16;
unsigned32 Mode :2;
unsigned32 :1;
unsigned32 MajorGroup :9;
unsigned32 Offset :4;
#else
unsigned32 Offset :4;
unsigned32 MajorGroup :9;
unsigned32 :1;
unsigned32 Mode :2;
unsigned32 Mask :16;
#endif
#ifdef __cplusplus
DMATag(void) { }
DMATag(const unsigned32 i) { *((unsigned32 *)this) = i; }
DMATag& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
DMATag& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
DMATag& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0xffff<<16|0x3<<14|0x1ff<<4|0xf<<0)); }
#endif /* __cplusplus */
};
struct Render {
#if BIG_ENDIAN == 1
unsigned32 :4;
unsigned32 FBSourceReadEnable :1;
unsigned32 dErr :7;
unsigned32 :1;
unsigned32 SpanOperation :1;
unsigned32 :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 :2;
unsigned32 FastFillEnable :1;
unsigned32 ResetLineStipple :1;
unsigned32 LineStippleEnable :1;
unsigned32 AreaStippleEnable :1;
#else
unsigned32 AreaStippleEnable :1;
unsigned32 LineStippleEnable :1;
unsigned32 ResetLineStipple :1;
unsigned32 FastFillEnable :1;
unsigned32 :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 :1;
unsigned32 SpanOperation :1;
unsigned32 :1;
unsigned32 dErr :7;
unsigned32 FBSourceReadEnable :1;
unsigned32 :4;
#endif
#ifdef __cplusplus
Render(void) { }
Render(const unsigned32 i) { *((unsigned32 *)this) = i; }
Render& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
Render& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
Render& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<27|0x7f<<20|0x1<<18|0x1<<16|0x1<<15|0x1<<14|0x1<<13|0x1<<12|0x1<<11|0x1<<10|0x1<<9|0x1<<8|0x3<<6|0x1<<3|0x1<<2|0x1<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct RasterizerMode {
#if BIG_ENDIAN == 1
unsigned32 :4;
unsigned32 UseSuspendReads :1;
unsigned32 D3DRules :1;
unsigned32 MultiRXBlit :1;
unsigned32 OpaqueSpan :1;
unsigned32 WordPacking :1;
unsigned32 StripeHeight :3;
unsigned32 BitMaskRelative :1;
unsigned32 YLimitsEnable :1;
unsigned32 MultiGLINT :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;
#else
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 MultiGLINT :1;
unsigned32 YLimitsEnable :1;
unsigned32 BitMaskRelative :1;
unsigned32 StripeHeight :3;
unsigned32 WordPacking :1;
unsigned32 OpaqueSpan :1;
unsigned32 MultiRXBlit :1;
unsigned32 D3DRules :1;
unsigned32 UseSuspendReads :1;
unsigned32 :4;
#endif
#ifdef __cplusplus
RasterizerMode(void) { }
RasterizerMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
RasterizerMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
RasterizerMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
RasterizerMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<27|0x1<<26|0x1<<25|0x1<<24|0x1<<23|0x7<<20|0x1<<19|0x1<<18|0x1<<17|0x3<<15|0x1f<<10|0x1<<9|0x3<<7|0x1<<6|0x3<<4|0x3<<2|0x1<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct YLimits {
#if BIG_ENDIAN == 1
signed32 MaxY :16;
signed32 MinY :16;
#else
signed32 MinY :16;
signed32 MaxY :16;
#endif
#ifdef __cplusplus
YLimits(void) { }
YLimits(const unsigned32 i) { *((unsigned32 *)this) = i; }
YLimits& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
YLimits& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
YLimits& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0xffff<<16|0xffff<<0)); }
#endif /* __cplusplus */
};
struct GlintScanlineOwnership {
#if BIG_ENDIAN == 1
unsigned32 :27;
unsigned32 Scanline :3;
unsigned32 ScanlineInterval :2;
#else
unsigned32 ScanlineInterval :2;
unsigned32 Scanline :3;
unsigned32 :27;
#endif
#ifdef __cplusplus
GlintScanlineOwnership(void) { }
GlintScanlineOwnership(const unsigned32 i) { *((unsigned32 *)this) = i; }
GlintScanlineOwnership& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
GlintScanlineOwnership& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
GlintScanlineOwnership& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x7<<2|0x3<<0)); }
#endif /* __cplusplus */
};
struct ScanlineOwnership {
#if BIG_ENDIAN == 1
unsigned32 :26;
unsigned32 MyId :3;
unsigned32 Mask :3;
#else
unsigned32 Mask :3;
unsigned32 MyId :3;
unsigned32 :26;
#endif
#ifdef __cplusplus
ScanlineOwnership(void) { }
ScanlineOwnership(const unsigned32 i) { *((unsigned32 *)this) = i; }
ScanlineOwnership& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
ScanlineOwnership& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
ScanlineOwnership& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x7<<3|0x7<<0)); }
#endif /* __cplusplus */
};
struct GlintPixelSize {
#if BIG_ENDIAN == 1
unsigned32 :30;
unsigned32 Size :2;
#else
unsigned32 Size :2;
unsigned32 :30;
#endif
#ifdef __cplusplus
GlintPixelSize(void) { }
GlintPixelSize(const unsigned32 i) { *((unsigned32 *)this) = i; }
GlintPixelSize& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
GlintPixelSize& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
GlintPixelSize& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x3<<0)); }
#endif /* __cplusplus */
};
struct PixelSize {
#if BIG_ENDIAN == 1
unsigned32 Setting :1;
unsigned32 :13;
unsigned32 TwoDSetupUnit :2;
unsigned32 FBWriteUnit :2;
unsigned32 LogicalOpsUnit :2;
unsigned32 FBReadUnit :2;
unsigned32 LUTUnit :2;
unsigned32 TextureUnit :2;
unsigned32 ScissorUnit :2;
unsigned32 RasterizerUnit :2;
unsigned32 AllUnits :2;
#else
unsigned32 AllUnits :2;
unsigned32 RasterizerUnit :2;
unsigned32 ScissorUnit :2;
unsigned32 TextureUnit :2;
unsigned32 LUTUnit :2;
unsigned32 FBReadUnit :2;
unsigned32 LogicalOpsUnit :2;
unsigned32 FBWriteUnit :2;
unsigned32 TwoDSetupUnit :2;
unsigned32 :13;
unsigned32 Setting :1;
#endif
#ifdef __cplusplus
PixelSize(void) { }
PixelSize(const unsigned32 i) { *((unsigned32 *)this) = i; }
PixelSize& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
PixelSize& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
PixelSize& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<31|0x3<<16|0x3<<14|0x3<<12|0x3<<10|0x3<<8|0x3<<6|0x3<<4|0x3<<2|0x3<<0)); }
#endif /* __cplusplus */
};
struct StripeOffsetY {
#if BIG_ENDIAN == 1
unsigned32 :16;
unsigned32 Offset :16;
#else
unsigned32 Offset :16;
unsigned32 :16;
#endif
#ifdef __cplusplus
StripeOffsetY(void) { }
StripeOffsetY(const unsigned32 i) { *((unsigned32 *)this) = i; }
StripeOffsetY& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
StripeOffsetY& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
StripeOffsetY& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0xffff<<0)); }
#endif /* __cplusplus */
};
struct ReadMonitorMode {
#if BIG_ENDIAN == 1
signed32 StripeOffset :16;
unsigned32 :8;
unsigned32 HashFunction :1;
unsigned32 StripeHeight :3;
unsigned32 StripePitch :3;
unsigned32 Enable :1;
#else
unsigned32 Enable :1;
unsigned32 StripePitch :3;
unsigned32 StripeHeight :3;
unsigned32 HashFunction :1;
unsigned32 :8;
signed32 StripeOffset :16;
#endif
#ifdef __cplusplus
ReadMonitorMode(void) { }
ReadMonitorMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
ReadMonitorMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
ReadMonitorMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
ReadMonitorMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0xffff<<16|0x1<<7|0x7<<4|0x7<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct XY {
#if BIG_ENDIAN == 1
signed32 Y :16;
signed32 X :16;
#else
signed32 X :16;
signed32 Y :16;
#endif
#ifdef __cplusplus
XY(void) { }
XY(const unsigned32 i) { *((unsigned32 *)this) = i; }
XY& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
XY& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
XY& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0xffff<<16|0xffff<<0)); }
#endif /* __cplusplus */
};
struct UXY {
#if BIG_ENDIAN == 1
unsigned32 Y :16;
unsigned32 X :16;
#else
unsigned32 X :16;
unsigned32 Y :16;
#endif
#ifdef __cplusplus
UXY(void) { }
UXY(const unsigned32 i) { *((unsigned32 *)this) = i; }
UXY& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
UXY& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
UXY& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0xffff<<16|0xffff<<0)); }
#endif /* __cplusplus */
};
struct ScissorMode {
#if BIG_ENDIAN == 1
unsigned32 :30;
unsigned32 ScreenScissorEnable :1;
unsigned32 UserScissorEnable :1;
#else
unsigned32 UserScissorEnable :1;
unsigned32 ScreenScissorEnable :1;
unsigned32 :30;
#endif
#ifdef __cplusplus
ScissorMode(void) { }
ScissorMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
ScissorMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
ScissorMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
ScissorMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct AreaStippleMode {
#if BIG_ENDIAN == 1
unsigned32 :1;
unsigned32 YTableOffset :5;
unsigned32 XTableOffset :5;
unsigned32 OpaqueSpan :1;
unsigned32 MirrorY :1;
unsigned32 MirrorX :1;
unsigned32 InvertStipplePattern :1;
unsigned32 YOffset :5;
unsigned32 XOffset :5;
unsigned32 YAddressSelect :3;
unsigned32 XAddressSelect :3;
unsigned32 Enable :1;
#else
unsigned32 Enable :1;
unsigned32 XAddressSelect :3;
unsigned32 YAddressSelect :3;
unsigned32 XOffset :5;
unsigned32 YOffset :5;
unsigned32 InvertStipplePattern :1;
unsigned32 MirrorX :1;
unsigned32 MirrorY :1;
unsigned32 OpaqueSpan :1;
unsigned32 XTableOffset :5;
unsigned32 YTableOffset :5;
unsigned32 :1;
#endif
#ifdef __cplusplus
AreaStippleMode(void) { }
AreaStippleMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
AreaStippleMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
AreaStippleMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
AreaStippleMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1f<<26|0x1f<<21|0x1<<20|0x1<<19|0x1<<18|0x1<<17|0x1f<<12|0x1f<<7|0x7<<4|0x7<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct LineStippleMode {
#if BIG_ENDIAN == 1
unsigned32 :5;
unsigned32 Mirror :1;
unsigned32 StippleMask :16;
unsigned32 RepeatFactor :9;
unsigned32 StippleEnable :1;
#else
unsigned32 StippleEnable :1;
unsigned32 RepeatFactor :9;
unsigned32 StippleMask :16;
unsigned32 Mirror :1;
unsigned32 :5;
#endif
#ifdef __cplusplus
LineStippleMode(void) { }
LineStippleMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
LineStippleMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
LineStippleMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
LineStippleMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<26|0xffff<<10|0x1ff<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct Line {
#if BIG_ENDIAN == 1
unsigned32 :6;
unsigned32 SegmentRepeatCounter :9;
unsigned32 SegmentBitCounter :4;
unsigned32 LiveRepeatCounter :9;
unsigned32 LiveBitCounter :4;
#else
unsigned32 LiveBitCounter :4;
unsigned32 LiveRepeatCounter :9;
unsigned32 SegmentBitCounter :4;
unsigned32 SegmentRepeatCounter :9;
unsigned32 :6;
#endif
#ifdef __cplusplus
Line(void) { }
Line(const unsigned32 i) { *((unsigned32 *)this) = i; }
Line& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
Line& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
Line& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1ff<<17|0xf<<13|0x1ff<<4|0xf<<0)); }
#endif /* __cplusplus */
};
struct GlintTextureAddressMode {
#if BIG_ENDIAN == 1
unsigned32 :14;
unsigned32 TextureMapType :1;
unsigned32 Height :4;
unsigned32 Width :4;
unsigned32 EnableDY :1;
unsigned32 EnableLOD :1;
unsigned32 InhibitDDAInitialization :1;
unsigned32 Operation :1;
unsigned32 TWrap :2;
unsigned32 SWrap :2;
unsigned32 Enable :1;
#else
unsigned32 Enable :1;
unsigned32 SWrap :2;
unsigned32 TWrap :2;
unsigned32 Operation :1;
unsigned32 InhibitDDAInitialization :1;
unsigned32 EnableLOD :1;
unsigned32 EnableDY :1;
unsigned32 Width :4;
unsigned32 Height :4;
unsigned32 TextureMapType :1;
unsigned32 :14;
#endif
#ifdef __cplusplus
GlintTextureAddressMode(void) { }
GlintTextureAddressMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
GlintTextureAddressMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
GlintTextureAddressMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
GlintTextureAddressMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<17|0xf<<13|0xf<<9|0x1<<8|0x1<<7|0x1<<6|0x1<<5|0x3<<3|0x3<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct PermediaTextureAddressMode {
#if BIG_ENDIAN == 1
unsigned32 :30;
unsigned32 PerspectiveCorrection :1;
unsigned32 Enable :1;
#else
unsigned32 Enable :1;
unsigned32 PerspectiveCorrection :1;
unsigned32 :30;
#endif
#ifdef __cplusplus
PermediaTextureAddressMode(void) { }
PermediaTextureAddressMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
PermediaTextureAddressMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
PermediaTextureAddressMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
PermediaTextureAddressMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct TextureCoordMode {
#if BIG_ENDIAN == 1
unsigned32 :9;
unsigned32 DuplicateCoord :1;
unsigned32 WrapT1 :2;
unsigned32 WrapS1 :2;
unsigned32 TextureMapType :1;
unsigned32 Height :4;
unsigned32 Width :4;
unsigned32 EnableDY :1;
unsigned32 EnableLOD :1;
unsigned32 InhibitDDAInitialisation :1;
unsigned32 Operation :1;
unsigned32 WrapT :2;
unsigned32 WrapS :2;
unsigned32 Enable :1;
#else
unsigned32 Enable :1;
unsigned32 WrapS :2;
unsigned32 WrapT :2;
unsigned32 Operation :1;
unsigned32 InhibitDDAInitialisation :1;
unsigned32 EnableLOD :1;
unsigned32 EnableDY :1;
unsigned32 Width :4;
unsigned32 Height :4;
unsigned32 TextureMapType :1;
unsigned32 WrapS1 :2;
unsigned32 WrapT1 :2;
unsigned32 DuplicateCoord :1;
unsigned32 :9;
#endif
#ifdef __cplusplus
TextureCoordMode(void) { }
TextureCoordMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
TextureCoordMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
TextureCoordMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
TextureCoordMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<22|0x3<<20|0x3<<18|0x1<<17|0xf<<13|0xf<<9|0x1<<8|0x1<<7|0x1<<6|0x1<<5|0x3<<3|0x3<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct GlintLOD {
#if BIG_ENDIAN == 1
unsigned32 :20;
unsigned32 Integer :4;
unsigned32 Fraction :8;
#else
unsigned32 Fraction :8;
unsigned32 Integer :4;
unsigned32 :20;
#endif
#ifdef __cplusplus
GlintLOD(void) { }
GlintLOD(const unsigned32 i) { *((unsigned32 *)this) = i; }
GlintLOD& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
GlintLOD& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
GlintLOD& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0xf<<8|0xff<<0)); }
#endif /* __cplusplus */
};
struct LOD {
#if BIG_ENDIAN == 1
unsigned32 :28;
unsigned32 Value :4;
#else
unsigned32 Value :4;
unsigned32 :28;
#endif
#ifdef __cplusplus
LOD(void) { }
LOD(const unsigned32 i) { *((unsigned32 *)this) = i; }
LOD& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
LOD& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
LOD& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0xf<<0)); }
#endif /* __cplusplus */
};
struct LOD1 {
#if BIG_ENDIAN == 1
unsigned32 :20;
unsigned32 LOD :12;
#else
unsigned32 LOD :12;
unsigned32 :20;
#endif
#ifdef __cplusplus
LOD1(void) { }
LOD1(const unsigned32 i) { *((unsigned32 *)this) = i; }
LOD1& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
LOD1& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
LOD1& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0xfff<<0)); }
#endif /* __cplusplus */
};
struct TextureLODBias {
#if BIG_ENDIAN == 1
unsigned32 :19;
signed32 Integer :5;
unsigned32 Fraction :8;
#else
unsigned32 Fraction :8;
signed32 Integer :5;
unsigned32 :19;
#endif
#ifdef __cplusplus
TextureLODBias(void) { }
TextureLODBias(const unsigned32 i) { *((unsigned32 *)this) = i; }
TextureLODBias& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
TextureLODBias& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
TextureLODBias& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1f<<8|0xff<<0)); }
#endif /* __cplusplus */
};
struct GlintTextureReadMode {
#if BIG_ENDIAN == 1
unsigned32 :4;
unsigned32 BorderClamp :1;
unsigned32 FBSourceAddr :2;
unsigned32 PrimaryCache :1;
unsigned32 MipMap :1;
unsigned32 TextureMapType :1;
unsigned32 VWrap :2;
unsigned32 UWrap :2;
unsigned32 MinFilter :3;
unsigned32 MagFilter :1;
unsigned32 Patch :1;
unsigned32 Border :1;
unsigned32 Depth :3;
unsigned32 Height :4;
unsigned32 Width :4;
unsigned32 Enable :1;
#else
unsigned32 Enable :1;
unsigned32 Width :4;
unsigned32 Height :4;
unsigned32 Depth :3;
unsigned32 Border :1;
unsigned32 Patch :1;
unsigned32 MagFilter :1;
unsigned32 MinFilter :3;
unsigned32 UWrap :2;
unsigned32 VWrap :2;
unsigned32 TextureMapType :1;
unsigned32 MipMap :1;
unsigned32 PrimaryCache :1;
unsigned32 FBSourceAddr :2;
unsigned32 BorderClamp :1;
unsigned32 :4;
#endif
#ifdef __cplusplus
GlintTextureReadMode(void) { }
GlintTextureReadMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
GlintTextureReadMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
GlintTextureReadMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
GlintTextureReadMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<27|0x3<<25|0x1<<24|0x1<<23|0x1<<22|0x3<<20|0x3<<18|0x7<<15|0x1<<14|0x1<<13|0x1<<12|0x7<<9|0xf<<5|0xf<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct TextureReadMode {
#if BIG_ENDIAN == 1
unsigned32 :1;
unsigned32 OpaqueSpan :1;
unsigned32 Invert :1;
unsigned32 Mirror :1;
unsigned32 ByteSwap :3;
unsigned32 TextureType :2;
unsigned32 Origin :1;
unsigned32 LogicalTexture :1;
unsigned32 MapMaxLevel :4;
unsigned32 MapBaseLevel :4;
unsigned32 CombineCaches :1;
unsigned32 Texture3D :1;
unsigned32 TexelSize :2;
unsigned32 Height :4;
unsigned32 Width :4;
unsigned32 Enable :1;
#else
unsigned32 Enable :1;
unsigned32 Width :4;
unsigned32 Height :4;
unsigned32 TexelSize :2;
unsigned32 Texture3D :1;
unsigned32 CombineCaches :1;
unsigned32 MapBaseLevel :4;
unsigned32 MapMaxLevel :4;
unsigned32 LogicalTexture :1;
unsigned32 Origin :1;
unsigned32 TextureType :2;
unsigned32 ByteSwap :3;
unsigned32 Mirror :1;
unsigned32 Invert :1;
unsigned32 OpaqueSpan :1;
unsigned32 :1;
#endif
#ifdef __cplusplus
TextureReadMode(void) { }
TextureReadMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
TextureReadMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
TextureReadMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
TextureReadMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<30|0x1<<29|0x1<<28|0x7<<25|0x3<<23|0x1<<22|0x1<<21|0xf<<17|0xf<<13|0x1<<12|0x1<<11|0x3<<9|0xf<<5|0xf<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct TextureFormat {
#if BIG_ENDIAN == 1
unsigned32 :12;
unsigned32 OneCompFormat :2;
unsigned32 LUTOffset :8;
unsigned32 ByteSwapBitMask :1;
unsigned32 InvertBitMask :1;
unsigned32 MirrorBitMask :1;
unsigned32 OutputFormat :2;
unsigned32 NumberComps :2;
unsigned32 ColorOrder :1;
unsigned32 Format :1;
unsigned32 Order :1;
#else
unsigned32 Order :1;
unsigned32 Format :1;
unsigned32 ColorOrder :1;
unsigned32 NumberComps :2;
unsigned32 OutputFormat :2;
unsigned32 MirrorBitMask :1;
unsigned32 InvertBitMask :1;
unsigned32 ByteSwapBitMask :1;
unsigned32 LUTOffset :8;
unsigned32 OneCompFormat :2;
unsigned32 :12;
#endif
#ifdef __cplusplus
TextureFormat(void) { }
TextureFormat(const unsigned32 i) { *((unsigned32 *)this) = i; }
TextureFormat& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
TextureFormat& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
TextureFormat& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x3<<18|0xff<<10|0x1<<9|0x1<<8|0x1<<7|0x3<<5|0x3<<3|0x1<<2|0x1<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct TexelLUTIndex {
#if BIG_ENDIAN == 1
unsigned32 :24;
unsigned32 Index :8;
#else
unsigned32 Index :8;
unsigned32 :24;
#endif
#ifdef __cplusplus
TexelLUTIndex(void) { }
TexelLUTIndex(const unsigned32 i) { *((unsigned32 *)this) = i; }
TexelLUTIndex& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
TexelLUTIndex& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
TexelLUTIndex& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0xff<<0)); }
#endif /* __cplusplus */
};
struct LUTIndex {
#if BIG_ENDIAN == 1
unsigned32 :24;
unsigned32 Index :8;
#else
unsigned32 Index :8;
unsigned32 :24;
#endif
#ifdef __cplusplus
LUTIndex(void) { }
LUTIndex(const unsigned32 i) { *((unsigned32 *)this) = i; }
LUTIndex& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
LUTIndex& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
LUTIndex& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0xff<<0)); }
#endif /* __cplusplus */
};
struct TexelLUTTransfer {
#if BIG_ENDIAN == 1
unsigned32 :15;
unsigned32 Count :9;
unsigned32 Index :8;
#else
unsigned32 Index :8;
unsigned32 Count :9;
unsigned32 :15;
#endif
#ifdef __cplusplus
TexelLUTTransfer(void) { }
TexelLUTTransfer(const unsigned32 i) { *((unsigned32 *)this) = i; }
TexelLUTTransfer& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
TexelLUTTransfer& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
TexelLUTTransfer& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1ff<<8|0xff<<0)); }
#endif /* __cplusplus */
};
struct LUTTransfer {
#if BIG_ENDIAN == 1
unsigned32 :17;
unsigned32 Count :7;
unsigned32 Index :8;
#else
unsigned32 Index :8;
unsigned32 Count :7;
unsigned32 :17;
#endif
#ifdef __cplusplus
LUTTransfer(void) { }
LUTTransfer(const unsigned32 i) { *((unsigned32 *)this) = i; }
LUTTransfer& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
LUTTransfer& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
LUTTransfer& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x7f<<8|0xff<<0)); }
#endif /* __cplusplus */
};
struct GlintTextureFilterMode {
#if BIG_ENDIAN == 1
unsigned32 :29;
unsigned32 AlphaMapSense :1;
unsigned32 AlphaMapEnable :1;
unsigned32 Enable :1;
#else
unsigned32 Enable :1;
unsigned32 AlphaMapEnable :1;
unsigned32 AlphaMapSense :1;
unsigned32 :29;
#endif
#ifdef __cplusplus
GlintTextureFilterMode(void) { }
GlintTextureFilterMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
GlintTextureFilterMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
GlintTextureFilterMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
GlintTextureFilterMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<2|0x1<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct TextureFilterMode {
#if BIG_ENDIAN == 1
unsigned32 Shift1 :1;
unsigned32 Shift0 :1;
unsigned32 ForceAlphaToOne1 :1;
unsigned32 ForceAlphaToOne0 :1;
unsigned32 MultiTexture :1;
unsigned32 AlphaMapFilterLimit01 :4;
unsigned32 AlphaMapFilterLimit1 :3;
unsigned32 AlphaMapFilterLimit0 :3;
unsigned32 AlphaMapFiltering :1;
unsigned32 AlphaMapSense1 :1;
unsigned32 AlphaMapEnable1 :1;
unsigned32 ColorOrder1 :1;
unsigned32 Format1 :4;
unsigned32 CombineCaches :1;
unsigned32 AlphaMapSense0 :1;
unsigned32 AlphaMapEnable0 :1;
unsigned32 ColorOrder0 :1;
unsigned32 Format0 :4;
unsigned32 Enable :1;
#else
unsigned32 Enable :1;
unsigned32 Format0 :4;
unsigned32 ColorOrder0 :1;
unsigned32 AlphaMapEnable0 :1;
unsigned32 AlphaMapSense0 :1;
unsigned32 CombineCaches :1;
unsigned32 Format1 :4;
unsigned32 ColorOrder1 :1;
unsigned32 AlphaMapEnable1 :1;
unsigned32 AlphaMapSense1 :1;
unsigned32 AlphaMapFiltering :1;
unsigned32 AlphaMapFilterLimit0 :3;
unsigned32 AlphaMapFilterLimit1 :3;
unsigned32 AlphaMapFilterLimit01 :4;
unsigned32 MultiTexture :1;
unsigned32 ForceAlphaToOne0 :1;
unsigned32 ForceAlphaToOne1 :1;
unsigned32 Shift0 :1;
unsigned32 Shift1 :1;
#endif
#ifdef __cplusplus
TextureFilterMode(void) { }
TextureFilterMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
TextureFilterMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
TextureFilterMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
TextureFilterMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<31|0x1<<30|0x1<<29|0x1<<28|0x1<<27|0xf<<23|0x7<<20|0x7<<17|0x1<<16|0x1<<15|0x1<<14|0x1<<13|0xf<<9|0x1<<8|0x1<<7|0x1<<6|0x1<<5|0xf<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct TextureMapFormat {
#if BIG_ENDIAN == 1
unsigned32 :10;
unsigned32 TexelSize :3;
unsigned32 :1;
unsigned32 SubPatchMode :1;
unsigned32 WindowOrigin :1;
unsigned32 :7;
unsigned32 PP2 :3;
unsigned32 PP1 :3;
unsigned32 PP0 :3;
#else
unsigned32 PP0 :3;
unsigned32 PP1 :3;
unsigned32 PP2 :3;
unsigned32 :7;
unsigned32 WindowOrigin :1;
unsigned32 SubPatchMode :1;
unsigned32 :1;
unsigned32 TexelSize :3;
unsigned32 :10;
#endif
#ifdef __cplusplus
TextureMapFormat(void) { }
TextureMapFormat(const unsigned32 i) { *((unsigned32 *)this) = i; }
TextureMapFormat& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
TextureMapFormat& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
TextureMapFormat& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x7<<19|0x1<<17|0x1<<16|0x7<<6|0x7<<3|0x7<<0)); }
#endif /* __cplusplus */
};
struct TextureDataFormat {
#if BIG_ENDIAN == 1
unsigned32 :23;
unsigned32 SpanFormat :1;
unsigned32 AlphaMap :1;
unsigned32 TextureFormatExtension :1;
unsigned32 ColorOrder :1;
unsigned32 NoAlphaBuffer :1;
unsigned32 TextureFormat :4;
#else
unsigned32 TextureFormat :4;
unsigned32 NoAlphaBuffer :1;
unsigned32 ColorOrder :1;
unsigned32 TextureFormatExtension :1;
unsigned32 AlphaMap :1;
unsigned32 SpanFormat :1;
unsigned32 :23;
#endif
#ifdef __cplusplus
TextureDataFormat(void) { }
TextureDataFormat(const unsigned32 i) { *((unsigned32 *)this) = i; }
TextureDataFormat& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
TextureDataFormat& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
TextureDataFormat& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<8|0x1<<7|0x1<<6|0x1<<5|0x1<<4|0xf<<0)); }
#endif /* __cplusplus */
};
struct PermediaTextureReadMode {
#if BIG_ENDIAN == 1
unsigned32 :7;
unsigned32 PackedData :1;
unsigned32 :6;
unsigned32 FilterMode :1;
unsigned32 Height :4;
unsigned32 Width :4;
unsigned32 :4;
unsigned32 TWrap :2;
unsigned32 SWrap :2;
unsigned32 Enable :1;
#else
unsigned32 Enable :1;
unsigned32 SWrap :2;
unsigned32 TWrap :2;
unsigned32 :4;
unsigned32 Width :4;
unsigned32 Height :4;
unsigned32 FilterMode :1;
unsigned32 :6;
unsigned32 PackedData :1;
unsigned32 :7;
#endif
#ifdef __cplusplus
PermediaTextureReadMode(void) { }
PermediaTextureReadMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
PermediaTextureReadMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
PermediaTextureReadMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
PermediaTextureReadMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<24|0x1<<17|0xf<<13|0xf<<9|0x3<<3|0x3<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct TexelLUTMode {
#if BIG_ENDIAN == 1
unsigned32 :20;
unsigned32 PixelsPerEntry :2;
unsigned32 Offset :8;
unsigned32 DirectIndex :1;
unsigned32 Enable :1;
#else
unsigned32 Enable :1;
unsigned32 DirectIndex :1;
unsigned32 Offset :8;
unsigned32 PixelsPerEntry :2;
unsigned32 :20;
#endif
#ifdef __cplusplus
TexelLUTMode(void) { }
TexelLUTMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
TexelLUTMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
TexelLUTMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
TexelLUTMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x3<<10|0xff<<2|0x1<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct TextureColorMode {
#if BIG_ENDIAN == 1
unsigned32 :20;
unsigned32 ColorLoadMode :2;
unsigned32 BaseFormat :3;
unsigned32 KsDDA :1;
unsigned32 KdDDA :1;
unsigned32 TextureType :1;
unsigned32 ApplicationMode :3;
unsigned32 Enable :1;
#else
unsigned32 Enable :1;
unsigned32 ApplicationMode :3;
unsigned32 TextureType :1;
unsigned32 KdDDA :1;
unsigned32 KsDDA :1;
unsigned32 BaseFormat :3;
unsigned32 ColorLoadMode :2;
unsigned32 :20;
#endif
#ifdef __cplusplus
TextureColorMode(void) { }
TextureColorMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
TextureColorMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
TextureColorMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
TextureColorMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x3<<10|0x7<<7|0x1<<6|0x1<<5|0x1<<4|0x7<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct TextureApplicationMode {
#if BIG_ENDIAN == 1
unsigned32 :8;
unsigned32 MotionCompEnable :1;
unsigned32 EnableKs :1;
unsigned32 EnableKd :1;
unsigned32 AlphaOperation :3;
unsigned32 AlphaInvertI :1;
unsigned32 AlphaI :2;
unsigned32 AlphaB :2;
unsigned32 AlphaA :2;
unsigned32 ColorOperation :3;
unsigned32 ColorInvertI :1;
unsigned32 ColorI :2;
unsigned32 ColorB :2;
unsigned32 ColorA :2;
unsigned32 Enable :1;
#else
unsigned32 Enable :1;
unsigned32 ColorA :2;
unsigned32 ColorB :2;
unsigned32 ColorI :2;
unsigned32 ColorInvertI :1;
unsigned32 ColorOperation :3;
unsigned32 AlphaA :2;
unsigned32 AlphaB :2;
unsigned32 AlphaI :2;
unsigned32 AlphaInvertI :1;
unsigned32 AlphaOperation :3;
unsigned32 EnableKd :1;
unsigned32 EnableKs :1;
unsigned32 MotionCompEnable :1;
unsigned32 :8;
#endif
#ifdef __cplusplus
TextureApplicationMode(void) { }
TextureApplicationMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
TextureApplicationMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
TextureApplicationMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
TextureApplicationMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<23|0x1<<22|0x1<<21|0x7<<18|0x1<<17|0x3<<15|0x3<<13|0x3<<11|0x7<<8|0x1<<7|0x3<<5|0x3<<3|0x3<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct FogMode {
#if BIG_ENDIAN == 1
unsigned32 :22;
unsigned32 InvertFI :1;
unsigned32 ZShift :5;
unsigned32 UseZ :1;
unsigned32 Table :1;
unsigned32 ColorMode :1;
unsigned32 Enable :1;
#else
unsigned32 Enable :1;
unsigned32 ColorMode :1;
unsigned32 Table :1;
unsigned32 UseZ :1;
unsigned32 ZShift :5;
unsigned32 InvertFI :1;
unsigned32 :22;
#endif
#ifdef __cplusplus
FogMode(void) { }
FogMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
FogMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
FogMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
FogMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<9|0x1f<<4|0x1<<3|0x1<<2|0x1<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct ColorDDAMode {
#if BIG_ENDIAN == 1
unsigned32 :30;
unsigned32 Shading :1;
unsigned32 Enable :1;
#else
unsigned32 Enable :1;
unsigned32 Shading :1;
unsigned32 :30;
#endif
#ifdef __cplusplus
ColorDDAMode(void) { }
ColorDDAMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
ColorDDAMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
ColorDDAMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
ColorDDAMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct Color {
#if BIG_ENDIAN == 1
unsigned32 Alpha :8;
unsigned32 Blue :8;
unsigned32 Green :8;
unsigned32 Red :8;
#else
unsigned32 Red :8;
unsigned32 Green :8;
unsigned32 Blue :8;
unsigned32 Alpha :8;
#endif
#ifdef __cplusplus
Color(void) { }
Color(const unsigned32 i) { *((unsigned32 *)this) = i; }
Color& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
Color& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
Color& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0xff<<24|0xff<<16|0xff<<8|0xff<<0)); }
#endif /* __cplusplus */
};
struct AlphaTestMode {
#if BIG_ENDIAN == 1
unsigned32 :20;
unsigned32 Reference :8;
unsigned32 Compare :3;
unsigned32 Enable :1;
#else
unsigned32 Enable :1;
unsigned32 Compare :3;
unsigned32 Reference :8;
unsigned32 :20;
#endif
#ifdef __cplusplus
AlphaTestMode(void) { }
AlphaTestMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
AlphaTestMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
AlphaTestMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
AlphaTestMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0xff<<4|0x7<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct AntialiasMode {
#if BIG_ENDIAN == 1
unsigned32 :29;
unsigned32 ScaleColor :1;
unsigned32 ColorMode :1;
unsigned32 Enable :1;
#else
unsigned32 Enable :1;
unsigned32 ColorMode :1;
unsigned32 ScaleColor :1;
unsigned32 :29;
#endif
#ifdef __cplusplus
AntialiasMode(void) { }
AntialiasMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
AntialiasMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
AntialiasMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
AntialiasMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<2|0x1<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct GlintAlphaBlendMode {
#if BIG_ENDIAN == 1
unsigned32 :14;
unsigned32 AlphaConversion :1;
unsigned32 ColorConversion :1;
unsigned32 AlphaDestination :1;
unsigned32 AlphaType :1;
unsigned32 ColorOrder :1;
unsigned32 NoAlphaBuffer :1;
unsigned32 ColorFormat :4;
unsigned32 DestinationBlend :3;
unsigned32 SourceBlend :4;
unsigned32 Enable :1;
#else
unsigned32 Enable :1;
unsigned32 SourceBlend :4;
unsigned32 DestinationBlend :3;
unsigned32 ColorFormat :4;
unsigned32 NoAlphaBuffer :1;
unsigned32 ColorOrder :1;
unsigned32 AlphaType :1;
unsigned32 AlphaDestination :1;
unsigned32 ColorConversion :1;
unsigned32 AlphaConversion :1;
unsigned32 :14;
#endif
#ifdef __cplusplus
GlintAlphaBlendMode(void) { }
GlintAlphaBlendMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
GlintAlphaBlendMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
GlintAlphaBlendMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
GlintAlphaBlendMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<17|0x1<<16|0x1<<15|0x1<<14|0x1<<13|0x1<<12|0xf<<8|0x7<<5|0xf<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct PermediaAlphaBlendMode {
#if BIG_ENDIAN == 1
unsigned32 :13;
unsigned32 AlphaConversion :1;
unsigned32 ColorConversion :1;
unsigned32 ColorFormatExtension :1;
unsigned32 :1;
unsigned32 BlendType :1;
unsigned32 ColorOrder :1;
unsigned32 NoAlphaBuffer :1;
unsigned32 ColorFormat :4;
unsigned32 Operation :7;
unsigned32 Enable :1;
#else
unsigned32 Enable :1;
unsigned32 Operation :7;
unsigned32 ColorFormat :4;
unsigned32 NoAlphaBuffer :1;
unsigned32 ColorOrder :1;
unsigned32 BlendType :1;
unsigned32 :1;
unsigned32 ColorFormatExtension :1;
unsigned32 ColorConversion :1;
unsigned32 AlphaConversion :1;
unsigned32 :13;
#endif
#ifdef __cplusplus
PermediaAlphaBlendMode(void) { }
PermediaAlphaBlendMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
PermediaAlphaBlendMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
PermediaAlphaBlendMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
PermediaAlphaBlendMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<18|0x1<<17|0x1<<16|0x1<<14|0x1<<13|0x1<<12|0xf<<8|0x7f<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct DitherMode {
#if BIG_ENDIAN == 1
unsigned32 :15;
unsigned32 RoundingMode :2;
unsigned32 AlphaDither :1;
unsigned32 :3;
unsigned32 ColorOrder :1;
unsigned32 Yoffset :2;
unsigned32 Xoffset :2;
unsigned32 ColorFormat :4;
unsigned32 DitherEnable :1;
unsigned32 Enable :1;
#else
unsigned32 Enable :1;
unsigned32 DitherEnable :1;
unsigned32 ColorFormat :4;
unsigned32 Xoffset :2;
unsigned32 Yoffset :2;
unsigned32 ColorOrder :1;
unsigned32 :3;
unsigned32 AlphaDither :1;
unsigned32 RoundingMode :2;
unsigned32 :15;
#endif
#ifdef __cplusplus
DitherMode(void) { }
DitherMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
DitherMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
DitherMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
DitherMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x3<<15|0x1<<14|0x1<<10|0x3<<8|0x3<<6|0xf<<2|0x1<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct LogicalOpMode {
#if BIG_ENDIAN == 1
unsigned32 :19;
unsigned32 OpaqueSpan :1;
unsigned32 UseConstantSource :1;
unsigned32 BackgroundLogicalOp :4;
unsigned32 BackgroundEnable :1;
unsigned32 UseConstantFBWriteData :1;
unsigned32 LogicOp :4;
unsigned32 Enable :1;
#else
unsigned32 Enable :1;
unsigned32 LogicOp :4;
unsigned32 UseConstantFBWriteData :1;
unsigned32 BackgroundEnable :1;
unsigned32 BackgroundLogicalOp :4;
unsigned32 UseConstantSource :1;
unsigned32 OpaqueSpan :1;
unsigned32 :19;
#endif
#ifdef __cplusplus
LogicalOpMode(void) { }
LogicalOpMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
LogicalOpMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
LogicalOpMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
LogicalOpMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<12|0x1<<11|0xf<<7|0x1<<6|0x1<<5|0xf<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct RouterMode {
#if BIG_ENDIAN == 1
unsigned32 :31;
unsigned32 Order :1;
#else
unsigned32 Order :1;
unsigned32 :31;
#endif
#ifdef __cplusplus
RouterMode(void) { }
RouterMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
RouterMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
RouterMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
RouterMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<0)); }
#endif /* __cplusplus */
};
struct LBReadMode {
#if BIG_ENDIAN == 1
unsigned32 :4;
unsigned32 PP3 :3;
unsigned32 PatchCode :3;
unsigned32 ScanlineInterval :2;
unsigned32 Patch :1;
unsigned32 WindowOrigin :1;
unsigned32 DataType :2;
unsigned32 :5;
unsigned32 ReadDestinationEnable :1;
unsigned32 ReadSourceEnable :1;
unsigned32 PP2 :3;
unsigned32 PP1 :3;
unsigned32 PP0 :3;
#else
unsigned32 PP0 :3;
unsigned32 PP1 :3;
unsigned32 PP2 :3;
unsigned32 ReadSourceEnable :1;
unsigned32 ReadDestinationEnable :1;
unsigned32 :5;
unsigned32 DataType :2;
unsigned32 WindowOrigin :1;
unsigned32 Patch :1;
unsigned32 ScanlineInterval :2;
unsigned32 PatchCode :3;
unsigned32 PP3 :3;
unsigned32 :4;
#endif
#ifdef __cplusplus
LBReadMode(void) { }
LBReadMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
LBReadMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
LBReadMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
LBReadMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x7<<25|0x7<<22|0x3<<20|0x1<<19|0x1<<18|0x3<<16|0x1<<10|0x1<<9|0x7<<6|0x7<<3|0x7<<0)); }
#endif /* __cplusplus */
};
struct GlintPermediaLBReadFormat {
#if BIG_ENDIAN == 1
unsigned32 :14;
unsigned32 Compact32 :1;
unsigned32 GIDPosition :4;
unsigned32 GIDWidth :1;
unsigned32 FrameCountPosition :3;
unsigned32 FrameCountWidth :2;
unsigned32 StencilPosition :3;
unsigned32 StencilWidth :2;
unsigned32 DepthWidth :2;
#else
unsigned32 DepthWidth :2;
unsigned32 StencilWidth :2;
unsigned32 StencilPosition :3;
unsigned32 FrameCountWidth :2;
unsigned32 FrameCountPosition :3;
unsigned32 GIDWidth :1;
unsigned32 GIDPosition :4;
unsigned32 Compact32 :1;
unsigned32 :14;
#endif
#ifdef __cplusplus
GlintPermediaLBReadFormat(void) { }
GlintPermediaLBReadFormat(const unsigned32 i) { *((unsigned32 *)this) = i; }
GlintPermediaLBReadFormat& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
GlintPermediaLBReadFormat& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
GlintPermediaLBReadFormat& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<17|0xf<<13|0x1<<12|0x7<<9|0x3<<7|0x7<<4|0x3<<2|0x3<<0)); }
#endif /* __cplusplus */
};
struct LBReadFormat {
#if BIG_ENDIAN == 1
unsigned32 :4;
unsigned32 GIDPosition :5;
unsigned32 GIDWidth :3;
unsigned32 FCPPosition :5;
unsigned32 FCPWidth :4;
unsigned32 StencilPosition :5;
unsigned32 StencilWidth :4;
unsigned32 DepthWidth :2;
#else
unsigned32 DepthWidth :2;
unsigned32 StencilWidth :4;
unsigned32 StencilPosition :5;
unsigned32 FCPWidth :4;
unsigned32 FCPPosition :5;
unsigned32 GIDWidth :3;
unsigned32 GIDPosition :5;
unsigned32 :4;
#endif
#ifdef __cplusplus
LBReadFormat(void) { }
LBReadFormat(const unsigned32 i) { *((unsigned32 *)this) = i; }
LBReadFormat& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
LBReadFormat& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
LBReadFormat& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1f<<23|0x7<<20|0x1f<<15|0xf<<11|0x1f<<6|0xf<<2|0x3<<0)); }
#endif /* __cplusplus */
};
struct LBSourceOffset {
#if BIG_ENDIAN == 1
unsigned32 :8;
unsigned32 Offset :24;
#else
unsigned32 Offset :24;
unsigned32 :8;
#endif
#ifdef __cplusplus
LBSourceOffset(void) { }
LBSourceOffset(const unsigned32 i) { *((unsigned32 *)this) = i; }
LBSourceOffset& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
LBSourceOffset& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
LBSourceOffset& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0xffffff<<0)); }
#endif /* __cplusplus */
};
struct LBWindowBase {
#if BIG_ENDIAN == 1
unsigned32 :8;
unsigned32 Base :24;
#else
unsigned32 Base :24;
unsigned32 :8;
#endif
#ifdef __cplusplus
LBWindowBase(void) { }
LBWindowBase(const unsigned32 i) { *((unsigned32 *)this) = i; }
LBWindowBase& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
LBWindowBase& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
LBWindowBase& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0xffffff<<0)); }
#endif /* __cplusplus */
};
struct P2MXLBWriteMode {
#if BIG_ENDIAN == 1
unsigned32 :29;
unsigned32 UpLoadData :2;
unsigned32 WriteEnable :1;
#else
unsigned32 WriteEnable :1;
unsigned32 UpLoadData :2;
unsigned32 :29;
#endif
#ifdef __cplusplus
P2MXLBWriteMode(void) { }
P2MXLBWriteMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
P2MXLBWriteMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
P2MXLBWriteMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
P2MXLBWriteMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x3<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct LBWriteMode {
#if BIG_ENDIAN == 1
unsigned32 Operation :3;
unsigned32 ByteEnables :5;
unsigned32 Width :12;
unsigned32 Packed16 :1;
unsigned32 Origin :1;
unsigned32 Layout :1;
unsigned32 StripeHeight :3;
unsigned32 StripePitch :3;
unsigned32 :2;
unsigned32 WriteEnable :1;
#else
unsigned32 WriteEnable :1;
unsigned32 :2;
unsigned32 StripePitch :3;
unsigned32 StripeHeight :3;
unsigned32 Layout :1;
unsigned32 Origin :1;
unsigned32 Packed16 :1;
unsigned32 Width :12;
unsigned32 ByteEnables :5;
unsigned32 Operation :3;
#endif
#ifdef __cplusplus
LBWriteMode(void) { }
LBWriteMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
LBWriteMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
LBWriteMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
LBWriteMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x7<<29|0x1f<<24|0xfff<<12|0x1<<11|0x1<<10|0x1<<9|0x7<<6|0x7<<3|0x1<<0)); }
#endif /* __cplusplus */
};
struct LBWriteFormat {
#if BIG_ENDIAN == 1
unsigned32 :4;
unsigned32 GIDPosition :5;
unsigned32 GIDWidth :3;
unsigned32 FCPPosition :5;
unsigned32 FCPWidth :4;
unsigned32 StencilPosition :5;
unsigned32 StencilWidth :4;
unsigned32 DepthWidth :2;
#else
unsigned32 DepthWidth :2;
unsigned32 StencilWidth :4;
unsigned32 StencilPosition :5;
unsigned32 FCPWidth :4;
unsigned32 FCPPosition :5;
unsigned32 GIDWidth :3;
unsigned32 GIDPosition :5;
unsigned32 :4;
#endif
#ifdef __cplusplus
LBWriteFormat(void) { }
LBWriteFormat(const unsigned32 i) { *((unsigned32 *)this) = i; }
LBWriteFormat& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
LBWriteFormat& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
LBWriteFormat& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1f<<23|0x7<<20|0x1f<<15|0xf<<11|0x1f<<6|0xf<<2|0x3<<0)); }
#endif /* __cplusplus */
};
struct HostInState2 {
#if BIG_ENDIAN == 1
unsigned32 :27;
unsigned32 TagCount :5;
#else
unsigned32 TagCount :5;
unsigned32 :27;
#endif
#ifdef __cplusplus
HostInState2(void) { }
HostInState2(const unsigned32 i) { *((unsigned32 *)this) = i; }
HostInState2& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
HostInState2& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
HostInState2& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1f<<0)); }
#endif /* __cplusplus */
};
struct VertexRename {
#if BIG_ENDIAN == 1
unsigned32 :29;
unsigned32 Rename :3;
#else
unsigned32 Rename :3;
unsigned32 :29;
#endif
#ifdef __cplusplus
VertexRename(void) { }
VertexRename(const unsigned32 i) { *((unsigned32 *)this) = i; }
VertexRename& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
VertexRename& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
VertexRename& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x7<<0)); }
#endif /* __cplusplus */
};
struct Window {
#if BIG_ENDIAN == 1
unsigned32 :12;
unsigned32 OverrideWriteFiltering :1;
unsigned32 DepthFCP :1;
unsigned32 StencilFCP :1;
unsigned32 FrameCount :8;
unsigned32 GID :4;
unsigned32 LBUpdateSource :1;
unsigned32 ForceLBUpdate :1;
unsigned32 CompareMode :2;
unsigned32 Enable :1;
#else
unsigned32 Enable :1;
unsigned32 CompareMode :2;
unsigned32 ForceLBUpdate :1;
unsigned32 LBUpdateSource :1;
unsigned32 GID :4;
unsigned32 FrameCount :8;
unsigned32 StencilFCP :1;
unsigned32 DepthFCP :1;
unsigned32 OverrideWriteFiltering :1;
unsigned32 :12;
#endif
#ifdef __cplusplus
Window(void) { }
Window(const unsigned32 i) { *((unsigned32 *)this) = i; }
Window& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
Window& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
Window& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<19|0x1<<18|0x1<<17|0xff<<9|0xf<<5|0x1<<4|0x1<<3|0x3<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct StencilMode {
#if BIG_ENDIAN == 1
unsigned32 :13;
unsigned32 StencilWidth :4;
unsigned32 StencilSource :2;
unsigned32 CompareFunction :3;
unsigned32 SFail :3;
unsigned32 DPFail :3;
unsigned32 DPPass :3;
unsigned32 Enable :1;
#else
unsigned32 Enable :1;
unsigned32 DPPass :3;
unsigned32 DPFail :3;
unsigned32 SFail :3;
unsigned32 CompareFunction :3;
unsigned32 StencilSource :2;
unsigned32 StencilWidth :4;
unsigned32 :13;
#endif
#ifdef __cplusplus
StencilMode(void) { }
StencilMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
StencilMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
StencilMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
StencilMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0xf<<15|0x3<<13|0x7<<10|0x7<<7|0x7<<4|0x7<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct StencilData {
#if BIG_ENDIAN == 1
unsigned32 FCStencil :8;
unsigned32 StencilWriteMask :8;
unsigned32 CompareMask :8;
unsigned32 ReferenceValue :8;
#else
unsigned32 ReferenceValue :8;
unsigned32 CompareMask :8;
unsigned32 StencilWriteMask :8;
unsigned32 FCStencil :8;
#endif
#ifdef __cplusplus
StencilData(void) { }
StencilData(const unsigned32 i) { *((unsigned32 *)this) = i; }
StencilData& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
StencilData& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
StencilData& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0xff<<24|0xff<<16|0xff<<8|0xff<<0)); }
#endif /* __cplusplus */
};
struct Stencil {
#if BIG_ENDIAN == 1
unsigned32 :24;
unsigned32 StencilValue :8;
#else
unsigned32 StencilValue :8;
unsigned32 :24;
#endif
#ifdef __cplusplus
Stencil(void) { }
Stencil(const unsigned32 i) { *((unsigned32 *)this) = i; }
Stencil& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
Stencil& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
Stencil& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0xff<<0)); }
#endif /* __cplusplus */
};
struct DepthMode {
#if BIG_ENDIAN == 1
unsigned32 :17;
unsigned32 ExponentWidth :2;
unsigned32 ExponentScale :2;
unsigned32 NonLinearZ :1;
unsigned32 Normalise :1;
unsigned32 Width :2;
unsigned32 CompareMode :3;
unsigned32 NewDepthSource :2;
unsigned32 WriteMask :1;
unsigned32 Enable :1;
#else
unsigned32 Enable :1;
unsigned32 WriteMask :1;
unsigned32 NewDepthSource :2;
unsigned32 CompareMode :3;
unsigned32 Width :2;
unsigned32 Normalise :1;
unsigned32 NonLinearZ :1;
unsigned32 ExponentScale :2;
unsigned32 ExponentWidth :2;
unsigned32 :17;
#endif
#ifdef __cplusplus
DepthMode(void) { }
DepthMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
DepthMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
DepthMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
DepthMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x3<<13|0x3<<11|0x1<<10|0x1<<9|0x3<<7|0x7<<4|0x3<<2|0x1<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct GlintFBReadMode {
#if BIG_ENDIAN == 1
unsigned32 :2;
unsigned32 SourceAddressFunction :2;
unsigned32 PP3 :3;
unsigned32 ScanlineInterval :2;
unsigned32 :6;
unsigned32 WindowOrigin :1;
unsigned32 DataType :1;
unsigned32 :4;
unsigned32 ReadDestinationEnable :1;
unsigned32 ReadSourceEnable :1;
unsigned32 PP2 :3;
unsigned32 PP1 :3;
unsigned32 PP0 :3;
#else
unsigned32 PP0 :3;
unsigned32 PP1 :3;
unsigned32 PP2 :3;
unsigned32 ReadSourceEnable :1;
unsigned32 ReadDestinationEnable :1;
unsigned32 :4;
unsigned32 DataType :1;
unsigned32 WindowOrigin :1;
unsigned32 :6;
unsigned32 ScanlineInterval :2;
unsigned32 PP3 :3;
unsigned32 SourceAddressFunction :2;
unsigned32 :2;
#endif
#ifdef __cplusplus
GlintFBReadMode(void) { }
GlintFBReadMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
GlintFBReadMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
GlintFBReadMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
GlintFBReadMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x3<<28|0x7<<25|0x3<<23|0x1<<16|0x1<<15|0x1<<10|0x1<<9|0x7<<6|0x7<<3|0x7<<0)); }
#endif /* __cplusplus */
};
struct PermediaFBReadMode {
#if BIG_ENDIAN == 1
unsigned32 :5;
unsigned32 PatchMode :2;
unsigned32 :2;
unsigned32 RelativeOffset :3;
unsigned32 PackedData :1;
unsigned32 PatchEnable :1;
unsigned32 :1;
unsigned32 WindowOrigin :1;
unsigned32 DataType :1;
unsigned32 :4;
unsigned32 ReadDestinationEnable :1;
unsigned32 ReadSourceEnable :1;
unsigned32 PP2 :3;
unsigned32 PP1 :3;
unsigned32 PP0 :3;
#else
unsigned32 PP0 :3;
unsigned32 PP1 :3;
unsigned32 PP2 :3;
unsigned32 ReadSourceEnable :1;
unsigned32 ReadDestinationEnable :1;
unsigned32 :4;
unsigned32 DataType :1;
unsigned32 WindowOrigin :1;
unsigned32 :1;
unsigned32 PatchEnable :1;
unsigned32 PackedData :1;
unsigned32 RelativeOffset :3;
unsigned32 :2;
unsigned32 PatchMode :2;
unsigned32 :5;
#endif
#ifdef __cplusplus
PermediaFBReadMode(void) { }
PermediaFBReadMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
PermediaFBReadMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
PermediaFBReadMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
PermediaFBReadMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x3<<25|0x7<<20|0x1<<19|0x1<<18|0x1<<16|0x1<<15|0x1<<10|0x1<<9|0x7<<6|0x7<<3|0x7<<0)); }
#endif /* __cplusplus */
};
struct FBSourceOffset {
#if BIG_ENDIAN == 1
unsigned32 :8;
unsigned32 Offset :24;
#else
unsigned32 Offset :24;
unsigned32 :8;
#endif
#ifdef __cplusplus
FBSourceOffset(void) { }
FBSourceOffset(const unsigned32 i) { *((unsigned32 *)this) = i; }
FBSourceOffset& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
FBSourceOffset& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
FBSourceOffset& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0xffffff<<0)); }
#endif /* __cplusplus */
};
struct FBPixelOffset {
#if BIG_ENDIAN == 1
unsigned32 :8;
unsigned32 Offset :24;
#else
unsigned32 Offset :24;
unsigned32 :8;
#endif
#ifdef __cplusplus
FBPixelOffset(void) { }
FBPixelOffset(const unsigned32 i) { *((unsigned32 *)this) = i; }
FBPixelOffset& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
FBPixelOffset& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
FBPixelOffset& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0xffffff<<0)); }
#endif /* __cplusplus */
};
struct FBWindowBase {
#if BIG_ENDIAN == 1
unsigned32 :8;
unsigned32 Address :24;
#else
unsigned32 Address :24;
unsigned32 :8;
#endif
#ifdef __cplusplus
FBWindowBase(void) { }
FBWindowBase(const unsigned32 i) { *((unsigned32 *)this) = i; }
FBWindowBase& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
FBWindowBase& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
FBWindowBase& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0xffffff<<0)); }
#endif /* __cplusplus */
};
struct FBWriteMode {
#if BIG_ENDIAN == 1
unsigned32 :4;
unsigned32 Origin3 :1;
unsigned32 Origin2 :1;
unsigned32 Origin1 :1;
unsigned32 Origin0 :1;
unsigned32 Layout3 :2;
unsigned32 Layout2 :2;
unsigned32 Layout1 :2;
unsigned32 Layout0 :2;
unsigned32 Enable3 :1;
unsigned32 Enable2 :1;
unsigned32 Enable1 :1;
unsigned32 Enable0 :1;
unsigned32 StripeHeight :3;
unsigned32 StripePitch :3;
unsigned32 OpaqueSpan :1;
unsigned32 Replicate :1;
unsigned32 UpLoadData :1;
unsigned32 :2;
unsigned32 WriteEnable :1;
#else
unsigned32 WriteEnable :1;
unsigned32 :2;
unsigned32 UpLoadData :1;
unsigned32 Replicate :1;
unsigned32 OpaqueSpan :1;
unsigned32 StripePitch :3;
unsigned32 StripeHeight :3;
unsigned32 Enable0 :1;
unsigned32 Enable1 :1;
unsigned32 Enable2 :1;
unsigned32 Enable3 :1;
unsigned32 Layout0 :2;
unsigned32 Layout1 :2;
unsigned32 Layout2 :2;
unsigned32 Layout3 :2;
unsigned32 Origin0 :1;
unsigned32 Origin1 :1;
unsigned32 Origin2 :1;
unsigned32 Origin3 :1;
unsigned32 :4;
#endif
#ifdef __cplusplus
FBWriteMode(void) { }
FBWriteMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
FBWriteMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
FBWriteMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
FBWriteMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<27|0x1<<26|0x1<<25|0x1<<24|0x3<<22|0x3<<20|0x3<<18|0x3<<16|0x1<<15|0x1<<14|0x1<<13|0x1<<12|0x7<<9|0x7<<6|0x1<<5|0x1<<4|0x1<<3|0x1<<0)); }
#endif /* __cplusplus */
};
struct FBReadPixel {
#if BIG_ENDIAN == 1
unsigned32 :29;
unsigned32 PixelSize :3;
#else
unsigned32 PixelSize :3;
unsigned32 :29;
#endif
#ifdef __cplusplus
FBReadPixel(void) { }
FBReadPixel(const unsigned32 i) { *((unsigned32 *)this) = i; }
FBReadPixel& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
FBReadPixel& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
FBReadPixel& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x7<<0)); }
#endif /* __cplusplus */
};
struct PatternRAMMode {
#if BIG_ENDIAN == 1
unsigned32 :18;
unsigned32 XMask :5;
unsigned32 YShift :3;
unsigned32 YMask :5;
unsigned32 Enable :1;
#else
unsigned32 Enable :1;
unsigned32 YMask :5;
unsigned32 YShift :3;
unsigned32 XMask :5;
unsigned32 :18;
#endif
#ifdef __cplusplus
PatternRAMMode(void) { }
PatternRAMMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
PatternRAMMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
PatternRAMMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
PatternRAMMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1f<<9|0x7<<6|0x1f<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct FilterMode {
#if BIG_ENDIAN == 1
unsigned32 :10;
unsigned32 ExternalDMAController :1;
unsigned32 RunLengthEncodeData :1;
unsigned32 Context :2;
unsigned32 ByteSwap :2;
unsigned32 Remainder :2;
unsigned32 Statistics :2;
unsigned32 Sync :2;
unsigned32 FBColor :2;
unsigned32 Stencil :2;
unsigned32 LBDepth :2;
unsigned32 Passive :2;
unsigned32 Active :2;
#else
unsigned32 Active :2;
unsigned32 Passive :2;
unsigned32 LBDepth :2;
unsigned32 Stencil :2;
unsigned32 FBColor :2;
unsigned32 Sync :2;
unsigned32 Statistics :2;
unsigned32 Remainder :2;
unsigned32 ByteSwap :2;
unsigned32 Context :2;
unsigned32 RunLengthEncodeData :1;
unsigned32 ExternalDMAController :1;
unsigned32 :10;
#endif
#ifdef __cplusplus
FilterMode(void) { }
FilterMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
FilterMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
FilterMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
FilterMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<21|0x1<<20|0x3<<18|0x3<<16|0x3<<14|0x3<<12|0x3<<10|0x3<<8|0x3<<6|0x3<<4|0x3<<2|0x3<<0)); }
#endif /* __cplusplus */
};
struct StatisticMode {
#if BIG_ENDIAN == 1
unsigned32 :26;
unsigned32 Spans :1;
unsigned32 CompareFunction :1;
unsigned32 PassiveSteps :1;
unsigned32 ActiveSteps :1;
unsigned32 StatsType :1;
unsigned32 Enable :1;
#else
unsigned32 Enable :1;
unsigned32 StatsType :1;
unsigned32 ActiveSteps :1;
unsigned32 PassiveSteps :1;
unsigned32 CompareFunction :1;
unsigned32 Spans :1;
unsigned32 :26;
#endif
#ifdef __cplusplus
StatisticMode(void) { }
StatisticMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
StatisticMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
StatisticMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
StatisticMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<5|0x1<<4|0x1<<3|0x1<<2|0x1<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct PickResult {
#if BIG_ENDIAN == 1
unsigned32 :31;
unsigned32 Result :1;
#else
unsigned32 Result :1;
unsigned32 :31;
#endif
#ifdef __cplusplus
PickResult(void) { }
PickResult(const unsigned32 i) { *((unsigned32 *)this) = i; }
PickResult& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
PickResult& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
PickResult& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<0)); }
#endif /* __cplusplus */
};
struct ContextMask {
#if BIG_ENDIAN == 1
unsigned32 :12;
unsigned32 MatrixStack :1;
unsigned32 PipeControl :1;
unsigned32 MultiTexture :1;
unsigned32 TextureManagementState :1;
unsigned32 LUT :1;
unsigned32 FogTable :1;
unsigned32 Ownership :1;
unsigned32 DDA :1;
unsigned32 RasterizerState :1;
unsigned32 Select :1;
unsigned32 DMA :1;
unsigned32 TwoD :1;
unsigned32 CurrentState :1;
unsigned32 RasterPos :1;
unsigned32 Lights8_15 :1;
unsigned32 Lights0_7 :1;
unsigned32 Material :1;
unsigned32 Matrices :1;
unsigned32 Geometry :1;
unsigned32 GeneralControl :1;
#else
unsigned32 GeneralControl :1;
unsigned32 Geometry :1;
unsigned32 Matrices :1;
unsigned32 Material :1;
unsigned32 Lights0_7 :1;
unsigned32 Lights8_15 :1;
unsigned32 RasterPos :1;
unsigned32 CurrentState :1;
unsigned32 TwoD :1;
unsigned32 DMA :1;
unsigned32 Select :1;
unsigned32 RasterizerState :1;
unsigned32 DDA :1;
unsigned32 Ownership :1;
unsigned32 FogTable :1;
unsigned32 LUT :1;
unsigned32 TextureManagementState :1;
unsigned32 MultiTexture :1;
unsigned32 PipeControl :1;
unsigned32 MatrixStack :1;
unsigned32 :12;
#endif
#ifdef __cplusplus
ContextMask(void) { }
ContextMask(const unsigned32 i) { *((unsigned32 *)this) = i; }
ContextMask& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
ContextMask& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
ContextMask& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<19|0x1<<18|0x1<<17|0x1<<16|0x1<<15|0x1<<14|0x1<<13|0x1<<12|0x1<<11|0x1<<10|0x1<<9|0x1<<8|0x1<<7|0x1<<6|0x1<<5|0x1<<4|0x1<<3|0x1<<2|0x1<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct YUVMode {
#if BIG_ENDIAN == 1
unsigned32 :26;
unsigned32 TexelDisableUpdate :1;
unsigned32 RejectTexel :1;
unsigned32 TestData :1;
unsigned32 TestMode :2;
unsigned32 Enable :1;
#else
unsigned32 Enable :1;
unsigned32 TestMode :2;
unsigned32 TestData :1;
unsigned32 RejectTexel :1;
unsigned32 TexelDisableUpdate :1;
unsigned32 :26;
#endif
#ifdef __cplusplus
YUVMode(void) { }
YUVMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
YUVMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
YUVMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
YUVMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<5|0x1<<4|0x1<<3|0x3<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct GlintChromaTestMode {
#if BIG_ENDIAN == 1
unsigned32 :28;
unsigned32 Sense :1;
unsigned32 Source :2;
unsigned32 Enable :1;
#else
unsigned32 Enable :1;
unsigned32 Source :2;
unsigned32 Sense :1;
unsigned32 :28;
#endif
#ifdef __cplusplus
GlintChromaTestMode(void) { }
GlintChromaTestMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
GlintChromaTestMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
GlintChromaTestMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
GlintChromaTestMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<3|0x3<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct ChromaTestMode {
#if BIG_ENDIAN == 1
unsigned32 :25;
unsigned32 FailAction :2;
unsigned32 PassAction :2;
unsigned32 Source :2;
unsigned32 Enable :1;
#else
unsigned32 Enable :1;
unsigned32 Source :2;
unsigned32 PassAction :2;
unsigned32 FailAction :2;
unsigned32 :25;
#endif
#ifdef __cplusplus
ChromaTestMode(void) { }
ChromaTestMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
ChromaTestMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
ChromaTestMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
ChromaTestMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x3<<5|0x3<<3|0x3<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct SelectRecord {
#if BIG_ENDIAN == 1
unsigned32 StackOverflow :1;
unsigned32 StackUnderflow :1;
unsigned32 InvalidOperation :1;
unsigned32 :22;
unsigned32 Count :7;
#else
unsigned32 Count :7;
unsigned32 :22;
unsigned32 InvalidOperation :1;
unsigned32 StackUnderflow :1;
unsigned32 StackOverflow :1;
#endif
#ifdef __cplusplus
SelectRecord(void) { }
SelectRecord(const unsigned32 i) { *((unsigned32 *)this) = i; }
SelectRecord& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
SelectRecord& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
SelectRecord& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<31|0x1<<30|0x1<<29|0x7f<<0)); }
#endif /* __cplusplus */
};
struct GMDeltaMode {
#if BIG_ENDIAN == 1
unsigned32 :6;
unsigned32 EpilogueCount :2;
unsigned32 EpilogueEnable :1;
unsigned32 FlatShadingMethod :1;
unsigned32 ColorSpecular :1;
unsigned32 ColorDiffuse :1;
unsigned32 BiasCoordinates :1;
unsigned32 :3;
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;
#else
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 :3;
unsigned32 BiasCoordinates :1;
unsigned32 ColorDiffuse :1;
unsigned32 ColorSpecular :1;
unsigned32 FlatShadingMethod :1;
unsigned32 EpilogueEnable :1;
unsigned32 EpilogueCount :2;
unsigned32 :6;
#endif
#ifdef __cplusplus
GMDeltaMode(void) { }
GMDeltaMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
GMDeltaMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
GMDeltaMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
GMDeltaMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x3<<24|0x1<<23|0x1<<22|0x1<<21|0x1<<20|0x1<<19|0x3<<14|0x1<<13|0x1<<12|0x1<<11|0x1<<10|0x1<<9|0x1<<8|0x1<<7|0x1<<6|0x1<<5|0x1<<4|0x3<<2|0x3<<0)); }
#endif /* __cplusplus */
};
struct RXDeltaMode {
#if BIG_ENDIAN == 1
unsigned32 :5;
unsigned32 TextureEnable1 :1;
unsigned32 :5;
unsigned32 Texture3DEnable :1;
unsigned32 BiasCoordinates :1;
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 :2;
#else
unsigned32 :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 BiasCoordinates :1;
unsigned32 Texture3DEnable :1;
unsigned32 :5;
unsigned32 TextureEnable1 :1;
unsigned32 :5;
#endif
#ifdef __cplusplus
RXDeltaMode(void) { }
RXDeltaMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
RXDeltaMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
RXDeltaMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
RXDeltaMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<26|0x1<<20|0x1<<19|0x1<<18|0x1<<17|0x1<<16|0x3<<14|0x1<<13|0x1<<12|0x1<<11|0x1<<10|0x1<<9|0x1<<8|0x1<<7|0x1<<6|0x1<<5|0x1<<4|0x3<<2)); }
#endif /* __cplusplus */
};
struct P3DeltaMode {
#if BIG_ENDIAN == 1
unsigned32 :2;
unsigned32 Texture3DEnable :1;
unsigned32 :1;
unsigned32 :1;
unsigned32 TextureEnable1 :1;
unsigned32 :6;
unsigned32 BiasCoordinates :1;
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;
#else
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 BiasCoordinates :1;
unsigned32 :6;
unsigned32 TextureEnable1 :1;
unsigned32 :1;
unsigned32 :1;
unsigned32 Texture3DEnable :1;
unsigned32 :2;
#endif
#ifdef __cplusplus
P3DeltaMode(void) { }
P3DeltaMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
P3DeltaMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
P3DeltaMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
P3DeltaMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<29|0x1<<26|0x1<<19|0x1<<18|0x1<<17|0x1<<16|0x3<<14|0x1<<13|0x1<<12|0x1<<11|0x1<<10|0x1<<9|0x1<<8|0x1<<7|0x1<<6|0x1<<5|0x1<<4|0x3<<2|0x3<<0)); }
#endif /* __cplusplus */
};
struct DeltaDraw {
#if BIG_ENDIAN == 1
unsigned32 :14;
unsigned32 RejectNegativeFace :1;
unsigned32 SubPixelCorrectionEnable :1;
unsigned32 :1;
unsigned32 FogEnable :1;
unsigned32 TextureEnable :1;
unsigned32 :3;
unsigned32 AntialiasingQuality :1;
unsigned32 AntialiasEnable :1;
unsigned32 :8;
#else
unsigned32 :8;
unsigned32 AntialiasEnable :1;
unsigned32 AntialiasingQuality :1;
unsigned32 :3;
unsigned32 TextureEnable :1;
unsigned32 FogEnable :1;
unsigned32 :1;
unsigned32 SubPixelCorrectionEnable :1;
unsigned32 RejectNegativeFace :1;
unsigned32 :14;
#endif
#ifdef __cplusplus
DeltaDraw(void) { }
DeltaDraw(const unsigned32 i) { *((unsigned32 *)this) = i; }
DeltaDraw& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
DeltaDraw& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
DeltaDraw& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<17|0x1<<16|0x1<<14|0x1<<13|0x1<<9|0x1<<8)); }
#endif /* __cplusplus */
};
struct DeltaControl {
#if BIG_ENDIAN == 1
unsigned32 :17;
unsigned32 ShareColor :1;
unsigned32 ShareT :1;
unsigned32 ShareS :1;
unsigned32 Line2D :1;
unsigned32 ShareQ :1;
unsigned32 :3;
unsigned32 UseProvokingVertex :1;
unsigned32 :1;
unsigned32 ForceQ :1;
unsigned32 DrawLineEndPoint :1;
unsigned32 FullScreenAA :1;
unsigned32 :2;
#else
unsigned32 :2;
unsigned32 FullScreenAA :1;
unsigned32 DrawLineEndPoint :1;
unsigned32 ForceQ :1;
unsigned32 :1;
unsigned32 UseProvokingVertex :1;
unsigned32 :3;
unsigned32 ShareQ :1;
unsigned32 Line2D :1;
unsigned32 ShareS :1;
unsigned32 ShareT :1;
unsigned32 ShareColor :1;
unsigned32 :17;
#endif
#ifdef __cplusplus
DeltaControl(void) { }
DeltaControl(const unsigned32 i) { *((unsigned32 *)this) = i; }
DeltaControl& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
DeltaControl& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
DeltaControl& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<14|0x1<<13|0x1<<12|0x1<<11|0x1<<10|0x1<<6|0x1<<4|0x1<<3|0x1<<2)); }
#endif /* __cplusplus */
};
struct DeltaProvokingVertexMask {
#if BIG_ENDIAN == 1
unsigned32 :20;
unsigned32 KdB :1;
unsigned32 KdG :1;
unsigned32 KdR :1;
unsigned32 :1;
unsigned32 KsB :1;
unsigned32 KsG :1;
unsigned32 KsR :1;
unsigned32 :1;
unsigned32 A :1;
unsigned32 B :1;
unsigned32 G :1;
unsigned32 R :1;
#else
unsigned32 R :1;
unsigned32 G :1;
unsigned32 B :1;
unsigned32 A :1;
unsigned32 :1;
unsigned32 KsR :1;
unsigned32 KsG :1;
unsigned32 KsB :1;
unsigned32 :1;
unsigned32 KdR :1;
unsigned32 KdG :1;
unsigned32 KdB :1;
unsigned32 :20;
#endif
#ifdef __cplusplus
DeltaProvokingVertexMask(void) { }
DeltaProvokingVertexMask(const unsigned32 i) { *((unsigned32 *)this) = i; }
DeltaProvokingVertexMask& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
DeltaProvokingVertexMask& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
DeltaProvokingVertexMask& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<11|0x1<<10|0x1<<9|0x1<<7|0x1<<6|0x1<<5|0x1<<3|0x1<<2|0x1<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct ProvokingVertex {
#if BIG_ENDIAN == 1
unsigned32 :30;
unsigned32 Vertex :2;
#else
unsigned32 Vertex :2;
unsigned32 :30;
#endif
#ifdef __cplusplus
ProvokingVertex(void) { }
ProvokingVertex(const unsigned32 i) { *((unsigned32 *)this) = i; }
ProvokingVertex& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
ProvokingVertex& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
ProvokingVertex& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x3<<0)); }
#endif /* __cplusplus */
};
struct EpilogTag {
#if BIG_ENDIAN == 1
unsigned32 :21;
unsigned32 Tag :11;
#else
unsigned32 Tag :11;
unsigned32 :21;
#endif
#ifdef __cplusplus
EpilogTag(void) { }
EpilogTag(const unsigned32 i) { *((unsigned32 *)this) = i; }
EpilogTag& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
EpilogTag& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
EpilogTag& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x7ff<<0)); }
#endif /* __cplusplus */
};
struct PointMode {
#if BIG_ENDIAN == 1
unsigned32 :30;
unsigned32 AntialiasQuality :1;
unsigned32 AntialiasEnable :1;
#else
unsigned32 AntialiasEnable :1;
unsigned32 AntialiasQuality :1;
unsigned32 :30;
#endif
#ifdef __cplusplus
PointMode(void) { }
PointMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
PointMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
PointMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
PointMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct PointSize {
#if BIG_ENDIAN == 1
unsigned32 :24;
unsigned32 Size :8;
#else
unsigned32 Size :8;
unsigned32 :24;
#endif
#ifdef __cplusplus
PointSize(void) { }
PointSize(const unsigned32 i) { *((unsigned32 *)this) = i; }
PointSize& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
PointSize& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
PointSize& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0xff<<0)); }
#endif /* __cplusplus */
};
struct LineMode {
#if BIG_ENDIAN == 1
unsigned32 :3;
unsigned32 AntialiasQuality :1;
unsigned32 AntialiasEnable :1;
unsigned32 Mirror :1;
unsigned32 StippleMask :16;
unsigned32 RepeatFactor :9;
unsigned32 StippleEnable :1;
#else
unsigned32 StippleEnable :1;
unsigned32 RepeatFactor :9;
unsigned32 StippleMask :16;
unsigned32 Mirror :1;
unsigned32 AntialiasEnable :1;
unsigned32 AntialiasQuality :1;
unsigned32 :3;
#endif
#ifdef __cplusplus
LineMode(void) { }
LineMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
LineMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
LineMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
LineMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<28|0x1<<27|0x1<<26|0xffff<<10|0x1ff<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct LineWidth {
#if BIG_ENDIAN == 1
unsigned32 :24;
unsigned32 Width :8;
#else
unsigned32 Width :8;
unsigned32 :24;
#endif
#ifdef __cplusplus
LineWidth(void) { }
LineWidth(const unsigned32 i) { *((unsigned32 *)this) = i; }
LineWidth& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
LineWidth& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
LineWidth& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0xff<<0)); }
#endif /* __cplusplus */
};
struct LineWidthOffset {
#if BIG_ENDIAN == 1
unsigned32 :24;
unsigned32 Offset :8;
#else
unsigned32 Offset :8;
unsigned32 :24;
#endif
#ifdef __cplusplus
LineWidthOffset(void) { }
LineWidthOffset(const unsigned32 i) { *((unsigned32 *)this) = i; }
LineWidthOffset& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
LineWidthOffset& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
LineWidthOffset& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0xff<<0)); }
#endif /* __cplusplus */
};
struct AALineWidth {
#if BIG_ENDIAN == 1
unsigned32 Width :32;
#else
unsigned32 Width :32;
#endif
#ifdef __cplusplus
AALineWidth(void) { }
AALineWidth(const unsigned32 i) { *((unsigned32 *)this) = i; }
AALineWidth& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
AALineWidth& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
AALineWidth& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0xffffffff<<0)); }
#endif /* __cplusplus */
};
struct TriangleMode {
#if BIG_ENDIAN == 1
unsigned32 :29;
unsigned32 UseTrianglePacketInterface :1;
unsigned32 AntialiasQuality :1;
unsigned32 AntialiasEnable :1;
#else
unsigned32 AntialiasEnable :1;
unsigned32 AntialiasQuality :1;
unsigned32 UseTrianglePacketInterface :1;
unsigned32 :29;
#endif
#ifdef __cplusplus
TriangleMode(void) { }
TriangleMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
TriangleMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
TriangleMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
TriangleMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<2|0x1<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct Rectangle2DMode {
#if BIG_ENDIAN == 1
unsigned32 VerticalDirection :1;
unsigned32 HorizontalDirection :1;
unsigned32 SpanOperation :1;
unsigned32 FogEnable :1;
unsigned32 TextureEnable :1;
unsigned32 SyncOnHostData :1;
unsigned32 SyncOnBitmask :1;
unsigned32 AreaStippleEnable :1;
unsigned32 Height :12;
unsigned32 Width :12;
#else
unsigned32 Width :12;
unsigned32 Height :12;
unsigned32 AreaStippleEnable :1;
unsigned32 SyncOnBitmask :1;
unsigned32 SyncOnHostData :1;
unsigned32 TextureEnable :1;
unsigned32 FogEnable :1;
unsigned32 SpanOperation :1;
unsigned32 HorizontalDirection :1;
unsigned32 VerticalDirection :1;
#endif
#ifdef __cplusplus
Rectangle2DMode(void) { }
Rectangle2DMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
Rectangle2DMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
Rectangle2DMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
Rectangle2DMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<31|0x1<<30|0x1<<29|0x1<<28|0x1<<27|0x1<<26|0x1<<25|0x1<<24|0xfff<<12|0xfff<<0)); }
#endif /* __cplusplus */
};
struct Rectangle2DControl {
#if BIG_ENDIAN == 1
unsigned32 :31;
unsigned32 WindowClipping :1;
#else
unsigned32 WindowClipping :1;
unsigned32 :31;
#endif
#ifdef __cplusplus
Rectangle2DControl(void) { }
Rectangle2DControl(const unsigned32 i) { *((unsigned32 *)this) = i; }
Rectangle2DControl& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
Rectangle2DControl& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
Rectangle2DControl& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<0)); }
#endif /* __cplusplus */
};
struct VertexMachineMode {
#if BIG_ENDIAN == 1
unsigned32 :29;
unsigned32 D3DProvokingVertex :1;
unsigned32 ObjectIDPerPrimitive :1;
unsigned32 ObjectTagEnable :1;
#else
unsigned32 ObjectTagEnable :1;
unsigned32 ObjectIDPerPrimitive :1;
unsigned32 D3DProvokingVertex :1;
unsigned32 :29;
#endif
#ifdef __cplusplus
VertexMachineMode(void) { }
VertexMachineMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
VertexMachineMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
VertexMachineMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
VertexMachineMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<2|0x1<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct TransformMode {
#if BIG_ENDIAN == 1
unsigned32 :14;
unsigned32 BlendVertex :1;
unsigned32 TexGenQ :1;
unsigned32 TexGenR :1;
unsigned32 TexGenT :1;
unsigned32 TexGenS :1;
unsigned32 TexGenModeQ :2;
unsigned32 TexGenModeR :2;
unsigned32 TexGenModeT :2;
unsigned32 TexGenModeS :2;
unsigned32 TransformTexture :1;
unsigned32 TransformFaceNormal :1;
unsigned32 TransformNormal :1;
unsigned32 UseModelViewProjectionMatrix :1;
unsigned32 UseModelViewMatrix :1;
#else
unsigned32 UseModelViewMatrix :1;
unsigned32 UseModelViewProjectionMatrix :1;
unsigned32 TransformNormal :1;
unsigned32 TransformFaceNormal :1;
unsigned32 TransformTexture :1;
unsigned32 TexGenModeS :2;
unsigned32 TexGenModeT :2;
unsigned32 TexGenModeR :2;
unsigned32 TexGenModeQ :2;
unsigned32 TexGenS :1;
unsigned32 TexGenT :1;
unsigned32 TexGenR :1;
unsigned32 TexGenQ :1;
unsigned32 BlendVertex :1;
unsigned32 :14;
#endif
#ifdef __cplusplus
TransformMode(void) { }
TransformMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
TransformMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
TransformMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
TransformMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<17|0x1<<16|0x1<<15|0x1<<14|0x1<<13|0x3<<11|0x3<<9|0x3<<7|0x3<<5|0x1<<4|0x1<<3|0x1<<2|0x1<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct GeometryMode {
#if BIG_ENDIAN == 1
unsigned32 InvertFaceNormalCullDirection :1;
unsigned32 PolygonOffsetFill :1;
unsigned32 PolygonOffsetLine :1;
unsigned32 PolygonOffsetPoint :1;
unsigned32 UserClipMask :6;
unsigned32 FlatShading :1;
unsigned32 AutoGenerateFaceNormal :1;
unsigned32 CullUsingFaceNormal :1;
unsigned32 FeedbackType :3;
unsigned32 RenderMode :2;
unsigned32 ClipSmallTriangles :1;
unsigned32 ClipShortLines :1;
unsigned32 PolygonCullFace :2;
unsigned32 PolygonCull :1;
unsigned32 FrontFaceDirection :1;
unsigned32 BackPolyMode :2;
unsigned32 FrontPolyMode :2;
unsigned32 FogFunction :2;
unsigned32 FogEnable :1;
unsigned32 TextureEnable :1;
#else
unsigned32 TextureEnable :1;
unsigned32 FogEnable :1;
unsigned32 FogFunction :2;
unsigned32 FrontPolyMode :2;
unsigned32 BackPolyMode :2;
unsigned32 FrontFaceDirection :1;
unsigned32 PolygonCull :1;
unsigned32 PolygonCullFace :2;
unsigned32 ClipShortLines :1;
unsigned32 ClipSmallTriangles :1;
unsigned32 RenderMode :2;
unsigned32 FeedbackType :3;
unsigned32 CullUsingFaceNormal :1;
unsigned32 AutoGenerateFaceNormal :1;
unsigned32 FlatShading :1;
unsigned32 UserClipMask :6;
unsigned32 PolygonOffsetPoint :1;
unsigned32 PolygonOffsetLine :1;
unsigned32 PolygonOffsetFill :1;
unsigned32 InvertFaceNormalCullDirection :1;
#endif
#ifdef __cplusplus
GeometryMode(void) { }
GeometryMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
GeometryMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
GeometryMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
GeometryMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<31|0x1<<30|0x1<<29|0x1<<28|0x3f<<22|0x1<<21|0x1<<20|0x1<<19|0x7<<16|0x3<<14|0x1<<13|0x1<<12|0x3<<10|0x1<<9|0x1<<8|0x3<<6|0x3<<4|0x3<<2|0x1<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct Gamma3GeometryMode {
#if BIG_ENDIAN == 1
unsigned32 InvertFaceNormalCullDirection :1;
unsigned32 PolygonOffsetFill :1;
unsigned32 PolygonOffsetLine :1;
unsigned32 PolygonOffsetPoint :1;
unsigned32 UserClipMask :6;
unsigned32 FlatShading :1;
unsigned32 DisableFustumCulling :1;
unsigned32 CullUsingFaceNormal :1;
unsigned32 FeedbackType :3;
unsigned32 RenderMode :2;
unsigned32 ClipSmallTriangles :1;
unsigned32 ClipShortLines :1;
unsigned32 PolygonCullFace :2;
unsigned32 PolygonCull :1;
unsigned32 FrontFaceDirection :1;
unsigned32 BackPolyMode :2;
unsigned32 FrontPolyMode :2;
unsigned32 OrthographicProjection :1;
unsigned32 UserInvW :1;
unsigned32 :1;
unsigned32 SendInvW :1;
#else
unsigned32 SendInvW :1;
unsigned32 :1;
unsigned32 UserInvW :1;
unsigned32 OrthographicProjection :1;
unsigned32 FrontPolyMode :2;
unsigned32 BackPolyMode :2;
unsigned32 FrontFaceDirection :1;
unsigned32 PolygonCull :1;
unsigned32 PolygonCullFace :2;
unsigned32 ClipShortLines :1;
unsigned32 ClipSmallTriangles :1;
unsigned32 RenderMode :2;
unsigned32 FeedbackType :3;
unsigned32 CullUsingFaceNormal :1;
unsigned32 DisableFustumCulling :1;
unsigned32 FlatShading :1;
unsigned32 UserClipMask :6;
unsigned32 PolygonOffsetPoint :1;
unsigned32 PolygonOffsetLine :1;
unsigned32 PolygonOffsetFill :1;
unsigned32 InvertFaceNormalCullDirection :1;
#endif
#ifdef __cplusplus
Gamma3GeometryMode(void) { }
Gamma3GeometryMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
Gamma3GeometryMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
Gamma3GeometryMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
Gamma3GeometryMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<31|0x1<<30|0x1<<29|0x1<<28|0x3f<<22|0x1<<21|0x1<<20|0x1<<19|0x7<<16|0x3<<14|0x1<<13|0x1<<12|0x3<<10|0x1<<9|0x1<<8|0x3<<6|0x3<<4|0x1<<3|0x1<<2|0x1<<0)); }
#endif /* __cplusplus */
};
struct NormaliseMode {
#if BIG_ENDIAN == 1
unsigned32 :25;
unsigned32 BlendNormal :1;
unsigned32 NormaliseSpotDirection :1;
unsigned32 NormaliseLightPosition :1;
unsigned32 AntialiasLine :1;
unsigned32 InvertAutoFaceNormal :1;
unsigned32 FaceNormalEnable :1;
unsigned32 NormalEnable :1;
#else
unsigned32 NormalEnable :1;
unsigned32 FaceNormalEnable :1;
unsigned32 InvertAutoFaceNormal :1;
unsigned32 AntialiasLine :1;
unsigned32 NormaliseLightPosition :1;
unsigned32 NormaliseSpotDirection :1;
unsigned32 BlendNormal :1;
unsigned32 :25;
#endif
#ifdef __cplusplus
NormaliseMode(void) { }
NormaliseMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
NormaliseMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
NormaliseMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
NormaliseMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<6|0x1<<5|0x1<<4|0x1<<3|0x1<<2|0x1<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct LightingMode {
#if BIG_ENDIAN == 1
unsigned32 :14;
unsigned32 D3DEyeDirection :1;
unsigned32 UseFaceNormal :1;
unsigned32 SpecularLightingEnable :1;
unsigned32 NumberLights :9;
unsigned32 AttenuationTest :1;
unsigned32 FlipNormal :1;
unsigned32 LocalViewer :1;
unsigned32 TwoSidedLighting :2;
unsigned32 Enable :1;
#else
unsigned32 Enable :1;
unsigned32 TwoSidedLighting :2;
unsigned32 LocalViewer :1;
unsigned32 FlipNormal :1;
unsigned32 AttenuationTest :1;
unsigned32 NumberLights :9;
unsigned32 SpecularLightingEnable :1;
unsigned32 UseFaceNormal :1;
unsigned32 D3DEyeDirection :1;
unsigned32 :14;
#endif
#ifdef __cplusplus
LightingMode(void) { }
LightingMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
LightingMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
LightingMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
LightingMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<17|0x1<<16|0x1<<15|0x1ff<<6|0x1<<5|0x1<<4|0x1<<3|0x3<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct ColorMaterialMode {
#if BIG_ENDIAN == 1
unsigned32 :6;
unsigned32 BackAlphaSource :2;
unsigned32 BackSpecularSource :2;
unsigned32 BackDiffuseSource :2;
unsigned32 BackAmbientSource :2;
unsigned32 BackEmissiveSource :2;
unsigned32 FrontAlphaSource :2;
unsigned32 FrontSpecularSource :2;
unsigned32 FrontDiffuseSource :2;
unsigned32 FrontAmbientSource :2;
unsigned32 FrontEmissiveSource :2;
unsigned32 Parameter :3;
unsigned32 Face :2;
unsigned32 ColorMaterialEnable :1;
#else
unsigned32 ColorMaterialEnable :1;
unsigned32 Face :2;
unsigned32 Parameter :3;
unsigned32 FrontEmissiveSource :2;
unsigned32 FrontAmbientSource :2;
unsigned32 FrontDiffuseSource :2;
unsigned32 FrontSpecularSource :2;
unsigned32 FrontAlphaSource :2;
unsigned32 BackEmissiveSource :2;
unsigned32 BackAmbientSource :2;
unsigned32 BackDiffuseSource :2;
unsigned32 BackSpecularSource :2;
unsigned32 BackAlphaSource :2;
unsigned32 :6;
#endif
#ifdef __cplusplus
ColorMaterialMode(void) { }
ColorMaterialMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
ColorMaterialMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
ColorMaterialMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
ColorMaterialMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x3<<24|0x3<<22|0x3<<20|0x3<<18|0x3<<16|0x3<<14|0x3<<12|0x3<<10|0x3<<8|0x3<<6|0x7<<3|0x3<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct MaterialMode {
#if BIG_ENDIAN == 1
unsigned32 :9;
unsigned32 ColorDisable :1;
unsigned32 AlphaSource :2;
unsigned32 SpecularTextureSource :2;
unsigned32 DiffuseTextureSource :2;
unsigned32 ColorSource2Bit :2;
unsigned32 SendColorC :1;
unsigned32 SendColorB :1;
unsigned32 SendColorA :1;
unsigned32 SendNormal :1;
unsigned32 SpecularColor :1;
unsigned32 TwoSidedLighting :2;
unsigned32 ColorSource :1;
unsigned32 PremultiplyAlpha :1;
unsigned32 MonochromeSpecularTexture :1;
unsigned32 MonochromeDiffuseTexture :1;
unsigned32 SpecularTextureEnable :1;
unsigned32 DiffuseTextureEnable :1;
unsigned32 Enable :1;
#else
unsigned32 Enable :1;
unsigned32 DiffuseTextureEnable :1;
unsigned32 SpecularTextureEnable :1;
unsigned32 MonochromeDiffuseTexture :1;
unsigned32 MonochromeSpecularTexture :1;
unsigned32 PremultiplyAlpha :1;
unsigned32 ColorSource :1;
unsigned32 TwoSidedLighting :2;
unsigned32 SpecularColor :1;
unsigned32 SendNormal :1;
unsigned32 SendColorA :1;
unsigned32 SendColorB :1;
unsigned32 SendColorC :1;
unsigned32 ColorSource2Bit :2;
unsigned32 DiffuseTextureSource :2;
unsigned32 SpecularTextureSource :2;
unsigned32 AlphaSource :2;
unsigned32 ColorDisable :1;
unsigned32 :9;
#endif
#ifdef __cplusplus
MaterialMode(void) { }
MaterialMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
MaterialMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
MaterialMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
MaterialMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<22|0x3<<20|0x3<<18|0x3<<16|0x3<<14|0x1<<13|0x1<<12|0x1<<11|0x1<<10|0x1<<9|0x3<<7|0x1<<6|0x1<<5|0x1<<4|0x1<<3|0x1<<2|0x1<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct FogVertexMode {
#if BIG_ENDIAN == 1
unsigned32 :26;
unsigned32 Source :2;
unsigned32 Function :2;
unsigned32 :1;
unsigned32 Enable :1;
#else
unsigned32 Enable :1;
unsigned32 :1;
unsigned32 Function :2;
unsigned32 Source :2;
unsigned32 :26;
#endif
#ifdef __cplusplus
FogVertexMode(void) { }
FogVertexMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
FogVertexMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
FogVertexMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
FogVertexMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x3<<4|0x3<<2|0x1<<0)); }
#endif /* __cplusplus */
};
struct TextureMode {
#if BIG_ENDIAN == 1
unsigned32 :3;
unsigned32 UserInvW :1;
unsigned32 R4D3DWrappingT :1;
unsigned32 R4D3DWrappingS :1;
unsigned32 R4Operation :2;
unsigned32 FeedbackEnable :1;
unsigned32 WhichMatrix :3;
unsigned32 WhichTexGen :3;
unsigned32 WhichCurrentTextureCoord :3;
unsigned32 TexGenQ :1;
unsigned32 TexGenR :1;
unsigned32 TexGenT :1;
unsigned32 TexGenS :1;
unsigned32 TexGenModeQ :2;
unsigned32 TexGenModeR :2;
unsigned32 TexGenModeT :2;
unsigned32 TexGenModeS :2;
unsigned32 TransformEnable :1;
unsigned32 Enable :1;
#else
unsigned32 Enable :1;
unsigned32 TransformEnable :1;
unsigned32 TexGenModeS :2;
unsigned32 TexGenModeT :2;
unsigned32 TexGenModeR :2;
unsigned32 TexGenModeQ :2;
unsigned32 TexGenS :1;
unsigned32 TexGenT :1;
unsigned32 TexGenR :1;
unsigned32 TexGenQ :1;
unsigned32 WhichCurrentTextureCoord :3;
unsigned32 WhichTexGen :3;
unsigned32 WhichMatrix :3;
unsigned32 FeedbackEnable :1;
unsigned32 R4Operation :2;
unsigned32 R4D3DWrappingS :1;
unsigned32 R4D3DWrappingT :1;
unsigned32 UserInvW :1;
unsigned32 :3;
#endif
#ifdef __cplusplus
TextureMode(void) { }
TextureMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
TextureMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
TextureMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
TextureMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<28|0x1<<27|0x1<<26|0x3<<24|0x1<<23|0x7<<20|0x7<<17|0x7<<14|0x1<<13|0x1<<12|0x1<<11|0x1<<10|0x3<<8|0x3<<6|0x3<<4|0x3<<2|0x1<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct StripeFilterMode {
#if BIG_ENDIAN == 1
unsigned32 :13;
unsigned32 NumberRasterisers :2;
unsigned32 StripeHeight :3;
unsigned32 BiasCoordinates :1;
unsigned32 RejectZeroHeightTriangles :1;
unsigned32 AATriangleQuality :1;
unsigned32 AATriangleEnable :1;
unsigned32 FilterAATriangles :1;
unsigned32 FilterTriangles :1;
unsigned32 AALineQuality :1;
unsigned32 AALineEnable :1;
unsigned32 FilterAALines :1;
unsigned32 FilterLines :1;
unsigned32 AAPointQuality :1;
unsigned32 AAPointEnable :1;
unsigned32 FilterAAPoints :1;
unsigned32 FilterPoints :1;
#else
unsigned32 FilterPoints :1;
unsigned32 FilterAAPoints :1;
unsigned32 AAPointEnable :1;
unsigned32 AAPointQuality :1;
unsigned32 FilterLines :1;
unsigned32 FilterAALines :1;
unsigned32 AALineEnable :1;
unsigned32 AALineQuality :1;
unsigned32 FilterTriangles :1;
unsigned32 FilterAATriangles :1;
unsigned32 AATriangleEnable :1;
unsigned32 AATriangleQuality :1;
unsigned32 RejectZeroHeightTriangles :1;
unsigned32 BiasCoordinates :1;
unsigned32 StripeHeight :3;
unsigned32 NumberRasterisers :2;
unsigned32 :13;
#endif
#ifdef __cplusplus
StripeFilterMode(void) { }
StripeFilterMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
StripeFilterMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
StripeFilterMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
StripeFilterMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x3<<17|0x7<<14|0x1<<13|0x1<<12|0x1<<11|0x1<<10|0x1<<9|0x1<<8|0x1<<7|0x1<<6|0x1<<5|0x1<<4|0x1<<3|0x1<<2|0x1<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct MatrixMode {
#if BIG_ENDIAN == 1
unsigned32 :23;
unsigned32 BoundingVolumeTestEnable :1;
unsigned32 ColorOrder :1;
unsigned32 BoundingBoxTestEnable :1;
unsigned32 TransformSpotLightDirection :1;
unsigned32 TransformLightPosition :1;
unsigned32 TransformUserClip :1;
unsigned32 CalculateModelViewProjMatrix :1;
unsigned32 CalculateModelViewMatrix :1;
unsigned32 SeparateModelViewMatrices :1;
#else
unsigned32 SeparateModelViewMatrices :1;
unsigned32 CalculateModelViewMatrix :1;
unsigned32 CalculateModelViewProjMatrix :1;
unsigned32 TransformUserClip :1;
unsigned32 TransformLightPosition :1;
unsigned32 TransformSpotLightDirection :1;
unsigned32 BoundingBoxTestEnable :1;
unsigned32 ColorOrder :1;
unsigned32 BoundingVolumeTestEnable :1;
unsigned32 :23;
#endif
#ifdef __cplusplus
MatrixMode(void) { }
MatrixMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
MatrixMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
MatrixMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
MatrixMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<8|0x1<<7|0x1<<6|0x1<<5|0x1<<4|0x1<<3|0x1<<2|0x1<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct RenderMode {
#if BIG_ENDIAN == 1
unsigned32 Type :4;
unsigned32 FBSourceReadEnable :1;
unsigned32 :7;
unsigned32 FrontFacing :1;
unsigned32 SpanOperation :1;
unsigned32 RejectNegativeFace :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 :2;
unsigned32 FastFillEnable :1;
unsigned32 ResetLineStipple :1;
unsigned32 LineStippleEnable :1;
unsigned32 AreaStippleEnable :1;
#else
unsigned32 AreaStippleEnable :1;
unsigned32 LineStippleEnable :1;
unsigned32 ResetLineStipple :1;
unsigned32 FastFillEnable :1;
unsigned32 :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 RejectNegativeFace :1;
unsigned32 SpanOperation :1;
unsigned32 FrontFacing :1;
unsigned32 :7;
unsigned32 FBSourceReadEnable :1;
unsigned32 Type :4;
#endif
#ifdef __cplusplus
RenderMode(void) { }
RenderMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
RenderMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
RenderMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
RenderMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0xf<<28|0x1<<27|0x1<<19|0x1<<18|0x1<<17|0x1<<16|0x1<<15|0x1<<14|0x1<<13|0x1<<12|0x1<<11|0x1<<10|0x1<<9|0x1<<8|0x3<<6|0x1<<3|0x1<<2|0x1<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct EdgeFlag {
#if BIG_ENDIAN == 1
unsigned32 :31;
unsigned32 Flag :1;
#else
unsigned32 Flag :1;
unsigned32 :31;
#endif
#ifdef __cplusplus
EdgeFlag(void) { }
EdgeFlag(const unsigned32 i) { *((unsigned32 *)this) = i; }
EdgeFlag& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
EdgeFlag& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
EdgeFlag& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<0)); }
#endif /* __cplusplus */
};
struct TransformCurrent {
#if BIG_ENDIAN == 1
unsigned32 :28;
unsigned32 Color :1;
unsigned32 Texture :1;
unsigned32 FaceNormal :1;
unsigned32 Normal :1;
#else
unsigned32 Normal :1;
unsigned32 FaceNormal :1;
unsigned32 Texture :1;
unsigned32 Color :1;
unsigned32 :28;
#endif
#ifdef __cplusplus
TransformCurrent(void) { }
TransformCurrent(const unsigned32 i) { *((unsigned32 *)this) = i; }
TransformCurrent& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
TransformCurrent& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
TransformCurrent& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<3|0x1<<2|0x1<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct PushName {
#if BIG_ENDIAN == 1
unsigned32 StackOverflow :1;
unsigned32 StackUnderflow :1;
unsigned32 InvalidOperation :1;
unsigned32 :22;
unsigned32 Count :7;
#else
unsigned32 Count :7;
unsigned32 :22;
unsigned32 InvalidOperation :1;
unsigned32 StackUnderflow :1;
unsigned32 StackOverflow :1;
#endif
#ifdef __cplusplus
PushName(void) { }
PushName(const unsigned32 i) { *((unsigned32 *)this) = i; }
PushName& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
PushName& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
PushName& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<31|0x1<<30|0x1<<29|0x7f<<0)); }
#endif /* __cplusplus */
};
struct PopName {
#if BIG_ENDIAN == 1
unsigned32 StackOverflow :1;
unsigned32 StackUnderflow :1;
unsigned32 InvalidOperation :1;
unsigned32 :22;
unsigned32 Count :7;
#else
unsigned32 Count :7;
unsigned32 :22;
unsigned32 InvalidOperation :1;
unsigned32 StackUnderflow :1;
unsigned32 StackOverflow :1;
#endif
#ifdef __cplusplus
PopName(void) { }
PopName(const unsigned32 i) { *((unsigned32 *)this) = i; }
PopName& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
PopName& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
PopName& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<31|0x1<<30|0x1<<29|0x7f<<0)); }
#endif /* __cplusplus */
};
struct LoadName {
#if BIG_ENDIAN == 1
unsigned32 StackOverflow :1;
unsigned32 StackUnderflow :1;
unsigned32 InvalidOperation :1;
unsigned32 :22;
unsigned32 Count :7;
#else
unsigned32 Count :7;
unsigned32 :22;
unsigned32 InvalidOperation :1;
unsigned32 StackUnderflow :1;
unsigned32 StackOverflow :1;
#endif
#ifdef __cplusplus
LoadName(void) { }
LoadName(const unsigned32 i) { *((unsigned32 *)this) = i; }
LoadName& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
LoadName& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
LoadName& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<31|0x1<<30|0x1<<29|0x7f<<0)); }
#endif /* __cplusplus */
};
struct GeomPoint {
#if BIG_ENDIAN == 1
unsigned32 :23;
unsigned32 EdgeA :1;
unsigned32 :6;
unsigned32 A :2;
#else
unsigned32 A :2;
unsigned32 :6;
unsigned32 EdgeA :1;
unsigned32 :23;
#endif
#ifdef __cplusplus
GeomPoint(void) { }
GeomPoint(const unsigned32 i) { *((unsigned32 *)this) = i; }
GeomPoint& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
GeomPoint& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
GeomPoint& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<8|0x3<<0)); }
#endif /* __cplusplus */
};
struct GeomLine {
#if BIG_ENDIAN == 1
unsigned32 :20;
unsigned32 ResetLineStipple :1;
unsigned32 :1;
unsigned32 EdgeB :1;
unsigned32 EdgeA :1;
unsigned32 ProvokingVertex :2;
unsigned32 :2;
unsigned32 B :2;
unsigned32 A :2;
#else
unsigned32 A :2;
unsigned32 B :2;
unsigned32 :2;
unsigned32 ProvokingVertex :2;
unsigned32 EdgeA :1;
unsigned32 EdgeB :1;
unsigned32 :1;
unsigned32 ResetLineStipple :1;
unsigned32 :20;
#endif
#ifdef __cplusplus
GeomLine(void) { }
GeomLine(const unsigned32 i) { *((unsigned32 *)this) = i; }
GeomLine& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
GeomLine& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
GeomLine& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<11|0x1<<9|0x1<<8|0x3<<6|0x3<<2|0x3<<0)); }
#endif /* __cplusplus */
};
struct GeomTriangle {
#if BIG_ENDIAN == 1
unsigned32 :14;
unsigned32 FrontFacing :1;
unsigned32 SubstituteEdgeC :1;
unsigned32 SubstituteEdgeB :1;
unsigned32 SubstituteEdgeA :1;
unsigned32 Last :1;
unsigned32 :1;
unsigned32 ResetLineStipple :1;
unsigned32 EdgeC :1;
unsigned32 EdgeB :1;
unsigned32 EdgeA :1;
unsigned32 ProvokingVertex :2;
unsigned32 C :2;
unsigned32 B :2;
unsigned32 A :2;
#else
unsigned32 A :2;
unsigned32 B :2;
unsigned32 C :2;
unsigned32 ProvokingVertex :2;
unsigned32 EdgeA :1;
unsigned32 EdgeB :1;
unsigned32 EdgeC :1;
unsigned32 ResetLineStipple :1;
unsigned32 :1;
unsigned32 Last :1;
unsigned32 SubstituteEdgeA :1;
unsigned32 SubstituteEdgeB :1;
unsigned32 SubstituteEdgeC :1;
unsigned32 FrontFacing :1;
unsigned32 :14;
#endif
#ifdef __cplusplus
GeomTriangle(void) { }
GeomTriangle(const unsigned32 i) { *((unsigned32 *)this) = i; }
GeomTriangle& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
GeomTriangle& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
GeomTriangle& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<17|0x1<<16|0x1<<15|0x1<<14|0x1<<13|0x1<<11|0x1<<10|0x1<<9|0x1<<8|0x3<<6|0x3<<4|0x3<<2|0x3<<0)); }
#endif /* __cplusplus */
};
struct GeomRectangle {
#if BIG_ENDIAN == 1
unsigned32 :28;
unsigned32 SelectEnable :1;
unsigned32 OffsetEnable :1;
unsigned32 Type :2;
#else
unsigned32 Type :2;
unsigned32 OffsetEnable :1;
unsigned32 SelectEnable :1;
unsigned32 :28;
#endif
#ifdef __cplusplus
GeomRectangle(void) { }
GeomRectangle(const unsigned32 i) { *((unsigned32 *)this) = i; }
GeomRectangle& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
GeomRectangle& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
GeomRectangle& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<3|0x1<<2|0x3<<0)); }
#endif /* __cplusplus */
};
struct ClippedColor {
#if BIG_ENDIAN == 1
unsigned32 :20;
unsigned32 UseProvokingVertex :1;
unsigned32 Destination :2;
unsigned32 C :2;
unsigned32 B :2;
unsigned32 A :2;
unsigned32 ProvokingVertex :2;
unsigned32 FrontFacing :1;
#else
unsigned32 FrontFacing :1;
unsigned32 ProvokingVertex :2;
unsigned32 A :2;
unsigned32 B :2;
unsigned32 C :2;
unsigned32 Destination :2;
unsigned32 UseProvokingVertex :1;
unsigned32 :20;
#endif
#ifdef __cplusplus
ClippedColor(void) { }
ClippedColor(const unsigned32 i) { *((unsigned32 *)this) = i; }
ClippedColor& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
ClippedColor& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
ClippedColor& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<11|0x3<<9|0x3<<7|0x3<<5|0x3<<3|0x3<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct RenderPrim {
#if BIG_ENDIAN == 1
unsigned32 :21;
unsigned32 UseProvokingVertex :1;
unsigned32 FrontFacing :1;
unsigned32 ResetLineStipple :1;
unsigned32 ProvokingVertex :2;
unsigned32 C :2;
unsigned32 B :2;
unsigned32 A :2;
#else
unsigned32 A :2;
unsigned32 B :2;
unsigned32 C :2;
unsigned32 ProvokingVertex :2;
unsigned32 ResetLineStipple :1;
unsigned32 FrontFacing :1;
unsigned32 UseProvokingVertex :1;
unsigned32 :21;
#endif
#ifdef __cplusplus
RenderPrim(void) { }
RenderPrim(const unsigned32 i) { *((unsigned32 *)this) = i; }
RenderPrim& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
RenderPrim& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
RenderPrim& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<10|0x1<<9|0x1<<8|0x3<<6|0x3<<4|0x3<<2|0x3<<0)); }
#endif /* __cplusplus */
};
struct PackedNormal {
#if BIG_ENDIAN == 1
unsigned32 Code :2;
unsigned32 Z :10;
unsigned32 Y :10;
unsigned32 X :10;
#else
unsigned32 X :10;
unsigned32 Y :10;
unsigned32 Z :10;
unsigned32 Code :2;
#endif
#ifdef __cplusplus
PackedNormal(void) { }
PackedNormal(const unsigned32 i) { *((unsigned32 *)this) = i; }
PackedNormal& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
PackedNormal& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
PackedNormal& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x3<<30|0x3ff<<20|0x3ff<<10|0x3ff<<0)); }
#endif /* __cplusplus */
};
struct LightMode {
#if BIG_ENDIAN == 1
unsigned32 :28;
unsigned32 LocalLight :1;
unsigned32 Attenuation :1;
unsigned32 Spotlight :1;
unsigned32 LightOn :1;
#else
unsigned32 LightOn :1;
unsigned32 Spotlight :1;
unsigned32 Attenuation :1;
unsigned32 LocalLight :1;
unsigned32 :28;
#endif
#ifdef __cplusplus
LightMode(void) { }
LightMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
LightMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
LightMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
LightMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<3|0x1<<2|0x1<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct DMAAddr {
#if BIG_ENDIAN == 1
unsigned32 Address :30;
unsigned32 :2;
#else
unsigned32 :2;
unsigned32 Address :30;
#endif
#ifdef __cplusplus
DMAAddr(void) { }
DMAAddr(const unsigned32 i) { *((unsigned32 *)this) = i; }
DMAAddr& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
DMAAddr& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
DMAAddr& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x3fffffff<<2)); }
#endif /* __cplusplus */
};
struct CommandInterrupt {
#if BIG_ENDIAN == 1
unsigned32 :31;
unsigned32 OutputDMA :1;
#else
unsigned32 OutputDMA :1;
unsigned32 :31;
#endif
#ifdef __cplusplus
CommandInterrupt(void) { }
CommandInterrupt(const unsigned32 i) { *((unsigned32 *)this) = i; }
CommandInterrupt& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
CommandInterrupt& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
CommandInterrupt& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<0)); }
#endif /* __cplusplus */
};
struct DMARectangleRead {
#if BIG_ENDIAN == 1
unsigned32 Alignment :2;
unsigned32 :1;
unsigned32 ByteSwap :2;
unsigned32 PackOut :1;
unsigned32 PixelSize :2;
unsigned32 Height :12;
unsigned32 Width :12;
#else
unsigned32 Width :12;
unsigned32 Height :12;
unsigned32 PixelSize :2;
unsigned32 PackOut :1;
unsigned32 ByteSwap :2;
unsigned32 :1;
unsigned32 Alignment :2;
#endif
#ifdef __cplusplus
DMARectangleRead(void) { }
DMARectangleRead(const unsigned32 i) { *((unsigned32 *)this) = i; }
DMARectangleRead& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
DMARectangleRead& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
DMARectangleRead& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x3<<30|0x3<<27|0x1<<26|0x3<<24|0xfff<<12|0xfff<<0)); }
#endif /* __cplusplus */
};
struct DMARectangleReadLinePitch {
#if BIG_ENDIAN == 1
unsigned32 LinePitch :32;
#else
unsigned32 LinePitch :32;
#endif
#ifdef __cplusplus
DMARectangleReadLinePitch(void) { }
DMARectangleReadLinePitch(const unsigned32 i) { *((unsigned32 *)this) = i; }
DMARectangleReadLinePitch& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
DMARectangleReadLinePitch& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
DMARectangleReadLinePitch& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0xffffffff<<0)); }
#endif /* __cplusplus */
};
struct DMARectangleReadTarget {
#if BIG_ENDIAN == 1
unsigned32 :21;
unsigned32 Tag :11;
#else
unsigned32 Tag :11;
unsigned32 :21;
#endif
#ifdef __cplusplus
DMARectangleReadTarget(void) { }
DMARectangleReadTarget(const unsigned32 i) { *((unsigned32 *)this) = i; }
DMARectangleReadTarget& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
DMARectangleReadTarget& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
DMARectangleReadTarget& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x7ff<<0)); }
#endif /* __cplusplus */
};
struct DMARectangleWrite {
#if BIG_ENDIAN == 1
unsigned32 Alignment :2;
unsigned32 :1;
unsigned32 ByteSwap :2;
unsigned32 PackOut :1;
unsigned32 PixelSize :2;
unsigned32 Height :12;
unsigned32 Width :12;
#else
unsigned32 Width :12;
unsigned32 Height :12;
unsigned32 PixelSize :2;
unsigned32 PackOut :1;
unsigned32 ByteSwap :2;
unsigned32 :1;
unsigned32 Alignment :2;
#endif
#ifdef __cplusplus
DMARectangleWrite(void) { }
DMARectangleWrite(const unsigned32 i) { *((unsigned32 *)this) = i; }
DMARectangleWrite& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
DMARectangleWrite& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
DMARectangleWrite& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x3<<30|0x3<<27|0x1<<26|0x3<<24|0xfff<<12|0xfff<<0)); }
#endif /* __cplusplus */
};
struct DMARectangleWriteLinePitch {
#if BIG_ENDIAN == 1
unsigned32 LinePitch :32;
#else
unsigned32 LinePitch :32;
#endif
#ifdef __cplusplus
DMARectangleWriteLinePitch(void) { }
DMARectangleWriteLinePitch(const unsigned32 i) { *((unsigned32 *)this) = i; }
DMARectangleWriteLinePitch& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
DMARectangleWriteLinePitch& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
DMARectangleWriteLinePitch& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0xffffffff<<0)); }
#endif /* __cplusplus */
};
struct DMAOutputAddress {
#if BIG_ENDIAN == 1
unsigned32 Address :30;
unsigned32 :2;
#else
unsigned32 :2;
unsigned32 Address :30;
#endif
#ifdef __cplusplus
DMAOutputAddress(void) { }
DMAOutputAddress(const unsigned32 i) { *((unsigned32 *)this) = i; }
DMAOutputAddress& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
DMAOutputAddress& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
DMAOutputAddress& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x3fffffff<<2)); }
#endif /* __cplusplus */
};
struct VertexArray {
#if BIG_ENDIAN == 1
unsigned32 :18;
unsigned32 OpenGLProvokingVertex :1;
unsigned32 D3DTriangleEdgeFlags :1;
unsigned32 InlineFaceNormalData :1;
unsigned32 InlineVertexData :1;
unsigned32 InlineIndices :1;
unsigned32 FaceNormalPresent :1;
unsigned32 EdgeFlagPresent :1;
unsigned32 TextureFormat :2;
unsigned32 ColorFormat :2;
unsigned32 NormalPresent :1;
unsigned32 CoordinateFormat :2;
#else
unsigned32 CoordinateFormat :2;
unsigned32 NormalPresent :1;
unsigned32 ColorFormat :2;
unsigned32 TextureFormat :2;
unsigned32 EdgeFlagPresent :1;
unsigned32 FaceNormalPresent :1;
unsigned32 InlineIndices :1;
unsigned32 InlineVertexData :1;
unsigned32 InlineFaceNormalData :1;
unsigned32 D3DTriangleEdgeFlags :1;
unsigned32 OpenGLProvokingVertex :1;
unsigned32 :18;
#endif
#ifdef __cplusplus
VertexArray(void) { }
VertexArray(const unsigned32 i) { *((unsigned32 *)this) = i; }
VertexArray& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
VertexArray& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
VertexArray& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<13|0x1<<12|0x1<<11|0x1<<10|0x1<<9|0x1<<8|0x1<<7|0x3<<5|0x3<<3|0x1<<2|0x3<<0)); }
#endif /* __cplusplus */
};
struct FBDestReadBufferWidth {
#if BIG_ENDIAN == 1
unsigned32 :20;
unsigned32 Width :12;
#else
unsigned32 Width :12;
unsigned32 :20;
#endif
#ifdef __cplusplus
FBDestReadBufferWidth(void) { }
FBDestReadBufferWidth(const unsigned32 i) { *((unsigned32 *)this) = i; }
FBDestReadBufferWidth& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
FBDestReadBufferWidth& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
FBDestReadBufferWidth& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0xfff<<0)); }
#endif /* __cplusplus */
};
struct FBDestReadMode {
#if BIG_ENDIAN == 1
unsigned32 :4;
unsigned32 AlphaFiltering :1;
unsigned32 UseReadEnables :1;
unsigned32 PCIMappingEnable :1;
unsigned32 Blocking :1;
unsigned32 Origin3 :1;
unsigned32 Origin2 :1;
unsigned32 Origin1 :1;
unsigned32 Origin0 :1;
unsigned32 Layout3 :2;
unsigned32 Layout2 :2;
unsigned32 Layout1 :2;
unsigned32 Layout0 :2;
unsigned32 Enable3 :1;
unsigned32 Enable2 :1;
unsigned32 Enable1 :1;
unsigned32 Enable0 :1;
unsigned32 StripeHeight :3;
unsigned32 StripePitch :3;
unsigned32 PrefetchEnable :1;
unsigned32 ReadEnable :1;
#else
unsigned32 ReadEnable :1;
unsigned32 PrefetchEnable :1;
unsigned32 StripePitch :3;
unsigned32 StripeHeight :3;
unsigned32 Enable0 :1;
unsigned32 Enable1 :1;
unsigned32 Enable2 :1;
unsigned32 Enable3 :1;
unsigned32 Layout0 :2;
unsigned32 Layout1 :2;
unsigned32 Layout2 :2;
unsigned32 Layout3 :2;
unsigned32 Origin0 :1;
unsigned32 Origin1 :1;
unsigned32 Origin2 :1;
unsigned32 Origin3 :1;
unsigned32 Blocking :1;
unsigned32 PCIMappingEnable :1;
unsigned32 UseReadEnables :1;
unsigned32 AlphaFiltering :1;
unsigned32 :4;
#endif
#ifdef __cplusplus
FBDestReadMode(void) { }
FBDestReadMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
FBDestReadMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
FBDestReadMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
FBDestReadMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<27|0x1<<26|0x1<<25|0x1<<24|0x1<<23|0x1<<22|0x1<<21|0x1<<20|0x3<<18|0x3<<16|0x3<<14|0x3<<12|0x1<<11|0x1<<10|0x1<<9|0x1<<8|0x7<<5|0x7<<2|0x1<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct FBDestReadEnables {
#if BIG_ENDIAN == 1
unsigned32 ReferenceAlpha :8;
unsigned32 :8;
unsigned32 R7 :1;
unsigned32 R6 :1;
unsigned32 R5 :1;
unsigned32 R4 :1;
unsigned32 R3 :1;
unsigned32 R2 :1;
unsigned32 R1 :1;
unsigned32 R0 :1;
unsigned32 E7 :1;
unsigned32 E6 :1;
unsigned32 E5 :1;
unsigned32 E4 :1;
unsigned32 E3 :1;
unsigned32 E2 :1;
unsigned32 E1 :1;
unsigned32 E0 :1;
#else
unsigned32 E0 :1;
unsigned32 E1 :1;
unsigned32 E2 :1;
unsigned32 E3 :1;
unsigned32 E4 :1;
unsigned32 E5 :1;
unsigned32 E6 :1;
unsigned32 E7 :1;
unsigned32 R0 :1;
unsigned32 R1 :1;
unsigned32 R2 :1;
unsigned32 R3 :1;
unsigned32 R4 :1;
unsigned32 R5 :1;
unsigned32 R6 :1;
unsigned32 R7 :1;
unsigned32 :8;
unsigned32 ReferenceAlpha :8;
#endif
#ifdef __cplusplus
FBDestReadEnables(void) { }
FBDestReadEnables(const unsigned32 i) { *((unsigned32 *)this) = i; }
FBDestReadEnables& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
FBDestReadEnables& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
FBDestReadEnables& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0xff<<24|0x1<<15|0x1<<14|0x1<<13|0x1<<12|0x1<<11|0x1<<10|0x1<<9|0x1<<8|0x1<<7|0x1<<6|0x1<<5|0x1<<4|0x1<<3|0x1<<2|0x1<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct FBSourceReadMode {
#if BIG_ENDIAN == 1
unsigned32 :7;
unsigned32 ExternalSourceData :1;
unsigned32 WrapY :4;
unsigned32 WrapX :4;
unsigned32 WrapYEnable :1;
unsigned32 WrapXEnable :1;
unsigned32 UseTexelCoord :1;
unsigned32 PCIMappingEnable :1;
unsigned32 Blocking :1;
unsigned32 Origin :1;
unsigned32 Layout :2;
unsigned32 StripeHeight :3;
unsigned32 StripePitch :3;
unsigned32 PrefetchEnable :1;
unsigned32 ReadEnable :1;
#else
unsigned32 ReadEnable :1;
unsigned32 PrefetchEnable :1;
unsigned32 StripePitch :3;
unsigned32 StripeHeight :3;
unsigned32 Layout :2;
unsigned32 Origin :1;
unsigned32 Blocking :1;
unsigned32 PCIMappingEnable :1;
unsigned32 UseTexelCoord :1;
unsigned32 WrapXEnable :1;
unsigned32 WrapYEnable :1;
unsigned32 WrapX :4;
unsigned32 WrapY :4;
unsigned32 ExternalSourceData :1;
unsigned32 :7;
#endif
#ifdef __cplusplus
FBSourceReadMode(void) { }
FBSourceReadMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
FBSourceReadMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
FBSourceReadMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
FBSourceReadMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<24|0xf<<20|0xf<<16|0x1<<15|0x1<<14|0x1<<13|0x1<<12|0x1<<11|0x1<<10|0x3<<8|0x7<<5|0x7<<2|0x1<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct FBSourceReadBufferWidth {
#if BIG_ENDIAN == 1
unsigned32 :20;
unsigned32 Width :12;
#else
unsigned32 Width :12;
unsigned32 :20;
#endif
#ifdef __cplusplus
FBSourceReadBufferWidth(void) { }
FBSourceReadBufferWidth(const unsigned32 i) { *((unsigned32 *)this) = i; }
FBSourceReadBufferWidth& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
FBSourceReadBufferWidth& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
FBSourceReadBufferWidth& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0xfff<<0)); }
#endif /* __cplusplus */
};
struct MergeSpanDataLower {
#if BIG_ENDIAN == 1
unsigned32 :1;
unsigned32 Addr :5;
unsigned32 Buffer :3;
unsigned32 Load :1;
unsigned32 PostDest :3;
unsigned32 PostLength :4;
unsigned32 PostStart :4;
unsigned32 PreDest :3;
unsigned32 PreLength :4;
unsigned32 PreStart :4;
#else
unsigned32 PreStart :4;
unsigned32 PreLength :4;
unsigned32 PreDest :3;
unsigned32 PostStart :4;
unsigned32 PostLength :4;
unsigned32 PostDest :3;
unsigned32 Load :1;
unsigned32 Buffer :3;
unsigned32 Addr :5;
unsigned32 :1;
#endif
#ifdef __cplusplus
MergeSpanDataLower(void) { }
MergeSpanDataLower(const unsigned32 i) { *((unsigned32 *)this) = i; }
MergeSpanDataLower& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
MergeSpanDataLower& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
MergeSpanDataLower& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1f<<26|0x7<<23|0x1<<22|0x7<<19|0xf<<15|0xf<<11|0x7<<8|0xf<<4|0xf<<0)); }
#endif /* __cplusplus */
};
struct MergeSpanDataUpper {
#if BIG_ENDIAN == 1
unsigned32 :29;
unsigned32 Operation :3;
#else
unsigned32 Operation :3;
unsigned32 :29;
#endif
#ifdef __cplusplus
MergeSpanDataUpper(void) { }
MergeSpanDataUpper(const unsigned32 i) { *((unsigned32 *)this) = i; }
MergeSpanDataUpper& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
MergeSpanDataUpper& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
MergeSpanDataUpper& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x7<<0)); }
#endif /* __cplusplus */
};
struct AlphaBlendColorMode {
#if BIG_ENDIAN == 1
unsigned32 :7;
unsigned32 SwapSD :1;
unsigned32 Operation :4;
unsigned32 ConstantDest :1;
unsigned32 ConstantSource :1;
unsigned32 ColorConversion :1;
unsigned32 ColorOrder :1;
unsigned32 ColorFormat :4;
unsigned32 InvertDest :1;
unsigned32 InvertSource :1;
unsigned32 DestTimesTwo :1;
unsigned32 SourceTimesTwo :1;
unsigned32 DestBlend :3;
unsigned32 SourceBlend :4;
unsigned32 Enable :1;
#else
unsigned32 Enable :1;
unsigned32 SourceBlend :4;
unsigned32 DestBlend :3;
unsigned32 SourceTimesTwo :1;
unsigned32 DestTimesTwo :1;
unsigned32 InvertSource :1;
unsigned32 InvertDest :1;
unsigned32 ColorFormat :4;
unsigned32 ColorOrder :1;
unsigned32 ColorConversion :1;
unsigned32 ConstantSource :1;
unsigned32 ConstantDest :1;
unsigned32 Operation :4;
unsigned32 SwapSD :1;
unsigned32 :7;
#endif
#ifdef __cplusplus
AlphaBlendColorMode(void) { }
AlphaBlendColorMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
AlphaBlendColorMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
AlphaBlendColorMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
AlphaBlendColorMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<24|0xf<<20|0x1<<19|0x1<<18|0x1<<17|0x1<<16|0xf<<12|0x1<<11|0x1<<10|0x1<<9|0x1<<8|0x7<<5|0xf<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct AlphaBlendAlphaMode {
#if BIG_ENDIAN == 1
unsigned32 :12;
unsigned32 Operation :3;
unsigned32 ConstantDest :1;
unsigned32 ConstantSource :1;
unsigned32 AlphaConversion :1;
unsigned32 AlphaType :1;
unsigned32 NoAlphaBuffer :1;
unsigned32 InvertDest :1;
unsigned32 InvertSource :1;
unsigned32 DestTimesTwo :1;
unsigned32 SourceTimesTwo :1;
unsigned32 DestBlend :3;
unsigned32 SourceBlend :4;
unsigned32 Enable :1;
#else
unsigned32 Enable :1;
unsigned32 SourceBlend :4;
unsigned32 DestBlend :3;
unsigned32 SourceTimesTwo :1;
unsigned32 DestTimesTwo :1;
unsigned32 InvertSource :1;
unsigned32 InvertDest :1;
unsigned32 NoAlphaBuffer :1;
unsigned32 AlphaType :1;
unsigned32 AlphaConversion :1;
unsigned32 ConstantSource :1;
unsigned32 ConstantDest :1;
unsigned32 Operation :3;
unsigned32 :12;
#endif
#ifdef __cplusplus
AlphaBlendAlphaMode(void) { }
AlphaBlendAlphaMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
AlphaBlendAlphaMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
AlphaBlendAlphaMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
AlphaBlendAlphaMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x7<<17|0x1<<16|0x1<<15|0x1<<14|0x1<<13|0x1<<12|0x1<<11|0x1<<10|0x1<<9|0x1<<8|0x7<<5|0xf<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct FBWriteBufferWidth {
#if BIG_ENDIAN == 1
unsigned32 :20;
unsigned32 Width :12;
#else
unsigned32 Width :12;
unsigned32 :20;
#endif
#ifdef __cplusplus
FBWriteBufferWidth(void) { }
FBWriteBufferWidth(const unsigned32 i) { *((unsigned32 *)this) = i; }
FBWriteBufferWidth& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
FBWriteBufferWidth& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
FBWriteBufferWidth& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0xfff<<0)); }
#endif /* __cplusplus */
};
struct TextureCompositeMode {
#if BIG_ENDIAN == 1
unsigned32 :31;
unsigned32 Enable :1;
#else
unsigned32 Enable :1;
unsigned32 :31;
#endif
#ifdef __cplusplus
TextureCompositeMode(void) { }
TextureCompositeMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
TextureCompositeMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
TextureCompositeMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
TextureCompositeMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<0)); }
#endif /* __cplusplus */
};
struct TextureCompositeRGBAMode {
#if BIG_ENDIAN == 1
unsigned32 :9;
unsigned32 Scale :2;
unsigned32 Operation :4;
unsigned32 B :1;
unsigned32 A :1;
unsigned32 InvertI :1;
unsigned32 I :3;
unsigned32 InvertArg2 :1;
unsigned32 Arg2 :4;
unsigned32 InvertArg1 :1;
unsigned32 Arg1 :4;
unsigned32 Enable :1;
#else
unsigned32 Enable :1;
unsigned32 Arg1 :4;
unsigned32 InvertArg1 :1;
unsigned32 Arg2 :4;
unsigned32 InvertArg2 :1;
unsigned32 I :3;
unsigned32 InvertI :1;
unsigned32 A :1;
unsigned32 B :1;
unsigned32 Operation :4;
unsigned32 Scale :2;
unsigned32 :9;
#endif
#ifdef __cplusplus
TextureCompositeRGBAMode(void) { }
TextureCompositeRGBAMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
TextureCompositeRGBAMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
TextureCompositeRGBAMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
TextureCompositeRGBAMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x3<<21|0xf<<17|0x1<<16|0x1<<15|0x1<<14|0x7<<11|0x1<<10|0xf<<6|0x1<<5|0xf<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct TextureIndexMode {
#if BIG_ENDIAN == 1
unsigned32 :6;
unsigned32 SourceTexelEnable :1;
unsigned32 LinearBias :2;
unsigned32 NearestBias :2;
unsigned32 MipMapEnable :1;
unsigned32 Texture3DEnable :1;
unsigned32 MinificationFilter :3;
unsigned32 MagnificationFilter :1;
unsigned32 MapType :1;
unsigned32 WrapV :2;
unsigned32 WrapU :2;
unsigned32 Border :1;
unsigned32 Height :4;
unsigned32 Width :4;
unsigned32 Enable :1;
#else
unsigned32 Enable :1;
unsigned32 Width :4;
unsigned32 Height :4;
unsigned32 Border :1;
unsigned32 WrapU :2;
unsigned32 WrapV :2;
unsigned32 MapType :1;
unsigned32 MagnificationFilter :1;
unsigned32 MinificationFilter :3;
unsigned32 Texture3DEnable :1;
unsigned32 MipMapEnable :1;
unsigned32 NearestBias :2;
unsigned32 LinearBias :2;
unsigned32 SourceTexelEnable :1;
unsigned32 :6;
#endif
#ifdef __cplusplus
TextureIndexMode(void) { }
TextureIndexMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
TextureIndexMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
TextureIndexMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
TextureIndexMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<25|0x3<<23|0x3<<21|0x1<<20|0x1<<19|0x7<<16|0x1<<15|0x1<<14|0x3<<12|0x3<<10|0x1<<9|0xf<<5|0xf<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct LodRange {
#if BIG_ENDIAN == 1
unsigned32 :8;
unsigned32 Max :12;
unsigned32 Min :12;
#else
unsigned32 Min :12;
unsigned32 Max :12;
unsigned32 :8;
#endif
#ifdef __cplusplus
LodRange(void) { }
LodRange(const unsigned32 i) { *((unsigned32 *)this) = i; }
LodRange& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
LodRange& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
LodRange& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0xfff<<12|0xfff<<0)); }
#endif /* __cplusplus */
};
struct InvalidateCache {
#if BIG_ENDIAN == 1
unsigned32 :29;
unsigned32 InvalidateTLB :1;
unsigned32 InvalidateBank1 :1;
unsigned32 InvalidateBank0 :1;
#else
unsigned32 InvalidateBank0 :1;
unsigned32 InvalidateBank1 :1;
unsigned32 InvalidateTLB :1;
unsigned32 :29;
#endif
#ifdef __cplusplus
InvalidateCache(void) { }
InvalidateCache(const unsigned32 i) { *((unsigned32 *)this) = i; }
InvalidateCache& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
InvalidateCache& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
InvalidateCache& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<2|0x1<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct TouchLogicalPage {
#if BIG_ENDIAN == 1
unsigned32 Mode :2;
unsigned32 Count :14;
unsigned32 LogicalPage :16;
#else
unsigned32 LogicalPage :16;
unsigned32 Count :14;
unsigned32 Mode :2;
#endif
#ifdef __cplusplus
TouchLogicalPage(void) { }
TouchLogicalPage(const unsigned32 i) { *((unsigned32 *)this) = i; }
TouchLogicalPage& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
TouchLogicalPage& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
TouchLogicalPage& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x3<<30|0x3fff<<16|0xffff<<0)); }
#endif /* __cplusplus */
};
struct LUTMode {
#if BIG_ENDIAN == 1
unsigned32 :4;
unsigned32 SpanVCXAlignment :1;
unsigned32 SpanCCXAlignment :1;
unsigned32 PatternBase :8;
unsigned32 YOffset :3;
unsigned32 XOffset :3;
unsigned32 MotionComp8Bits :1;
unsigned32 SpanOperation :3;
unsigned32 FragmentOperation :3;
unsigned32 LoadColorOrder :1;
unsigned32 LoadFormat :2;
unsigned32 InColorOrder :1;
unsigned32 Enable :1;
#else
unsigned32 Enable :1;
unsigned32 InColorOrder :1;
unsigned32 LoadFormat :2;
unsigned32 LoadColorOrder :1;
unsigned32 FragmentOperation :3;
unsigned32 SpanOperation :3;
unsigned32 MotionComp8Bits :1;
unsigned32 XOffset :3;
unsigned32 YOffset :3;
unsigned32 PatternBase :8;
unsigned32 SpanCCXAlignment :1;
unsigned32 SpanVCXAlignment :1;
unsigned32 :4;
#endif
#ifdef __cplusplus
LUTMode(void) { }
LUTMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
LUTMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
LUTMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
LUTMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<27|0x1<<26|0xff<<18|0x7<<15|0x7<<12|0x1<<11|0x7<<8|0x7<<5|0x1<<4|0x3<<2|0x1<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct TextureLayoutMode {
#if BIG_ENDIAN == 1
unsigned32 Layout15 :2;
unsigned32 Layout14 :2;
unsigned32 Layout13 :2;
unsigned32 Layout12 :2;
unsigned32 Layout11 :2;
unsigned32 Layout10 :2;
unsigned32 Layout9 :2;
unsigned32 Layout8 :2;
unsigned32 Layout7 :2;
unsigned32 Layout6 :2;
unsigned32 Layout5 :2;
unsigned32 Layout4 :2;
unsigned32 Layout3 :2;
unsigned32 Layout2 :2;
unsigned32 Layout1 :2;
unsigned32 Layout0 :2;
#else
unsigned32 Layout0 :2;
unsigned32 Layout1 :2;
unsigned32 Layout2 :2;
unsigned32 Layout3 :2;
unsigned32 Layout4 :2;
unsigned32 Layout5 :2;
unsigned32 Layout6 :2;
unsigned32 Layout7 :2;
unsigned32 Layout8 :2;
unsigned32 Layout9 :2;
unsigned32 Layout10 :2;
unsigned32 Layout11 :2;
unsigned32 Layout12 :2;
unsigned32 Layout13 :2;
unsigned32 Layout14 :2;
unsigned32 Layout15 :2;
#endif
#ifdef __cplusplus
TextureLayoutMode(void) { }
TextureLayoutMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
TextureLayoutMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
TextureLayoutMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
TextureLayoutMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x3<<30|0x3<<28|0x3<<26|0x3<<24|0x3<<22|0x3<<20|0x3<<18|0x3<<16|0x3<<14|0x3<<12|0x3<<10|0x3<<8|0x3<<6|0x3<<4|0x3<<2|0x3<<0)); }
#endif /* __cplusplus */
};
struct TextureMapWidth {
#if BIG_ENDIAN == 1
unsigned32 :16;
unsigned32 HostTexture :1;
unsigned32 Layout :2;
unsigned32 Border :1;
unsigned32 Width :12;
#else
unsigned32 Width :12;
unsigned32 Border :1;
unsigned32 Layout :2;
unsigned32 HostTexture :1;
unsigned32 :16;
#endif
#ifdef __cplusplus
TextureMapWidth(void) { }
TextureMapWidth(const unsigned32 i) { *((unsigned32 *)this) = i; }
TextureMapWidth& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
TextureMapWidth& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
TextureMapWidth& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<15|0x3<<13|0x1<<12|0xfff<<0)); }
#endif /* __cplusplus */
};
struct TextureCacheReplacementMode {
#if BIG_ENDIAN == 1
unsigned32 :19;
unsigned32 ShowCacheInfo :1;
unsigned32 ScratchLines1 :5;
unsigned32 KeepOldest1 :1;
unsigned32 ScratchLines0 :5;
unsigned32 KeepOldest0 :1;
#else
unsigned32 KeepOldest0 :1;
unsigned32 ScratchLines0 :5;
unsigned32 KeepOldest1 :1;
unsigned32 ScratchLines1 :5;
unsigned32 ShowCacheInfo :1;
unsigned32 :19;
#endif
#ifdef __cplusplus
TextureCacheReplacementMode(void) { }
TextureCacheReplacementMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
TextureCacheReplacementMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
TextureCacheReplacementMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
TextureCacheReplacementMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<12|0x1f<<7|0x1<<6|0x1f<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct PhysicalPageAllocation {
#if BIG_ENDIAN == 1
unsigned32 :16;
unsigned32 Page :16;
#else
unsigned32 Page :16;
unsigned32 :16;
#endif
#ifdef __cplusplus
PhysicalPageAllocation(void) { }
PhysicalPageAllocation(const unsigned32 i) { *((unsigned32 *)this) = i; }
PhysicalPageAllocation& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
PhysicalPageAllocation& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
PhysicalPageAllocation& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0xffff<<0)); }
#endif /* __cplusplus */
};
struct PhysicalPageListEntry1 {
#if BIG_ENDIAN == 1
unsigned32 PrevPage :16;
unsigned32 NextPage :16;
#else
unsigned32 NextPage :16;
unsigned32 PrevPage :16;
#endif
#ifdef __cplusplus
PhysicalPageListEntry1(void) { }
PhysicalPageListEntry1(const unsigned32 i) { *((unsigned32 *)this) = i; }
PhysicalPageListEntry1& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
PhysicalPageListEntry1& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
PhysicalPageListEntry1& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0xffff<<16|0xffff<<0)); }
#endif /* __cplusplus */
};
struct LogicalPageTableEntry0 {
#if BIG_ENDIAN == 1
unsigned32 :15;
unsigned32 Resident :1;
unsigned32 PhysicalPage :16;
#else
unsigned32 PhysicalPage :16;
unsigned32 Resident :1;
unsigned32 :15;
#endif
#ifdef __cplusplus
LogicalPageTableEntry0(void) { }
LogicalPageTableEntry0(const unsigned32 i) { *((unsigned32 *)this) = i; }
LogicalPageTableEntry0& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
LogicalPageTableEntry0& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
LogicalPageTableEntry0& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<16|0xffff<<0)); }
#endif /* __cplusplus */
};
struct LogicalPageTableEntry1 {
#if BIG_ENDIAN == 1
unsigned32 HostPage :20;
unsigned32 VirtualHostPage :1;
unsigned32 MemoryPool :2;
unsigned32 Length :9;
#else
unsigned32 Length :9;
unsigned32 MemoryPool :2;
unsigned32 VirtualHostPage :1;
unsigned32 HostPage :20;
#endif
#ifdef __cplusplus
LogicalPageTableEntry1(void) { }
LogicalPageTableEntry1(const unsigned32 i) { *((unsigned32 *)this) = i; }
LogicalPageTableEntry1& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
LogicalPageTableEntry1& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
LogicalPageTableEntry1& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0xfffff<<12|0x1<<11|0x3<<9|0x1ff<<0)); }
#endif /* __cplusplus */
};
struct LBDestReadMode {
#if BIG_ENDIAN == 1
unsigned32 :8;
unsigned32 Width :12;
unsigned32 Packed16 :1;
unsigned32 UseReadEnables :1;
unsigned32 Origin :1;
unsigned32 Layout :1;
unsigned32 StripeHeight :3;
unsigned32 StripePitch :3;
unsigned32 PrefetchEnable :1;
unsigned32 Enable :1;
#else
unsigned32 Enable :1;
unsigned32 PrefetchEnable :1;
unsigned32 StripePitch :3;
unsigned32 StripeHeight :3;
unsigned32 Layout :1;
unsigned32 Origin :1;
unsigned32 UseReadEnables :1;
unsigned32 Packed16 :1;
unsigned32 Width :12;
unsigned32 :8;
#endif
#ifdef __cplusplus
LBDestReadMode(void) { }
LBDestReadMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
LBDestReadMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
LBDestReadMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
LBDestReadMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0xfff<<12|0x1<<11|0x1<<10|0x1<<9|0x1<<8|0x7<<5|0x7<<2|0x1<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct LBDestReadEnables {
#if BIG_ENDIAN == 1
unsigned32 :16;
unsigned32 R :8;
unsigned32 E :8;
#else
unsigned32 E :8;
unsigned32 R :8;
unsigned32 :16;
#endif
#ifdef __cplusplus
LBDestReadEnables(void) { }
LBDestReadEnables(const unsigned32 i) { *((unsigned32 *)this) = i; }
LBDestReadEnables& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
LBDestReadEnables& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
LBDestReadEnables& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0xff<<8|0xff<<0)); }
#endif /* __cplusplus */
};
struct LBSourceReadMode {
#if BIG_ENDIAN == 1
unsigned32 :9;
unsigned32 Width :12;
unsigned32 Packed16 :1;
unsigned32 Origin :1;
unsigned32 Layout :1;
unsigned32 StripeHeight :3;
unsigned32 StripePitch :3;
unsigned32 PrefetchEnable :1;
unsigned32 Enable :1;
#else
unsigned32 Enable :1;
unsigned32 PrefetchEnable :1;
unsigned32 StripePitch :3;
unsigned32 StripeHeight :3;
unsigned32 Layout :1;
unsigned32 Origin :1;
unsigned32 Packed16 :1;
unsigned32 Width :12;
unsigned32 :9;
#endif
#ifdef __cplusplus
LBSourceReadMode(void) { }
LBSourceReadMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
LBSourceReadMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
LBSourceReadMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
LBSourceReadMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0xfff<<11|0x1<<10|0x1<<9|0x1<<8|0x7<<5|0x7<<2|0x1<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct GIDMode {
#if BIG_ENDIAN == 1
unsigned32 :18;
unsigned32 ReplaceValue :4;
unsigned32 ReplaceMode :2;
unsigned32 CompareMode :2;
unsigned32 CompareValue :4;
unsigned32 SpanEnable :1;
unsigned32 FragmentEnable :1;
#else
unsigned32 FragmentEnable :1;
unsigned32 SpanEnable :1;
unsigned32 CompareValue :4;
unsigned32 CompareMode :2;
unsigned32 ReplaceMode :2;
unsigned32 ReplaceValue :4;
unsigned32 :18;
#endif
#ifdef __cplusplus
GIDMode(void) { }
GIDMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
GIDMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
GIDMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
GIDMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0xf<<10|0x3<<8|0x3<<6|0xf<<2|0x1<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct Config2D {
#if BIG_ENDIAN == 1
unsigned32 :11;
unsigned32 LUTModeEnable :1;
unsigned32 FBSourceReadModeExternalSourceData :1;
unsigned32 FBSourceReadModeBlocking :1;
unsigned32 FBWriteModeWriteEnable :1;
unsigned32 LogicalOpModeUseConstantSource :1;
unsigned32 LogicalOpBackgroundLogicalOp :4;
unsigned32 LogicalOpBackgroundEnable :1;
unsigned32 LogicalOpForegroundLogicalOp :4;
unsigned32 LogicalOpForegroundEnable :1;
unsigned32 DitherModeEnable :1;
unsigned32 AlphaBlendEnable :1;
unsigned32 FBDestReadModeReadEnable :1;
unsigned32 ScissorModeUserScissorEnable :1;
unsigned32 RasterizerModeMultiRXBlit :1;
unsigned32 RasterizerModeOpaqueSpans :1;
#else
unsigned32 RasterizerModeOpaqueSpans :1;
unsigned32 RasterizerModeMultiRXBlit :1;
unsigned32 ScissorModeUserScissorEnable :1;
unsigned32 FBDestReadModeReadEnable :1;
unsigned32 AlphaBlendEnable :1;
unsigned32 DitherModeEnable :1;
unsigned32 LogicalOpForegroundEnable :1;
unsigned32 LogicalOpForegroundLogicalOp :4;
unsigned32 LogicalOpBackgroundEnable :1;
unsigned32 LogicalOpBackgroundLogicalOp :4;
unsigned32 LogicalOpModeUseConstantSource :1;
unsigned32 FBWriteModeWriteEnable :1;
unsigned32 FBSourceReadModeBlocking :1;
unsigned32 FBSourceReadModeExternalSourceData :1;
unsigned32 LUTModeEnable :1;
unsigned32 :11;
#endif
#ifdef __cplusplus
Config2D(void) { }
Config2D(const unsigned32 i) { *((unsigned32 *)this) = i; }
Config2D& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
Config2D& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
Config2D& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<20|0x1<<19|0x1<<18|0x1<<17|0x1<<16|0xf<<12|0x1<<11|0xf<<7|0x1<<6|0x1<<5|0x1<<4|0x1<<3|0x1<<2|0x1<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct Render2D {
#if BIG_ENDIAN == 1
unsigned32 TextureEnable :1;
unsigned32 AreaStippleEnable :1;
unsigned32 IncreasingY :1;
unsigned32 IncreasingX :1;
unsigned32 Height :12;
unsigned32 SpanOperation :1;
unsigned32 FBReadSourceEnable :1;
unsigned32 Operation :2;
unsigned32 Width :12;
#else
unsigned32 Width :12;
unsigned32 Operation :2;
unsigned32 FBReadSourceEnable :1;
unsigned32 SpanOperation :1;
unsigned32 Height :12;
unsigned32 IncreasingX :1;
unsigned32 IncreasingY :1;
unsigned32 AreaStippleEnable :1;
unsigned32 TextureEnable :1;
#endif
#ifdef __cplusplus
Render2D(void) { }
Render2D(const unsigned32 i) { *((unsigned32 *)this) = i; }
Render2D& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
Render2D& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
Render2D& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<31|0x1<<30|0x1<<29|0x1<<28|0xfff<<16|0x1<<15|0x1<<14|0x3<<12|0xfff<<0)); }
#endif /* __cplusplus */
};
struct Render2DGlyph {
#if BIG_ENDIAN == 1
signed32 AdvanceY :9;
signed32 AdvanceX :9;
unsigned32 Height :7;
unsigned32 Width :7;
#else
unsigned32 Width :7;
unsigned32 Height :7;
signed32 AdvanceX :9;
signed32 AdvanceY :9;
#endif
#ifdef __cplusplus
Render2DGlyph(void) { }
Render2DGlyph(const unsigned32 i) { *((unsigned32 *)this) = i; }
Render2DGlyph& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
Render2DGlyph& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
Render2DGlyph& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1ff<<23|0x1ff<<14|0x7f<<7|0x7f<<0)); }
#endif /* __cplusplus */
};
struct DMAMemoryControl {
#if BIG_ENDIAN == 1
unsigned32 WriteDMAAlignment :1;
unsigned32 :2;
unsigned32 BurstSize :5;
unsigned32 :12;
unsigned32 ReadDMAAlignment :1;
unsigned32 :1;
unsigned32 ReadDMAMemory :1;
unsigned32 VertexAlignment :1;
unsigned32 :1;
unsigned32 VertexMemory :1;
unsigned32 IndexAlignment :1;
unsigned32 :1;
unsigned32 IndexMemory :1;
unsigned32 InputDMAAlignment :1;
unsigned32 :1;
unsigned32 InputDMAMemory :1;
#else
unsigned32 InputDMAMemory :1;
unsigned32 :1;
unsigned32 InputDMAAlignment :1;
unsigned32 IndexMemory :1;
unsigned32 :1;
unsigned32 IndexAlignment :1;
unsigned32 VertexMemory :1;
unsigned32 :1;
unsigned32 VertexAlignment :1;
unsigned32 ReadDMAMemory :1;
unsigned32 :1;
unsigned32 ReadDMAAlignment :1;
unsigned32 :12;
unsigned32 BurstSize :5;
unsigned32 :2;
unsigned32 WriteDMAAlignment :1;
#endif
#ifdef __cplusplus
DMAMemoryControl(void) { }
DMAMemoryControl(const unsigned32 i) { *((unsigned32 *)this) = i; }
DMAMemoryControl& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
DMAMemoryControl& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
DMAMemoryControl& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<31|0x1f<<24|0x1<<11|0x1<<9|0x1<<8|0x1<<6|0x1<<5|0x1<<3|0x1<<2|0x1<<0)); }
#endif /* __cplusplus */
};
struct IndexBaseAddress {
#if BIG_ENDIAN == 1
unsigned32 Address :31;
unsigned32 :1;
#else
unsigned32 :1;
unsigned32 Address :31;
#endif
#ifdef __cplusplus
IndexBaseAddress(void) { }
IndexBaseAddress(const unsigned32 i) { *((unsigned32 *)this) = i; }
IndexBaseAddress& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
IndexBaseAddress& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
IndexBaseAddress& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x7fffffff<<1)); }
#endif /* __cplusplus */
};
struct VertexBaseAddress {
#if BIG_ENDIAN == 1
unsigned32 Address :30;
unsigned32 :2;
#else
unsigned32 :2;
unsigned32 Address :30;
#endif
#ifdef __cplusplus
VertexBaseAddress(void) { }
VertexBaseAddress(const unsigned32 i) { *((unsigned32 *)this) = i; }
VertexBaseAddress& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
VertexBaseAddress& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
VertexBaseAddress& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x3fffffff<<2)); }
#endif /* __cplusplus */
};
struct VertexControl {
#if BIG_ENDIAN == 1
unsigned32 :21;
unsigned32 Line2D :1;
unsigned32 OGL :1;
unsigned32 SkipFlags :1;
unsigned32 ReadAll :1;
unsigned32 Flat :1;
unsigned32 CacheEnable :1;
unsigned32 Size :5;
#else
unsigned32 Size :5;
unsigned32 CacheEnable :1;
unsigned32 Flat :1;
unsigned32 ReadAll :1;
unsigned32 SkipFlags :1;
unsigned32 OGL :1;
unsigned32 Line2D :1;
unsigned32 :21;
#endif
#ifdef __cplusplus
VertexControl(void) { }
VertexControl(const unsigned32 i) { *((unsigned32 *)this) = i; }
VertexControl& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
VertexControl& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
VertexControl& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<10|0x1<<9|0x1<<8|0x1<<7|0x1<<6|0x1<<5|0x1f<<0)); }
#endif /* __cplusplus */
};
struct VertexTagList {
#if BIG_ENDIAN == 1
unsigned32 :21;
unsigned32 Tag :11;
#else
unsigned32 Tag :11;
unsigned32 :21;
#endif
#ifdef __cplusplus
VertexTagList(void) { }
VertexTagList(const unsigned32 i) { *((unsigned32 *)this) = i; }
VertexTagList& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
VertexTagList& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
VertexTagList& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x7ff<<0)); }
#endif /* __cplusplus */
};
struct IndexedDoubleVertex {
#if BIG_ENDIAN == 1
unsigned32 Index1 :16;
unsigned32 Index0 :16;
#else
unsigned32 Index0 :16;
unsigned32 Index1 :16;
#endif
#ifdef __cplusplus
IndexedDoubleVertex(void) { }
IndexedDoubleVertex(const unsigned32 i) { *((unsigned32 *)this) = i; }
IndexedDoubleVertex& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
IndexedDoubleVertex& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
IndexedDoubleVertex& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0xffff<<16|0xffff<<0)); }
#endif /* __cplusplus */
};
struct HostInState {
#if BIG_ENDIAN == 1
unsigned32 :1;
unsigned32 ReadDMAPitch :2;
unsigned32 ReadDMAAddress :2;
unsigned32 :12;
unsigned32 DataCount :6;
unsigned32 ProvokingVertexSent :1;
unsigned32 PrimitiveType :3;
unsigned32 PrimitiveStarted :1;
unsigned32 InvertBackfaceCull :1;
unsigned32 :1;
unsigned32 Vertex :2;
#else
unsigned32 Vertex :2;
unsigned32 :1;
unsigned32 InvertBackfaceCull :1;
unsigned32 PrimitiveStarted :1;
unsigned32 PrimitiveType :3;
unsigned32 ProvokingVertexSent :1;
unsigned32 DataCount :6;
unsigned32 :12;
unsigned32 ReadDMAAddress :2;
unsigned32 ReadDMAPitch :2;
unsigned32 :1;
#endif
#ifdef __cplusplus
HostInState(void) { }
HostInState(const unsigned32 i) { *((unsigned32 *)this) = i; }
HostInState& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
HostInState& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
HostInState& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x3<<29|0x3<<27|0x3f<<9|0x1<<8|0x7<<5|0x1<<4|0x1<<3|0x3<<0)); }
#endif /* __cplusplus */
};
struct Security {
#if BIG_ENDIAN == 1
unsigned32 :31;
unsigned32 Secure :1;
#else
unsigned32 Secure :1;
unsigned32 :31;
#endif
#ifdef __cplusplus
Security(void) { }
Security(const unsigned32 i) { *((unsigned32 *)this) = i; }
Security& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
Security& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
Security& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<0)); }
#endif /* __cplusplus */
};
struct SClkProfileMask {
#if BIG_ENDIAN == 1
unsigned32 :1;
unsigned32 Mode :1;
unsigned32 :7;
unsigned32 SetupOutputFull :1;
unsigned32 SetupInputEmpty :1;
unsigned32 PCIReadCtrlFull :1;
unsigned32 PCIDataEmpty :1;
unsigned32 VertexAddressEmpty :1;
unsigned32 IndexAddressEmpty :1;
unsigned32 DMAAddressEmpty :1;
unsigned32 VertexDataEmpty :1;
unsigned32 OutputFull :1;
unsigned32 VertexEmpty :1;
unsigned32 IndexDataEmpty :1;
unsigned32 VertexFull :1;
unsigned32 VertexAddressFull :1;
unsigned32 IndexEmpty :1;
unsigned32 DMAWriteCtrlFull :1;
unsigned32 DMADataEmpty :1;
unsigned32 IndexFull :1;
unsigned32 IndexAddressFull :1;
unsigned32 DMAEmpty :1;
unsigned32 DMAFull :1;
unsigned32 DMAAddressFull :1;
unsigned32 InputEmpty :1;
unsigned32 Always :1;
#else
unsigned32 Always :1;
unsigned32 InputEmpty :1;
unsigned32 DMAAddressFull :1;
unsigned32 DMAFull :1;
unsigned32 DMAEmpty :1;
unsigned32 IndexAddressFull :1;
unsigned32 IndexFull :1;
unsigned32 DMADataEmpty :1;
unsigned32 DMAWriteCtrlFull :1;
unsigned32 IndexEmpty :1;
unsigned32 VertexAddressFull :1;
unsigned32 VertexFull :1;
unsigned32 IndexDataEmpty :1;
unsigned32 VertexEmpty :1;
unsigned32 OutputFull :1;
unsigned32 VertexDataEmpty :1;
unsigned32 DMAAddressEmpty :1;
unsigned32 IndexAddressEmpty :1;
unsigned32 VertexAddressEmpty :1;
unsigned32 PCIDataEmpty :1;
unsigned32 PCIReadCtrlFull :1;
unsigned32 SetupInputEmpty :1;
unsigned32 SetupOutputFull :1;
unsigned32 :7;
unsigned32 Mode :1;
unsigned32 :1;
#endif
#ifdef __cplusplus
SClkProfileMask(void) { }
SClkProfileMask(const unsigned32 i) { *((unsigned32 *)this) = i; }
SClkProfileMask& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
SClkProfileMask& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
SClkProfileMask& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<30|0x1<<22|0x1<<21|0x1<<20|0x1<<19|0x1<<18|0x1<<17|0x1<<16|0x1<<15|0x1<<14|0x1<<13|0x1<<12|0x1<<11|0x1<<10|0x1<<9|0x1<<8|0x1<<7|0x1<<6|0x1<<5|0x1<<4|0x1<<3|0x1<<2|0x1<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct TextureDownloadControl {
#if BIG_ENDIAN == 1
unsigned32 :18;
unsigned32 SlavetextureDownload :1;
unsigned32 TextureThreshold :5;
unsigned32 TextureGranularity :5;
unsigned32 TextureMemType :1;
unsigned32 TextureDownloadBusy :1;
unsigned32 TextureDownloadEnable :1;
#else
unsigned32 TextureDownloadEnable :1;
unsigned32 TextureDownloadBusy :1;
unsigned32 TextureMemType :1;
unsigned32 TextureGranularity :5;
unsigned32 TextureThreshold :5;
unsigned32 SlavetextureDownload :1;
unsigned32 :18;
#endif
#ifdef __cplusplus
TextureDownloadControl(void) { }
TextureDownloadControl(const unsigned32 i) { *((unsigned32 *)this) = i; }
TextureDownloadControl& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
TextureDownloadControl& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
TextureDownloadControl& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<13|0x1f<<8|0x1f<<3|0x1<<2|0x1<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct DeltaFormatControl {
#if BIG_ENDIAN == 1
unsigned32 :15;
unsigned32 TextureShift1 :1;
unsigned32 BackfaceCull :1;
unsigned32 PerPolyMipMap1 :1;
unsigned32 PerPolyMipMap :1;
unsigned32 ShareQ :1;
unsigned32 ShareT :1;
unsigned32 ShareS :1;
unsigned32 ForceQ :1;
unsigned32 ScaleByQ1 :1;
unsigned32 ScaleByQ :1;
unsigned32 TextureShift :1;
unsigned32 WrapT1 :1;
unsigned32 WrapS1 :1;
unsigned32 WrapT :1;
unsigned32 WrapS :1;
unsigned32 EqualQ :1;
unsigned32 Enable :1;
#else
unsigned32 Enable :1;
unsigned32 EqualQ :1;
unsigned32 WrapS :1;
unsigned32 WrapT :1;
unsigned32 WrapS1 :1;
unsigned32 WrapT1 :1;
unsigned32 TextureShift :1;
unsigned32 ScaleByQ :1;
unsigned32 ScaleByQ1 :1;
unsigned32 ForceQ :1;
unsigned32 ShareS :1;
unsigned32 ShareT :1;
unsigned32 ShareQ :1;
unsigned32 PerPolyMipMap :1;
unsigned32 PerPolyMipMap1 :1;
unsigned32 BackfaceCull :1;
unsigned32 TextureShift1 :1;
unsigned32 :15;
#endif
#ifdef __cplusplus
DeltaFormatControl(void) { }
DeltaFormatControl(const unsigned32 i) { *((unsigned32 *)this) = i; }
DeltaFormatControl& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
DeltaFormatControl& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
DeltaFormatControl& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<16|0x1<<15|0x1<<14|0x1<<13|0x1<<12|0x1<<11|0x1<<10|0x1<<9|0x1<<8|0x1<<7|0x1<<6|0x1<<5|0x1<<4|0x1<<3|0x1<<2|0x1<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct DeltaFormatMode {
#if BIG_ENDIAN == 1
unsigned32 :2;
unsigned32 :3;
unsigned32 TextureEnable1 :1;
unsigned32 :20;
unsigned32 TextureEnable :1;
unsigned32 :5;
#else
unsigned32 :5;
unsigned32 TextureEnable :1;
unsigned32 :20;
unsigned32 TextureEnable1 :1;
unsigned32 :3;
unsigned32 :2;
#endif
#ifdef __cplusplus
DeltaFormatMode(void) { }
DeltaFormatMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
DeltaFormatMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
DeltaFormatMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
DeltaFormatMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<26|0x1<<5)); }
#endif /* __cplusplus */
};
struct StripeOwnership {
#if BIG_ENDIAN == 1
unsigned32 :24;
unsigned32 Stripe1 :3;
unsigned32 Stripe1Enable :1;
unsigned32 Stripe0 :3;
unsigned32 Stripe0Enable :1;
#else
unsigned32 Stripe0Enable :1;
unsigned32 Stripe0 :3;
unsigned32 Stripe1Enable :1;
unsigned32 Stripe1 :3;
unsigned32 :24;
#endif
#ifdef __cplusplus
StripeOwnership(void) { }
StripeOwnership(const unsigned32 i) { *((unsigned32 *)this) = i; }
StripeOwnership& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
StripeOwnership& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
StripeOwnership& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x7<<5|0x1<<4|0x7<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct Extend {
#if BIG_ENDIAN == 1
unsigned32 :21;
unsigned32 Integer :8;
unsigned32 Fraction :3;
#else
unsigned32 Fraction :3;
unsigned32 Integer :8;
unsigned32 :21;
#endif
#ifdef __cplusplus
Extend(void) { }
Extend(const unsigned32 i) { *((unsigned32 *)this) = i; }
Extend& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
Extend& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
Extend& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0xff<<3|0x7<<0)); }
#endif /* __cplusplus */
};
struct MatrixStatus {
#if BIG_ENDIAN == 1
unsigned32 :29;
unsigned32 BoundingBoxOverrun :1;
unsigned32 StackUnderflow :1;
unsigned32 StackOverflow :1;
#else
unsigned32 StackOverflow :1;
unsigned32 StackUnderflow :1;
unsigned32 BoundingBoxOverrun :1;
unsigned32 :29;
#endif
#ifdef __cplusplus
MatrixStatus(void) { }
MatrixStatus(const unsigned32 i) { *((unsigned32 *)this) = i; }
MatrixStatus& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
MatrixStatus& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
MatrixStatus& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<2|0x1<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct GetMatrix {
#if BIG_ENDIAN == 1
unsigned32 :22;
unsigned32 Level :5;
unsigned32 Select :4;
unsigned32 AnyMatrix :1;
#else
unsigned32 AnyMatrix :1;
unsigned32 Select :4;
unsigned32 Level :5;
unsigned32 :22;
#endif
#ifdef __cplusplus
GetMatrix(void) { }
GetMatrix(const unsigned32 i) { *((unsigned32 *)this) = i; }
GetMatrix& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
GetMatrix& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
GetMatrix& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1f<<5|0xf<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct TextureFogMiscGeneralContext {
#if BIG_ENDIAN == 1
unsigned32 :17;
unsigned32 TextureTexGenSelect :3;
unsigned32 TextureMatrixSelect :3;
unsigned32 TextureModeSelect :3;
unsigned32 Vertex :2;
unsigned32 ValidatedTextureFog :1;
unsigned32 InPrimitive :1;
unsigned32 FogEnable :1;
unsigned32 TextureEnable :1;
#else
unsigned32 TextureEnable :1;
unsigned32 FogEnable :1;
unsigned32 InPrimitive :1;
unsigned32 ValidatedTextureFog :1;
unsigned32 Vertex :2;
unsigned32 TextureModeSelect :3;
unsigned32 TextureMatrixSelect :3;
unsigned32 TextureTexGenSelect :3;
unsigned32 :17;
#endif
#ifdef __cplusplus
TextureFogMiscGeneralContext(void) { }
TextureFogMiscGeneralContext(const unsigned32 i) { *((unsigned32 *)this) = i; }
TextureFogMiscGeneralContext& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
TextureFogMiscGeneralContext& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
TextureFogMiscGeneralContext& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x7<<12|0x7<<9|0x7<<6|0x3<<4|0x1<<3|0x1<<2|0x1<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct PipeMode {
#if BIG_ENDIAN == 1
unsigned32 :10;
unsigned32 ObjectIDPerPrimitive :1;
unsigned32 ObjectTagEnable :1;
unsigned32 FifoBusyLevel :5;
unsigned32 MaxPrimCount :7;
unsigned32 MinPrimCount :5;
unsigned32 NextPipe :1;
unsigned32 SwitchPipe :1;
unsigned32 UseOnePipeOnly :1;
#else
unsigned32 UseOnePipeOnly :1;
unsigned32 SwitchPipe :1;
unsigned32 NextPipe :1;
unsigned32 MinPrimCount :5;
unsigned32 MaxPrimCount :7;
unsigned32 FifoBusyLevel :5;
unsigned32 ObjectTagEnable :1;
unsigned32 ObjectIDPerPrimitive :1;
unsigned32 :10;
#endif
#ifdef __cplusplus
PipeMode(void) { }
PipeMode(const unsigned32 i) { *((unsigned32 *)this) = i; }
PipeMode& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
PipeMode& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
PipeMode& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<21|0x1<<20|0x1f<<15|0x7f<<8|0x1f<<3|0x1<<2|0x1<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct PipeLoad {
#if BIG_ENDIAN == 1
unsigned32 :19;
unsigned32 BlendEnable :1;
unsigned32 FogEnable :1;
unsigned32 SpecularEnable :1;
unsigned32 DiffuseEnable :1;
unsigned32 FaceNormalEnable :1;
unsigned32 TextureEnable7 :1;
unsigned32 TextureEnable6 :1;
unsigned32 TextureEnable5 :1;
unsigned32 TextureEnable4 :1;
unsigned32 TextureEnable3 :1;
unsigned32 TextureEnable2 :1;
unsigned32 TextureEnable1 :1;
unsigned32 ForceReload :1;
#else
unsigned32 ForceReload :1;
unsigned32 TextureEnable1 :1;
unsigned32 TextureEnable2 :1;
unsigned32 TextureEnable3 :1;
unsigned32 TextureEnable4 :1;
unsigned32 TextureEnable5 :1;
unsigned32 TextureEnable6 :1;
unsigned32 TextureEnable7 :1;
unsigned32 FaceNormalEnable :1;
unsigned32 DiffuseEnable :1;
unsigned32 SpecularEnable :1;
unsigned32 FogEnable :1;
unsigned32 BlendEnable :1;
unsigned32 :19;
#endif
#ifdef __cplusplus
PipeLoad(void) { }
PipeLoad(const unsigned32 i) { *((unsigned32 *)this) = i; }
PipeLoad& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
PipeLoad& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
PipeLoad& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x1<<12|0x1<<11|0x1<<10|0x1<<9|0x1<<8|0x1<<7|0x1<<6|0x1<<5|0x1<<4|0x1<<3|0x1<<2|0x1<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct CommandDMAControl {
#if BIG_ENDIAN == 1
unsigned32 :25;
unsigned32 BurstSize :3;
unsigned32 ByteSwap :2;
unsigned32 Alignment :1;
unsigned32 Protocol :1;
#else
unsigned32 Protocol :1;
unsigned32 Alignment :1;
unsigned32 ByteSwap :2;
unsigned32 BurstSize :3;
unsigned32 :25;
#endif
#ifdef __cplusplus
CommandDMAControl(void) { }
CommandDMAControl(const unsigned32 i) { *((unsigned32 *)this) = i; }
CommandDMAControl& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
CommandDMAControl& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
CommandDMAControl& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x7<<4|0x3<<2|0x1<<1|0x1<<0)); }
#endif /* __cplusplus */
};
struct CommandState {
#if BIG_ENDIAN == 1
unsigned32 :28;
unsigned32 Started :2;
unsigned32 Result :1;
unsigned32 Test :1;
#else
unsigned32 Test :1;
unsigned32 Result :1;
unsigned32 Started :2;
unsigned32 :28;
#endif
#ifdef __cplusplus
CommandState(void) { }
CommandState(const unsigned32 i) { *((unsigned32 *)this) = i; }
CommandState& operator=(const unsigned32 i) { *((unsigned32 *)this) = i; return (*this); }
CommandState& operator&=(const unsigned32 i) { *((unsigned32 *)this) &= i; return (*this); }
CommandState& operator|=(const unsigned32 i) { *((unsigned32 *)this) |= i; return (*this); }
unsigned32 ReadUnmasked(void) { return *((unsigned32 *)this); }
operator unsigned32(void) const { return (*((unsigned32 *)this) & (0x3<<2|0x1<<1|0x1<<0)); }
#endif /* __cplusplus */
};
#endif /* _REG_H_ */
#endif