1#ifndef _DOLPHIN_GX_GXVERT_H_
2#define _DOLPHIN_GX_GXVERT_H_
11#define GXFIFO_ADDR 0xCC008000
29#define GXWGFifo (*(volatile PPCWGPipe *)GXFIFO_ADDR)
36#define FUNC_1PARAM(name, T) void name##1##T(const T x);
37#define FUNC_2PARAM(name, T) void name##2##T(const T x, const T y);
38#define FUNC_3PARAM(name, T) void name##3##T(const T x, const T y, const T z);
39#define FUNC_4PARAM(name, T) void name##4##T(const T x, const T y, const T z, const T w);
40#define FUNC_INDEX8(name) void name##1x8(const u8 x);
41#define FUNC_INDEX16(name) void name##1x16(const u16 x);
47#define FUNC_1PARAM(name, T) \
48static inline void name##1##T(const T x) { GXWGFifo.T = x; }
50#define FUNC_2PARAM(name, T) \
51static inline void name##2##T(const T x, const T y) { GXWGFifo.T = x; GXWGFifo.T = y; }
53#define FUNC_3PARAM(name, T) \
54static inline void name##3##T(const T x, const T y, const T z) { GXWGFifo.T = x; GXWGFifo.T = y; GXWGFifo.T = z; }
56#define FUNC_4PARAM(name, T) \
57static inline void name##4##T(const T x, const T y, const T z, const T w) { GXWGFifo.T = x; GXWGFifo.T = y; GXWGFifo.T = z; GXWGFifo.T = w; }
59#define FUNC_INDEX8(name) \
60static inline void name##1x8(const u8 x) { GXWGFifo.u8 = x; }
62#define FUNC_INDEX16(name) \
63static inline void name##1x16(const u16 x) { GXWGFifo.u16 = x; }
81FUNC_4PARAM(GXParam,
f32)
95FUNC_INDEX8(GXPosition)
124FUNC_INDEX8(GXTexCoord)
volatile PPCWGPipe GXWGFifo AT_ADDRESS(GXFIFO_ADDR)
u16 u8 u32 s16 f32 f32 u8 u16 f32 FUNC_2PARAM(GXPosition, u8) FUNC_2PARAM(GXPosition
u16 u8 u32 s16 f32 FUNC_3PARAM(GXParam, f32) FUNC_4PARAM(GXParam
u16 u8 u32 s16 f32 f32 u8 u16 f32 s8 s16 FUNC_INDEX16(GXPosition) FUNC_INDEX8(GXPosition) FUNC_3PARAM(GXNormal
FUNC_1PARAM(GXCmd, u8) FUNC_1PARAM(GXCmd
Definition d_menu_dmap_map.cpp:90
signed char s8
Definition types.h:4
unsigned long u32
Definition types.h:9
signed short int s16
Definition types.h:6
signed long long int s64
Definition types.h:10
float f32
Definition types.h:22
double f64
Definition types.h:23
unsigned short int u16
Definition types.h:7
unsigned long long int u64
Definition types.h:11
signed long s32
Definition types.h:8
unsigned char u8
Definition types.h:5
s16 s16
Definition GXVert.h:19
s8 s8
Definition GXVert.h:18
f64 f64
Definition GXVert.h:23
f32 f32
Definition GXVert.h:22
u32 u32
Definition GXVert.h:16
u16 u16
Definition GXVert.h:15
s32 s32
Definition GXVert.h:20
s64 s64
Definition GXVert.h:21
u8 u8
Definition GXVert.h:14
u64 u64
Definition GXVert.h:17