#pragma once

enum
{
	CELL_GCM_DISPLAY_HSYNC				= 1,
	CELL_GCM_DISPLAY_VSYNC				= 2,
	CELL_GCM_DISPLAY_HSYNC_WITH_NOISE	= 3,
};

struct CellGcmControl
{
	u32 put;
	u32 get;
	u32 ref;
};

struct CellGcmConfig
{
	u32 localAddress;
	u32 ioAddress;
	u32 localSize;
	u32 ioSize;
	u32 memoryFrequency;
	u32 coreFrequency;
};

struct CellGcmContextData
{
	u32 begin;
	u32 end;
	u32 current;
	u32 callback;
};

struct gcmInfo
{
	u32 config_addr;
	u32 context_addr;
	u32 control_addr;
};

enum
{
	CELL_GCM_LOCATION_LOCAL,
	CELL_GCM_LOCATION_MAIN,
};

enum
{
// NV406E
	NV406E_SET_REFERENCE				= 0x00000050,
	NV406E_SET_CONTEXT_DMA_SEMAPHORE	= 0x00000060,
	NV406E_SEMAPHORE_OFFSET				= 0x00000064,
	NV406E_SEMAPHORE_ACQUIRE			= 0x00000068,
	NV406E_SEMAPHORE_RELEASE			= 0x0000006c,

// NV4097
	NV4097_SET_OBJECT					= 0x00000000,
	NV4097_NO_OPERATION					= 0x00000100,
	NV4097_NOTIFY						= 0x00000104,
	NV4097_WAIT_FOR_IDLE				= 0x00000110,
	NV4097_PM_TRIGGER					= 0x00000140,
	NV4097_SET_CONTEXT_DMA_NOTIFIES		= 0x00000180,
	NV4097_SET_CONTEXT_DMA_A			= 0x00000184,
	NV4097_SET_CONTEXT_DMA_B			= 0x00000188,
	NV4097_SET_CONTEXT_DMA_COLOR_B		= 0x0000018c,
	NV4097_SET_CONTEXT_DMA_STATE		= 0x00000190,
	NV4097_SET_CONTEXT_DMA_COLOR_A		= 0x00000194,
	NV4097_SET_CONTEXT_DMA_ZETA			= 0x00000198,
	NV4097_SET_CONTEXT_DMA_VERTEX_A		= 0x0000019c,
	NV4097_SET_CONTEXT_DMA_VERTEX_B		= 0x000001a0,
	NV4097_SET_CONTEXT_DMA_SEMAPHORE	= 0x000001a4,
	NV4097_SET_CONTEXT_DMA_REPORT		= 0x000001a8,
	NV4097_SET_CONTEXT_DMA_CLIP_ID		= 0x000001ac,
	NV4097_SET_CONTEXT_DMA_CULL_DATA	= 0x000001b0,
	NV4097_SET_CONTEXT_DMA_COLOR_C		= 0x000001b4,
	NV4097_SET_CONTEXT_DMA_COLOR_D		= 0x000001b8,
	NV4097_SET_SURFACE_CLIP_HORIZONTAL	= 0x00000200,
	NV4097_SET_SURFACE_CLIP_VERTICAL	= 0x00000204,
	NV4097_SET_SURFACE_FORMAT			= 0x00000208,
	NV4097_SET_SURFACE_PITCH_A			= 0x0000020c,
	NV4097_SET_SURFACE_COLOR_AOFFSET	= 0x00000210,
	NV4097_SET_SURFACE_ZETA_OFFSET		= 0x00000214,
	NV4097_SET_SURFACE_COLOR_BOFFSET	= 0x00000218,
	NV4097_SET_SURFACE_PITCH_B			= 0x0000021c,
	NV4097_SET_SURFACE_COLOR_TARGET		= 0x00000220,
	NV4097_SET_SURFACE_PITCH_Z			= 0x0000022c,
	NV4097_INVALIDATE_ZCULL				= 0x00000234,
	NV4097_SET_CYLINDRICAL_WRAP			= 0x00000238,
	NV4097_SET_CYLINDRICAL_WRAP1		= 0x0000023c,
	NV4097_SET_SURFACE_PITCH_C			= 0x00000280,
	NV4097_SET_SURFACE_PITCH_D			= 0x00000284,
	NV4097_SET_SURFACE_COLOR_COFFSET	= 0x00000288,
	NV4097_SET_SURFACE_COLOR_DOFFSET	= 0x0000028c,
	NV4097_SET_WINDOW_OFFSET			= 0x000002b8,
	NV4097_SET_WINDOW_CLIP_TYPE			= 0x000002bc,
	NV4097_SET_WINDOW_CLIP_HORIZONTAL	= 0x000002c0,
	NV4097_SET_WINDOW_CLIP_VERTICAL		= 0x000002c4,
	NV4097_SET_DITHER_ENABLE			= 0x00000300,
	NV4097_SET_ALPHA_TEST_ENABLE		= 0x00000304,
	NV4097_SET_ALPHA_FUNC				= 0x00000308,
	NV4097_SET_ALPHA_REF				= 0x0000030c,
	NV4097_SET_BLEND_ENABLE				= 0x00000310,
	NV4097_SET_BLEND_FUNC_SFACTOR		= 0x00000314,
	NV4097_SET_BLEND_FUNC_DFACTOR		= 0x00000318,
	NV4097_SET_BLEND_COLOR				= 0x0000031c,
	NV4097_SET_BLEND_EQUATION			= 0x00000320,
	NV4097_SET_COLOR_MASK				= 0x00000324,
	NV4097_SET_STENCIL_TEST_ENABLE		= 0x00000328,
	NV4097_SET_STENCIL_MASK				= 0x0000032c,
	NV4097_SET_STENCIL_FUNC				= 0x00000330,
	NV4097_SET_STENCIL_FUNC_REF			= 0x00000334,
	NV4097_SET_STENCIL_FUNC_MASK		= 0x00000338,
	NV4097_SET_STENCIL_OP_FAIL			= 0x0000033c,
	NV4097_SET_STENCIL_OP_ZFAIL			= 0x00000340,
	NV4097_SET_STENCIL_OP_ZPASS			= 0x00000344,
	NV4097_SET_TWO_SIDED_STENCIL_TEST_ENABLE = 0x00000348,
	NV4097_SET_BACK_STENCIL_MASK		= 0x0000034c,
	NV4097_SET_BACK_STENCIL_FUNC		= 0x00000350,
	NV4097_SET_BACK_STENCIL_FUNC_REF	= 0x00000354,
	NV4097_SET_BACK_STENCIL_FUNC_MASK	= 0x00000358,
	NV4097_SET_BACK_STENCIL_OP_FAIL		= 0x0000035c,
	NV4097_SET_BACK_STENCIL_OP_ZFAIL	= 0x00000360,
	NV4097_SET_BACK_STENCIL_OP_ZPASS	= 0x00000364,
	NV4097_SET_SHADE_MODE				= 0x00000368,
	NV4097_SET_BLEND_ENABLE_MRT			= 0x0000036c,
	NV4097_SET_COLOR_MASK_MRT			= 0x00000370,
	NV4097_SET_LOGIC_OP_ENABLE			= 0x00000374,
	NV4097_SET_LOGIC_OP					= 0x00000378,
	NV4097_SET_BLEND_COLOR2				= 0x0000037c,
	NV4097_SET_DEPTH_BOUNDS_TEST_ENABLE	= 0x00000380,
	NV4097_SET_DEPTH_BOUNDS_MIN			= 0x00000384,
	NV4097_SET_DEPTH_BOUNDS_MAX			= 0x00000388,
	NV4097_SET_CLIP_MIN					= 0x00000394,
	NV4097_SET_CLIP_MAX					= 0x00000398,
	NV4097_SET_CONTROL0					= 0x000003b0,
	NV4097_SET_LINE_WIDTH				= 0x000003b8,
	NV4097_SET_LINE_SMOOTH_ENABLE		= 0x000003bc,
	NV4097_SET_ANISO_SPREAD				= 0x000003c0,
	NV4097_SET_SCISSOR_HORIZONTAL		= 0x000008c0,
	NV4097_SET_SCISSOR_VERTICAL			= 0x000008c4,
	NV4097_SET_FOG_MODE					= 0x000008cc,
	NV4097_SET_FOG_PARAMS				= 0x000008d0,
	NV4097_SET_SHADER_PROGRAM			= 0x000008e4,
	NV4097_SET_VERTEX_TEXTURE_OFFSET	= 0x00000900,
	NV4097_SET_VERTEX_TEXTURE_FORMAT	= 0x00000904,
	NV4097_SET_VERTEX_TEXTURE_ADDRESS	= 0x00000908,
	NV4097_SET_VERTEX_TEXTURE_CONTROL0	= 0x0000090c,
	NV4097_SET_VERTEX_TEXTURE_CONTROL3	= 0x00000910,
	NV4097_SET_VERTEX_TEXTURE_FILTER	= 0x00000914,
	NV4097_SET_VERTEX_TEXTURE_IMAGE_RECT = 0x00000918,
	NV4097_SET_VERTEX_TEXTURE_BORDER_COLOR = 0x0000091c,
	NV4097_SET_VIEWPORT_HORIZONTAL		= 0x00000a00,
	NV4097_SET_VIEWPORT_VERTICAL		= 0x00000a04,
	NV4097_SET_POINT_CENTER_MODE		= 0x00000a0c,
	NV4097_ZCULL_SYNC					= 0x00000a1c,
	NV4097_SET_VIEWPORT_OFFSET			= 0x00000a20,
	NV4097_SET_VIEWPORT_SCALE			= 0x00000a30,
	NV4097_SET_POLY_OFFSET_POINT_ENABLE	= 0x00000a60,
	NV4097_SET_POLY_OFFSET_LINE_ENABLE	= 0x00000a64,
	NV4097_SET_POLY_OFFSET_FILL_ENABLE	= 0x00000a68,
	NV4097_SET_DEPTH_FUNC				= 0x00000a6c,
	NV4097_SET_DEPTH_MASK				= 0x00000a70,
	NV4097_SET_DEPTH_TEST_ENABLE		= 0x00000a74,
	NV4097_SET_POLYGON_OFFSET_SCALE_FACTOR = 0x00000a78,
	NV4097_SET_POLYGON_OFFSET_BIAS		= 0x00000a7c,
	NV4097_SET_VERTEX_DATA_SCALED4S_M	= 0x00000a80,
	NV4097_SET_TEXTURE_CONTROL2			= 0x00000b00,
	NV4097_SET_TEX_COORD_CONTROL		= 0x00000b40,
	NV4097_SET_TRANSFORM_PROGRAM		= 0x00000b80,
	NV4097_SET_SPECULAR_ENABLE			= 0x00001428,
	NV4097_SET_TWO_SIDE_LIGHT_EN		= 0x0000142c,
	NV4097_CLEAR_ZCULL_SURFACE			= 0x00001438,
	NV4097_SET_PERFORMANCE_PARAMS		= 0x00001450,
	NV4097_SET_FLAT_SHADE_OP			= 0x00001454,
	NV4097_SET_EDGE_FLAG				= 0x0000145c,
	NV4097_SET_USER_CLIP_PLANE_CONTROL	= 0x00001478,
	NV4097_SET_POLYGON_STIPPLE			= 0x0000147c,
	NV4097_SET_POLYGON_STIPPLE_PATTERN	= 0x00001480,
	NV4097_SET_VERTEX_DATA3F_M			= 0x00001500,
	NV4097_SET_VERTEX_DATA_ARRAY_OFFSET	= 0x00001680,
	NV4097_INVALIDATE_VERTEX_CACHE_FILE	= 0x00001710,
	NV4097_INVALIDATE_VERTEX_FILE		= 0x00001714,
	NV4097_PIPE_NOP						= 0x00001718,
	NV4097_SET_VERTEX_DATA_BASE_OFFSET	= 0x00001738,
	NV4097_SET_VERTEX_DATA_BASE_INDEX	= 0x0000173c,
	NV4097_SET_VERTEX_DATA_ARRAY_FORMAT = 0x00001740,
	NV4097_CLEAR_REPORT_VALUE			= 0x000017c8,
	NV4097_SET_ZPASS_PIXEL_COUNT_ENABLE = 0x000017cc,
	NV4097_GET_REPORT					= 0x00001800,
	NV4097_SET_ZCULL_STATS_ENABLE		= 0x00001804,
	NV4097_SET_BEGIN_END				= 0x00001808,
	NV4097_ARRAY_ELEMENT16				= 0x0000180c,
	NV4097_ARRAY_ELEMENT32				= 0x00001810,
	NV4097_DRAW_ARRAYS					= 0x00001814,
	NV4097_INLINE_ARRAY					= 0x00001818,
	NV4097_SET_INDEX_ARRAY_ADDRESS		= 0x0000181c,
	NV4097_SET_INDEX_ARRAY_DMA			= 0x00001820,
	NV4097_DRAW_INDEX_ARRAY				= 0x00001824,
	NV4097_SET_FRONT_POLYGON_MODE		= 0x00001828,
	NV4097_SET_BACK_POLYGON_MODE		= 0x0000182c,
	NV4097_SET_CULL_FACE				= 0x00001830,
	NV4097_SET_FRONT_FACE				= 0x00001834,
	NV4097_SET_POLY_SMOOTH_ENABLE		= 0x00001838,
	NV4097_SET_CULL_FACE_ENABLE			= 0x0000183c,
	NV4097_SET_TEXTURE_CONTROL3			= 0x00001840,
	NV4097_SET_VERTEX_DATA2F_M			= 0x00001880,
	NV4097_SET_VERTEX_DATA2S_M			= 0x00001900,
	NV4097_SET_VERTEX_DATA4UB_M			= 0x00001940,
	NV4097_SET_VERTEX_DATA4S_M			= 0x00001980,
	NV4097_SET_TEXTURE_OFFSET			= 0x00001a00,
	NV4097_SET_TEXTURE_FORMAT			= 0x00001a04,
	NV4097_SET_TEXTURE_ADDRESS			= 0x00001a08,
	NV4097_SET_TEXTURE_CONTROL0			= 0x00001a0c,
	NV4097_SET_TEXTURE_CONTROL1			= 0x00001a10,
	NV4097_SET_TEXTURE_FILTER			= 0x00001a14,
	NV4097_SET_TEXTURE_IMAGE_RECT		= 0x00001a18,
	NV4097_SET_TEXTURE_BORDER_COLOR		= 0x00001a1c,
	NV4097_SET_VERTEX_DATA4F_M			= 0x00001c00,
	NV4097_SET_COLOR_KEY_COLOR			= 0x00001d00,
	NV4097_SET_SHADER_CONTROL			= 0x00001d60,
	NV4097_SET_INDEXED_CONSTANT_READ_LIMITS = 0x00001d64,
	NV4097_SET_SEMAPHORE_OFFSET			= 0x00001d6c,
	NV4097_BACK_END_WRITE_SEMAPHORE_RELEASE = 0x00001d70,
	NV4097_TEXTURE_READ_SEMAPHORE_RELEASE = 0x00001d74,
	NV4097_SET_ZMIN_MAX_CONTROL			= 0x00001d78,
	NV4097_SET_ANTI_ALIASING_CONTROL	= 0x00001d7c,
	NV4097_SET_SURFACE_COMPRESSION		= 0x00001d80,
	NV4097_SET_ZCULL_EN					= 0x00001d84,
	NV4097_SET_SHADER_WINDOW			= 0x00001d88,
	NV4097_SET_ZSTENCIL_CLEAR_VALUE		= 0x00001d8c,
	NV4097_SET_COLOR_CLEAR_VALUE		= 0x00001d90,
	NV4097_CLEAR_SURFACE				= 0x00001d94,
	NV4097_SET_CLEAR_RECT_HORIZONTAL	= 0x00001d98,
	NV4097_SET_CLEAR_RECT_VERTICAL		= 0x00001d9c,
	NV4097_SET_CLIP_ID_TEST_ENABLE		= 0x00001da4,
	NV4097_SET_RESTART_INDEX_ENABLE		= 0x00001dac,
	NV4097_SET_RESTART_INDEX			= 0x00001db0,
	NV4097_SET_LINE_STIPPLE				= 0x00001db4,
	NV4097_SET_LINE_STIPPLE_PATTERN		= 0x00001db8,
	NV4097_SET_VERTEX_DATA1F_M			= 0x00001e40,
	NV4097_SET_TRANSFORM_EXECUTION_MODE = 0x00001e94,
	NV4097_SET_RENDER_ENABLE			= 0x00001e98,
	NV4097_SET_TRANSFORM_PROGRAM_LOAD	= 0x00001e9c,
	NV4097_SET_TRANSFORM_PROGRAM_START	= 0x00001ea0,
	NV4097_SET_ZCULL_CONTROL0			= 0x00001ea4,
	NV4097_SET_ZCULL_CONTROL1			= 0x00001ea8,
	NV4097_SET_SCULL_CONTROL			= 0x00001eac,
	NV4097_SET_POINT_SIZE				= 0x00001ee0,
	NV4097_SET_POINT_PARAMS_ENABLE		= 0x00001ee4,
	NV4097_SET_POINT_SPRITE_CONTROL		= 0x00001ee8,
	NV4097_SET_TRANSFORM_TIMEOUT		= 0x00001ef8,
	NV4097_SET_TRANSFORM_CONSTANT_LOAD	= 0x00001efc,
	NV4097_SET_TRANSFORM_CONSTANT		= 0x00001f00,
	NV4097_SET_FREQUENCY_DIVIDER_OPERATION = 0x00001fc0,
	NV4097_SET_ATTRIB_COLOR				= 0x00001fc4,
	NV4097_SET_ATTRIB_TEX_COORD			= 0x00001fc8,
	NV4097_SET_ATTRIB_TEX_COORD_EX		= 0x00001fcc,
	NV4097_SET_ATTRIB_UCLIP0			= 0x00001fd0,
	NV4097_SET_ATTRIB_UCLIP1			= 0x00001fd4,
	NV4097_INVALIDATE_L2				= 0x00001fd8,
	NV4097_SET_REDUCE_DST_COLOR			= 0x00001fe0,
	NV4097_SET_NO_PARANOID_TEXTURE_FETCHES = 0x00001fe8,
	NV4097_SET_SHADER_PACKER			= 0x00001fec,
	NV4097_SET_VERTEX_ATTRIB_INPUT_MASK = 0x00001ff0,
	NV4097_SET_VERTEX_ATTRIB_OUTPUT_MASK = 0x00001ff4,
	NV4097_SET_TRANSFORM_BRANCH_BITS	= 0x00001ff8,

// NV0039
	NV0039_SET_OBJECT					= 0x00002000,
	NV0039_SET_CONTEXT_DMA_NOTIFIES		= 0x00002180,
	NV0039_SET_CONTEXT_DMA_BUFFER_IN	= 0x00002184,
	NV0039_SET_CONTEXT_DMA_BUFFER_OUT	= 0x00002188,
	NV0039_OFFSET_IN					= 0x0000230C,
	NV0039_OFFSET_OUT					= 0x00002310,
	NV0039_PITCH_IN						= 0x00002314,
	NV0039_PITCH_OUT					= 0x00002318,
	NV0039_LINE_LENGTH_IN				= 0x0000231C,
	NV0039_LINE_COUNT					= 0x00002320,
	NV0039_FORMAT						= 0x00002324,
	NV0039_BUFFER_NOTIFY				= 0x00002328,

// NV3062
	NV3062_SET_OBJECT					= 0x00006000,
	NV3062_SET_CONTEXT_DMA_NOTIFIES		= 0x00006180,
	NV3062_SET_CONTEXT_DMA_IMAGE_SOURCE = 0x00006184,
	NV3062_SET_CONTEXT_DMA_IMAGE_DESTIN = 0x00006188,
	NV3062_SET_COLOR_FORMAT				= 0x00006300,
	NV3062_SET_PITCH					= 0x00006304,
	NV3062_SET_OFFSET_SOURCE			= 0x00006308,
	NV3062_SET_OFFSET_DESTIN			= 0x0000630C,

// NV309E
	NV309E_SET_OBJECT					= 0x00008000,
	NV309E_SET_CONTEXT_DMA_NOTIFIES		= 0x00008180,
	NV309E_SET_CONTEXT_DMA_IMAGE		= 0x00008184,
	NV309E_SET_FORMAT					= 0x00008300,
	NV309E_SET_OFFSET					= 0x00008304,

// NV308A
	NV308A_SET_OBJECT					= 0x0000A000,
	NV308A_SET_CONTEXT_DMA_NOTIFIES		= 0x0000A180,
	NV308A_SET_CONTEXT_COLOR_KEY		= 0x0000A184,
	NV308A_SET_CONTEXT_CLIP_RECTANGLE	= 0x0000A188,
	NV308A_SET_CONTEXT_PATTERN			= 0x0000A18C,
	NV308A_SET_CONTEXT_ROP				= 0x0000A190,
	NV308A_SET_CONTEXT_BETA1			= 0x0000A194,
	NV308A_SET_CONTEXT_BETA4			= 0x0000A198,
	NV308A_SET_CONTEXT_SURFACE			= 0x0000A19C,
	NV308A_SET_COLOR_CONVERSION			= 0x0000A2F8,
	NV308A_SET_OPERATION				= 0x0000A2FC,
	NV308A_SET_COLOR_FORMAT				= 0x0000A300,
	NV308A_POINT						= 0x0000A304,
	NV308A_SIZE_OUT						= 0x0000A308,
	NV308A_SIZE_IN						= 0x0000A30C,
	NV308A_COLOR						= 0x0000A400,

// NV3089
	NV3089_SET_OBJECT					= 0x0000C000,
	NV3089_SET_CONTEXT_DMA_NOTIFIES		= 0x0000C180,
	NV3089_SET_CONTEXT_DMA_IMAGE		= 0x0000C184,
	NV3089_SET_CONTEXT_PATTERN			= 0x0000C188,
	NV3089_SET_CONTEXT_ROP				= 0x0000C18C,
	NV3089_SET_CONTEXT_BETA1			= 0x0000C190,
	NV3089_SET_CONTEXT_BETA4			= 0x0000C194,
	NV3089_SET_CONTEXT_SURFACE			= 0x0000C198,
	NV3089_SET_COLOR_CONVERSION			= 0x0000C2FC,
	NV3089_SET_COLOR_FORMAT				= 0x0000C300,
	NV3089_SET_OPERATION				= 0x0000C304,
	NV3089_CLIP_POINT					= 0x0000C308,
	NV3089_CLIP_SIZE					= 0x0000C30C,
	NV3089_IMAGE_OUT_POINT				= 0x0000C310,
	NV3089_IMAGE_OUT_SIZE				= 0x0000C314,
	NV3089_DS_DX						= 0x0000C318,
	NV3089_DT_DY						= 0x0000C31C,
	NV3089_IMAGE_IN_SIZE				= 0x0000C400,
	NV3089_IMAGE_IN_FORMAT				= 0x0000C404,
	NV3089_IMAGE_IN_OFFSET				= 0x0000C408,
	NV3089_IMAGE_IN						= 0x0000C40C,
};

static const wxString GetMethodName(const u32 id)
{
	struct MethodName
	{
		const u32 id;
		const wxString& name;
	} static const METHOD_NAME_LIST[] = {
		{ NV4097_NO_OPERATION , "NoOperation" } ,
		{ NV4097_NOTIFY , "Notify" } ,
		{ NV4097_WAIT_FOR_IDLE , "WaitForIdle" } ,
		{ NV4097_PM_TRIGGER , "PmTrigger" } ,
		{ NV4097_SET_CONTEXT_DMA_NOTIFIES , "SetContextDmaNotifies" } ,
		{ NV4097_SET_CONTEXT_DMA_A , "SetContextDmaA" } ,
		{ NV4097_SET_CONTEXT_DMA_B , "SetContextDmaB" } ,
		{ NV4097_SET_CONTEXT_DMA_COLOR_B , "SetContextDmaColorB" } ,
		{ NV4097_SET_CONTEXT_DMA_STATE , "SetContextDmaState" } ,
		{ NV4097_SET_CONTEXT_DMA_COLOR_A , "SetContextDmaColorA" } ,
		{ NV4097_SET_CONTEXT_DMA_ZETA , "SetContextDmaZeta" } ,
		{ NV4097_SET_CONTEXT_DMA_VERTEX_A , "SetContextDmaVertexA" } ,
		{ NV4097_SET_CONTEXT_DMA_VERTEX_B , "SetContextDmaVertexB" } ,
		{ NV4097_SET_CONTEXT_DMA_SEMAPHORE , "SetContextDmaSemaphore" } ,
		{ NV4097_SET_CONTEXT_DMA_REPORT , "SetContextDmaReport" } ,
		{ NV4097_SET_CONTEXT_DMA_CLIP_ID , "SetContextDmaClipId" } ,
		{ NV4097_SET_CONTEXT_DMA_CULL_DATA , "SetContextDmaCullData" } ,
		{ NV4097_SET_CONTEXT_DMA_COLOR_C , "SetContextDmaColorC" } ,
		{ NV4097_SET_CONTEXT_DMA_COLOR_D , "SetContextDmaColorD" } ,
		{ NV4097_SET_SURFACE_CLIP_HORIZONTAL , "SetSurfaceClipHorizontal" } ,
		{ NV4097_SET_SURFACE_CLIP_VERTICAL , "SetSurfaceClipVertical" } ,
		{ NV4097_SET_SURFACE_FORMAT , "SetSurfaceFormat" } ,
		{ NV4097_SET_SURFACE_PITCH_A , "SetSurfacePitchA" } ,
		{ NV4097_SET_SURFACE_COLOR_AOFFSET , "SetSurfaceColorAOffset" } ,
		{ NV4097_SET_SURFACE_ZETA_OFFSET , "SetSurfaceZetaOffset" } ,
		{ NV4097_SET_SURFACE_COLOR_BOFFSET , "SetSurfaceColorBOffset" } ,
		{ NV4097_SET_SURFACE_PITCH_B , "SetSurfacePitchB" } ,
		{ NV4097_SET_SURFACE_COLOR_TARGET , "SetSurfaceColorTarget" } ,
		{ NV4097_SET_SURFACE_PITCH_Z , "SetSurfacePitchZ" } ,
		{ NV4097_INVALIDATE_ZCULL , "InvalidateZcull" } ,
		{ NV4097_SET_CYLINDRICAL_WRAP , "SetCylindricalWrap" } ,
		{ NV4097_SET_CYLINDRICAL_WRAP1 , "SetCylindricalWrap1" } ,
		{ NV4097_SET_SURFACE_PITCH_C , "SetSurfacePitchC" } ,
		{ NV4097_SET_SURFACE_PITCH_D , "SetSurfacePitchD" } ,
		{ NV4097_SET_SURFACE_COLOR_COFFSET , "SetSurfaceColorCOffset" } ,
		{ NV4097_SET_SURFACE_COLOR_DOFFSET , "SetSurfaceColorDOffset" } ,
		{ NV4097_SET_WINDOW_OFFSET , "SetWindowOffset" } ,
		{ NV4097_SET_DITHER_ENABLE , "SetDitherEnable" } ,
		{ NV4097_SET_ALPHA_TEST_ENABLE , "SetAlphaTestEnable" } ,
		{ NV4097_SET_ALPHA_FUNC , "SetAlphaFunc" } ,
		{ NV4097_SET_ALPHA_REF , "SetAlphaRef" } ,
		{ NV4097_SET_BLEND_ENABLE , "SetBlendEnable" } ,
		{ NV4097_SET_BLEND_FUNC_SFACTOR , "SetBlendFuncSfactor" } ,
		{ NV4097_SET_BLEND_FUNC_DFACTOR , "SetBlendFuncDfactor" } ,
		{ NV4097_SET_BLEND_COLOR , "SetBlendColor" } ,
		{ NV4097_SET_BLEND_EQUATION , "SetBlendEquation" } ,
		{ NV4097_SET_COLOR_MASK , "SetColorMask" } ,
		{ NV4097_SET_STENCIL_TEST_ENABLE , "SetStencilTestEnable" } ,
		{ NV4097_SET_STENCIL_MASK , "SetStencilMask" } ,
		{ NV4097_SET_STENCIL_FUNC , "SetStencilFunc" } ,
		{ NV4097_SET_STENCIL_FUNC_REF , "SetStencilFuncRef" } ,
		{ NV4097_SET_STENCIL_FUNC_MASK , "SetStencilFuncMask" } ,
		{ NV4097_SET_STENCIL_OP_FAIL , "SetStencilOpFail" } ,
		{ NV4097_SET_STENCIL_OP_ZFAIL , "SetStencilOpZfail" } ,
		{ NV4097_SET_STENCIL_OP_ZPASS , "SetStencilOpZpass" } ,
		{ NV4097_SET_TWO_SIDED_STENCIL_TEST_ENABLE , "SetTwoSidedStencilTestEnable" } ,
		{ NV4097_SET_BACK_STENCIL_MASK , "SetBackStencilMask" } ,
		{ NV4097_SET_BACK_STENCIL_FUNC , "SetBackStencilFunc" } ,
		{ NV4097_SET_BACK_STENCIL_FUNC_REF , "SetBackStencilFuncRef" } ,
		{ NV4097_SET_BACK_STENCIL_FUNC_MASK , "SetBackStencilFuncMask" } ,
		{ NV4097_SET_BACK_STENCIL_OP_FAIL , "SetBackStencilOpFail" } ,
		{ NV4097_SET_BACK_STENCIL_OP_ZFAIL , "SetBackStencilOpZfail" } ,
		{ NV4097_SET_BACK_STENCIL_OP_ZPASS , "SetBackStencilOpZpass" } ,
		{ NV4097_SET_SHADE_MODE , "SetShadeMode" } ,
		{ NV4097_SET_BLEND_ENABLE_MRT , "SetBlendEnableMRT" } ,
		{ NV4097_SET_COLOR_MASK_MRT , "SetColorMaskMRT" } ,
		{ NV4097_SET_LOGIC_OP_ENABLE , "SetLogicOpEnable" } ,
		{ NV4097_SET_LOGIC_OP , "SetLogicOp" } ,
		{ NV4097_SET_BLEND_COLOR2 , "SetBlendColor2" } ,
		{ NV4097_SET_DEPTH_BOUNDS_TEST_ENABLE , "SetDepthBoundsTestEnable" } ,
		{ NV4097_SET_DEPTH_BOUNDS_MIN , "SetDepthBoundsMin" } ,
		{ NV4097_SET_DEPTH_BOUNDS_MAX , "SetDepthBoundsMax" } ,
		{ NV4097_SET_CLIP_MIN , "SetClipMin" } ,
		{ NV4097_SET_CLIP_MAX , "SetClipMax" } ,
		{ NV4097_SET_CONTROL0 , "SetControl0" } ,
		{ NV4097_SET_LINE_WIDTH , "SetLineWidth" } ,
		{ NV4097_SET_LINE_SMOOTH_ENABLE , "SetLineSmoothEnable" } ,
		{ NV4097_SET_ANISO_SPREAD , "SetAnisoSpread" } ,
		{ NV4097_SET_ANISO_SPREAD + 4 , "SetAnisoSpread" } ,
		{ NV4097_SET_ANISO_SPREAD + 8 , "SetAnisoSpread" } ,
		{ NV4097_SET_ANISO_SPREAD + 12 , "SetAnisoSpread" } ,
		{ NV4097_SET_ANISO_SPREAD + 16 , "SetAnisoSpread" } ,
		{ NV4097_SET_ANISO_SPREAD + 20 , "SetAnisoSpread" } ,
		{ NV4097_SET_ANISO_SPREAD + 24 , "SetAnisoSpread" } ,
		{ NV4097_SET_ANISO_SPREAD + 28 , "SetAnisoSpread" } ,
		{ NV4097_SET_ANISO_SPREAD + 32 , "SetAnisoSpread" } ,
		{ NV4097_SET_ANISO_SPREAD + 36 , "SetAnisoSpread" } ,
		{ NV4097_SET_ANISO_SPREAD + 40 , "SetAnisoSpread" } ,
		{ NV4097_SET_ANISO_SPREAD + 44 , "SetAnisoSpread" } ,
		{ NV4097_SET_ANISO_SPREAD + 48 , "SetAnisoSpread" } ,
		{ NV4097_SET_ANISO_SPREAD + 52 , "SetAnisoSpread" } ,
		{ NV4097_SET_ANISO_SPREAD + 56 , "SetAnisoSpread" } ,
		{ NV4097_SET_ANISO_SPREAD + 60 , "SetAnisoSpread" } ,
		{ NV4097_SET_SCISSOR_HORIZONTAL , "SetScissorHorizontal" } ,
		{ NV4097_SET_SCISSOR_VERTICAL , "SetScissorVertical" } ,
		{ NV4097_SET_FOG_MODE , "SetFogMode" } ,
		{ NV4097_SET_FOG_PARAMS , "SetFogParams" } ,
		{ NV4097_SET_FOG_PARAMS + 4 , "SetFogParams" } ,
		{ NV4097_SET_FOG_PARAMS + 8 , "SetFogParams" } ,
		{ NV4097_SET_SHADER_PROGRAM , "SetShaderProgram" } ,
		{ NV4097_SET_VERTEX_TEXTURE_OFFSET , "SetVertexTexture_Offset" } ,
		{ NV4097_SET_VERTEX_TEXTURE_FORMAT , "SetVertexTexture_Format" } ,
		{ NV4097_SET_VERTEX_TEXTURE_ADDRESS , "SetVertexTexture_Address" } ,
		{ NV4097_SET_VERTEX_TEXTURE_CONTROL0 , "SetVertexTexture_Control0" } ,
		{ NV4097_SET_VERTEX_TEXTURE_CONTROL3 , "SetVertexTexture_Control3" } ,
		{ NV4097_SET_VERTEX_TEXTURE_FILTER , "SetVertexTexture_Filter" } ,
		{ NV4097_SET_VERTEX_TEXTURE_IMAGE_RECT , "SetVertexTexture_ImageRect" } ,
		{ NV4097_SET_VERTEX_TEXTURE_BORDER_COLOR , "SetVertexTexture_BorderColor" } ,
		{ NV4097_SET_VERTEX_TEXTURE_OFFSET + 0x20, "SetVertexTexture_Offset" } ,
		{ NV4097_SET_VERTEX_TEXTURE_FORMAT + 0x20, "SetVertexTexture_Format" } ,
		{ NV4097_SET_VERTEX_TEXTURE_ADDRESS + 0x20, "SetVertexTexture_Address" } ,
		{ NV4097_SET_VERTEX_TEXTURE_CONTROL0 + 0x20, "SetVertexTexture_Control0" } ,
		{ NV4097_SET_VERTEX_TEXTURE_CONTROL3 + 0x20, "SetVertexTexture_Control3" } ,
		{ NV4097_SET_VERTEX_TEXTURE_FILTER + 0x20, "SetVertexTexture_Filter" } ,
		{ NV4097_SET_VERTEX_TEXTURE_IMAGE_RECT + 0x20, "SetVertexTexture_ImageRect" } ,
		{ NV4097_SET_VERTEX_TEXTURE_BORDER_COLOR + 0x20, "SetVertexTexture_BorderColor" } ,
		{ NV4097_SET_VERTEX_TEXTURE_OFFSET + 0x40, "SetVertexTexture_Offset" } ,
		{ NV4097_SET_VERTEX_TEXTURE_FORMAT + 0x40, "SetVertexTexture_Format" } ,
		{ NV4097_SET_VERTEX_TEXTURE_ADDRESS + 0x40, "SetVertexTexture_Address" } ,
		{ NV4097_SET_VERTEX_TEXTURE_CONTROL0 + 0x40, "SetVertexTexture_Control0" } ,
		{ NV4097_SET_VERTEX_TEXTURE_CONTROL3 + 0x40, "SetVertexTexture_Control3" } ,
		{ NV4097_SET_VERTEX_TEXTURE_FILTER + 0x40, "SetVertexTexture_Filter" } ,
		{ NV4097_SET_VERTEX_TEXTURE_IMAGE_RECT + 0x40, "SetVertexTexture_ImageRect" } ,
		{ NV4097_SET_VERTEX_TEXTURE_BORDER_COLOR + 0x40, "SetVertexTexture_BorderColor" } ,
		{ NV4097_SET_VERTEX_TEXTURE_OFFSET + 0x60, "SetVertexTexture_Offset" } ,
		{ NV4097_SET_VERTEX_TEXTURE_FORMAT + 0x60, "SetVertexTexture_Format" } ,
		{ NV4097_SET_VERTEX_TEXTURE_ADDRESS + 0x60, "SetVertexTexture_Address" } ,
		{ NV4097_SET_VERTEX_TEXTURE_CONTROL0 + 0x60, "SetVertexTexture_Control0" } ,
		{ NV4097_SET_VERTEX_TEXTURE_CONTROL3 + 0x60, "SetVertexTexture_Control3" } ,
		{ NV4097_SET_VERTEX_TEXTURE_FILTER + 0x60, "SetVertexTexture_Filter" } ,
		{ NV4097_SET_VERTEX_TEXTURE_IMAGE_RECT + 0x60, "SetVertexTexture_ImageRect" } ,
		{ NV4097_SET_VERTEX_TEXTURE_BORDER_COLOR + 0x60, "SetVertexTexture_BorderColor" } ,
		{ NV4097_SET_VIEWPORT_HORIZONTAL , "SetViewportHorizontal" } ,
		{ NV4097_SET_VIEWPORT_VERTICAL , "SetViewportVertical" } ,
		{ NV4097_SET_VIEWPORT_OFFSET , "SetViewportOffset" } ,
		{ NV4097_SET_VIEWPORT_SCALE , "SetViewportScale" } ,
		{ NV4097_SET_POLY_OFFSET_LINE_ENABLE , "SetPolyOffsetLineEnable" } ,
		{ NV4097_SET_POLY_OFFSET_FILL_ENABLE , "SetPolyOffsetFillEnable" } ,
		{ NV4097_SET_DEPTH_FUNC , "SetDepthFunc" } ,
		{ NV4097_SET_DEPTH_MASK , "SetDepthMask" } ,
		{ NV4097_SET_DEPTH_TEST_ENABLE , "SetDepthTestEnable" } ,
		{ NV4097_SET_POLYGON_OFFSET_SCALE_FACTOR , "SetPolygonOffsetScaleFactor" } ,
		{ NV4097_SET_POLYGON_OFFSET_BIAS , "SetPolygonOffsetBias" } ,
		{ NV4097_SET_VERTEX_DATA_SCALED4S_M , "SetVertexDataScaled4s_M"},
		{ NV4097_SET_VERTEX_DATA_SCALED4S_M + 4 , "SetVertexDataScaled4s_M"},
		{ NV4097_SET_VERTEX_DATA_SCALED4S_M + 8 , "SetVertexDataScaled4s_M"},
		{ NV4097_SET_VERTEX_DATA_SCALED4S_M + 12 , "SetVertexDataScaled4s_M"},
		{ NV4097_SET_VERTEX_DATA_SCALED4S_M + 16 , "SetVertexDataScaled4s_M"},
		{ NV4097_SET_VERTEX_DATA_SCALED4S_M + 20 , "SetVertexDataScaled4s_M"},
		{ NV4097_SET_VERTEX_DATA_SCALED4S_M + 24 , "SetVertexDataScaled4s_M"},
		{ NV4097_SET_VERTEX_DATA_SCALED4S_M + 28 , "SetVertexDataScaled4s_M"},
		{ NV4097_SET_VERTEX_DATA_SCALED4S_M + 32 , "SetVertexDataScaled4s_M"},
		{ NV4097_SET_VERTEX_DATA_SCALED4S_M + 36 , "SetVertexDataScaled4s_M"},
		{ NV4097_SET_VERTEX_DATA_SCALED4S_M + 40, "SetVertexDataScaled4s_M"},
		{ NV4097_SET_VERTEX_DATA_SCALED4S_M + 44 , "SetVertexDataScaled4s_M"},
		{ NV4097_SET_VERTEX_DATA_SCALED4S_M + 48 , "SetVertexDataScaled4s_M"},
		{ NV4097_SET_VERTEX_DATA_SCALED4S_M + 52 , "SetVertexDataScaled4s_M"},
		{ NV4097_SET_VERTEX_DATA_SCALED4S_M + 56 , "SetVertexDataScaled4s_M"},
		{ NV4097_SET_VERTEX_DATA_SCALED4S_M + 60 , "SetVertexDataScaled4s_M"},
		{ NV4097_SET_VERTEX_DATA_SCALED4S_M + 64 , "SetVertexDataScaled4s_M"},
		{ NV4097_SET_VERTEX_DATA_SCALED4S_M + 68 , "SetVertexDataScaled4s_M"},
		{ NV4097_SET_VERTEX_DATA_SCALED4S_M + 72 , "SetVertexDataScaled4s_M"},
		{ NV4097_SET_VERTEX_DATA_SCALED4S_M + 76 , "SetVertexDataScaled4s_M"},
		{ NV4097_SET_VERTEX_DATA_SCALED4S_M + 80 , "SetVertexDataScaled4s_M"},
		{ NV4097_SET_VERTEX_DATA_SCALED4S_M + 84 , "SetVertexDataScaled4s_M"},
		{ NV4097_SET_VERTEX_DATA_SCALED4S_M + 88 , "SetVertexDataScaled4s_M"},
		{ NV4097_SET_VERTEX_DATA_SCALED4S_M + 92 , "SetVertexDataScaled4s_M"},
		{ NV4097_SET_VERTEX_DATA_SCALED4S_M + 96 , "SetVertexDataScaled4s_M"},
		{ NV4097_SET_VERTEX_DATA_SCALED4S_M + 100 , "SetVertexDataScaled4s_M"},
		{ NV4097_SET_VERTEX_DATA_SCALED4S_M + 104 , "SetVertexDataScaled4s_M"},
		{ NV4097_SET_VERTEX_DATA_SCALED4S_M + 108 , "SetVertexDataScaled4s_M"},
		{ NV4097_SET_VERTEX_DATA_SCALED4S_M + 112 , "SetVertexDataScaled4s_M"},
		{ NV4097_SET_VERTEX_DATA_SCALED4S_M + 116 , "SetVertexDataScaled4s_M"},
		{ NV4097_SET_VERTEX_DATA_SCALED4S_M + 120 , "SetVertexDataScaled4s_M"},
		{ NV4097_SET_VERTEX_DATA_SCALED4S_M + 124 , "SetVertexDataScaled4s_M"},
		{ NV4097_SET_TEXTURE_CONTROL2 , "SetTextureControl2" } ,
		{ NV4097_SET_TEXTURE_CONTROL2 + 4 , "SetTextureControl2" } ,
		{ NV4097_SET_TEXTURE_CONTROL2 + 8 , "SetTextureControl2" } ,
		{ NV4097_SET_TEXTURE_CONTROL2 + 12 , "SetTextureControl2" } ,
		{ NV4097_SET_TEXTURE_CONTROL2 + 16 , "SetTextureControl2" } ,
		{ NV4097_SET_TEXTURE_CONTROL2 + 20 , "SetTextureControl2" } ,
		{ NV4097_SET_TEXTURE_CONTROL2 + 24 , "SetTextureControl2" } ,
		{ NV4097_SET_TEXTURE_CONTROL2 + 28 , "SetTextureControl2" } ,
		{ NV4097_SET_TEXTURE_CONTROL2 + 32 , "SetTextureControl2" } ,
		{ NV4097_SET_TEXTURE_CONTROL2 + 36 , "SetTextureControl2" } ,
		{ NV4097_SET_TEXTURE_CONTROL2 + 40 , "SetTextureControl2" } ,
		{ NV4097_SET_TEXTURE_CONTROL2 + 44 , "SetTextureControl2" } ,
		{ NV4097_SET_TEXTURE_CONTROL2 + 48 , "SetTextureControl2" } ,
		{ NV4097_SET_TEXTURE_CONTROL2 + 52 , "SetTextureControl2" } ,
		{ NV4097_SET_TEXTURE_CONTROL2 + 56 , "SetTextureControl2" } ,
		{ NV4097_SET_TEXTURE_CONTROL2 + 60 , "SetTextureControl2" } ,
		{ NV4097_SET_TEX_COORD_CONTROL , "SetTexCoordControl" } ,
		{ NV4097_SET_TEX_COORD_CONTROL + 4 , "SetTexCoordControl" } ,
		{ NV4097_SET_TEX_COORD_CONTROL + 8 , "SetTexCoordControl" } ,
		{ NV4097_SET_TEX_COORD_CONTROL + 12 , "SetTexCoordControl" } ,
		{ NV4097_SET_TEX_COORD_CONTROL + 16 , "SetTexCoordControl" } ,
		{ NV4097_SET_TEX_COORD_CONTROL + 20 , "SetTexCoordControl" } ,
		{ NV4097_SET_TEX_COORD_CONTROL + 24 , "SetTexCoordControl" } ,
		{ NV4097_SET_TEX_COORD_CONTROL + 28 , "SetTexCoordControl" } ,
		{ NV4097_SET_TEX_COORD_CONTROL + 32 , "SetTexCoordControl" } ,
		{ NV4097_SET_TEX_COORD_CONTROL + 36 , "SetTexCoordControl" } ,
		{ NV4097_SET_TRANSFORM_PROGRAM , "SetTransformProgram"},
		{ NV4097_SET_TRANSFORM_PROGRAM + 4 , "SetTransformProgram"},
		{ NV4097_SET_TRANSFORM_PROGRAM + 8 , "SetTransformProgram"},
		{ NV4097_SET_TRANSFORM_PROGRAM + 12 , "SetTransformProgram"},
		{ NV4097_SET_TRANSFORM_PROGRAM + 16 , "SetTransformProgram"},
		{ NV4097_SET_TRANSFORM_PROGRAM + 20 , "SetTransformProgram"},
		{ NV4097_SET_TRANSFORM_PROGRAM + 24 , "SetTransformProgram"},
		{ NV4097_SET_TRANSFORM_PROGRAM + 28 , "SetTransformProgram"},
		{ NV4097_SET_TRANSFORM_PROGRAM + 32 , "SetTransformProgram"},
		{ NV4097_SET_TRANSFORM_PROGRAM + 36 , "SetTransformProgram"},
		{ NV4097_SET_TRANSFORM_PROGRAM + 40 , "SetTransformProgram"},
		{ NV4097_SET_TRANSFORM_PROGRAM + 44 , "SetTransformProgram"},
		{ NV4097_SET_TRANSFORM_PROGRAM + 48 , "SetTransformProgram"},
		{ NV4097_SET_TRANSFORM_PROGRAM + 52 , "SetTransformProgram"},
		{ NV4097_SET_TRANSFORM_PROGRAM + 56 , "SetTransformProgram"},
		{ NV4097_SET_TRANSFORM_PROGRAM + 60 , "SetTransformProgram"},
		{ NV4097_SET_TRANSFORM_PROGRAM + 64 , "SetTransformProgram"},
		{ NV4097_SET_TRANSFORM_PROGRAM + 68 , "SetTransformProgram"},
		{ NV4097_SET_TRANSFORM_PROGRAM + 72 , "SetTransformProgram"},
		{ NV4097_SET_TRANSFORM_PROGRAM + 76 , "SetTransformProgram"},
		{ NV4097_SET_TRANSFORM_PROGRAM + 80 , "SetTransformProgram"},
		{ NV4097_SET_TRANSFORM_PROGRAM + 84 , "SetTransformProgram"},
		{ NV4097_SET_TRANSFORM_PROGRAM + 88 , "SetTransformProgram"},
		{ NV4097_SET_TRANSFORM_PROGRAM + 92 , "SetTransformProgram"},
		{ NV4097_SET_TRANSFORM_PROGRAM + 96 , "SetTransformProgram"},
		{ NV4097_SET_TRANSFORM_PROGRAM + 100 , "SetTransformProgram"},
		{ NV4097_SET_TRANSFORM_PROGRAM + 104 , "SetTransformProgram"},
		{ NV4097_SET_TRANSFORM_PROGRAM + 108 , "SetTransformProgram"},
		{ NV4097_SET_TRANSFORM_PROGRAM + 112 , "SetTransformProgram"},
		{ NV4097_SET_TRANSFORM_PROGRAM + 116 , "SetTransformProgram"},
		{ NV4097_SET_TRANSFORM_PROGRAM + 120 , "SetTransformProgram"},
		{ NV4097_SET_TRANSFORM_PROGRAM + 124 , "SetTransformProgram"},
		{ NV4097_SET_TWO_SIDE_LIGHT_EN , "SetTwoSideLightEn" } ,
		{ NV4097_CLEAR_ZCULL_SURFACE , "ClearZcullSurface" } ,
		{ NV4097_SET_USER_CLIP_PLANE_CONTROL , "SetUserClipPlaneControl" } ,
		{ NV4097_SET_POLYGON_STIPPLE , "SetPolygonStipple" } ,
		{ NV4097_SET_POLYGON_STIPPLE_PATTERN , "SetPolygonStipplePattern" } ,
		{ NV4097_SET_VERTEX_DATA3F_M , "SetVertexData3f_M"},
		{ NV4097_SET_VERTEX_DATA3F_M + 4 , "SetVertexData3f_M"},
		{ NV4097_SET_VERTEX_DATA3F_M + 8 , "SetVertexData3f_M"},
		{ NV4097_SET_VERTEX_DATA3F_M + 12 , "SetVertexData3f_M"},
		{ NV4097_SET_VERTEX_DATA3F_M + 16 , "SetVertexData3f_M"},
		{ NV4097_SET_VERTEX_DATA3F_M + 20 , "SetVertexData3f_M"},
		{ NV4097_SET_VERTEX_DATA3F_M + 24 , "SetVertexData3f_M"},
		{ NV4097_SET_VERTEX_DATA3F_M + 28 , "SetVertexData3f_M"},
		{ NV4097_SET_VERTEX_DATA3F_M + 32 , "SetVertexData3f_M"},
		{ NV4097_SET_VERTEX_DATA3F_M + 36 , "SetVertexData3f_M"},
		{ NV4097_SET_VERTEX_DATA3F_M + 40 , "SetVertexData3f_M"},
		{ NV4097_SET_VERTEX_DATA3F_M + 44 , "SetVertexData3f_M"},
		{ NV4097_SET_VERTEX_DATA3F_M + 48 , "SetVertexData3f_M"},
		{ NV4097_SET_VERTEX_DATA3F_M + 52 , "SetVertexData3f_M"},
		{ NV4097_SET_VERTEX_DATA3F_M + 56 , "SetVertexData3f_M"},
		{ NV4097_SET_VERTEX_DATA3F_M + 60 , "SetVertexData3f_M"},
		{ NV4097_SET_VERTEX_DATA3F_M + 64 , "SetVertexData3f_M"},
		{ NV4097_SET_VERTEX_DATA3F_M + 68 , "SetVertexData3f_M"},
		{ NV4097_SET_VERTEX_DATA3F_M + 72 , "SetVertexData3f_M"},
		{ NV4097_SET_VERTEX_DATA3F_M + 76 , "SetVertexData3f_M"},
		{ NV4097_SET_VERTEX_DATA3F_M + 80 , "SetVertexData3f_M"},
		{ NV4097_SET_VERTEX_DATA3F_M + 84 , "SetVertexData3f_M"},
		{ NV4097_SET_VERTEX_DATA3F_M + 88 , "SetVertexData3f_M"},
		{ NV4097_SET_VERTEX_DATA3F_M + 92 , "SetVertexData3f_M"},
		{ NV4097_SET_VERTEX_DATA3F_M + 96 , "SetVertexData3f_M"},
		{ NV4097_SET_VERTEX_DATA3F_M + 100 , "SetVertexData3f_M"},
		{ NV4097_SET_VERTEX_DATA3F_M + 104 , "SetVertexData3f_M"},
		{ NV4097_SET_VERTEX_DATA3F_M + 108 , "SetVertexData3f_M"},
		{ NV4097_SET_VERTEX_DATA3F_M + 112 , "SetVertexData3f_M"},
		{ NV4097_SET_VERTEX_DATA3F_M + 116 , "SetVertexData3f_M"},
		{ NV4097_SET_VERTEX_DATA3F_M + 120 , "SetVertexData3f_M"},
		{ NV4097_SET_VERTEX_DATA3F_M + 124 , "SetVertexData3f_M"},
		{ NV4097_SET_VERTEX_DATA3F_M + 128 , "SetVertexData3f_M"},
		{ NV4097_SET_VERTEX_DATA3F_M + 132 , "SetVertexData3f_M"},
		{ NV4097_SET_VERTEX_DATA3F_M + 136 , "SetVertexData3f_M"},
		{ NV4097_SET_VERTEX_DATA3F_M + 140 , "SetVertexData3f_M"},
		{ NV4097_SET_VERTEX_DATA3F_M + 144 , "SetVertexData3f_M"},
		{ NV4097_SET_VERTEX_DATA3F_M + 148 , "SetVertexData3f_M"},
		{ NV4097_SET_VERTEX_DATA3F_M + 152 , "SetVertexData3f_M"},
		{ NV4097_SET_VERTEX_DATA3F_M + 156 , "SetVertexData3f_M"},
		{ NV4097_SET_VERTEX_DATA3F_M + 160 , "SetVertexData3f_M"},
		{ NV4097_SET_VERTEX_DATA3F_M + 164 , "SetVertexData3f_M"},
		{ NV4097_SET_VERTEX_DATA3F_M + 168 , "SetVertexData3f_M"},
		{ NV4097_SET_VERTEX_DATA3F_M + 172 , "SetVertexData3f_M"},
		{ NV4097_SET_VERTEX_DATA3F_M + 176 , "SetVertexData3f_M"},
		{ NV4097_SET_VERTEX_DATA3F_M + 180 , "SetVertexData3f_M"},
		{ NV4097_SET_VERTEX_DATA3F_M + 184 , "SetVertexData3f_M"},
		{ NV4097_SET_VERTEX_DATA3F_M + 188 , "SetVertexData3f_M"},
		{ NV4097_SET_VERTEX_DATA_ARRAY_OFFSET , "SetVertexDataArrayOffset" } ,
		{ NV4097_SET_VERTEX_DATA_ARRAY_OFFSET + 4 , "SetVertexDataArrayOffset" } ,
		{ NV4097_SET_VERTEX_DATA_ARRAY_OFFSET + 8 , "SetVertexDataArrayOffset" } ,
		{ NV4097_SET_VERTEX_DATA_ARRAY_OFFSET + 12 , "SetVertexDataArrayOffset" } ,
		{ NV4097_SET_VERTEX_DATA_ARRAY_OFFSET + 16 , "SetVertexDataArrayOffset" } ,
		{ NV4097_SET_VERTEX_DATA_ARRAY_OFFSET + 20 , "SetVertexDataArrayOffset" } ,
		{ NV4097_SET_VERTEX_DATA_ARRAY_OFFSET + 24 , "SetVertexDataArrayOffset" } ,
		{ NV4097_SET_VERTEX_DATA_ARRAY_OFFSET + 28 , "SetVertexDataArrayOffset" } ,
		{ NV4097_SET_VERTEX_DATA_ARRAY_OFFSET + 32 , "SetVertexDataArrayOffset" } ,
		{ NV4097_SET_VERTEX_DATA_ARRAY_OFFSET + 36 , "SetVertexDataArrayOffset" } ,
		{ NV4097_SET_VERTEX_DATA_ARRAY_OFFSET + 40 , "SetVertexDataArrayOffset" } ,
		{ NV4097_SET_VERTEX_DATA_ARRAY_OFFSET + 44 , "SetVertexDataArrayOffset" } ,
		{ NV4097_SET_VERTEX_DATA_ARRAY_OFFSET + 48 , "SetVertexDataArrayOffset" } ,
		{ NV4097_SET_VERTEX_DATA_ARRAY_OFFSET + 52 , "SetVertexDataArrayOffset" } ,
		{ NV4097_SET_VERTEX_DATA_ARRAY_OFFSET + 56 , "SetVertexDataArrayOffset" } ,
		{ NV4097_SET_VERTEX_DATA_ARRAY_OFFSET + 60 , "SetVertexDataArrayOffset" } ,
		{ NV4097_INVALIDATE_VERTEX_CACHE_FILE , "InvalidateVertexCacheFile" } ,
		{ NV4097_INVALIDATE_VERTEX_FILE , "InvalidateVertexFile" } ,
		{ NV4097_SET_VERTEX_DATA_BASE_OFFSET , "SetVertexDataBaseOffset" } ,
		{ NV4097_SET_VERTEX_DATA_BASE_INDEX , "SetVertexDataBaseIndex" } ,
		{ NV4097_SET_VERTEX_DATA_ARRAY_FORMAT , "SetVertexDataArrayFormat" } ,
		{ NV4097_SET_VERTEX_DATA_ARRAY_FORMAT + 4 , "SetVertexDataArrayFormat" } ,
		{ NV4097_SET_VERTEX_DATA_ARRAY_FORMAT + 8 , "SetVertexDataArrayFormat" } ,
		{ NV4097_SET_VERTEX_DATA_ARRAY_FORMAT + 12 , "SetVertexDataArrayFormat" } ,
		{ NV4097_SET_VERTEX_DATA_ARRAY_FORMAT + 16 , "SetVertexDataArrayFormat" } ,
		{ NV4097_SET_VERTEX_DATA_ARRAY_FORMAT + 20 , "SetVertexDataArrayFormat" } ,
		{ NV4097_SET_VERTEX_DATA_ARRAY_FORMAT + 24 , "SetVertexDataArrayFormat" } ,
		{ NV4097_SET_VERTEX_DATA_ARRAY_FORMAT + 28 , "SetVertexDataArrayFormat" } ,
		{ NV4097_SET_VERTEX_DATA_ARRAY_FORMAT + 32 , "SetVertexDataArrayFormat" } ,
		{ NV4097_SET_VERTEX_DATA_ARRAY_FORMAT + 36 , "SetVertexDataArrayFormat" } ,
		{ NV4097_SET_VERTEX_DATA_ARRAY_FORMAT + 40 , "SetVertexDataArrayFormat" } ,
		{ NV4097_SET_VERTEX_DATA_ARRAY_FORMAT + 44 , "SetVertexDataArrayFormat" } ,
		{ NV4097_SET_VERTEX_DATA_ARRAY_FORMAT + 48 , "SetVertexDataArrayFormat" } ,
		{ NV4097_SET_VERTEX_DATA_ARRAY_FORMAT + 52 , "SetVertexDataArrayFormat" } ,
		{ NV4097_SET_VERTEX_DATA_ARRAY_FORMAT + 56 , "SetVertexDataArrayFormat" } ,
		{ NV4097_SET_VERTEX_DATA_ARRAY_FORMAT + 60 , "SetVertexDataArrayFormat" } ,
		{ NV4097_CLEAR_REPORT_VALUE , "ClearReportValue" } ,
		{ NV4097_SET_ZPASS_PIXEL_COUNT_ENABLE , "SetZpassPixelCountEnable" } ,
		{ NV4097_GET_REPORT , "GetReport" } ,
		{ NV4097_SET_ZCULL_STATS_ENABLE , "SetZcullStatsEnable" } ,
		{ NV4097_SET_BEGIN_END , "SetBeginEnd" } ,
		{ NV4097_ARRAY_ELEMENT16 , "ArrayElement16" } ,
		{ NV4097_ARRAY_ELEMENT32 , "ArrayElement32" } ,
		{ NV4097_DRAW_ARRAYS , "DrawArrays" } ,
		{ NV4097_INLINE_ARRAY , "InlineArray" } ,
		{ NV4097_SET_INDEX_ARRAY_ADDRESS , "SetIndexArrayAddress" } ,
		{ NV4097_SET_INDEX_ARRAY_DMA , "SetIndexArrayDMA" } ,
		{ NV4097_DRAW_INDEX_ARRAY , "DrawIndexArray" } ,
		{ NV4097_SET_FRONT_POLYGON_MODE , "SetFrontPolygonMode" } ,
		{ NV4097_SET_BACK_POLYGON_MODE , "SetBackPolygonMode" } ,
		{ NV4097_SET_CULL_FACE , "SetCullFace" } ,
		{ NV4097_SET_FRONT_FACE , "SetFrontFace" } ,
		{ NV4097_SET_POLY_SMOOTH_ENABLE , "SetPolySmoothEnable" } ,
		{ NV4097_SET_CULL_FACE_ENABLE , "SetCullFaceEnable" } ,
		{ NV4097_SET_TEXTURE_CONTROL3 , "SetTextureControl3"},
		{ NV4097_SET_TEXTURE_CONTROL3 + 4 , "SetTextureControl3"},
		{ NV4097_SET_TEXTURE_CONTROL3 + 8 , "SetTextureControl3"},
		{ NV4097_SET_TEXTURE_CONTROL3 + 12 , "SetTextureControl3"},
		{ NV4097_SET_TEXTURE_CONTROL3 + 16 , "SetTextureControl3"},
		{ NV4097_SET_TEXTURE_CONTROL3 + 20 , "SetTextureControl3"},
		{ NV4097_SET_TEXTURE_CONTROL3 + 24 , "SetTextureControl3"},
		{ NV4097_SET_TEXTURE_CONTROL3 + 28 , "SetTextureControl3"},
		{ NV4097_SET_TEXTURE_CONTROL3 + 32 , "SetTextureControl3"},
		{ NV4097_SET_TEXTURE_CONTROL3 + 36 , "SetTextureControl3"},
		{ NV4097_SET_TEXTURE_CONTROL3 + 40 , "SetTextureControl3"},
		{ NV4097_SET_TEXTURE_CONTROL3 + 44 , "SetTextureControl3"},
		{ NV4097_SET_TEXTURE_CONTROL3 + 48 , "SetTextureControl3"},
		{ NV4097_SET_TEXTURE_CONTROL3 + 52 , "SetTextureControl3"},
		{ NV4097_SET_TEXTURE_CONTROL3 + 56 , "SetTextureControl3"},
		{ NV4097_SET_TEXTURE_CONTROL3 + 60 , "SetTextureControl3"},
		{ NV4097_SET_VERTEX_DATA2F_M , "SetVertexData2f_M"},
		{ NV4097_SET_VERTEX_DATA2F_M + 4 , "SetVertexData2f_M"},
		{ NV4097_SET_VERTEX_DATA2F_M + 8 , "SetVertexData2f_M"},
		{ NV4097_SET_VERTEX_DATA2F_M + 12 , "SetVertexData2f_M"},
		{ NV4097_SET_VERTEX_DATA2F_M + 16 , "SetVertexData2f_M"},
		{ NV4097_SET_VERTEX_DATA2F_M + 20 , "SetVertexData2f_M"},
		{ NV4097_SET_VERTEX_DATA2F_M + 24 , "SetVertexData2f_M"},
		{ NV4097_SET_VERTEX_DATA2F_M + 28 , "SetVertexData2f_M"},
		{ NV4097_SET_VERTEX_DATA2F_M + 32 , "SetVertexData2f_M"},
		{ NV4097_SET_VERTEX_DATA2F_M + 36 , "SetVertexData2f_M"},
		{ NV4097_SET_VERTEX_DATA2F_M + 40 , "SetVertexData2f_M"},
		{ NV4097_SET_VERTEX_DATA2F_M + 44 , "SetVertexData2f_M"},
		{ NV4097_SET_VERTEX_DATA2F_M + 48 , "SetVertexData2f_M"},
		{ NV4097_SET_VERTEX_DATA2F_M + 52 , "SetVertexData2f_M"},
		{ NV4097_SET_VERTEX_DATA2F_M + 56 , "SetVertexData2f_M"},
		{ NV4097_SET_VERTEX_DATA2F_M + 60 , "SetVertexData2f_M"},
		{ NV4097_SET_VERTEX_DATA2F_M + 64 , "SetVertexData2f_M"},
		{ NV4097_SET_VERTEX_DATA2F_M + 68 , "SetVertexData2f_M"},
		{ NV4097_SET_VERTEX_DATA2F_M + 72 , "SetVertexData2f_M"},
		{ NV4097_SET_VERTEX_DATA2F_M + 76 , "SetVertexData2f_M"},
		{ NV4097_SET_VERTEX_DATA2F_M + 80 , "SetVertexData2f_M"},
		{ NV4097_SET_VERTEX_DATA2F_M + 84 , "SetVertexData2f_M"},
		{ NV4097_SET_VERTEX_DATA2F_M + 88 , "SetVertexData2f_M"},
		{ NV4097_SET_VERTEX_DATA2F_M + 92 , "SetVertexData2f_M"},
		{ NV4097_SET_VERTEX_DATA2F_M + 96 , "SetVertexData2f_M"},
		{ NV4097_SET_VERTEX_DATA2F_M + 100 , "SetVertexData2f_M"},
		{ NV4097_SET_VERTEX_DATA2F_M + 104 , "SetVertexData2f_M"},
		{ NV4097_SET_VERTEX_DATA2F_M + 108 , "SetVertexData2f_M"},
		{ NV4097_SET_VERTEX_DATA2F_M + 112 , "SetVertexData2f_M"},
		{ NV4097_SET_VERTEX_DATA2F_M + 116 , "SetVertexData2f_M"},
		{ NV4097_SET_VERTEX_DATA2F_M + 120 , "SetVertexData2f_M"},
		{ NV4097_SET_VERTEX_DATA2F_M + 124 , "SetVertexData2f_M"},
		{ NV4097_SET_VERTEX_DATA2S_M , "SetVertexData2s_M"},
		{ NV4097_SET_VERTEX_DATA2S_M + 4 , "SetVertexData2s_M"},
		{ NV4097_SET_VERTEX_DATA2S_M + 8 , "SetVertexData2s_M"},
		{ NV4097_SET_VERTEX_DATA2S_M + 12 , "SetVertexData2s_M"},
		{ NV4097_SET_VERTEX_DATA2S_M + 16 , "SetVertexData2s_M"},
		{ NV4097_SET_VERTEX_DATA2S_M + 20 , "SetVertexData2s_M"},
		{ NV4097_SET_VERTEX_DATA2S_M + 24 , "SetVertexData2s_M"},
		{ NV4097_SET_VERTEX_DATA2S_M + 28 , "SetVertexData2s_M"},
		{ NV4097_SET_VERTEX_DATA2S_M + 32 , "SetVertexData2s_M"},
		{ NV4097_SET_VERTEX_DATA2S_M + 36 , "SetVertexData2s_M"},
		{ NV4097_SET_VERTEX_DATA2S_M + 40 , "SetVertexData2s_M"},
		{ NV4097_SET_VERTEX_DATA2S_M + 44 , "SetVertexData2s_M"},
		{ NV4097_SET_VERTEX_DATA2S_M + 48 , "SetVertexData2s_M"},
		{ NV4097_SET_VERTEX_DATA2S_M + 52 , "SetVertexData2s_M"},
		{ NV4097_SET_VERTEX_DATA2S_M + 56 , "SetVertexData2s_M"},
		{ NV4097_SET_VERTEX_DATA2S_M + 60 , "SetVertexData2s_M"},
		{ NV4097_SET_VERTEX_DATA4UB_M , "SetVertexData4ub_M"},
		{ NV4097_SET_VERTEX_DATA4UB_M + 4 , "SetVertexData4ub_M"},
		{ NV4097_SET_VERTEX_DATA4UB_M + 8 , "SetVertexData4ub_M"},
		{ NV4097_SET_VERTEX_DATA4UB_M + 12 , "SetVertexData4ub_M"},
		{ NV4097_SET_VERTEX_DATA4UB_M + 16 , "SetVertexData4ub_M"},
		{ NV4097_SET_VERTEX_DATA4UB_M + 20 , "SetVertexData4ub_M"},
		{ NV4097_SET_VERTEX_DATA4UB_M + 24 , "SetVertexData4ub_M"},
		{ NV4097_SET_VERTEX_DATA4UB_M + 28 , "SetVertexData4ub_M"},
		{ NV4097_SET_VERTEX_DATA4UB_M + 32 , "SetVertexData4ub_M"},
		{ NV4097_SET_VERTEX_DATA4UB_M + 36 , "SetVertexData4ub_M"},
		{ NV4097_SET_VERTEX_DATA4UB_M + 40 , "SetVertexData4ub_M"},
		{ NV4097_SET_VERTEX_DATA4UB_M + 44 , "SetVertexData4ub_M"},
		{ NV4097_SET_VERTEX_DATA4UB_M + 48 , "SetVertexData4ub_M"},
		{ NV4097_SET_VERTEX_DATA4UB_M + 52 , "SetVertexData4ub_M"},
		{ NV4097_SET_VERTEX_DATA4UB_M + 56 , "SetVertexData4ub_M"},
		{ NV4097_SET_VERTEX_DATA4UB_M + 60 , "SetVertexData4ub_M"},
		{ NV4097_SET_VERTEX_DATA4S_M , "SetVertexData4s_M"},
		{ NV4097_SET_VERTEX_DATA4S_M + 4 , "SetVertexData4s_M"},
		{ NV4097_SET_VERTEX_DATA4S_M + 8 , "SetVertexData4s_M"},
		{ NV4097_SET_VERTEX_DATA4S_M + 12 , "SetVertexData4s_M"},
		{ NV4097_SET_VERTEX_DATA4S_M + 16 , "SetVertexData4s_M"},
		{ NV4097_SET_VERTEX_DATA4S_M + 20 , "SetVertexData4s_M"},
		{ NV4097_SET_VERTEX_DATA4S_M + 24 , "SetVertexData4s_M"},
		{ NV4097_SET_VERTEX_DATA4S_M + 28 , "SetVertexData4s_M"},
		{ NV4097_SET_VERTEX_DATA4S_M + 32 , "SetVertexData4s_M"},
		{ NV4097_SET_VERTEX_DATA4S_M + 36 , "SetVertexData4s_M"},
		{ NV4097_SET_VERTEX_DATA4S_M + 40 , "SetVertexData4s_M"},
		{ NV4097_SET_VERTEX_DATA4S_M + 44 , "SetVertexData4s_M"},
		{ NV4097_SET_VERTEX_DATA4S_M + 48 , "SetVertexData4s_M"},
		{ NV4097_SET_VERTEX_DATA4S_M + 52 , "SetVertexData4s_M"},
		{ NV4097_SET_VERTEX_DATA4S_M + 56 , "SetVertexData4s_M"},
		{ NV4097_SET_VERTEX_DATA4S_M + 60 , "SetVertexData4s_M"},
		{ NV4097_SET_VERTEX_DATA4S_M + 64 , "SetVertexData4s_M"},
		{ NV4097_SET_VERTEX_DATA4S_M + 68 , "SetVertexData4s_M"},
		{ NV4097_SET_VERTEX_DATA4S_M + 72 , "SetVertexData4s_M"},
		{ NV4097_SET_VERTEX_DATA4S_M + 76 , "SetVertexData4s_M"},
		{ NV4097_SET_VERTEX_DATA4S_M + 80 , "SetVertexData4s_M"},
		{ NV4097_SET_VERTEX_DATA4S_M + 84 , "SetVertexData4s_M"},
		{ NV4097_SET_VERTEX_DATA4S_M + 88 , "SetVertexData4s_M"},
		{ NV4097_SET_VERTEX_DATA4S_M + 92 , "SetVertexData4s_M"},
		{ NV4097_SET_VERTEX_DATA4S_M + 96 , "SetVertexData4s_M"},
		{ NV4097_SET_VERTEX_DATA4S_M + 100 , "SetVertexData4s_M"},
		{ NV4097_SET_VERTEX_DATA4S_M + 104 , "SetVertexData4s_M"},
		{ NV4097_SET_VERTEX_DATA4S_M + 108 , "SetVertexData4s_M"},
		{ NV4097_SET_VERTEX_DATA4S_M + 112 , "SetVertexData4s_M"},
		{ NV4097_SET_VERTEX_DATA4S_M + 116 , "SetVertexData4s_M"},
		{ NV4097_SET_VERTEX_DATA4S_M + 120 , "SetVertexData4s_M"},
		{ NV4097_SET_VERTEX_DATA4S_M + 124 , "SetVertexData4s_M"},
		{ NV4097_SET_TEXTURE_OFFSET , "SetTexture_Offset" } ,
		{ NV4097_SET_TEXTURE_FORMAT , "SetTexture_Format" } ,
		{ NV4097_SET_TEXTURE_ADDRESS , "SetTexture_Address" } ,
		{ NV4097_SET_TEXTURE_CONTROL0 , "SetTexture_Control0" } ,
		{ NV4097_SET_TEXTURE_CONTROL1 , "SetTexture_Control1" } ,
		{ NV4097_SET_TEXTURE_FILTER , "SetTexture_Filter" } ,
		{ NV4097_SET_TEXTURE_IMAGE_RECT , "SetTexture_ImageRect" } ,
		{ NV4097_SET_TEXTURE_BORDER_COLOR , "SetTexture_BorderColor" } ,
		{ NV4097_SET_TEXTURE_OFFSET + 0x20 , "SetTexture_Offset" } ,
		{ NV4097_SET_TEXTURE_FORMAT + 0x20 , "SetTexture_Format" } ,
		{ NV4097_SET_TEXTURE_ADDRESS + 0x20 , "SetTexture_Address" } ,
		{ NV4097_SET_TEXTURE_CONTROL0 + 0x20 , "SetTexture_Control0" } ,
		{ NV4097_SET_TEXTURE_CONTROL1 + 0x20 , "SetTexture_Control1" } ,
		{ NV4097_SET_TEXTURE_FILTER + 0x20 , "SetTexture_Filter" } ,
		{ NV4097_SET_TEXTURE_IMAGE_RECT + 0x20 , "SetTexture_ImageRect" } ,
		{ NV4097_SET_TEXTURE_BORDER_COLOR + 0x20 , "SetTexture_BorderColor" } ,
		{ NV4097_SET_TEXTURE_OFFSET + 0x40 , "SetTexture_Offset" } ,
		{ NV4097_SET_TEXTURE_FORMAT + 0x40 , "SetTexture_Format" } ,
		{ NV4097_SET_TEXTURE_ADDRESS + 0x40 , "SetTexture_Address" } ,
		{ NV4097_SET_TEXTURE_CONTROL0 + 0x40 , "SetTexture_Control0" } ,
		{ NV4097_SET_TEXTURE_CONTROL1 + 0x40 , "SetTexture_Control1" } ,
		{ NV4097_SET_TEXTURE_FILTER + 0x40 , "SetTexture_Filter" } ,
		{ NV4097_SET_TEXTURE_IMAGE_RECT + 0x40 , "SetTexture_ImageRect" } ,
		{ NV4097_SET_TEXTURE_BORDER_COLOR + 0x40 , "SetTexture_BorderColor" } ,
		{ NV4097_SET_TEXTURE_OFFSET + 0x60 , "SetTexture_Offset" } ,
		{ NV4097_SET_TEXTURE_FORMAT + 0x60 , "SetTexture_Format" } ,
		{ NV4097_SET_TEXTURE_ADDRESS + 0x60 , "SetTexture_Address" } ,
		{ NV4097_SET_TEXTURE_CONTROL0 + 0x60 , "SetTexture_Control0" } ,
		{ NV4097_SET_TEXTURE_CONTROL1 + 0x60 , "SetTexture_Control1" } ,
		{ NV4097_SET_TEXTURE_FILTER + 0x60 , "SetTexture_Filter" } ,
		{ NV4097_SET_TEXTURE_IMAGE_RECT + 0x60 , "SetTexture_ImageRect" } ,
		{ NV4097_SET_TEXTURE_BORDER_COLOR + 0x60 , "SetTexture_BorderColor" } ,
		{ NV4097_SET_TEXTURE_OFFSET + 0x80 , "SetTexture_Offset" } ,
		{ NV4097_SET_TEXTURE_FORMAT + 0x80 , "SetTexture_Format" } ,
		{ NV4097_SET_TEXTURE_ADDRESS + 0x80 , "SetTexture_Address" } ,
		{ NV4097_SET_TEXTURE_CONTROL0 + 0x80 , "SetTexture_Control0" } ,
		{ NV4097_SET_TEXTURE_CONTROL1 + 0x80 , "SetTexture_Control1" } ,
		{ NV4097_SET_TEXTURE_FILTER + 0x80 , "SetTexture_Filter" } ,
		{ NV4097_SET_TEXTURE_IMAGE_RECT + 0x80 , "SetTexture_ImageRect" } ,
		{ NV4097_SET_TEXTURE_BORDER_COLOR + 0x80 , "SetTexture_BorderColor" } ,
		{ NV4097_SET_TEXTURE_OFFSET + 0xa0 , "SetTexture_Offset" } ,
		{ NV4097_SET_TEXTURE_FORMAT + 0xa0 , "SetTexture_Format" } ,
		{ NV4097_SET_TEXTURE_ADDRESS + 0xa0 , "SetTexture_Address" } ,
		{ NV4097_SET_TEXTURE_CONTROL0 + 0xa0 , "SetTexture_Control0" } ,
		{ NV4097_SET_TEXTURE_CONTROL1 + 0xa0 , "SetTexture_Control1" } ,
		{ NV4097_SET_TEXTURE_FILTER + 0xa0 , "SetTexture_Filter" } ,
		{ NV4097_SET_TEXTURE_IMAGE_RECT + 0xa0 , "SetTexture_ImageRect" } ,
		{ NV4097_SET_TEXTURE_BORDER_COLOR + 0xa0 , "SetTexture_BorderColor" } ,
		{ NV4097_SET_TEXTURE_OFFSET + 0xc0 , "SetTexture_Offset" } ,
		{ NV4097_SET_TEXTURE_FORMAT + 0xc0 , "SetTexture_Format" } ,
		{ NV4097_SET_TEXTURE_ADDRESS + 0xc0 , "SetTexture_Address" } ,
		{ NV4097_SET_TEXTURE_CONTROL0 + 0xc0 , "SetTexture_Control0" } ,
		{ NV4097_SET_TEXTURE_CONTROL1 + 0xc0 , "SetTexture_Control1" } ,
		{ NV4097_SET_TEXTURE_FILTER + 0xc0 , "SetTexture_Filter" } ,
		{ NV4097_SET_TEXTURE_IMAGE_RECT + 0xc0 , "SetTexture_ImageRect" } ,
		{ NV4097_SET_TEXTURE_BORDER_COLOR + 0xc0 , "SetTexture_BorderColor" } ,
		{ NV4097_SET_TEXTURE_OFFSET + 0xe0 , "SetTexture_Offset" } ,
		{ NV4097_SET_TEXTURE_FORMAT + 0xe0 , "SetTexture_Format" } ,
		{ NV4097_SET_TEXTURE_ADDRESS + 0xe0 , "SetTexture_Address" } ,
		{ NV4097_SET_TEXTURE_CONTROL0 + 0xe0 , "SetTexture_Control0" } ,
		{ NV4097_SET_TEXTURE_CONTROL1 + 0xe0 , "SetTexture_Control1" } ,
		{ NV4097_SET_TEXTURE_FILTER + 0xe0 , "SetTexture_Filter" } ,
		{ NV4097_SET_TEXTURE_IMAGE_RECT + 0xe0 , "SetTexture_ImageRect" } ,
		{ NV4097_SET_TEXTURE_BORDER_COLOR + 0xe0 , "SetTexture_BorderColor" } ,
		{ NV4097_SET_TEXTURE_OFFSET + 0x100 , "SetTexture_Offset" } ,
		{ NV4097_SET_TEXTURE_FORMAT + 0x100 , "SetTexture_Format" } ,
		{ NV4097_SET_TEXTURE_ADDRESS + 0x100 , "SetTexture_Address" } ,
		{ NV4097_SET_TEXTURE_CONTROL0 + 0x100 , "SetTexture_Control0" } ,
		{ NV4097_SET_TEXTURE_CONTROL1 + 0x100 , "SetTexture_Control1" } ,
		{ NV4097_SET_TEXTURE_FILTER + 0x100 , "SetTexture_Filter" } ,
		{ NV4097_SET_TEXTURE_IMAGE_RECT + 0x100 , "SetTexture_ImageRect" } ,
		{ NV4097_SET_TEXTURE_BORDER_COLOR + 0x100 , "SetTexture_BorderColor" } ,
		{ NV4097_SET_TEXTURE_OFFSET + 0x120 , "SetTexture_Offset" } ,
		{ NV4097_SET_TEXTURE_FORMAT + 0x120 , "SetTexture_Format" } ,
		{ NV4097_SET_TEXTURE_ADDRESS + 0x120 , "SetTexture_Address" } ,
		{ NV4097_SET_TEXTURE_CONTROL0 + 0x120 , "SetTexture_Control0" } ,
		{ NV4097_SET_TEXTURE_CONTROL1 + 0x120 , "SetTexture_Control1" } ,
		{ NV4097_SET_TEXTURE_FILTER + 0x120 , "SetTexture_Filter" } ,
		{ NV4097_SET_TEXTURE_IMAGE_RECT + 0x120 , "SetTexture_ImageRect" } ,
		{ NV4097_SET_TEXTURE_BORDER_COLOR + 0x120 , "SetTexture_BorderColor" } ,
		{ NV4097_SET_TEXTURE_OFFSET + 0x140 , "SetTexture_Offset" } ,
		{ NV4097_SET_TEXTURE_FORMAT + 0x140 , "SetTexture_Format" } ,
		{ NV4097_SET_TEXTURE_ADDRESS + 0x140 , "SetTexture_Address" } ,
		{ NV4097_SET_TEXTURE_CONTROL0 + 0x140 , "SetTexture_Control0" } ,
		{ NV4097_SET_TEXTURE_CONTROL1 + 0x140 , "SetTexture_Control1" } ,
		{ NV4097_SET_TEXTURE_FILTER + 0x140 , "SetTexture_Filter" } ,
		{ NV4097_SET_TEXTURE_IMAGE_RECT + 0x140 , "SetTexture_ImageRect" } ,
		{ NV4097_SET_TEXTURE_BORDER_COLOR + 0x140 , "SetTexture_BorderColor" } ,
		{ NV4097_SET_TEXTURE_OFFSET + 0x160 , "SetTexture_Offset" } ,
		{ NV4097_SET_TEXTURE_FORMAT + 0x160 , "SetTexture_Format" } ,
		{ NV4097_SET_TEXTURE_ADDRESS + 0x160 , "SetTexture_Address" } ,
		{ NV4097_SET_TEXTURE_CONTROL0 + 0x160 , "SetTexture_Control0" } ,
		{ NV4097_SET_TEXTURE_CONTROL1 + 0x160 , "SetTexture_Control1" } ,
		{ NV4097_SET_TEXTURE_FILTER + 0x160 , "SetTexture_Filter" } ,
		{ NV4097_SET_TEXTURE_IMAGE_RECT + 0x160 , "SetTexture_ImageRect" } ,
		{ NV4097_SET_TEXTURE_BORDER_COLOR + 0x160 , "SetTexture_BorderColor" } ,
		{ NV4097_SET_TEXTURE_OFFSET + 0x180 , "SetTexture_Offset" } ,
		{ NV4097_SET_TEXTURE_FORMAT + 0x180 , "SetTexture_Format" } ,
		{ NV4097_SET_TEXTURE_ADDRESS + 0x180 , "SetTexture_Address" } ,
		{ NV4097_SET_TEXTURE_CONTROL0 + 0x180 , "SetTexture_Control0" } ,
		{ NV4097_SET_TEXTURE_CONTROL1 + 0x180 , "SetTexture_Control1" } ,
		{ NV4097_SET_TEXTURE_FILTER + 0x180 , "SetTexture_Filter" } ,
		{ NV4097_SET_TEXTURE_IMAGE_RECT + 0x180 , "SetTexture_ImageRect" } ,
		{ NV4097_SET_TEXTURE_BORDER_COLOR + 0x180 , "SetTexture_BorderColor" } ,
		{ NV4097_SET_TEXTURE_OFFSET + 0x1a0 , "SetTexture_Offset" } ,
		{ NV4097_SET_TEXTURE_FORMAT + 0x1a0 , "SetTexture_Format" } ,
		{ NV4097_SET_TEXTURE_ADDRESS + 0x1a0 , "SetTexture_Address" } ,
		{ NV4097_SET_TEXTURE_CONTROL0 + 0x1a0 , "SetTexture_Control0" } ,
		{ NV4097_SET_TEXTURE_CONTROL1 + 0x1a0 , "SetTexture_Control1" } ,
		{ NV4097_SET_TEXTURE_FILTER + 0x1a0 , "SetTexture_Filter" } ,
		{ NV4097_SET_TEXTURE_IMAGE_RECT + 0x1a0 , "SetTexture_ImageRect" } ,
		{ NV4097_SET_TEXTURE_BORDER_COLOR + 0x1a0 , "SetTexture_BorderColor" } ,
		{ NV4097_SET_TEXTURE_OFFSET + 0x1c0 , "SetTexture_Offset" } ,
		{ NV4097_SET_TEXTURE_FORMAT + 0x1c0 , "SetTexture_Format" } ,
		{ NV4097_SET_TEXTURE_ADDRESS + 0x1c0 , "SetTexture_Address" } ,
		{ NV4097_SET_TEXTURE_CONTROL0 + 0x1c0 , "SetTexture_Control0" } ,
		{ NV4097_SET_TEXTURE_CONTROL1 + 0x1c0 , "SetTexture_Control1" } ,
		{ NV4097_SET_TEXTURE_FILTER + 0x1c0 , "SetTexture_Filter" } ,
		{ NV4097_SET_TEXTURE_IMAGE_RECT + 0x1c0 , "SetTexture_ImageRect" } ,
		{ NV4097_SET_TEXTURE_BORDER_COLOR + 0x1c0 , "SetTexture_BorderColor" } ,
		{ NV4097_SET_TEXTURE_OFFSET + 0x1e0 , "SetTexture_Offset" } ,
		{ NV4097_SET_TEXTURE_FORMAT + 0x1e0 , "SetTexture_Format" } ,
		{ NV4097_SET_TEXTURE_ADDRESS + 0x1e0 , "SetTexture_Address" } ,
		{ NV4097_SET_TEXTURE_CONTROL0 + 0x1e0 , "SetTexture_Control0" } ,
		{ NV4097_SET_TEXTURE_CONTROL1 + 0x1e0 , "SetTexture_Control1" } ,
		{ NV4097_SET_TEXTURE_FILTER + 0x1e0 , "SetTexture_Filter" } ,
		{ NV4097_SET_TEXTURE_IMAGE_RECT + 0x1e0 , "SetTexture_ImageRect" } ,
		{ NV4097_SET_TEXTURE_BORDER_COLOR + 0x1e0 , "SetTexture_BorderColor" } ,
		{ NV4097_SET_VERTEX_DATA4F_M , "SetVertexData4f_M"},
		{ NV4097_SET_VERTEX_DATA4F_M + 4 , "SetVertexData4f_M"},
		{ NV4097_SET_VERTEX_DATA4F_M + 8 , "SetVertexData4f_M"},
		{ NV4097_SET_VERTEX_DATA4F_M + 12 , "SetVertexData4f_M"},
		{ NV4097_SET_VERTEX_DATA4F_M + 16 , "SetVertexData4f_M"},
		{ NV4097_SET_VERTEX_DATA4F_M + 20 , "SetVertexData4f_M"},
		{ NV4097_SET_VERTEX_DATA4F_M + 24 , "SetVertexData4f_M"},
		{ NV4097_SET_VERTEX_DATA4F_M + 28 , "SetVertexData4f_M"},
		{ NV4097_SET_VERTEX_DATA4F_M + 32 , "SetVertexData4f_M"},
		{ NV4097_SET_VERTEX_DATA4F_M + 36 , "SetVertexData4f_M"},
		{ NV4097_SET_VERTEX_DATA4F_M + 40 , "SetVertexData4f_M"},
		{ NV4097_SET_VERTEX_DATA4F_M + 44 , "SetVertexData4f_M"},
		{ NV4097_SET_VERTEX_DATA4F_M + 48 , "SetVertexData4f_M"},
		{ NV4097_SET_VERTEX_DATA4F_M + 52 , "SetVertexData4f_M"},
		{ NV4097_SET_VERTEX_DATA4F_M + 56 , "SetVertexData4f_M"},
		{ NV4097_SET_VERTEX_DATA4F_M + 60 , "SetVertexData4f_M"},
		{ NV4097_SET_VERTEX_DATA4F_M + 64 , "SetVertexData4f_M"},
		{ NV4097_SET_VERTEX_DATA4F_M + 68 , "SetVertexData4f_M"},
		{ NV4097_SET_VERTEX_DATA4F_M + 72 , "SetVertexData4f_M"},
		{ NV4097_SET_VERTEX_DATA4F_M + 76 , "SetVertexData4f_M"},
		{ NV4097_SET_VERTEX_DATA4F_M + 80 , "SetVertexData4f_M"},
		{ NV4097_SET_VERTEX_DATA4F_M + 84 , "SetVertexData4f_M"},
		{ NV4097_SET_VERTEX_DATA4F_M + 88 , "SetVertexData4f_M"},
		{ NV4097_SET_VERTEX_DATA4F_M + 92 , "SetVertexData4f_M"},
		{ NV4097_SET_VERTEX_DATA4F_M + 96 , "SetVertexData4f_M"},
		{ NV4097_SET_VERTEX_DATA4F_M + 100 , "SetVertexData4f_M"},
		{ NV4097_SET_VERTEX_DATA4F_M + 104 , "SetVertexData4f_M"},
		{ NV4097_SET_VERTEX_DATA4F_M + 108 , "SetVertexData4f_M"},
		{ NV4097_SET_VERTEX_DATA4F_M + 112 , "SetVertexData4f_M"},
		{ NV4097_SET_VERTEX_DATA4F_M + 116 , "SetVertexData4f_M"},
		{ NV4097_SET_VERTEX_DATA4F_M + 120 , "SetVertexData4f_M"},
		{ NV4097_SET_VERTEX_DATA4F_M + 124 , "SetVertexData4f_M"},
		{ NV4097_SET_VERTEX_DATA4F_M + 128 , "SetVertexData4f_M"},
		{ NV4097_SET_VERTEX_DATA4F_M + 132 , "SetVertexData4f_M"},
		{ NV4097_SET_VERTEX_DATA4F_M + 136 , "SetVertexData4f_M"},
		{ NV4097_SET_VERTEX_DATA4F_M + 140 , "SetVertexData4f_M"},
		{ NV4097_SET_VERTEX_DATA4F_M + 144 , "SetVertexData4f_M"},
		{ NV4097_SET_VERTEX_DATA4F_M + 148 , "SetVertexData4f_M"},
		{ NV4097_SET_VERTEX_DATA4F_M + 152 , "SetVertexData4f_M"},
		{ NV4097_SET_VERTEX_DATA4F_M + 156 , "SetVertexData4f_M"},
		{ NV4097_SET_VERTEX_DATA4F_M + 160 , "SetVertexData4f_M"},
		{ NV4097_SET_VERTEX_DATA4F_M + 164 , "SetVertexData4f_M"},
		{ NV4097_SET_VERTEX_DATA4F_M + 168 , "SetVertexData4f_M"},
		{ NV4097_SET_VERTEX_DATA4F_M + 172 , "SetVertexData4f_M"},
		{ NV4097_SET_VERTEX_DATA4F_M + 176 , "SetVertexData4f_M"},
		{ NV4097_SET_VERTEX_DATA4F_M + 180 , "SetVertexData4f_M"},
		{ NV4097_SET_VERTEX_DATA4F_M + 184 , "SetVertexData4f_M"},
		{ NV4097_SET_VERTEX_DATA4F_M + 188 , "SetVertexData4f_M"},
		{ NV4097_SET_VERTEX_DATA4F_M + 192 , "SetVertexData4f_M"},
		{ NV4097_SET_VERTEX_DATA4F_M + 196 , "SetVertexData4f_M"},
		{ NV4097_SET_VERTEX_DATA4F_M + 200 , "SetVertexData4f_M"},
		{ NV4097_SET_VERTEX_DATA4F_M + 204 , "SetVertexData4f_M"},
		{ NV4097_SET_VERTEX_DATA4F_M + 208 , "SetVertexData4f_M"},
		{ NV4097_SET_VERTEX_DATA4F_M + 212 , "SetVertexData4f_M"},
		{ NV4097_SET_VERTEX_DATA4F_M + 216 , "SetVertexData4f_M"},
		{ NV4097_SET_VERTEX_DATA4F_M + 220 , "SetVertexData4f_M"},
		{ NV4097_SET_VERTEX_DATA4F_M + 224 , "SetVertexData4f_M"},
		{ NV4097_SET_VERTEX_DATA4F_M + 228 , "SetVertexData4f_M"},
		{ NV4097_SET_VERTEX_DATA4F_M + 232 , "SetVertexData4f_M"},
		{ NV4097_SET_VERTEX_DATA4F_M + 236 , "SetVertexData4f_M"},
		{ NV4097_SET_VERTEX_DATA4F_M + 240 , "SetVertexData4f_M"},
		{ NV4097_SET_VERTEX_DATA4F_M + 244 , "SetVertexData4f_M"},
		{ NV4097_SET_VERTEX_DATA4F_M + 248 , "SetVertexData4f_M"},
		{ NV4097_SET_VERTEX_DATA4F_M + 252 , "SetVertexData4f_M"},
		{ NV4097_SET_SHADER_CONTROL , "SetShaderControl" } ,
		{ NV4097_SET_SEMAPHORE_OFFSET , "SetSemaphoreOffset" } ,
		{ NV4097_BACK_END_WRITE_SEMAPHORE_RELEASE , "BackEndWriteSemaphoreRelease" } ,
		{ NV4097_TEXTURE_READ_SEMAPHORE_RELEASE , "TextureReadSemaphoreRelease" } ,
		{ NV4097_SET_ZMIN_MAX_CONTROL , "SetZMinMaxControl" } ,
		{ NV4097_SET_ANTI_ALIASING_CONTROL , "SetAntiAliasingControl" } ,
		{ NV4097_SET_ZCULL_EN , "SetZcullEn" } ,
		{ NV4097_SET_SHADER_WINDOW , "SetShaderWindow" } ,
		{ NV4097_SET_ZSTENCIL_CLEAR_VALUE , "SetZStencilClearValue" } ,
		{ NV4097_SET_COLOR_CLEAR_VALUE , "SetColorClearValue" } ,
		{ NV4097_CLEAR_SURFACE , "ClearSurface" } ,
		{ NV4097_SET_RESTART_INDEX_ENABLE , "SetRestartIndexEnable" } ,
		{ NV4097_SET_RESTART_INDEX , "SetRestartIndex" } ,
		{ NV4097_SET_LINE_STIPPLE , "SetLineStipple" } ,
		{ NV4097_SET_LINE_STIPPLE_PATTERN , "SetLineStipplePattern" } ,
		{ NV4097_SET_VERTEX_DATA1F_M , "SetVertexData1f_M"},
		{ NV4097_SET_VERTEX_DATA1F_M + 4 ,"SetVertexData1f_M"},
		{ NV4097_SET_VERTEX_DATA1F_M + 8 ,"SetVertexData1f_M"},
		{ NV4097_SET_VERTEX_DATA1F_M + 12 ,"SetVertexData1f_M"},
		{ NV4097_SET_VERTEX_DATA1F_M + 16 ,"SetVertexData1f_M"},
		{ NV4097_SET_VERTEX_DATA1F_M + 20 ,"SetVertexData1f_M"},
		{ NV4097_SET_VERTEX_DATA1F_M + 24 ,"SetVertexData1f_M"},
		{ NV4097_SET_VERTEX_DATA1F_M + 28 ,"SetVertexData1f_M"},
		{ NV4097_SET_VERTEX_DATA1F_M + 32 ,"SetVertexData1f_M"},
		{ NV4097_SET_VERTEX_DATA1F_M + 36 ,"SetVertexData1f_M"},
		{ NV4097_SET_VERTEX_DATA1F_M + 40 ,"SetVertexData1f_M"},
		{ NV4097_SET_VERTEX_DATA1F_M + 44 ,"SetVertexData1f_M"},
		{ NV4097_SET_VERTEX_DATA1F_M + 48 ,"SetVertexData1f_M"},
		{ NV4097_SET_VERTEX_DATA1F_M + 52 ,"SetVertexData1f_M"},
		{ NV4097_SET_VERTEX_DATA1F_M + 56 ,"SetVertexData1f_M"},
		{ NV4097_SET_VERTEX_DATA1F_M + 60 ,"SetVertexData1f_M"},
		{ NV4097_SET_RENDER_ENABLE , "SetRenderEnable" } ,
		{ NV4097_SET_TRANSFORM_PROGRAM_LOAD , "SetTransformProgramLoad" } ,
		{ NV4097_SET_TRANSFORM_PROGRAM_START , "SetTransformProgramStart" } ,
		{ NV4097_SET_ZCULL_CONTROL0 , "SetZcullControl0" } ,
		{ NV4097_SET_ZCULL_CONTROL1 , "SetZcullControl1" } ,
		{ NV4097_SET_SCULL_CONTROL , "SetScullControl" } ,
		{ NV4097_SET_POINT_SIZE , "SetPointSize" } ,
		{ NV4097_SET_POINT_PARAMS_ENABLE , "SetPointParamsEnable" } ,
		{ NV4097_SET_POINT_SPRITE_CONTROL , "SetPointSpriteControl" } ,
		{ NV4097_SET_TRANSFORM_TIMEOUT , "SetTransformTimeout" } ,
		{ NV4097_SET_TRANSFORM_CONSTANT_LOAD , "SetTransformConstantLoad" } ,
		{ NV4097_SET_FREQUENCY_DIVIDER_OPERATION , "SetFrequencyDividerOperation" } ,
		{ NV4097_INVALIDATE_L2 , "InvalidateL2" } ,
	};

	for(u32 i = 0; i < WXSIZEOF(METHOD_NAME_LIST); ++i)
	{
		if(METHOD_NAME_LIST[i].id == id) return "cellGcm" + METHOD_NAME_LIST[i].name;
	}

	return wxString::Format("unknown/illegal method [0x%08x]", id);
}