Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
__gx.h File Reference

Go to the source code of this file.

Classes

struct  __GXFifoObj
 
struct  __GXData_struct
 
struct  __GXVerifyData
 

Typedefs

typedef struct __GXFifoObj __GXFifoObj
 
typedef struct __GXData_struct GXData
 
typedef struct __GXVerifyData __GXVerifyData
 

Enumerations

enum  GXWarnID {
  GXWARN_INVALID_VTX_FMT = 0 , GXWARN_TEX_SIZE_INIT = 1 , GXWARN_SCISSOR_RECT_LEFT = 2 , GXWARN_SCISSOR_RECT_TOP = 3 ,
  GXWARN_SCISSOR_RECT_RIGHT = 4 , GXWARN_SCISSOR_RECT_BOT = 5 , GXWARN_SAMPLE_VALUE = 6 , GXWARN_BUMP_CMD = 7 ,
  GXWARN_INVALID_INDIRECT = 8 , GXWARN_INDIRECT_MTX = 9 , GXWARN_IND_TEX_NO_INIT = 10 , GXWARN_IND_TEX_NO_SCALE = 11 ,
  GXWARN_IND_TEX_BUMP = 12 , GXWARN_BUMP_ACCUMULATION = 13 , GXWARN_BUMP_ALPHA_EN = 14 , GXWARN_IND_DIR_MASK = 15 ,
  GXWARN_TEV_TEX_REF = 16 , GXWARN_TEV_INV_TEX_COORD = 17 , GXWARN_IND_DIR_BOTH = 18 , GXWARN_TEX_CONFIG = 19 ,
  GXWARN_TEX_BASE = 20 , GXWARN_TLUT_CONFIG = 21 , GXWARN_TEX_POW2 = 22 , GXWARN_TEX_CLAMP = 23 ,
  GXWARN_TEX_MIN_FILT = 24 , GXWARN_MIN_LOD = 25 , GXWARN_MAX_LOD = 26 , GXWARN_DIAG_LOD = 27 ,
  GXWARN_TEX_ANISO = 28 , GXWARN_TEX_FIELD = 29 , GXWARN_TEX_RND_FP = 30 , GXWARN_RND_CLR_INDX = 31 ,
  GXWARN_TEV_ENV = 32 , GXWARN_TEV_INV_CHAN = 33 , GXWARN_TEV_NULL_TEX = 34 , GXWARN_TEV_NULL_TEX_A = 35 ,
  GXWARN_TEV_DIRTY_REG = 36 , GXWARN_TEV_DIRTY_REG_A = 37 , GXWARN_TEV_CLR_CLAMP = 38 , GXWARN_TEV_A_CLAMP = 39 ,
  GXWARN_ZTEX_OFFSET = 40 , GXWARN_ZTEX_INVALID = 41 , GXWARN_TEV_LAST_CLR = 42 , GXWARN_TEV_LAST_A = 43 ,
  GXWARN_TEV_LAST_CLR_WRAP = 44 , GXWARN_TEV_LAST_A_WRAP = 45 , GXWARN_Z_BEFORE_T_A = 46 , GXWARN_BLEND_LOGICOP = 47 ,
  GXWARN_DITHER_MODE = 48 , GXWARN_MULTISAMP0 = 49 , GXWARN_MULTISAMP1 = 50 , GXWARN_SAMP_ORDER = 51 ,
  GXWARN_INVALID_TG_TYPE = 52 , GXWARN_XF_CTRL_UNINIT = 53 , GXWARN_XF_CTRL_INIT = 54 , GXWARN_INV_COLOR_TG_COMB = 55 ,
  GXWARN_XF_NO_CLR_TEX = 56 , GXWARN_VTX_NO_GEOM = 57 , GXWARN_VAT_MISMATCH = 58 , GXWARN_VAT_NRM_TYPE = 59 ,
  GXWARN_VAT_NRM_FRAC = 60 , GXWARN_VAT_F32_FRAC = 61 , GXWARN_VAT_CLR_FRAC = 62 , GXWARN_INV_IVS_CLR = 63 ,
  GXWARN_NRM_XF0_CP1 = 64 , GXWARN_NRM_XF0_CP3 = 65 , GXWARN_NRM_XF1_CP0 = 66 , GXWARN_NRM_XF1_CP3 = 67 ,
  GXWARN_NRM_XF3_CP1 = 68 , GXWARN_VCD_FMT_UNSUP = 69 , GXWARN_VCD_CLR_ORDER = 70 , GXWARN_VCD_TEX_ORDER = 71 ,
  GXWARN_TEX_SRC_NPOS = 72 , GXWARN_TEX_SRC_NNRM = 73 , GXWARN_TEX_SRC_NCLR0 = 74 , GXWARN_TEX_SRC_NCLR1 = 75 ,
  GXWARN_TEX_SRC_NNBT = 76 , GXWARN_TEX_SRC_NTEX = 77 , GXWARN_INV_TEX_SRC = 78 , GXWARN_INV_TG_ORDER = 79 ,
  GXWARN_BM_INV_MTX_NDX = 80 , GXWARN_BM_INV_TEX = 81 , GXWARN_BM_INV_LIT_POS = 82 , GXWARN_BM_NO_NBT = 83 ,
  GXWARN_INV_TEX_NUM = 84 , GXWARN_VIEWPORT_TOP = 85 , GXWARN_VIEWPORT_BOTTOM = 86 , GXWARN_VIEWPORT_LEFT = 87 ,
  GXWARN_VIEWPORT_RIGHT = 88 , GXWARN_CLR_INV_SPEC = 89 , GXWARN_CLR_NO_NRM = 90 , GXWARN_CLR_INV_MTX_NDX = 91 ,
  GXWARN_VAL_INFINITY = 92 , GXWARN_VAL_NAN = 93 , GXWARN_VAL_SMALL = 94 , GXWARN_VAL_LARGE = 95 ,
  GXWARN_MTX1_UNINIT = 96 , GXWARN_GM_UNINIT = 97 , GXWARN_TEX_XFN_SUM = 98 , GXWARN_CLR_XFN_SUM = 99 ,
  GXWARN_INV_NUM_ANY_TEX = 100 , GXWARN_INV_NUM_REG_TEX = 101 , GXWARN_INV_NUM_BM_TEX = 102 , GXWARN_INV_NUM_CLR_TEX = 103 ,
  GXWARN_INV_CLR_TEX = 104 , GXWARN_DUP_CLR_TEX = 105 , GXWARN_BM_INV_MTX_VAL = 106 , GXWARN_TEX_INV_MTX_VAL = 107 ,
  GXWARN_LIT_INV_REG = 108 , GXWARN_CLR_INV_MTX_VAL = 109 , GXWARN_INV_MTX_VAL = 110 , GXWARN_ADDR_UNINIT = 111 ,
  GXWARN_REG_UNINIT = 112 , GXWARN_DL_INV_CMD = 113 , GXWARN_DL_NESTED = 114 , GXWARN_CLR_XF0_CP1 = 115 ,
  GXWARN_CLR_XF1_CP0 = 116 , GXWARN_CLR_XF1_CP2 = 117 , GXWARN_CLR_XF2_CPN1 = 118 , GXWARN_CLR_XF2_CPN2 = 119 ,
  GXWARN_INV_NUM_COLORS = 120 , GXWARN_INV_TG_SRC = 121 , GXWARN_CLR_ADDR_UNINIT = 122 , GXWARN_CLR_MAT_UNINIT = 123 ,
  GXWARN_CLR_AMB_UNINIT = 124 , GXWARN_MAX = 125
}
 

Functions

void __GXSetVCD (void)
 
void __GXSetVAT (void)
 
void __GXUpdateBPMask (void)
 
void __GXFlushTextureState (void)
 
void __GXSaveCPUFifoAux (__GXFifoObj *realFifo)
 
void __GXFifoInit (void)
 
void __GXInsaneWatermark (void)
 
void __GXCleanGPFifo (void)
 
void __GXSetDirtyState (void)
 
void __GXSendFlushPrim (void)
 
void __GXSetGenMode (void)
 
void __GXInitGX ()
 
void __GXInitRevisionBits (void)
 
void __GXBypass (u32 reg)
 
u16 __GXReadPEReg (u32 reg)
 
void __GXPEInit (void)
 
void __GXAbort ()
 
void __GXSetBWDials (u16 cpDial, u16 tcDial, u16 peDial, u16 cpuRdDial, u16 cpuWrDial)
 
static u32 __GXReadCPCounterU32 (u32 regAddrL, u32 regAddrH)
 
static u32 __GXReadMEMCounterU32 (u32 regAddrL, u32 regAddrH)
 
static u32 __GXReadPECounterU32 (u32 regAddrL, u32 regAddrH)
 
void __GXShadowDispList (void *list, u32 nbytes)
 
void __GXShadowIndexState (u32 idx_reg, u32 reg_data)
 
void __GXPrintShadowState (void)
 
void __GXSetRange (f32 nearz, f32 fgSideX)
 
void __GetImageTileCount (GXTexFmt fmt, u16 wd, u16 ht, u32 *rowTiles, u32 *colTiles, u32 *cmpTiles)
 
void __GXSetSUTexRegs (void)
 
void __GXGetSUTexSize (GXTexCoordID coord, u16 *width, u16 *height)
 
void __GXSetTmemConfig (u32 config)
 
void __GXSetMatrixIndex (GXAttr matIdxAttr)
 
void __GXSetProjection (void)
 
void __GXSetViewport ()
 
void __GXVerifySU (void)
 
void __GXVerifyBUMP (void)
 
void __GXVerifyTEX (void)
 
void __GXVerifyTEV (void)
 
void __GXVerifyPE (void)
 
void __GXVerifyGlobal (void)
 
void __GXVerifyCP (GXVtxFmt fmt)
 
void __GXVerifyState (GXVtxFmt vtxfmt)
 
void __GXVerifyXF (void)
 

Variables

GXData *const __GXData
 
void * __memReg
 
void * __peReg
 
void * __cpReg
 
void * __piReg
 
GXBool __GXinBegin
 
__GXVerifyData__gxVerif
 
char * __gxvWarnings [125]
 
char __gxvDummyStr [256]
 
GXWarningLevel __gxvWarnLev []
 

Typedef Documentation

◆ __GXFifoObj

typedef struct __GXFifoObj __GXFifoObj

◆ __GXVerifyData

typedef struct __GXVerifyData __GXVerifyData

◆ GXData

typedef struct __GXData_struct GXData

Enumeration Type Documentation

◆ GXWarnID

enum GXWarnID
Enumerator
GXWARN_INVALID_VTX_FMT 
GXWARN_TEX_SIZE_INIT 
GXWARN_SCISSOR_RECT_LEFT 
GXWARN_SCISSOR_RECT_TOP 
GXWARN_SCISSOR_RECT_RIGHT 
GXWARN_SCISSOR_RECT_BOT 
GXWARN_SAMPLE_VALUE 
GXWARN_BUMP_CMD 
GXWARN_INVALID_INDIRECT 
GXWARN_INDIRECT_MTX 
GXWARN_IND_TEX_NO_INIT 
GXWARN_IND_TEX_NO_SCALE 
GXWARN_IND_TEX_BUMP 
GXWARN_BUMP_ACCUMULATION 
GXWARN_BUMP_ALPHA_EN 
GXWARN_IND_DIR_MASK 
GXWARN_TEV_TEX_REF 
GXWARN_TEV_INV_TEX_COORD 
GXWARN_IND_DIR_BOTH 
GXWARN_TEX_CONFIG 
GXWARN_TEX_BASE 
GXWARN_TLUT_CONFIG 
GXWARN_TEX_POW2 
GXWARN_TEX_CLAMP 
GXWARN_TEX_MIN_FILT 
GXWARN_MIN_LOD 
GXWARN_MAX_LOD 
GXWARN_DIAG_LOD 
GXWARN_TEX_ANISO 
GXWARN_TEX_FIELD 
GXWARN_TEX_RND_FP 
GXWARN_RND_CLR_INDX 
GXWARN_TEV_ENV 
GXWARN_TEV_INV_CHAN 
GXWARN_TEV_NULL_TEX 
GXWARN_TEV_NULL_TEX_A 
GXWARN_TEV_DIRTY_REG 
GXWARN_TEV_DIRTY_REG_A 
GXWARN_TEV_CLR_CLAMP 
GXWARN_TEV_A_CLAMP 
GXWARN_ZTEX_OFFSET 
GXWARN_ZTEX_INVALID 
GXWARN_TEV_LAST_CLR 
GXWARN_TEV_LAST_A 
GXWARN_TEV_LAST_CLR_WRAP 
GXWARN_TEV_LAST_A_WRAP 
GXWARN_Z_BEFORE_T_A 
GXWARN_BLEND_LOGICOP 
GXWARN_DITHER_MODE 
GXWARN_MULTISAMP0 
GXWARN_MULTISAMP1 
GXWARN_SAMP_ORDER 
GXWARN_INVALID_TG_TYPE 
GXWARN_XF_CTRL_UNINIT 
GXWARN_XF_CTRL_INIT 
GXWARN_INV_COLOR_TG_COMB 
GXWARN_XF_NO_CLR_TEX 
GXWARN_VTX_NO_GEOM 
GXWARN_VAT_MISMATCH 
GXWARN_VAT_NRM_TYPE 
GXWARN_VAT_NRM_FRAC 
GXWARN_VAT_F32_FRAC 
GXWARN_VAT_CLR_FRAC 
GXWARN_INV_IVS_CLR 
GXWARN_NRM_XF0_CP1 
GXWARN_NRM_XF0_CP3 
GXWARN_NRM_XF1_CP0 
GXWARN_NRM_XF1_CP3 
GXWARN_NRM_XF3_CP1 
GXWARN_VCD_FMT_UNSUP 
GXWARN_VCD_CLR_ORDER 
GXWARN_VCD_TEX_ORDER 
GXWARN_TEX_SRC_NPOS 
GXWARN_TEX_SRC_NNRM 
GXWARN_TEX_SRC_NCLR0 
GXWARN_TEX_SRC_NCLR1 
GXWARN_TEX_SRC_NNBT 
GXWARN_TEX_SRC_NTEX 
GXWARN_INV_TEX_SRC 
GXWARN_INV_TG_ORDER 
GXWARN_BM_INV_MTX_NDX 
GXWARN_BM_INV_TEX 
GXWARN_BM_INV_LIT_POS 
GXWARN_BM_NO_NBT 
GXWARN_INV_TEX_NUM 
GXWARN_VIEWPORT_TOP 
GXWARN_VIEWPORT_BOTTOM 
GXWARN_VIEWPORT_LEFT 
GXWARN_VIEWPORT_RIGHT 
GXWARN_CLR_INV_SPEC 
GXWARN_CLR_NO_NRM 
GXWARN_CLR_INV_MTX_NDX 
GXWARN_VAL_INFINITY 
GXWARN_VAL_NAN 
GXWARN_VAL_SMALL 
GXWARN_VAL_LARGE 
GXWARN_MTX1_UNINIT 
GXWARN_GM_UNINIT 
GXWARN_TEX_XFN_SUM 
GXWARN_CLR_XFN_SUM 
GXWARN_INV_NUM_ANY_TEX 
GXWARN_INV_NUM_REG_TEX 
GXWARN_INV_NUM_BM_TEX 
GXWARN_INV_NUM_CLR_TEX 
GXWARN_INV_CLR_TEX 
GXWARN_DUP_CLR_TEX 
GXWARN_BM_INV_MTX_VAL 
GXWARN_TEX_INV_MTX_VAL 
GXWARN_LIT_INV_REG 
GXWARN_CLR_INV_MTX_VAL 
GXWARN_INV_MTX_VAL 
GXWARN_ADDR_UNINIT 
GXWARN_REG_UNINIT 
GXWARN_DL_INV_CMD 
GXWARN_DL_NESTED 
GXWARN_CLR_XF0_CP1 
GXWARN_CLR_XF1_CP0 
GXWARN_CLR_XF1_CP2 
GXWARN_CLR_XF2_CPN1 
GXWARN_CLR_XF2_CPN2 
GXWARN_INV_NUM_COLORS 
GXWARN_INV_TG_SRC 
GXWARN_CLR_ADDR_UNINIT 
GXWARN_CLR_MAT_UNINIT 
GXWARN_CLR_AMB_UNINIT 
GXWARN_MAX 

Function Documentation

◆ __GetImageTileCount()

void __GetImageTileCount ( GXTexFmt fmt,
u16 wd,
u16 ht,
u32 * rowTiles,
u32 * colTiles,
u32 * cmpTiles )

◆ __GXAbort()

void __GXAbort ( )

◆ __GXBypass()

void __GXBypass ( u32 reg)

◆ __GXCleanGPFifo()

void __GXCleanGPFifo ( void )

◆ __GXFifoInit()

void __GXFifoInit ( void )

◆ __GXFlushTextureState()

void __GXFlushTextureState ( void )

◆ __GXGetSUTexSize()

void __GXGetSUTexSize ( GXTexCoordID coord,
u16 * width,
u16 * height )

◆ __GXInitGX()

void __GXInitGX ( )

◆ __GXInitRevisionBits()

void __GXInitRevisionBits ( void )

◆ __GXInsaneWatermark()

void __GXInsaneWatermark ( void )

◆ __GXPEInit()

void __GXPEInit ( void )

◆ __GXPrintShadowState()

void __GXPrintShadowState ( void )

◆ __GXReadCPCounterU32()

static u32 __GXReadCPCounterU32 ( u32 regAddrL,
u32 regAddrH )
inlinestatic

◆ __GXReadMEMCounterU32()

static u32 __GXReadMEMCounterU32 ( u32 regAddrL,
u32 regAddrH )
inlinestatic

◆ __GXReadPECounterU32()

static u32 __GXReadPECounterU32 ( u32 regAddrL,
u32 regAddrH )
inlinestatic

◆ __GXReadPEReg()

u16 __GXReadPEReg ( u32 reg)

◆ __GXSaveCPUFifoAux()

void __GXSaveCPUFifoAux ( __GXFifoObj * realFifo)

◆ __GXSendFlushPrim()

void __GXSendFlushPrim ( void )

◆ __GXSetBWDials()

void __GXSetBWDials ( u16 cpDial,
u16 tcDial,
u16 peDial,
u16 cpuRdDial,
u16 cpuWrDial )

◆ __GXSetDirtyState()

void __GXSetDirtyState ( void )

◆ __GXSetGenMode()

void __GXSetGenMode ( void )

◆ __GXSetMatrixIndex()

void __GXSetMatrixIndex ( GXAttr matIdxAttr)

◆ __GXSetProjection()

void __GXSetProjection ( void )

◆ __GXSetRange()

void __GXSetRange ( f32 nearz,
f32 fgSideX )

◆ __GXSetSUTexRegs()

void __GXSetSUTexRegs ( void )

◆ __GXSetTmemConfig()

void __GXSetTmemConfig ( u32 config)

◆ __GXSetVAT()

void __GXSetVAT ( void )

◆ __GXSetVCD()

void __GXSetVCD ( void )

◆ __GXSetViewport()

void __GXSetViewport ( )

◆ __GXShadowDispList()

void __GXShadowDispList ( void * list,
u32 nbytes )

◆ __GXShadowIndexState()

void __GXShadowIndexState ( u32 idx_reg,
u32 reg_data )

◆ __GXUpdateBPMask()

void __GXUpdateBPMask ( void )

◆ __GXVerifyBUMP()

void __GXVerifyBUMP ( void )

◆ __GXVerifyCP()

void __GXVerifyCP ( GXVtxFmt fmt)

◆ __GXVerifyGlobal()

void __GXVerifyGlobal ( void )

◆ __GXVerifyPE()

void __GXVerifyPE ( void )

◆ __GXVerifyState()

void __GXVerifyState ( GXVtxFmt vtxfmt)

◆ __GXVerifySU()

void __GXVerifySU ( void )

◆ __GXVerifyTEV()

void __GXVerifyTEV ( void )

◆ __GXVerifyTEX()

void __GXVerifyTEX ( void )

◆ __GXVerifyXF()

void __GXVerifyXF ( void )

Variable Documentation

◆ __cpReg

void* __cpReg
extern

◆ __GXData

GXData* const __GXData
extern

◆ __GXinBegin

GXBool __GXinBegin
extern

◆ __gxvDummyStr

char __gxvDummyStr[256]
extern

◆ __gxVerif

__GXVerifyData* __gxVerif
extern

◆ __gxvWarnings

char* __gxvWarnings[125]
extern

◆ __gxvWarnLev

GXWarningLevel __gxvWarnLev[]
extern

◆ __memReg

void* __memReg
extern

◆ __peReg

void* __peReg
extern

◆ __piReg

void* __piReg
extern