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
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
|