/*
 |            file: get.c
 |        language: 1	(ANSI C)
 |     produced by: GNU C 4.2.1
 |    compiler dir: /OST/GraphicsGFX/SDP3430/Source/SGX12.19/GFX_Linux_DDK/src/eurasia/eurasiacon/opengles1
 | program counter: <0x184bc;0x1c908>
 */
typedef unsigned int size_t

typedef long long int __quad_t

typedef long int __off_t

typedef __quad_t __off64_t

struct _IO_FILE {
	int _flags // @0
	char* _IO_read_ptr // @4
	char* _IO_read_end // @8
	char* _IO_read_base // @c
	char* _IO_write_base // @10
	char* _IO_write_ptr // @14
	char* _IO_write_end // @18
	char* _IO_buf_base // @1c
	char* _IO_buf_end // @20
	char* _IO_save_base // @24
	char* _IO_backup_base // @28
	char* _IO_save_end // @2c
	struct _IO_marker* _markers // @30
	struct _IO_FILE* _chain // @34
	int _fileno // @38
	int _flags2 // @3c
	__off_t _old_offset // @40
	short unsigned int _cur_column // @44
	signed char _vtable_offset // @46
	char[1] _shortbuf // @47
	_IO_lock_t* _lock // @48
	__off64_t _offset // @50
	void* __pad1 // @58
	void* __pad2 // @5c
	void* __pad3 // @60
	void* __pad4 // @64
	size_t __pad5 // @68
	int _mode // @6c
	char[40] _unused2 // @70
}

typedef void _IO_lock_t

struct _IO_marker {
	struct _IO_marker* _next // @0
	struct _IO_FILE* _sbuf // @4
	int _pos // @8
}

typedef unsigned char IMG_UINT8

typedef char IMG_CHAR

typedef short unsigned int IMG_UINT16

typedef short int IMG_INT16

typedef long unsigned int IMG_UINT32

typedef long int IMG_INT32

typedef float IMG_FLOAT

enum tag_img_bool {
	IMG_FALSE = 0; //0x0
	IMG_TRUE = 1; //0x1
	IMG_FORCE_ALIGN = 2147483647; //0x7fffffff
}

typedef enum tag_img_bool IMG_BOOL

typedef void IMG_VOID

typedef void* IMG_PVOID

typedef IMG_PVOID IMG_HANDLE

typedef struct {
	IMG_UINT32 uiAddr // @0
} IMG_CPU_PHYADDR

typedef struct {
	IMG_UINT32 uiAddr // @0
} IMG_DEV_VIRTADDR

enum _PVRSRV_ERROR_ {
	PVRSRV_OK = 0; //0x0
	PVRSRV_ERROR_GENERIC = 1; //0x1
	PVRSRV_ERROR_OUT_OF_MEMORY = 2; //0x2
	PVRSRV_ERROR_TOO_MANY_BUFFERS = 3; //0x3
	PVRSRV_ERROR_SYMBOL_NOT_FOUND = 4; //0x4
	PVRSRV_ERROR_OUT_OF_HSPACE = 5; //0x5
	PVRSRV_ERROR_INVALID_PARAMS = 6; //0x6
	PVRSRV_ERROR_TILE_MAP_FAILED = 7; //0x7
	PVRSRV_ERROR_INIT_FAILURE = 8; //0x8
	PVRSRV_ERROR_CANT_REGISTER_CALLBACK = 9; //0x9
	PVRSRV_ERROR_INVALID_DEVICE = 10; //0xa
	PVRSRV_ERROR_NOT_OWNER = 11; //0xb
	PVRSRV_ERROR_BAD_MAPPING = 12; //0xc
	PVRSRV_ERROR_TIMEOUT = 13; //0xd
	PVRSRV_ERROR_NO_PRIMARY = 14; //0xe
	PVRSRV_ERROR_FLIP_CHAIN_EXISTS = 15; //0xf
	PVRSRV_ERROR_CANNOT_ACQUIRE_SYSDATA = 16; //0x10
	PVRSRV_ERROR_SCENE_INVALID = 17; //0x11
	PVRSRV_ERROR_STREAM_ERROR = 18; //0x12
	PVRSRV_ERROR_INVALID_INTERRUPT = 19; //0x13
	PVRSRV_ERROR_FAILED_DEPENDENCIES = 20; //0x14
	PVRSRV_ERROR_CMD_NOT_PROCESSED = 21; //0x15
	PVRSRV_ERROR_CMD_TOO_BIG = 22; //0x16
	PVRSRV_ERROR_DEVICE_REGISTER_FAILED = 23; //0x17
	PVRSRV_ERROR_FIFO_SPACE = 24; //0x18
	PVRSRV_ERROR_TA_RECOVERY = 25; //0x19
	PVRSRV_ERROR_INDOSORLOWPOWER = 26; //0x1a
	PVRSRV_ERROR_TOOMANYBUFFERS = 27; //0x1b
	PVRSRV_ERROR_NOT_SUPPORTED = 28; //0x1c
	PVRSRV_ERROR_PROCESSING_BLOCKED = 29; //0x1d
	PVRSRV_ERROR_CANNOT_FLUSH_QUEUE = 31; //0x1f
	PVRSRV_ERROR_CANNOT_GET_QUEUE_SPACE = 32; //0x20
	PVRSRV_ERROR_CANNOT_GET_RENDERDETAILS = 33; //0x21
	PVRSRV_ERROR_RETRY = 34; //0x22
	PVRSRV_ERROR_FORCE_I32 = 2147483647; //0x7fffffff
}

typedef enum _PVRSRV_ERROR_ PVRSRV_ERROR

enum _PVRSRV_PIXEL_FORMAT_ {
	PVRSRV_PIXEL_FORMAT_UNKNOWN = 0; //0x0
	PVRSRV_PIXEL_FORMAT_RGB565 = 1; //0x1
	PVRSRV_PIXEL_FORMAT_RGB555 = 2; //0x2
	PVRSRV_PIXEL_FORMAT_RGB888 = 3; //0x3
	PVRSRV_PIXEL_FORMAT_BGR888 = 4; //0x4
	PVRSRV_PIXEL_FORMAT_YUV420 = 5; //0x5
	PVRSRV_PIXEL_FORMAT_YUV444 = 6; //0x6
	PVRSRV_PIXEL_FORMAT_VUY444 = 7; //0x7
	PVRSRV_PIXEL_FORMAT_GREY_SCALE = 8; //0x8
	PVRSRV_PIXEL_FORMAT_YUYV = 9; //0x9
	PVRSRV_PIXEL_FORMAT_YVYU = 10; //0xa
	PVRSRV_PIXEL_FORMAT_UYVY = 11; //0xb
	PVRSRV_PIXEL_FORMAT_VYUY = 12; //0xc
	PVRSRV_PIXEL_FORMAT_PAL12 = 13; //0xd
	PVRSRV_PIXEL_FORMAT_PAL8 = 14; //0xe
	PVRSRV_PIXEL_FORMAT_PAL4 = 15; //0xf
	PVRSRV_PIXEL_FORMAT_PAL2 = 16; //0x10
	PVRSRV_PIXEL_FORMAT_PAL1 = 17; //0x11
	PVRSRV_PIXEL_FORMAT_ARGB1555 = 18; //0x12
	PVRSRV_PIXEL_FORMAT_ARGB4444 = 19; //0x13
	PVRSRV_PIXEL_FORMAT_ARGB8888 = 20; //0x14
	PVRSRV_PIXEL_FORMAT_ABGR8888 = 21; //0x15
	PVRSRV_PIXEL_FORMAT_YV12 = 22; //0x16
	PVRSRV_PIXEL_FORMAT_I420 = 23; //0x17
	PVRSRV_PIXEL_FORMAT_DXT1 = 24; //0x18
	PVRSRV_PIXEL_FORMAT_IMC2 = 25; //0x19
	PVRSRV_PIXEL_FORMAT_G16R16 = 26; //0x1a
	PVRSRV_PIXEL_FORMAT_G16R16F = 27; //0x1b
	PVRSRV_PIXEL_FORMAT_ARGB8332 = 28; //0x1c
	PVRSRV_PIXEL_FORMAT_A2RGB10 = 29; //0x1d
	PVRSRV_PIXEL_FORMAT_A2BGR10 = 30; //0x1e
	PVRSRV_PIXEL_FORMAT_ABGR16 = 31; //0x1f
	PVRSRV_PIXEL_FORMAT_ABGR16F = 32; //0x20
	PVRSRV_PIXEL_FORMAT_ABGR32F = 33; //0x21
	PVRSRV_PIXEL_FORMAT_R32F = 34; //0x22
	PVRSRV_PIXEL_FORMAT_A8 = 35; //0x23
	PVRSRV_PIXEL_FORMAT_L8 = 36; //0x24
	PVRSRV_PIXEL_FORMAT_A8L8 = 37; //0x25
	PVRSRV_PIXEL_FORMAT_L16 = 38; //0x26
	PVRSRV_PIXEL_FORMAT_R16F = 39; //0x27
	PVRSRV_PIXEL_FORMAT_L6V5U5 = 40; //0x28
	PVRSRV_PIXEL_FORMAT_V8U8 = 41; //0x29
	PVRSRV_PIXEL_FORMAT_V16U16 = 42; //0x2a
	PVRSRV_PIXEL_FORMAT_QWVU8888 = 43; //0x2b
	PVRSRV_PIXEL_FORMAT_XLVU8888 = 44; //0x2c
	PVRSRV_PIXEL_FORMAT_QWVU16 = 45; //0x2d
	PVRSRV_PIXEL_FORMAT_D16 = 46; //0x2e
	PVRSRV_PIXEL_FORMAT_D24S8 = 47; //0x2f
	PVRSRV_PIXEL_FORMAT_D24X8 = 48; //0x30
	PVRSRV_PIXEL_FORMAT_D32F = 49; //0x31
	PVRSRV_PIXEL_FORMAT_R8G8_B8G8 = 50; //0x32
	PVRSRV_PIXEL_FORMAT_G8R8_G8B8 = 51; //0x33
	PVRSRV_PIXEL_FORMAT_YUY2 = 52; //0x34
	PVRSRV_PIXEL_FORMAT_DXT23 = 53; //0x35
	PVRSRV_PIXEL_FORMAT_DXT45 = 54; //0x36
	PVRSRV_PIXEL_FORMAT_G32R32F = 55; //0x37
	PVRSRV_PIXEL_FORMAT_NV11 = 56; //0x38
	PVRSRV_PIXEL_FORMAT_NV12 = 57; //0x39
	PVRSRV_PIXEL_FORMAT_FORCE_I32 = 2147483647; //0x7fffffff
}

typedef enum _PVRSRV_PIXEL_FORMAT_ PVRSRV_PIXEL_FORMAT

enum _PVRSRV_ALPHA_FORMAT_ {
	PVRSRV_ALPHA_FORMAT_UNKNOWN = 0; //0x0
	PVRSRV_ALPHA_FORMAT_PRE = 1; //0x1
	PVRSRV_ALPHA_FORMAT_NONPRE = 2; //0x2
	PVRSRV_ALPHA_FORMAT_MASK = 15; //0xf
}

typedef enum _PVRSRV_ALPHA_FORMAT_ PVRSRV_ALPHA_FORMAT

enum _PVRSRV_COLOURSPACE_FORMAT_ {
	PVRSRV_COLOURSPACE_FORMAT_UNKNOWN = 0; //0x0
	PVRSRV_COLOURSPACE_FORMAT_LINEAR = 65536; //0x10000
	PVRSRV_COLOURSPACE_FORMAT_NONLINEAR = 131072; //0x20000
	PVRSRV_COLOURSPACE_FORMAT_MASK = 983040; //0xf0000
}

typedef enum _PVRSRV_COLOURSPACE_FORMAT_ PVRSRV_COLOURSPACE_FORMAT

struct _PVRSRV_SYNC_DATA_ {
	IMG_UINT32 ui32WriteOpsPending // @0
	volatile IMG_UINT32 ui32WriteOpsComplete // @4
	IMG_UINT32 ui32ReadOpsPending // @8
	volatile IMG_UINT32 ui32ReadOpsComplete // @c
	IMG_UINT32 ui32LastOpDumpVal // @10
	IMG_UINT32 ui32LastReadOpDumpVal // @14
}

typedef struct _PVRSRV_SYNC_DATA_ PVRSRV_SYNC_DATA

struct _PVRSRV_CLIENT_SYNC_INFO_ {
	PVRSRV_SYNC_DATA* psSyncData // @0
	IMG_DEV_VIRTADDR sWriteOpsCompleteDevVAddr // @4
	IMG_DEV_VIRTADDR sReadOpsCompleteDevVAddr // @8
	IMG_HANDLE hMappingInfo // @c
	IMG_HANDLE hKernelSyncInfo // @10
}

typedef struct _PVRSRV_CLIENT_SYNC_INFO_ PVRSRV_CLIENT_SYNC_INFO

struct PVRSRV_RESOURCE_TAG {
	volatile IMG_UINT32 ui32Lock // @0
	IMG_UINT32 ui32ID // @4
}

typedef struct PVRSRV_RESOURCE_TAG PVRSRV_RESOURCE

typedef PVRSRV_RESOURCE PVRSRV_RES_HANDLE

struct BUFFER_INFO_TAG {
	IMG_UINT32 ui32BufferCount // @0
	IMG_UINT32 ui32BufferDeviceID // @4
	PVRSRV_PIXEL_FORMAT pixelformat // @8
	IMG_UINT32 ui32ByteStride // @c
	IMG_UINT32 ui32Width // @10
	IMG_UINT32 ui32Height // @14
	IMG_UINT32 ui32Flags // @18
}

typedef struct BUFFER_INFO_TAG BUFFER_INFO

struct _PVRSRV_CONNECTION_ {
	IMG_HANDLE hServices // @0
	IMG_UINT32 ui32ProcessID // @4
}

typedef struct _PVRSRV_CONNECTION_ PVRSRV_CONNECTION

struct _PVRSRV_DEV_DATA_ {
	PVRSRV_CONNECTION sConnection // @0
	IMG_HANDLE hDevCookie // @8
}

typedef struct _PVRSRV_DEV_DATA_ PVRSRV_DEV_DATA

struct _PVRSRV_HWREG_ {
	IMG_UINT32 ui32RegAddr // @0
	IMG_UINT32 ui32RegVal // @4
}

typedef struct _PVRSRV_HWREG_ PVRSRV_HWREG

struct _PVRSRV_CLIENT_MEM_INFO_ {
	IMG_PVOID pvLinAddr // @0
	IMG_PVOID pvLinAddrKM // @4
	IMG_DEV_VIRTADDR sDevVAddr // @8
	IMG_CPU_PHYADDR sCpuPAddr // @c
	IMG_UINT32 ui32Flags // @10
	IMG_UINT32 ui32ClientFlags // @14
	IMG_UINT32 ui32AllocSize // @18
	struct _PVRSRV_CLIENT_SYNC_INFO_* psClientSyncInfo // @1c
	IMG_HANDLE hMappingInfo // @20
	IMG_HANDLE hKernelMemInfo // @24
	IMG_HANDLE hResItem // @28
	struct _PVRSRV_CLIENT_MEM_INFO_* psNext // @2c
}

typedef struct _PVRSRV_CLIENT_MEM_INFO_ PVRSRV_CLIENT_MEM_INFO

struct _PVRSRV_EVENTOBJECT_ {
	IMG_CHAR[50] szName // @0
	IMG_HANDLE hOSEventKM // @34
}

typedef struct _PVRSRV_EVENTOBJECT_ PVRSRV_EVENTOBJECT

struct _PVRSRV_MISC_INFO_ {
	IMG_UINT32 ui32StateRequest // @0
	IMG_UINT32 ui32StatePresent // @4
	IMG_VOID* pvSOCTimerRegisterKM // @8
	IMG_VOID* pvSOCTimerRegisterUM // @c
	IMG_VOID* pvSOCClockGateRegs // @10
	IMG_UINT32 ui32SOCClockGateRegsSize // @14
	IMG_CHAR* pszMemoryStr // @18
	IMG_UINT32 ui32MemoryStrLen // @1c
	PVRSRV_EVENTOBJECT sGlobalEventObject // @20
	IMG_HANDLE hOSGlobalEvent // @58
}

typedef struct _PVRSRV_MISC_INFO_ PVRSRV_MISC_INFO

typedef struct GLES1Context_TAG GLES1Context

struct GLES1Context_TAG {
	PVRSRV_DEV_DATA* ps3DDevData // @0
	SrvSysContext* psSysContext // @4
	SGX_KICKTA sKickTA // @8
	IMG_BOOL bSPMOutOfMemEvent // @16c
	GLES1ProgramMachine sProgram // @170
	IMG_UINT32 ui32NumImageUnitsActive // @1e0
	IMG_UINT32 ui32ImageUnitEnables // @1e4
	IMG_UINT32[4] ui32TexImageUnitsEnabled // @1e8
	IMG_UINT32 ui32RasterEnables // @1f8
	IMG_UINT32 ui32TnLEnables // @1fc
	IMG_UINT32 ui32FrameEnables // @200
	IMG_UINT32 ui32IgnoredEnables // @204
	GLESState sState // @208
	IMG_INT32 i32Error // @6f0
	IMG_UINT32 ui32DirtyMask // @6f4
	IMG_UINT32 ui32EmitMask // @6f8
	GLESProcs sProcs // @6fc
	GLESLightMachine sLight // @728
	GLESPolygonMachine sPolygon // @74c
	GLESTextureMachine sTexture // @758
	GLES1TransformMachine sTransform // @7b4
	GLESVertArrayMachine sVertexArray // @890
	GLES1VertexProgramMachine sVertexProgram // @d24
	GLESBufferObjectMachine sBufferObject // @d2c
	GLESFrameBufferObjectMachine sFrameBuffer // @d34
	GLESPrimitiveMachine sPrim // @df4
	IMG_UINT32 ui32DirtyVGPConstantMask // @1b80
	EGLcontextMode* psMode // @1b84
	EGLDrawableParams* psDrawParams // @1b88
	EGLDrawableParams* psReadParams // @1b8c
	EGLRenderSurface* psRenderSurface // @1b90
	IMG_BOOL bFullScreenViewport // @1b94
	IMG_BOOL bFullScreenScissor // @1b98
	IMG_BOOL bDrawMaskInvalid // @1b9c
	IMG_CHAR* pszExtensions // @1ba0
	IMG_BOOL bHasBeenCurrent // @1ba4
	IMG_UINT32 ui32NumEGLImageTextureTargetsBound // @1ba8
	GLESAppHints sAppHints // @1bac
	IMG_UINT16* pui16IndexData // @1bd0
	IMG_VOID* pvVertexData // @1bd4
	IMG_UINT32 ui32VertexSize // @1bd8
	IMG_UINT32 ui32VertexRCSize // @1bdc
	CircularBuffer*[7] apsBuffers // @1be0
	IMG_UINT32 ui32FrameNum // @1bfc
	IMG_BOOL bOverflowRender // @1c00
	GLES1StreamDevice* psBufferDevice // @1c04
	GLES1ContextSharedState* psSharedState // @1c08
}

typedef struct GLESTextureRec GLESTexture

struct GLESTextureRec {
	GLES1NamedItem sNamedItem // @0
	FRMFrameResource sResource // @c
	GLESTextureParamState sState // @18
	IMG_UINT32 ui32TextureTarget // @50
	IMG_UINT32 ui32NumLevels // @54
	GLESMipMapLevel* psMipLevel // @58
	IMG_UINT32 ui32NumRenderTargets // @5c
	IMG_BOOL bResidence // @60
	IMG_BOOL bHasEverBeenGhosted // @64
	IMG_UINT32 ui32LevelsConsistent // @68
	const GLESTextureFormat* psFormat // @6c
	IMG_UINT32 ui32HWFlags // @70
	PVRSRV_CLIENT_MEM_INFO* psMemInfo // @74
	void* pfnReadBackData // @78
	void* pfnTextureTwiddle // @7c
	IMG_HANDLE hPBuffer // @80
	EGLImage* psEGLImageSource // @84
	EGLImage* psEGLImageTarget // @88
}

typedef struct GLESProcsRec GLESProcs

struct GLESProcsRec {
	GLESMatrixProcs sMatrixProcs // @0
	void* pfnPushMatrix // @10
	void* pfnPopMatrix // @14
	void* pfnLoadIdentity // @18
	void* pfnPickMatrixProcs // @1c
	void* pfnPickInvTransposeProcs // @20
	void* pfnComputeInverseTranspose // @24
	IMG_FLOAT* pfnNormalize // @28
}

typedef struct GLESMatrixRec GLESMatrix

struct GLESMatrixRec {
	IMG_FLOAT[4] afMatrix // @0
	GLenum eMatrixType // @40
	IMG_UINT32 ui32Width // @44
	IMG_UINT32 ui32Height // @48
	void* pfnXf2 // @4c
	void* pfnXf3 // @50
	void* pfnXf4 // @54
}

typedef struct GLESLightSourceMachineRec GLESLightSourceMachine

struct GLESLightSourceMachineRec {
	GLESLightSourceState* psState // @0
	IMG_UINT32 ui32LightType // @4
	GLEScoord sUnitVPpli // @8
	GLEScoord sHHat // @18
	GLESLightSourceMachine* psNext // @28
	IMG_FLOAT fCosCutOffAngle // @2c
	IMG_UINT32 ui32LightNum // @30
}

typedef struct GLES1USEShaderVariant_TAG GLES1ShaderVariant

struct GLES1USEShaderVariant_TAG {
	FRMFrameResource sResource // @0
	struct GLES1ShaderRec* psShader // @c
	IMG_DEV_VIRTADDR[2] sStartAddress // @10
	IMG_UINT32 ui32PhaseCount // @18
	UCH_UseCodeBlock* psCodeBlock // @1c
	IMG_UINT32 ui32MaxTempRegs // @20
	IMG_UINT32 ui32USEPrimAttribCount // @24
		union {
			struct {
		IMG_UINT32 ui32RasterEnables // @0
		IMG_UINT32 ui32ColorMask // @4
		IMG_UINT32 ui32BlendFunction // @8
		IMG_UINT32 ui32BlendEquation // @c
		IMG_UINT32 ui32LogicOp // @10
		IMG_UINT32 ui32ShadeModel // @14
		IMG_UINT32 ui32NumImageUnitsActive // @18
		IMG_UINT32 ui32AlphaTestFlags // @1c
		IMG_BOOL[4] abPointSpriteReplace // @20
		GLES1PDSInfo sPDSInfo // @30
	} sFragment
			struct {
		IMG_UINT32[18] aui32StreamTypeSize // @0
		IMG_UINT32 ui32NumItemsPerVertex // @48
	} sVertex
	} u // @28
	GLES1PDSCodeVariant* psPDSVariant // @16c
	IMG_UINT32 ui32NumPDSVariants // @170
	struct GLES1USEShaderVariant_TAG* psNext // @174
}

typedef struct GLES1PDSCodeVariant_TAG GLES1PDSCodeVariant

struct GLES1PDSCodeVariant_TAG {
	UCH_UseCodeBlock* psCodeBlock // @0
	IMG_UINT32 ui32DataSize // @4
	PDS_TEXTURE_IMAGE_UNIT[8] asTextureUnits // @8
	IMG_UINT32 ui32NonDependentImageUnits // @68
	GLES1ShaderVariant* psUSEVariant // @6c
	struct GLES1PDSCodeVariant_TAG* psNext // @70
}

struct GLEScoordRec {
	IMG_FLOAT fX // @0
	IMG_FLOAT fY // @4
	IMG_FLOAT fZ // @8
	IMG_FLOAT fW // @c
}

typedef struct GLEScoordRec GLEScoord

struct GLEScolorRec {
	IMG_FLOAT fRed // @0
	IMG_FLOAT fGreen // @4
	IMG_FLOAT fBlue // @8
	IMG_FLOAT fAlpha // @c
}

typedef struct GLEScolorRec GLEScolor

typedef unsigned int GLenum

typedef unsigned char GLboolean

typedef int GLint

typedef unsigned char GLubyte

typedef unsigned int GLuint

typedef float GLfloat

typedef int GLfixed

struct CircularBuffer_TAG {
	PVRSRV_CLIENT_MEM_INFO* psMemInfo // @0
	IMG_UINT32* pui32BufferBase // @4
	IMG_UINT32 ui32BufferLimitInBytes // @8
	IMG_DEV_VIRTADDR uDevVirtBase // @c
	volatile IMG_UINT32* pui32ReadOffset // @10
	IMG_UINT32 ui32ReadOffsetCopy // @14
	IMG_UINT32 ui32CurrentWriteOffsetInBytes // @18
	IMG_UINT32 ui32CommittedPrimOffsetInBytes // @1c
	IMG_UINT32 ui32CommittedHWOffsetInBytes // @20
	IMG_UINT32 ui32SingleKickLimitInBytes // @24
	IMG_DEV_VIRTADDR uTACtrlKickDevAddr // @28
	IMG_BOOL bLocked // @2c
	IMG_UINT32 ui32LockCount // @30
	PVRSRV_DEV_DATA* psDevData // @34
	IMG_HANDLE hOSEvent // @38
}

typedef struct CircularBuffer_TAG CircularBuffer

typedef void* EGLClientBuffer

struct _PVRSRV_SGX_CLIENT_INFO_ {
	IMG_UINT32 ui32ProcessID // @0
	IMG_VOID* pvProcess // @4
	PVRSRV_MISC_INFO sMiscInfo // @8
	IMG_UINT32 ui32EVMConfig // @64
	IMG_UINT32 ui32ClientKickFlags // @68
	IMG_UINT32 ui32NumUSETemporaryRegisters // @6c
	IMG_UINT32 ui32NumUSEAttributeRegisters // @70
	IMG_DEV_VIRTADDR uPDSExecBase // @74
	IMG_DEV_VIRTADDR uUSEExecBase // @78
}

typedef struct _PVRSRV_SGX_CLIENT_INFO_ PVRSRV_SGX_CLIENT_INFO

struct _SGX_KICKTA_COMMON_ {
	IMG_UINT32 ui32Frame // @0
	IMG_UINT32 ui32KickFlags // @4
	IMG_BOOL bCheckZLSControl // @8
	IMG_UINT32 ui32StoreEnable // @c
	IMG_UINT32 ui32LastTLQOp // @10
	IMG_HANDLE hRenderContext // @14
	IMG_HANDLE hRTDataSet // @18
	IMG_DEV_VIRTADDR sVisTestResultMem // @1c
	IMG_UINT32 ui32VisTestFlags // @20
	IMG_UINT32 ui32VisBreakpointCount // @24
	IMG_DEV_VIRTADDR sTAStateShadowDevAddr // @28
	IMG_UINT32 ui32TAStateShadowSizeInDWORDs // @2c
	IMG_UINT32 ui32ISPBGObjDepth // @30
	IMG_UINT32 ui32ISPBGObj // @34
	IMG_UINT32 ui32ISPIPFMisc // @38
	IMG_UINT32 ui32ISPPerpendicular // @3c
	IMG_UINT32 ui32ISPCullValue // @40
	IMG_UINT32 ui323DAAMode // @44
	IMG_UINT32 ui32ISPZBase // @48
	IMG_UINT32 ui32ISPStencilBase // @4c
	IMG_UINT32 ui32ZLSCtl // @50
	IMG_UINT32 ui32ISPValidId // @54
	IMG_UINT32 ui32ISPDBias // @58
	IMG_UINT32 ui32ISPSceneBGObj // @5c
	IMG_UINT32 ui32EDMPixelPDSAddr // @60
	IMG_UINT32 ui32EDMPixelPDSDataSize // @64
	IMG_UINT32 ui32EDMPixelPDSInfo // @68
	IMG_UINT32 ui32PixelBE // @6c
	IMG_UINT32 ui32Filter0Left // @70
	IMG_UINT32 ui32Filter0Right // @74
	IMG_UINT32 ui32Filter0Extra // @78
	IMG_UINT32 ui32Filter1Left // @7c
	IMG_UINT32 ui32Filter1Right // @80
	IMG_UINT32 ui32Filter1Extra // @84
	IMG_UINT32 ui32Filter2Left // @88
	IMG_UINT32 ui32Filter2Right // @8c
	IMG_UINT32 ui32Filter2Extra // @90
	IMG_UINT32 ui32FilterTable // @94
	IMG_UINT32 ui32USEStoreRange // @98
	IMG_UINT32 ui32USELoadRedirect // @9c
	IMG_DEV_VIRTADDR sTABufferCtlStreamBase // @a0
	IMG_DEV_VIRTADDR sTABufferCtlStreamTerminate // @a4
	IMG_UINT32 ui32MTECtrl // @a8
	IMG_UINT32[3] aui32SpecObject // @ac
	IMG_UINT32 ui32NumTAStatusVals // @b8
	IMG_UINT32 ui32Num3DStatusVals // @bc
	IMG_UINT32 ui32NumSrcSyncs // @c0
}

typedef struct _SGX_KICKTA_COMMON_ SGX_KICKTA_COMMON

struct _SGX_KICKTA_ {
	SGX_KICKTA_COMMON sKickTACommon // @0
	PVRSRV_CLIENT_SYNC_INFO* psRenderSurfSyncInfo // @c4
	PVRSRV_CLIENT_SYNC_INFO*[4] apsSrcSurfSyncInfo // @c8
	PVRSRV_CLIENT_SYNC_INFO*[32] apsTAStatusInfo // @d8
	PVRSRV_CLIENT_SYNC_INFO*[2] aps3DStatusInfo // @158
	IMG_HANDLE hTQContext // @160
}

typedef struct _SGX_KICKTA_ SGX_KICKTA

struct SrvSysContext_TAG {
	PVRSRV_CONNECTION sConnection // @0
	PVRSRV_DEV_DATA s3D // @8
	PVRSRV_SGX_CLIENT_INFO sHWInfo // @14
	IMG_HANDLE hIMGEGLAppHints // @90
	IMG_HANDLE hDevMemContext // @94
	IMG_HANDLE hUSEFragmentHeap // @98
	IMG_HANDLE hUSEVertexHeap // @9c
	IMG_HANDLE hPDSFragmentHeap // @a0
	IMG_HANDLE hPDSVertexHeap // @a4
	IMG_HANDLE hGeneralHeap // @a8
	IMG_DEV_VIRTADDR uUSEFragmentHeapBase // @ac
	IMG_DEV_VIRTADDR uUSEVertexHeapBase // @b0
	IMG_HANDLE hRenderContext // @b4
	PVRSRV_CLIENT_MEM_INFO* psVisTestResults // @b8
	IMG_HANDLE hTransferContext // @bc
}

typedef struct SrvSysContext_TAG SrvSysContext

struct _PDS_VERTEX_SHADER_PROGRAM_INFO_ {
	IMG_UINT32[3] aui32USETaskControlOffsets // @0
	IMG_UINT32 ui32NumStreams // @c
	IMG_UINT32[16] aui32NumElements // @10
	IMG_UINT32[16] aui32AddressOffsets // @50
	IMG_UINT32[16] aui32ElementOffsets // @450
	IMG_UINT32[16] aui32StreamAddresses // @850
	IMG_UINT32[3] aui32USETaskControl // @890
	IMG_BOOL bPatchTaskControl // @89c
}

typedef struct _PDS_VERTEX_SHADER_PROGRAM_INFO_ PDS_VERTEX_SHADER_PROGRAM_INFO

struct _PDS_TEXTURE_IMAGE_UNIT_ {
	IMG_UINT32 ui32TAGControlWord0 // @0
	IMG_UINT32 ui32TAGControlWord1 // @4
	IMG_UINT32 ui32TAGControlWord2 // @8
}

typedef struct _PDS_TEXTURE_IMAGE_UNIT_ PDS_TEXTURE_IMAGE_UNIT

typedef void* GPA_PROC

void

typedef IMG_VOID* EGLDrawableHandle

typedef IMG_VOID* EGLContextHandle

enum undefined {
	ROTATE_0 = 0; //0x0
	ROTATE_90 = 1; //0x1
	ROTATE_180 = 2; //0x2
	ROTATE_270 = 3; //0x3
	FLIP_Y = 4; //0x4
}

typedef enum undefined EGLRotationAngle

struct EGLRect_TAG {
	IMG_INT32 i32X // @0
	IMG_INT32 i32Y // @4
	IMG_UINT32 ui32Width // @8
	IMG_UINT32 ui32Height // @c
}

typedef struct EGLRect_TAG EGLRect

enum undefined {
	EGL_DRAWABLETYPE_WINDOW = 0; //0x0
	EGL_DRAWABLETYPE_PIXMAP = 1; //0x1
	EGL_DRAWABLETYPE_PBUFFER = 2; //0x2
}

typedef enum undefined EGLDrawableType

struct EGLPixelBEState_TAG {
	IMG_UINT32 ui32SidebandWord // @0
	IMG_UINT32[4] aui32EmitWords // @4
	PVRSRV_HWREG sEventPixelExec // @14
	PVRSRV_HWREG sEventPixelData // @1c
	PVRSRV_HWREG sEventPixelInfo // @24
	IMG_BOOL bDither // @2c
	IMG_UINT32* pui32PixelEventPDS // @30
	IMG_UINT32* pui32PixelEventUSSE // @34
}

typedef struct EGLPixelBEState_TAG EGLPixelBEState

struct GLESTARegisters_TAG {
	PVRSRV_HWREG sMTEControl // @0
}

typedef struct GLESTARegisters_TAG GLESTARegisters

struct GLES3DRegisters_TAG {
	PVRSRV_HWREG sPixelBE // @0
	PVRSRV_HWREG sISPIPFMisc // @8
	PVRSRV_HWREG sISPPerpendicular // @10
	PVRSRV_HWREG sISPCullValue // @18
	PVRSRV_HWREG sISPDepthBias // @20
	PVRSRV_HWREG s3DAAMode // @28
	PVRSRV_HWREG sISPZLSControl // @30
	PVRSRV_HWREG sISPZLoadBase // @38
	PVRSRV_HWREG sISPZStoreBase // @40
	PVRSRV_HWREG sISPStencilLoadBase // @48
	PVRSRV_HWREG sISPStencilStoreBase // @50
	PVRSRV_HWREG sISPBackgroundObject // @58
	PVRSRV_HWREG sISPBackgroundObjectDepth // @60
	PVRSRV_HWREG sEDMPixelPDSExec // @68
	PVRSRV_HWREG sEDMPixelPDSData // @70
	PVRSRV_HWREG sEDMPixelPDSInfo // @78
}

typedef struct GLES3DRegisters_TAG GLES3DRegisters

struct EGLTerminateState_TAG {
	PVRSRV_CLIENT_MEM_INFO* psTerminateUSEMemInfo // @0
	PVRSRV_CLIENT_MEM_INFO* psTerminatePDSMemInfo // @4
	IMG_UINT32 ui32PDSDataSize // @8
	IMG_UINT32 ui32TerminateRegion // @c
	IMG_DEV_VIRTADDR uPDSCodeAddress // @10
}

typedef struct EGLTerminateState_TAG EGLTerminateState

struct EGLRenderSurfaceTAG {
	IMG_BOOL bFirstKick // @0
	IMG_HANDLE hRenderTarget // @4
	PVRSRV_CLIENT_SYNC_INFO* psSyncInfo // @8
	PVRSRV_CLIENT_MEM_INFO* psSyncMemInfo // @c
	PVRSRV_CLIENT_MEM_INFO* psZSBufferMemInfo // @10
	CircularBuffer sPDSBuffer // @14
	CircularBuffer sUSSEBuffer // @50
	IMG_BOOL bMultiSample // @8c
	IMG_BOOL bInFrame // @90
	IMG_BOOL bInExternalFrame // @94
	IMG_BOOL bPrimitivesSinceLastTA // @98
	IMG_BOOL bMultiAPISurface // @9c
	EGLPixelBEState sPixelBEState // @a0
	IMG_UINT32[3] aui32HWBGObjPDSState // @d8
	EGLTerminateState sTerm // @e4
	IMG_UINT32 ui32TerminateRegion // @f8
	IMG_BOOL bLastDrawMaskFullScreenEnable // @fc
	EGLRect sLastDrawMask // @100
	IMG_UINT32[2] aui32RegionClipWord // @110
	GLESTARegisters sTARegs // @118
	GLES3DRegisters s3DRegs // @120
	EGLDrawableHandle hEGLSurface // @1a0
	PVRSRV_ALPHA_FORMAT eAlphaFormat // @1a4
	PVRSRV_COLOURSPACE_FORMAT eColourSpace // @1a8
	EGLClientBuffer hVGClientBuffer // @1ac
}

typedef struct EGLRenderSurfaceTAG EGLRenderSurface

struct EGLDrawableParamsTAG {
	EGLRotationAngle eRotationAngle // @0
	IMG_UINT32 ui32Width // @4
	IMG_UINT32 ui32Height // @8
	PVRSRV_PIXEL_FORMAT ePixelFormat // @c
	PVRSRV_CLIENT_SYNC_INFO* psSyncInfo // @10
	IMG_UINT32 ui32Stride // @14
	IMG_VOID* pvLinSurfaceAddress // @18
	IMG_UINT32 ui32HWSurfaceAddress // @1c
	EGLRenderSurface* psRenderSurface // @20
	EGLDrawableType eDrawableType // @24
	IMG_UINT32 ui32AccumStride // @28
	IMG_UINT32 ui32AccumHWAddress // @2c
	PVRSRV_PIXEL_FORMAT eAccumPixelFormat // @30
	PVRSRV_CLIENT_SYNC_INFO* psAccumSyncInfo // @34
}

typedef struct EGLDrawableParamsTAG EGLDrawableParams

struct EGLcontextModeRec {
	IMG_UINT32 ui32AntiAliasMode // @0
	IMG_UINT32 ui32RedBits // @4
	IMG_UINT32 ui32GreenBits // @8
	IMG_UINT32 ui32BlueBits // @c
	IMG_UINT32 ui32AlphaBits // @10
	IMG_UINT32 ui32ColorBits // @14
	IMG_UINT32 ui32DepthBits // @18
	IMG_UINT32 ui32StencilBits // @1c
	IMG_UINT32 ui32MaxViewportX // @20
	IMG_UINT32 ui32MaxViewportY // @24
	PVRSRV_PIXEL_FORMAT ePixelFormat // @28
}

typedef struct EGLcontextModeRec EGLcontextMode

struct EGLImageRec {
	IMG_UINT32 ui32Width // @0
	IMG_UINT32 ui32Height // @4
	PVRSRV_PIXEL_FORMAT ePixelFormat // @8
	IMG_UINT32 ui32Stride // @c
	IMG_VOID* pvLinSurfaceAddress // @10
	IMG_UINT32 ui32HWSurfaceAddress // @14
	PVRSRV_CLIENT_MEM_INFO* psMemInfo // @18
	IMG_VOID* hImage // @1c
	IMG_UINT32 ui32Target // @20
	IMG_UINT32 ui32Buffer // @24
	IMG_UINT32 ui32Level // @28
	IMG_BOOL bTwiddled // @2c
}

typedef struct EGLImageRec EGLImage

enum IMG_EGLERROR_TAG {
	IMG_EGL_NO_ERROR = 0; //0x0
	IMG_EGL_GENERIC_ERROR = 1; //0x1
	IMG_EGL_SCENE_LOST = 2; //0x2
	IMG_EGL_MEMORY_INVALID_ERROR = 3; //0x3
	IMG_EGL_BAD_ACCESS = 4; //0x4
	IMG_EGL_BAD_PARAMETER = 5; //0x5
	IMG_EGL_BAD_MATCH = 6; //0x6
	IMG_EGL_OUT_OF_MEMORY = 7; //0x7
}

typedef enum IMG_EGLERROR_TAG IMG_EGLERROR

struct IMG_OGLES1EGL_Interface_TAG {
	IMG_UINT32 ui32APIVersion // @0
	GPA_PROC* pfnGLESGetProcAddress // @4
	IMG_BOOL* pfnGLESCreateGC // @8
	IMG_BOOL* pfnGLESDestroyGC // @c
	IMG_EGLERROR* pfnGLESMakeCurrentGC // @10
	void* pfnGLESMakeUnCurrentGC // @14
	IMG_EGLERROR* pfnGLESFlushBuffersGC // @18
	IMG_BOOL* pfnGLESBindTexImage // @1c
	void* pfnGLESReleaseTexImage // @20
	IMG_EGLERROR* pfnGLESGetImageSource // @24
	void* pfnGLESMarkRenderSurfaceAsInvalid // @28
}

typedef void* GPA_PROC

typedef enum tag_img_bool IMG_BOOL

typedef enum tag_img_bool IMG_BOOL

typedef enum IMG_EGLERROR_TAG IMG_EGLERROR

typedef enum IMG_EGLERROR_TAG IMG_EGLERROR

typedef enum tag_img_bool IMG_BOOL

void

typedef enum IMG_EGLERROR_TAG IMG_EGLERROR

void

typedef struct IMG_OGLES1EGL_Interface_TAG IMG_OGLES1EGL_Interface

enum GLES1NameTypeTAG {
	GLES1_NAMETYPE_TEXOBJ = 0; //0x0
	GLES1_NAMETYPE_BUFOBJ = 1; //0x1
	GLES1_NAMETYPE_RENDERBUFFER = 2; //0x2
	GLES1_NAMETYPE_FRAMEBUFFER = 3; //0x3
	GLES1_NAMETYPE_PROGRAM = 4; //0x4
	GLES1_MAX_NAMETYPE = 5; //0x5
}

typedef enum GLES1NameTypeTAG GLES1NameType

struct GLES1NamedItemTAG {
	IMG_UINT32 ui32Name // @0
	IMG_UINT32 ui32RefCount // @4
	struct GLES1NamedItemTAG* psNext // @8
}

typedef struct GLES1NamedItemTAG GLES1NamedItem

struct GLESNamesArrayTAG {
	GLES1NameType eType // @0
	void* pfnFree // @4
	IMG_UINT32 ui32LastNameGenerated // @8
	IMG_UINT32 ui32NumItems // @c
	PVRSRV_RES_HANDLE* phSharedLock // @10
	GLES1NamedItem*[127] apsEntry // @14
}

void

typedef struct GLESNamesArrayTAG GLES1NamesArray

struct FRMFrameResourceRec {
	IMG_UINT32 ui32FirstSurface // @0
	struct FRMFrameResourceRec* psPrev // @4
	struct FRMFrameResourceRec* psNext // @8
}

typedef struct FRMFrameResourceRec FRMFrameResource

struct FRMFrameListRec {
	const EGLRenderSurface* psSurface // @0
	IMG_UINT32 ui32Frame // @4
	PVRSRV_SYNC_DATA* psSyncData // @8
	IMG_UINT32 ui32Next // @c
}

typedef struct FRMFrameListRec FRMFrameList

struct FRMFrameResourceManagerRec {
	PVRSRV_RES_HANDLE* phSharedLock // @0
	IMG_VOID* pvContext // @4
	FRMFrameList* asAttachment // @8
	IMG_UINT32 ui32MaxAttachments // @c
	IMG_UINT32 ui32AttachmentFreeList // @10
	FRMFrameResource* psResourceList // @14
	void* pfnReclaimResourceMem // @18
	IMG_BOOL bRemoveResourceAfterRecoveringMem // @1c
	FRMFrameResource* psGhostList // @20
	void* pfnDestroyGhost // @24
	PVRSRV_CONNECTION* psConnection // @28
	IMG_HANDLE hOSEvent // @2c
	IMG_BOOL bInitialized // @30
	void* pfnSetError // @34
}

void

void

typedef struct FRMFrameResourceManagerRec FRMFrameResourceManager

struct GLESBufferObjectRec {
	GLES1NamedItem sNamedItem // @0
	GLenum eUsage // @c
	GLenum eAccess // @10
	IMG_UINT32 ui32BufferSize // @14
	IMG_UINT32 ui32BindMask // @18
	PVRSRV_CLIENT_MEM_INFO* psMemInfo // @1c
	IMG_BOOL bMapped // @20
}

typedef struct GLESBufferObjectRec GLESBufferObject

struct GLESBufferObjectMachineRec {
	GLESBufferObject*[2] psActiveBuffer // @0
}

typedef struct GLESBufferObjectMachineRec GLESBufferObjectMachine

struct GLES1FrameBufferAttachableRec {
	GLES1NamedItem sNamedItem // @0
	EGLRenderSurface* psRenderSurface // @c
	GLenum eAttachmentType // @10
}

typedef struct GLES1FrameBufferAttachableRec GLES1FrameBufferAttachable

struct GLESRenderBufferRec {
	GLES1FrameBufferAttachable sFBAttachable // @0
	GLenum eRequestedFormat // @14
	IMG_UINT32 ui32Width // @18
	IMG_UINT32 ui32Height // @1c
	IMG_UINT8 ui8RedSize // @20
	IMG_UINT8 ui8GreenSize // @21
	IMG_UINT8 ui8BlueSize // @22
	IMG_UINT8 ui8AlphaSize // @23
	IMG_UINT8 ui8DepthSize // @24
	IMG_UINT8 ui8StencilSize // @25
	IMG_BOOL bInitialised // @28
	IMG_UINT32 ui32AllocatedBytes // @2c
	PVRSRV_CLIENT_MEM_INFO* psMemInfo // @30
	EGLImage* psEGLImageSource // @34
	EGLImage* psEGLImageTarget // @38
}

typedef struct GLESRenderBufferRec GLESRenderBuffer

struct GLESFrameBufferRec {
	GLES1NamedItem sNamedItem // @0
	GLenum eStatus // @c
	EGLcontextMode sMode // @10
	EGLDrawableParams sDrawParams // @3c
	EGLDrawableParams sReadParams // @74
	GLES1FrameBufferAttachable*[3] apsAttachment // @ac
}

typedef struct GLESFrameBufferRec GLESFrameBuffer

struct GLESFrameBufferObjectMachineRec {
	GLESFrameBuffer* psActiveFrameBuffer // @0
	GLESRenderBuffer* psActiveRenderBuffer // @4
	GLESFrameBuffer sDefaultFrameBuffer // @8
}

typedef struct GLESFrameBufferObjectMachineRec GLESFrameBufferObjectMachine

struct GLESTextureFormatRec {
	IMG_UINT32 ui32TotalBytesPerTexel // @0
	IMG_UINT32 ui32BaseFormatIndex // @4
	IMG_UINT32 ui32HWFormat // @8
}

typedef struct GLESTextureFormatRec GLESTextureFormat

struct GLESMipMapLevelRec {
	GLES1FrameBufferAttachable sFBAttachable // @0
	IMG_UINT8* pui8Buffer // @14
	IMG_UINT32 ui32Width // @18
	IMG_UINT32 ui32Height // @1c
	IMG_UINT32 ui32ImageSize // @20
	IMG_INT32 i32WidthLog2 // @24
	IMG_INT32 i32HeightLog2 // @28
	GLenum eRequestedFormat // @2c
	const GLESTextureFormat* psTexFormat // @30
	struct GLESTextureRec* psTex // @34
	IMG_UINT32 ui32Level // @38
}

typedef struct GLESMipMapLevelRec GLESMipMapLevel

struct GLESTextureParamStateRec {
	IMG_UINT32 ui32StateWord0 // @0
	IMG_UINT32 ui32StateWord1 // @4
	IMG_UINT32 ui32StateWord2 // @8
	IMG_UINT32 ui32MinFilter // @c
	IMG_UINT32 ui32MagFilter // @10
	IMG_BOOL bGenerateMipmap // @14
	IMG_INT32 i32CropRectU // @18
	IMG_INT32 i32CropRectV // @1c
	IMG_INT32 i32CropRectW // @20
	IMG_INT32 i32CropRectH // @24
	IMG_UINT32[2] aui32StreamWord1 // @28
	IMG_UINT32[2] aui32StreamWord2 // @30
}

typedef struct GLESTextureParamStateRec GLESTextureParamState

enum undefined {
	GLES1_COMBINEOP_REPLACE = 0; //0x0
	GLES1_COMBINEOP_MODULATE = 1; //0x1
	GLES1_COMBINEOP_ADD = 2; //0x2
	GLES1_COMBINEOP_ADDSIGNED = 3; //0x3
	GLES1_COMBINEOP_INTERPOLATE = 4; //0x4
	GLES1_COMBINEOP_SUBTRACT = 5; //0x5
	GLES1_COMBINEOP_DOT3_RGB = 6; //0x6
	GLES1_COMBINEOP_DOT3_RGBA = 7; //0x7
	GLES1_COMBINEOP_SCALE_ONE = 0; //0x0
	GLES1_COMBINEOP_SCALE_TWO = 16; //0x10
	GLES1_COMBINEOP_SCALE_FOUR = 32; //0x20
	GLES1_COMBINEOP_FORCE_DWORD = 2147483647; //0x7fffffff
}

typedef enum undefined GLES1TexCombineOp

enum undefined {
	GLES1_COMBINECSRC_PRIMARY = 0; //0x0
	GLES1_COMBINECSRC_PREVIOUS = 1; //0x1
	GLES1_COMBINECSRC_TEXTURE = 2; //0x2
	GLES1_COMBINECSRC_CONSTANT = 3; //0x3
	GLES1_COMBINECSRC_OPERANDCOLOR = 0; //0x0
	GLES1_COMBINECSRC_OPERANDALPHA = 4; //0x4
	GLES1_COMBINECSRC_OPERANDONEMINUS = 8; //0x8
	GLES1_COMBINECSRC_CROSSBAR = 16; //0x10
	GLES1_COMBINECSRC_FORCE_DWORD = 2147483647; //0x7fffffff
}

typedef enum undefined GLES1TexCombineColSrc

enum undefined {
	GLES1_COMBINEASRC_PRIMARY = 0; //0x0
	GLES1_COMBINEASRC_PREVIOUS = 1; //0x1
	GLES1_COMBINEASRC_TEXTURE = 2; //0x2
	GLES1_COMBINEASRC_CONSTANT = 3; //0x3
	GLES1_COMBINEASRC_OPERANDONEMINUS = 8; //0x8
	GLES1_COMBINEASRC_CROSSBAR = 16; //0x10
	GLES1_COMBINEASRC_FORCE_DWORD = 2147483647; //0x7fffffff
}

typedef enum undefined GLES1TexCombineAlphaSrc

struct GLESTextureEnvStateRec {
	IMG_UINT32 ui32Mode // @0
	IMG_UINT32 ui32Color // @4
	GLEScolor sColor // @8
	IMG_BOOL bPointSpriteReplace // @18
	GLES1TexCombineOp eOp // @1c
	GLES1TexCombineColSrc eColorSrcs // @20
	GLES1TexCombineAlphaSrc eAlphaSrcs // @24
}

typedef struct GLESTextureEnvStateRec GLESTextureEnvState

struct GLESTextureUnitStateRec {
	GLESTextureParamState*[3] psTexture // @0
	GLESTextureEnvState sEnv // @c
	GLenum eTexGenMode // @34
}

typedef struct GLESTextureUnitStateRec GLESTextureUnitState

void

void

struct GLESTextureManagerRec {
	IMG_UINT32 ui32GhostMem // @0
	FRMFrameResourceManager sFRM // @4
	PVRSRV_CLIENT_MEM_INFO* psWhiteDummyTexture // @3c
}

typedef struct GLESTextureManagerRec GLES1TextureManager

struct GLESTextureMachineRec {
	GLESTexture*[3] psDefaultTexture // @0
	GLESTexture*[4] apsBoundTexture // @c
	IMG_UINT32[4] aui32CurrentTarget // @3c
	IMG_BOOL bSpriteMode // @4c
	void* pfnInitTextureManager // @50
	const GLESTextureFormat* psDefaultRGBFormat // @54
	const GLESTextureFormat* psDefaultRGBAFormat // @58
}

void

typedef struct GLESTextureMachineRec GLESTextureMachine

struct YUV_CONVERT_COEFFS_TAG {
	IMG_INT16 i16rY // @0
	IMG_INT16 i16rU // @2
	IMG_INT16 i16rV // @4
	IMG_INT16 i16gY // @6
	IMG_INT16 i16gU // @8
	IMG_INT16 i16gV // @a
	IMG_INT16 i16bY // @c
	IMG_INT16 i16bU // @e
	IMG_INT16 i16bV // @10
	IMG_UINT8 ui8rShift // @12
	IMG_UINT8 ui8gShift // @13
	IMG_UINT8 ui8bShift // @14
	IMG_INT16 i16rConst // @16
	IMG_INT16 i16gConst // @18
	IMG_INT16 i16bConst // @1a
}

typedef struct YUV_CONVERT_COEFFS_TAG YUV_CONVERT_COEFFS

struct GLES1DeviceBuffer_TAG {
	IMG_HANDLE hBuffer // @0
	PVRSRV_CLIENT_MEM_INFO* psBufferSurface // @4
	IMG_UINT32 ui32ByteStride // @8
	IMG_UINT32 ui32PixelWidth // @c
	IMG_UINT32 ui32PixelHeight // @10
	PVRSRV_PIXEL_FORMAT ePixelFormat // @14
}

typedef struct GLES1DeviceBuffer_TAG GLES1DeviceBuffer

struct GLES1StreamDevice_TAG {
	BUFFER_INFO sBufferInfo // @0
	IMG_HANDLE hBufferDevice // @1c
	IMG_UINT32 ui32BufferDevice // @20
	GLES1DeviceBuffer* psBuffer // @24
	YUV_CONVERT_COEFFS sYUVCoeffs // @28
	IMG_UINT32[2] aui32StreamWord1 // @44
	IMG_UINT32[2] aui32StreamWord2 // @4c
	struct GLES1StreamDevice_TAG* psNext // @54
	IMG_CHAR[20] szDeviceName // @58
}

typedef struct GLES1StreamDevice_TAG GLES1StreamDevice

void

struct GLES1TransformRec {
	GLESMatrix sMatrix // @0
	GLESMatrix sInverseTranspose // @58
	GLESMatrix sMvp // @b0
	IMG_UINT32 ui32Sequence // @108
	IMG_BOOL bUpdateInverse // @10c
	IMG_FLOAT fRescaleFactor // @110
}

typedef struct GLES1TransformRec GLES1Transform

struct GLES1TransformMachineRec {
	GLES1Transform* psModelViewStack // @0
	GLES1Transform* psModelView // @4
	GLES1Transform* psMatrixPalette // @8
	GLES1Transform* psProjectionStack // @c
	GLES1Transform* psProjection // @10
	IMG_UINT32 ui32ProjectionSequence // @14
	GLES1Transform*[4] apsTextureStack // @18
	GLES1Transform*[4] apsTexture // @28
	GLES1Transform*[8] apsProgramStack // @38
	GLES1Transform*[8] apsProgram // @58
	GLEScoord[6] asEyeClipPlane // @78
	void* pfnDrawPoints // @d8
}

void

typedef struct GLES1TransformMachineRec GLES1TransformMachine

struct GLESCurrentStateRec {
	GLEScoord[18] asAttrib // @0
	IMG_UINT32 ui32MatrixPaletteIndex // @120
}

typedef struct GLESCurrentStateRec GLESCurrentState

struct GLESFogStateRec {
	GLenum eMode // @0
	IMG_UINT32 ui32Color // @4
	GLEScolor sColor // @8
	IMG_FLOAT fDensity // @18
	IMG_FLOAT fStart // @1c
	IMG_FLOAT fEnd // @20
	IMG_FLOAT fOneOverEMinusS // @24
}

typedef struct GLESFogStateRec GLESFogState

struct GLESVertArrayPointerStateRec {
	IMG_UINT8* pui8Pointer // @0
	IMG_UINT32 ui32StreamTypeSize // @4
	IMG_UINT32 ui32UserStride // @8
	GLESBufferObject* psBufObj // @c
	IMG_UINT32 ui32Stride // @10
	IMG_UINT32 ui32Size // @14
	IMG_BOOL bIsCurrentState // @18
	IMG_UINT8* pui8CopyPointer // @1c
	IMG_UINT32 ui32CopyStreamTypeSize // @20
	IMG_UINT32 ui32CopyStride // @24
	IMG_UINT8* pui8SrcPointer // @28
	IMG_UINT8* pui8DstPointer // @2c
	IMG_UINT32 ui32DstSize // @30
	void* pfnCopyData // @34
	IMG_VOID* pvPDSSrcAddress // @38
}

void

typedef struct GLESVertArrayPointerStateRec GLESVertArrayPointerState

struct GLESVertArrayMachineRec {
	GLESVertArrayPointerState[18] asVAPState // @0
	GLESVertArrayPointerState*[18] apsPackedVAPState // @438
	IMG_UINT32 ui32ControlWord // @480
	IMG_UINT32 ui32ArrayEnables // @484
	IMG_UINT32 ui32CompileMask // @488
	IMG_UINT32 ui32NumItemsPerVertex // @48c
	IMG_UINT32 ui32NumBytesPerVertex // @490
}

typedef struct GLESVertArrayMachineRec GLESVertArrayMachine

struct GLESMatrixProcsRec {
	void* pfnCopy // @0
	void* pfnInvertTranspose // @4
	void* pfnMakeIdentity // @8
	void* pfnMult // @c
}

void

void

void

typedef struct GLESMatrixProcsRec GLESMatrixProcs

void

void

typedef float IMG_FLOAT

struct GLESMaterialStateRec {
	GLEScolor sAmbient // @0
	GLEScolor sDiffuse // @10
	GLEScolor sSpecular // @20
	GLEScolor sEmissive // @30
	GLEScoord sSpecularExponent // @40
}

typedef struct GLESMaterialStateRec GLESMaterialState

struct GLESLightModelStateRec {
	GLEScolor sAmbient // @0
	IMG_BOOL bTwoSided // @10
}

typedef struct GLESLightModelStateRec GLESLightModelState

struct GLESLightSourceStateRec {
	GLEScolor sAmbient // @0
	GLEScolor sDiffuse // @10
	GLEScolor sSpecular // @20
	GLEScoord sPosition // @30
	GLEScoord sPositionEye // @40
	GLEScoord sDirection // @50
	GLEScoord sSpotDirectionEye // @60
	IMG_FLOAT fSpotLightExponent // @70
	IMG_FLOAT fSpotLightCutOffAngle // @74
	IMG_FLOAT[4] afAttenuation // @78
}

typedef struct GLESLightSourceStateRec GLESLightSourceState

struct GLESLightStateRec {
	GLESLightModelState sModel // @0
	GLESMaterialState sMaterial // @14
	GLESLightSourceState* psSource // @64
	GLenum eColorMaterialParam // @68
}

typedef struct GLESLightStateRec GLESLightState

typedef struct {
	IMG_UINT32[3] aui32NumEnabled // @0
	GLESLightSourceMachine* psSource // @c
	GLESLightSourceMachine* psSources // @10
	GLEScolor sSceneColor // @14
} GLESLightMachine

typedef struct VPGenProgram_TAG VPGenProgram

struct VPGenProgram_TAG {
}

enum undefined {
	GLES1_VP_BINDING_TEMP = 1; //0x1
	GLES1_VP_BINDING_VERTEX_ATTRIB = 2; //0x2
	GLES1_VP_BINDING_VERTEX_POSITION = 3; //0x3
	GLES1_VP_BINDING_VERTEX_NORMAL = 4; //0x4
	GLES1_VP_BINDING_VERTEX_COLOR = 5; //0x5
	GLES1_VP_BINDING_VERTEX_FOGCOORD = 6; //0x6
	GLES1_VP_BINDING_VERTEX_TEXCOORD = 7; //0x7
	GLES1_VP_BINDING_VERTEX_WEIGHT = 8; //0x8
	GLES1_VP_BINDING_VERTEX_MATRIX_INDEX = 9; //0x9
	GLES1_VP_BINDING_MATERIAL_AMBIENT = 10; //0xa
	GLES1_VP_BINDING_MATERIAL_DIFFUSE = 11; //0xb
	GLES1_VP_BINDING_MATERIAL_SPECULAR = 12; //0xc
	GLES1_VP_BINDING_MATERIAL_EMISSION = 13; //0xd
	GLES1_VP_BINDING_MATERIAL_SHININESS = 14; //0xe
	GLES1_VP_BINDING_LIGHT_AMBIENT = 15; //0xf
	GLES1_VP_BINDING_LIGHT_DIFFUSE = 16; //0x10
	GLES1_VP_BINDING_LIGHT_SPECULAR = 17; //0x11
	GLES1_VP_BINDING_LIGHT_POSITION = 18; //0x12
	GLES1_VP_BINDING_LIGHT_ATTENUATION = 19; //0x13
	GLES1_VP_BINDING_LIGHT_SPOT_DIRECTION = 20; //0x14
	GLES1_VP_BINDING_LIGHT_HALF = 21; //0x15
	GLES1_VP_BINDING_LIGHTMODEL_AMBIENT = 22; //0x16
	GLES1_VP_BINDING_LIGHTMODEL_SCENECOLOR = 23; //0x17
	GLES1_VP_BINDING_LIGHTPROD_AMBIENT = 24; //0x18
	GLES1_VP_BINDING_LIGHTPROD_DIFFUSE = 25; //0x19
	GLES1_VP_BINDING_LIGHTPROD_SPECULAR = 26; //0x1a
	GLES1_VP_BINDING_TEXGEN_EYE = 27; //0x1b
	GLES1_VP_BINDING_TEXGEN_OBJECT = 28; //0x1c
	GLES1_VP_BINDING_FOG_COLOR = 29; //0x1d
	GLES1_VP_BINDING_FOG_PARAMS = 30; //0x1e
	GLES1_VP_BINDING_SPECIAL_FOG_PARAMS = 31; //0x1f
	GLES1_VP_BINDING_CLIP_PLANE = 32; //0x20
	GLES1_VP_BINDING_CLIP_FRONT = 33; //0x21
	GLES1_VP_BINDING_CLIP_BACK = 34; //0x22
	GLES1_VP_BINDING_POINT_SIZE = 35; //0x23
	GLES1_VP_BINDING_POINT_ATTENUATION = 36; //0x24
	GLES1_VP_BINDING_MATRIX_MODELVIEW_ROW0 = 37; //0x25
	GLES1_VP_BINDING_MATRIX_MODELVIEW_ROW1 = 38; //0x26
	GLES1_VP_BINDING_MATRIX_MODELVIEW_ROW2 = 39; //0x27
	GLES1_VP_BINDING_MATRIX_MODELVIEW_ROW3 = 40; //0x28
	GLES1_VP_BINDING_MATRIX_PROJECTION_ROW0 = 41; //0x29
	GLES1_VP_BINDING_MATRIX_PROJECTION_ROW1 = 42; //0x2a
	GLES1_VP_BINDING_MATRIX_PROJECTION_ROW2 = 43; //0x2b
	GLES1_VP_BINDING_MATRIX_PROJECTION_ROW3 = 44; //0x2c
	GLES1_VP_BINDING_MATRIX_MVP_ROW0 = 45; //0x2d
	GLES1_VP_BINDING_MATRIX_MVP_ROW1 = 46; //0x2e
	GLES1_VP_BINDING_MATRIX_MVP_ROW2 = 47; //0x2f
	GLES1_VP_BINDING_MATRIX_MVP_ROW3 = 48; //0x30
	GLES1_VP_BINDING_MATRIX_TEXTURE_ROW0 = 49; //0x31
	GLES1_VP_BINDING_MATRIX_TEXTURE_ROW1 = 50; //0x32
	GLES1_VP_BINDING_MATRIX_TEXTURE_ROW2 = 51; //0x33
	GLES1_VP_BINDING_MATRIX_TEXTURE_ROW3 = 52; //0x34
	GLES1_VP_BINDING_MATRIX_PALETTE_ROW0 = 53; //0x35
	GLES1_VP_BINDING_MATRIX_PALETTE_ROW1 = 54; //0x36
	GLES1_VP_BINDING_MATRIX_PALETTE_ROW2 = 55; //0x37
	GLES1_VP_BINDING_MATRIX_PALETTE_ROW3 = 56; //0x38
	GLES1_VP_BINDING_MATRIX_PROGRAM_ROW0 = 57; //0x39
	GLES1_VP_BINDING_MATRIX_PROGRAM_ROW1 = 58; //0x3a
	GLES1_VP_BINDING_MATRIX_PROGRAM_ROW2 = 59; //0x3b
	GLES1_VP_BINDING_MATRIX_PROGRAM_ROW3 = 60; //0x3c
	GLES1_VP_BINDING_PROGRAM_ENV = 61; //0x3d
	GLES1_VP_BINDING_PROGRAM_LOCAL = 62; //0x3e
	GLES1_VP_BINDING_CONSTANT = 63; //0x3f
	GLES1_VP_BINDING_RESULT = 64; //0x40
	GLES1_VP_BINDING_ADDRESS = 65; //0x41
	GLES1_VP_BINDING_RESULT_POSITION = 66; //0x42
	GLES1_VP_BINDING_RESULT_COLOR = 67; //0x43
	GLES1_VP_BINDING_RESULT_FOGCOORD = 68; //0x44
	GLES1_VP_BINDING_RESULT_TEXCOORD = 69; //0x45
	GLES1_VP_BINDING_RESULT_POINTSIZE = 70; //0x46
	GLES1_VP_BINDING_RESULT_CLIP = 71; //0x47
	GLES1_VP_BINDING_VGP_OUTPUT_TEX0 = 72; //0x48
	GLES1_VP_BINDING_VGP_OUTPUT_TEX1 = 73; //0x49
	GLES1_VP_BINDING_VGP_OUTPUT_TEXKILL0 = 74; //0x4a
	GLES1_VP_BINDING_VGP_OUTPUT_TEXKILL1 = 75; //0x4b
	GLES1_VP_BINDING_VGP_OUTPUT_CLIP = 76; //0x4c
	GLES1_VP_BINDING_VGP_OUTPUT_POSITION = 77; //0x4d
	GLES1_VP_BINDING_VGP_OUTPUT_BASECOLOR = 78; //0x4e
	GLES1_VP_BINDING_VGP_OUTPUT_OFFSETCOLOR = 79; //0x4f
	GLES1_VP_BINDING_UNINITIALIZED = 80; //0x50
	GLES1_VP_BINDING_END = 81; //0x51
}

typedef enum undefined GLES1_VP_BINDING_TYPE

struct GLES1VPHeader2Rec {
	IMG_UINT32 ui32Flags // @0
	IMG_UINT32 ui32HWRevision // @4
	IMG_UINT32[16] aui32SectionDesc // @8
	IMG_UINT32 ui32NumBindings // @48
}

typedef struct GLES1VPHeader2Rec GLES1VPHeader2

struct GLES1VPBindingHeaderRec {
	IMG_UINT32 ui32NumLocalParams // @0
	IMG_UINT32 ui32NumEnvParams // @4
	IMG_UINT32 ui32NumLocalConstants // @8
	IMG_UINT32 ui32NumState // @c
}

typedef struct GLES1VPBindingHeaderRec GLES1VPBindingHeader

struct GLESVP1StateBindingRec {
	GLES1_VP_BINDING_TYPE eBindingType // @0
	GLEScoord* psData // @4
	GLEScoord sData // @8
	IMG_UINT32 ui32HWOffset // @18
	IMG_UINT32 ui32NeedsFlag // @1c
	IMG_UINT32 ui32Index0 // @20
	IMG_UINT32 ui32Index1 // @24
}

typedef struct GLESVP1StateBindingRec GLES1VPStateBinding

struct GLES1VPConstantRec {
	GLEScoord sData // @0
	IMG_UINT32 ui32HWOffset // @10
}

typedef struct GLES1VPConstantRec GLES1VPConstant

struct GLES1VertexProgramRec {
	GLES1NamedItem sNamedItem // @0
	IMG_BOOL bValid // @c
	IMG_BOOL bResident // @10
	GLES1VPBindingHeader sBindingInfo // @14
	GLES1VPStateBinding* psStateBinding // @24
	IMG_UINT32[8] aui32InputRegisterMapping // @28
	IMG_UINT32* pui32Code // @48
	IMG_UINT32 ui32CodeSizeInBytes // @4c
	IMG_UINT32 ui32InputMask // @50
	IMG_UINT32 ui32OutputMask // @54
	IMG_UINT32 ui32LocalParamMask // @58
	IMG_UINT32 ui32StateMask // @5c
	IMG_UINT32 ui32LocalParamDirtyMask // @60
	IMG_UINT32 ui32StateDirtyMask // @64
	GLES1VPConstant[16] asLocalParam // @68
	IMG_UINT32[16] aui32EnvParamHWOffset // @1a8
	IMG_UINT32 ui32EnvParamMask // @1e8
	GLES1VPConstant* psLocalConstants // @1ec
	IMG_UINT32[16] aui32SectionDefinitions // @1f0
	IMG_UINT32[16] aui32RealSectionDesc // @230
	IMG_UINT32 ui32NumberAttribs // @270
	GLES1VPHeader2 sInfo // @274
	IMG_BOOL bRedirectSectionPresent // @2c0
	IMG_BOOL bFogSectionsPresent // @2c4
	IMG_UINT32[3] aui32FFInputRegisterMapping // @2c8
	VPGenProgram* psVPGenProgram // @2d4
}

typedef struct GLES1VertexProgramRec GLES1VertexProgram

struct GLES1VertexProgramStateRec {
	IMG_UINT32 ui32Name // @0
	GLEScoord[16] asEnvParam // @4
	IMG_UINT32 ui32EnvParamDirtyMask // @104
}

typedef struct GLES1VertexProgramStateRec GLES1VertexProgramState

struct GLES1VertexProgramMachineRec {
	GLES1VertexProgram* psDefaultProgram // @0
	GLES1VertexProgram* psCurrentProgram // @4
}

typedef struct GLES1VertexProgramMachineRec GLES1VertexProgramMachine

struct GLESPointStateRec {
	IMG_FLOAT* pfPointSize // @0
	IMG_FLOAT fSmoothSize // @4
	IMG_FLOAT fAliasedSize // @8
	IMG_FLOAT fRequestedSize // @c
	IMG_FLOAT* pfMinPointSize // @10
	IMG_FLOAT* pfMaxPointSize // @14
	IMG_FLOAT fMinSmoothSize // @18
	IMG_FLOAT fMaxSmoothSize // @1c
	IMG_FLOAT fMinAliasedSize // @20
	IMG_FLOAT fMaxAliasedSize // @24
	IMG_FLOAT[4] afAttenuation // @28
	IMG_FLOAT fClampMin // @38
	IMG_FLOAT fClampMax // @3c
	IMG_FLOAT fFade // @40
	IMG_BOOL bAttenuationEnabled // @44
}

typedef struct GLESPointStateRec GLESPointState

struct GLESViewportRec {
	IMG_INT32 i32X // @0
	IMG_INT32 i32Y // @4
	IMG_UINT32 ui32Width // @8
	IMG_UINT32 ui32Height // @c
	IMG_FLOAT fZNear // @10
	IMG_FLOAT fZFar // @14
	IMG_FLOAT fXCenter // @18
	IMG_FLOAT fXScale // @1c
	IMG_FLOAT fYCenter // @20
	IMG_FLOAT fYScale // @24
	IMG_FLOAT fZCenter // @28
	IMG_FLOAT fZScale // @2c
	GLEScoord[2] sFrontBackClip // @30
}

typedef struct GLESViewportRec GLESViewport

struct GLESLineStateRec {
	IMG_FLOAT* pfLineWidth // @0
	IMG_FLOAT fSmoothWidth // @4
	IMG_FLOAT fAliasedWidth // @8
}

typedef struct GLESLineStateRec GLESLineState

struct GLESPolygonStateRec {
	GLenum eCullMode // @0
	GLenum eFrontFaceDirection // @4
	IMG_UINT32 ui32DepthBias // @8
	IMG_FLOAT fFactor // @c
	IMG_FLOAT fUnits // @10
}

typedef struct GLESPolygonStateRec GLESPolygonState

struct GLESDepthStateRec {
	IMG_UINT32 ui32TestFunc // @0
	IMG_FLOAT fClear // @4
}

typedef struct GLESDepthStateRec GLESDepthState

struct GLESStencilStateRec {
	IMG_UINT32 ui32Stencil // @0
	IMG_UINT32 ui32StencilRef // @4
	IMG_INT32 i32Clear // @8
}

typedef struct GLESStencilStateRec GLESStencilState

struct GLESRasterStateRec {
	IMG_UINT32 ui32AlphaTestFunc // @0
	IMG_FLOAT fAlphaTestRef // @4
	IMG_UINT32 ui32AlphaTestRef // @8
	IMG_UINT32 ui32BlendFunction // @c
	IMG_UINT32 ui32BlendEquation // @10
	IMG_UINT32 ui32LogicOp // @14
	GLEScolor sClearColor // @18
	IMG_UINT32 ui32ClearColor // @28
	IMG_UINT32 ui32ColorMask // @2c
}

typedef struct GLESRasterStateRec GLESRasterState

struct GLESHintStateRec {
	GLenum[6] eHint // @0
}

typedef struct GLESHintStateRec GLESHintState

struct GLESTextureStateRec {
	IMG_UINT32 ui32ActiveTexture // @0
	GLESTextureUnitState* psActive // @4
	GLESTextureUnitState[4] asUnit // @8
}

typedef struct GLESTextureStateRec GLESTextureState

struct GLESClientPixelStateRec {
	IMG_UINT32 ui32PackAlignment // @0
	IMG_UINT32 ui32UnpackAlignment // @4
}

typedef struct GLESClientPixelStateRec GLESClientPixelState

struct GLESScissorRec {
	IMG_INT32 i32ScissorX // @0
	IMG_INT32 i32ScissorY // @4
	IMG_UINT32 ui32ScissorWidth // @8
	IMG_UINT32 ui32ScissorHeight // @c
}

typedef struct GLESScissorRec GLESScissor

struct GLESMultisampleStateRec {
	IMG_FLOAT fSampleCoverageValue // @0
	IMG_BOOL bSampleCoverageInvert // @4
}

typedef struct GLESMultisampleStateRec GLESMultisampleState

struct GLESShadeStateRec {
	IMG_UINT32 ui32ShadeModel // @0
}

typedef struct GLESShadeStateRec GLESShadeState

struct GLESStateRec {
	GLESHintState sHints // @0
	GLESScissor sScissor // @18
	GLESClientPixelState sClientPixel // @28
	GLESTextureState sTexture // @30
	GLESStencilState sStencil // @118
	GLESMultisampleState sMultisample // @124
	GLESPolygonState sPolygon // @12c
	GLESRasterState sRaster // @140
	GLESDepthState sDepth // @170
	GLESViewport sViewport // @178
	GLESPointState sPoint // @1c8
	GLESLineState sLine // @210
	GLESCurrentState sCurrent // @21c
	GLESShadeState sShade // @340
	GLESLightState sLight // @344
	GLESFogState sFog // @3b0
	GLenum eMatrixMode // @3d8
	IMG_UINT32 ui32ClientActiveTexture // @3dc
	GLES1VertexProgramState sVertexProgram // @3e0
}

typedef struct GLESStateRec GLESState

typedef struct UCH_UseCodeHeapTAG UCH_UseCodeHeap

struct UCH_UseCodeHeapTAG {
	UCH_CodeHeapType eType // @0
	PVRSRV_DEV_DATA* ps3DDevData // @4
	PVRSRV_CLIENT_MEM_INFO* psCodeMemory // @8
	UCH_UseCodeBlock* psFreeBlockList // @c
	IMG_INT32 i32AllocationsNotDeallocated // @10
	IMG_HANDLE hHeapAllocator // @14
	IMG_BOOL bDirtySinceLastTAKick // @18
}

struct UCH_UseCodeBlockTAG {
	UCH_UseCodeHeap* psHeap // @0
	PVRSRV_CLIENT_MEM_INFO* psCodeMemory // @4
	IMG_DEV_VIRTADDR sCodeAddress // @8
	IMG_UINT8* pui8LinAddress // @c
	IMG_UINT32 ui32Size // @10
	struct UCH_UseCodeBlockTAG* psNext // @14
	IMG_VOID* pvClientData // @18
}

typedef struct UCH_UseCodeBlockTAG UCH_UseCodeBlock

enum undefined {
	UCH_USE_CODE_HEAP_TYPE = 1; //0x1
	UCH_PDS_CODE_HEAP_TYPE = 2; //0x2
}

typedef enum undefined UCH_CodeHeapType

enum GLES1PrimType_TAG {
	GLES1_PRIMTYPE_POINT = 0; //0x0
	GLES1_PRIMTYPE_LINE = 1; //0x1
	GLES1_PRIMTYPE_LINE_LOOP = 2; //0x2
	GLES1_PRIMTYPE_LINE_STRIP = 3; //0x3
	GLES1_PRIMTYPE_TRIANGLE = 4; //0x4
	GLES1_PRIMTYPE_TRIANGLE_STRIP = 5; //0x5
	GLES1_PRIMTYPE_TRIANGLE_FAN = 6; //0x6
	GLES1_PRIMTYPE_SPRITE = 7; //0x7
	GLES1_PRIMTYPE_DRAWTEXTURE = 8; //0x8
	GLES1_PRIMTYPE_MAX = 9; //0x9
}

typedef enum GLES1PrimType_TAG GLES1PrimType

struct GLES1PDSVertexState_TAG {
	PDS_VERTEX_SHADER_PROGRAM_INFO sProgramInfo // @0
	IMG_UINT32[232] aui32LastPDSProgram // @8a0
	IMG_UINT32 ui32ProgramSize // @c40
}

typedef struct GLES1PDSVertexState_TAG GLES1PDSVertexState

struct GLESCompiledRenderState_TAG {
	IMG_UINT32 ui32ISPControlWordA // @0
	IMG_UINT32 ui32ISPControlWordB // @4
	IMG_UINT32 ui32ISPControlWordC // @8
	IMG_UINT32 ui32MTEControl // @c
	IMG_UINT32 ui32LogicOpsUSECodeSizeInBytes // @10
	IMG_UINT32[4] aui32LogicOpsUSECode // @14
	IMG_UINT32 ui32FBBlendUSECodeSizeInBytes // @24
	IMG_UINT32[10] aui32FBBlendUSECode // @28
	IMG_UINT32 ui32ColorMaskUSECodeSizeInBytes // @50
	IMG_UINT32[2] aui32ColorMaskUSECode // @54
	IMG_UINT32 ui32AlphaTestFlags // @5c
	IMG_UINT32 ui32ISPFeedback0 // @60
	IMG_UINT32 ui32ISPFeedback1 // @64
}

typedef struct GLESCompiledRenderState_TAG GLESCompiledRenderState

struct GLESShaderTextureState_TAG {
	PDS_TEXTURE_IMAGE_UNIT[8] asTextureImageUnits // @0
	IMG_UINT32 uHashValue // @60
	IMG_BOOL bSomeTexturesWereGhosted // @64
}

typedef struct GLESShaderTextureState_TAG GLESShaderTextureState

struct GLES1BRN22336Prims_TAG {
	UCH_UseCodeBlock* psVertexCodeBlock // @0
	PVRSRV_CLIENT_MEM_INFO* psPDSVertextBlock // @4
	PVRSRV_CLIENT_MEM_INFO* psVertexAndIndexBlock // @8
	IMG_UINT32 ui32OutputStateDataSize // @c
	IMG_UINT32 ui32VertexProgramDataSize // @10
}

typedef struct GLES1BRN22336Prims_TAG GLES1BRN22336Prims

struct GLESPrimitiveMachine_TAG {
	GLESCompiledRenderState sRenderState // @0
	GLESShaderTextureState sTextureState // @68
	GLES1PDSVertexState sPDSVertexState // @d0
	UCH_UseCodeBlock* psHWBGCodeBlock // @d14
	GLES1BRN22336Prims sBRN22336Prims // @d18
	UCH_UseCodeBlock* psClearVertexCodeBlock // @d2c
	UCH_UseCodeBlock* psClearFragmentCodeBlock // @d30
	UCH_UseCodeBlock* psAccumVertexCodeBlock // @d34
	UCH_UseCodeBlock* psScissorVertexCodeBlock // @d38
	UCH_UseCodeBlock* psDummyPixelSecondaryPDSCode // @d3c
	UCH_UseCodeBlock* psPixelEventEOPCodeBlock // @d40
	UCH_UseCodeBlock* psStateCopyCodeBlock // @d44
	IMG_VOID* pvDrawTextureAddr // @d48
	GLES1PrimType eCurrentPrimitiveType // @d4c
	GLES1PrimType ePreviousPrimitiveType // @d50
	IMG_UINT32 ui32ArrayEnables // @d54
	IMG_UINT32 ui32CurrentOutputStateBlockUSEPipe // @d58
	IMG_DEV_VIRTADDR uOutputStatePDSBaseAddress // @d5c
	IMG_UINT32 ui32OutputStatePDSDataSize // @d60
	IMG_UINT32 ui32OutputStateUSEAttribSize // @d64
	IMG_UINT32 ui32MaxMatrixPaletteIndex // @d68
	IMG_DEV_VIRTADDR uVertexPDSBaseAddress // @d6c
	IMG_UINT32 ui32VertexPDSDataSize // @d70
	IMG_DEV_VIRTADDR uFragmentPDSBaseAddress // @d74
	IMG_UINT32 ui32FragmentPDSDataSize // @d78
	IMG_DEV_VIRTADDR uVertexPDSSecAttribBaseAddress // @d7c
	IMG_UINT32 ui32VertexPDSSecAttribDataSize // @d80
	IMG_DEV_VIRTADDR uFragmentPDSSecAttribBaseAddress // @d84
	IMG_UINT32 ui32FragmentPDSSecAttribDataSize // @d88
}

typedef struct GLESPrimitiveMachine_TAG GLESPrimitiveMachine

struct GLESAppHintsRec {
	IMG_BOOL bDumpShaders // @0
	IMG_BOOL bForceNoExternalZBuffer // @4
	IMG_BOOL bOptimisedValidation // @8
	IMG_BOOL bDisableHWTextureUpload // @c
	IMG_UINT32 ui32MaxPDSVariants // @10
	IMG_BOOL bEmulateVGP // @14
	IMG_UINT32 ui32DefaultVIBufferSize // @18
	IMG_UINT32 ui32DefaultPDSVertBufferSize // @1c
	IMG_UINT32 ui32DefaultVDMBufferSize // @20
}

typedef struct GLESAppHintsRec GLESAppHints

typedef IMG_UINT32 HashValue

struct HashEntry_TAG {
	HashValue tHashValue // @0
	IMG_UINT32* pui32HashKey // @4
	IMG_UINT32 ui32HashKeySizeInDWords // @8
	IMG_UINT32 ui32Item // @c
	IMG_UINT32 ui32LastFrameHashed // @10
	struct HashEntry_TAG* psNext // @14
}

typedef struct HashEntry_TAG HashEntry

typedef void* PFNDestroyHashItem

void

struct HashTable_TAG {
	IMG_UINT32 ui32NumEntries // @0
	IMG_UINT32 ui32NumHashValues // @4
	IMG_UINT32 ui32PeakNumEntries // @8
	IMG_UINT32 ui32PeakNumHashValues // @c
	IMG_UINT32 ui32TableSize // @10
	IMG_UINT32 ui32HashValueMask // @14
	IMG_UINT32 ui32MaxNumEntries // @18
	PFNDestroyHashItem pfnDestroyItemFunc // @1c
	HashEntry** psTable // @20
}

typedef struct HashTable_TAG HashTable

enum UseasmRegTypeTAG {
	USEASM_REGTYPE_TEMP = 0; //0x0
	USEASM_REGTYPE_OUTPUT = 1; //0x1
	USEASM_REGTYPE_PRIMATTR = 2; //0x2
	USEASM_REGTYPE_SECATTR = 3; //0x3
	USEASM_REGTYPE_INDEX = 4; //0x4
	USEASM_REGTYPE_GLOBAL = 5; //0x5
	USEASM_REGTYPE_FPCONSTANT = 6; //0x6
	USEASM_REGTYPE_FPINTERNAL = 7; //0x7
	USEASM_REGTYPE_IMMEDIATE = 8; //0x8
	USEASM_REGTYPE_LINK = 9; //0x9
	USEASM_REGTYPE_DRC = 10; //0xa
	USEASM_REGTYPE_LABEL = 11; //0xb
	USEASM_REGTYPE_PREDICATE = 12; //0xc
	USEASM_REGTYPE_CLIPPLANE = 13; //0xd
	USEASM_REGTYPE_ADDRESSMODE = 14; //0xe
	USEASM_REGTYPE_SWIZZLE = 15; //0xf
	USEASM_REGTYPE_INTSRCSEL = 16; //0x10
	USEASM_REGTYPE_FILTERCOEFF = 17; //0x11
	USEASM_REGTYPE_LABEL_WITH_OFFSET = 18; //0x12
	USEASM_REGTYPE_TEMP_NAMED = 19; //0x13
	USEASM_REGTYPE_MAXIMUM = 20; //0x14
}

typedef enum UseasmRegTypeTAG UseasmRegType

enum FFGenRegDescTAG {
	FFGEN_INPUT_COLOR = 0; //0x0
	FFGEN_INPUT_SECONDARYCOLOR = 1; //0x1
	FFGEN_INPUT_NORMAL = 2; //0x2
	FFGEN_INPUT_VERTEX = 3; //0x3
	FFGEN_INPUT_MULTITEXCOORD0 = 4; //0x4
	FFGEN_INPUT_MULTITEXCOORD1 = 5; //0x5
	FFGEN_INPUT_MULTITEXCOORD2 = 6; //0x6
	FFGEN_INPUT_MULTITEXCOORD3 = 7; //0x7
	FFGEN_INPUT_MULTITEXCOORD4 = 8; //0x8
	FFGEN_INPUT_MULTITEXCOORD5 = 9; //0x9
	FFGEN_INPUT_MULTITEXCOORD6 = 10; //0xa
	FFGEN_INPUT_MULTITEXCOORD7 = 11; //0xb
	FFGEN_INPUT_FOGCOORD = 12; //0xc
	FFGEN_INPUT_VERTEXBLENDWEIGHT = 13; //0xd
	FFGEN_INPUT_VERTEXMATRIXINDEX = 14; //0xe
	FFGEN_INPUT_POINTSIZE = 15; //0xf
	FFGEN_OUTPUT_POSITION = 16; //0x10
	FFGEN_OUTPUT_POINTSIZE = 17; //0x11
	FFGEN_OUTPUT_CLIPVERTEX = 18; //0x12
	FFGEN_OUTPUT_FRONTCOLOR = 19; //0x13
	FFGEN_OUTPUT_BACKCOLOR = 20; //0x14
	FFGEN_OUTPUT_FRONTSECONDARYCOLOR = 21; //0x15
	FFGEN_OUTPUT_BACKSECONDARYCOLOR = 22; //0x16
	FFGEN_OUTPUT_TEXCOORD = 23; //0x17
	FFGEN_OUTPUT_FOGFRAGCOORD = 24; //0x18
	FFGEN_OUTPUT_POINTSPRITE = 25; //0x19
	FFGEN_STATE_MODELVIEWMATRIX = 26; //0x1a
	FFGEN_STATE_PROJECTMATRIX = 27; //0x1b
	FFGEN_STATE_MODELVIEWPROJECTIONMATRIX = 28; //0x1c
	FFGEN_STATE_TEXTUREMATRIX = 29; //0x1d
	FFGEN_STATE_MODELVIEWMATRIXINVERSETRANSPOSE = 30; //0x1e
	FFGEN_STATE_MATRIXPALETTEINDEXCLAMP = 31; //0x1f
	FFGEN_STATE_MODELVIEWMATRIXPALETTE = 32; //0x20
	FFGEN_STATE_MODELVIEWMATRIXINVERSETRANSPOSEPALETTE = 33; //0x21
	FFGEN_STATE_CLIPPLANE = 34; //0x22
	FFGEN_STATE_POINT = 35; //0x23
	FFGEN_STATE_FRONTMATERIAL = 36; //0x24
	FFGEN_STATE_BACKMATERIAL = 37; //0x25
	FFGEN_STATE_LIGHTSOURCE = 38; //0x26
	FFGEN_STATE_LIGHTSOURCE0 = 39; //0x27
	FFGEN_STATE_LIGHTSOURCE1 = 40; //0x28
	FFGEN_STATE_LIGHTSOURCE2 = 41; //0x29
	FFGEN_STATE_LIGHTSOURCE3 = 42; //0x2a
	FFGEN_STATE_LIGHTSOURCE4 = 43; //0x2b
	FFGEN_STATE_LIGHTSOURCE5 = 44; //0x2c
	FFGEN_STATE_LIGHTSOURCE6 = 45; //0x2d
	FFGEN_STATE_LIGHTSOURCE7 = 46; //0x2e
	FFGEN_STATE_LIGHTMODEL = 47; //0x2f
	FFGEN_STATE_FRONTLIGHTMODELPRODUCT = 48; //0x30
	FFGEN_STATE_BACKLIGHTMODELPRODUCT = 49; //0x31
	FFGEN_STATE_FRONTLIGHTPRODUCT = 50; //0x32
	FFGEN_STATE_BACKLIGHTPRODUCT = 51; //0x33
	FFGEN_STATE_EYEPLANES = 52; //0x34
	FFGEN_STATE_EYEPLANET = 53; //0x35
	FFGEN_STATE_EYEPLANER = 54; //0x36
	FFGEN_STATE_EYEPLANEQ = 55; //0x37
	FFGEN_STATE_OBJECTPLANES = 56; //0x38
	FFGEN_STATE_OBJECTPLANET = 57; //0x39
	FFGEN_STATE_OBJECTPLANER = 58; //0x3a
	FFGEN_STATE_OBJECTPLANEQ = 59; //0x3b
	FFGEN_STATE_PMXFOGPARAM = 60; //0x3c
	FFGEN_STATE_PMXPOINTSIZE = 61; //0x3d
	FFTNL_NUM_REGISTER_DESCRIPTIONS = 62; //0x3e
}

typedef enum FFGenRegDescTAG FFGenRegDesc

enum undefined {
	FFGEN_WDF_0 = 1; //0x1
	FFGEN_WDF_1 = 2; //0x2
	FFGEN_WDF_2 = 3; //0x3
	FFGEN_WDF_3 = 4; //0x4
}

typedef enum undefined FFGenWDFStatus

struct FFGenReg_TAG {
	UseasmRegType eType // @0
	IMG_UINT32 uOffset // @4
	IMG_UINT32 uSizeInDWords // @8
	FFGenRegDesc eBindingRegDesc // @c
	FFGenWDFStatus eWDFStatus // @10
	IMG_UINT32 uIndex // @14
}

typedef struct FFGenReg_TAG FFGenReg

struct FFGenRegList_TAG {
	FFGenReg* psReg // @0
	struct FFGenRegList_TAG* psNext // @4
	struct FFGenRegList_TAG* psPrev // @8
}

typedef struct FFGenRegList_TAG FFGenRegList

typedef struct {
	IMG_UINT32 bUSEPerInstanceMode // @0
	IMG_UINT32 ui32InstructionCount // @4
	IMG_UINT32* pui32Instructions // @8
	IMG_UINT32 ui32PrimaryAttributeCount // @c
	IMG_UINT32 ui32SecondaryAttributeCount // @10
	IMG_UINT32 ui32TemporaryRegisterCount // @14
	IMG_UINT32 ui32MemoryConstantCount // @18
} FFGEN_PROGRAM_DETAILS

struct FFGenProgram_TAG {
	FFGEN_PROGRAM_DETAILS* psFFGENProgramDetails // @0
	FFGenRegList* psConstantsList // @4
	FFGenRegList* psInputsList // @8
	FFGenRegList* psOutputsList // @c
	IMG_UINT32 uNumTexCoordUnits // @10
	IMG_UINT32[16] auOutputTexDimensions // @14
	IMG_UINT32 uMemoryConstantsSize // @54
	IMG_UINT32 uMemConstBaseAddrSAReg // @58
	IMG_UINT32 uSecAttribSize // @5c
	IMG_UINT32 uSecAttribStart // @60
	IMG_UINT32 uHashValue // @64
	IMG_UINT32 uRefCount // @68
	struct FFGenProgram_TAG* psNext // @6c
	struct FFGenProgram_TAG* psPrev // @70
}

typedef struct FFGenProgram_TAG FFGenProgram

struct GLES1PDSInfo_TAG {
	IMG_UINT32 ui32DMSInfoIterationSize // @0
	IMG_UINT32 ui32DMSInfoTextureSize // @4
	IMG_UINT32 ui32DMSInfo // @8
	IMG_UINT32[31] aui32TSPParamFetchInterface // @c
	IMG_UINT32[31] aui32LayerControl // @88
	IMG_UINT32 ui32NonDependentTextureCount // @104
	IMG_UINT32 ui32IterationCount // @108
	IMG_UINT32 ui32DependencyControl // @10c
	IMG_UINT32 ui32NonDependentImageUnits // @110
}

typedef struct GLES1PDSInfo_TAG GLES1PDSInfo

struct GLES1ShaderRec {
	FFGEN_PROGRAM_DETAILS* psFFGENProgramDetails // @0
	VSInputReg[18] asVSInputRegisters // @4
	IMG_FLOAT* pfConstantData // @94
	IMG_UINT32 ui32SizeOfConstants // @98
		union {
			struct {
		struct FFTBProgramDesc_TAG* psFFTBProgramDesc // @0
	} sFFTB
			struct {
		FFGenProgram* psFFTNLProgram // @0
	} sFFTNL
			struct {
		VPGenProgram* psVProgram // @0
	} sVP
	} u // @9c
	IMG_UINT32 ui32OutputSelects // @a0
	IMG_UINT32 ui32TexCoordSelects // @a4
	IMG_UINT32 ui32TexCoordPrecision // @a8
	IMG_UINT32 ui32USEMode // @ac
	IMG_UINT32 ui32USESecAttribDataSizeInDwords // @b0
	IMG_DEV_VIRTADDR uUSEConstsDataBaseAddress // @b4
	IMG_UINT32 ui32USEConstsDataSizeinDWords // @b8
	IMG_UINT32 ui32NumIndexableTempArrays // @bc
	IMG_DEV_VIRTADDR uIndexableTempBaseAddress // @c0
	IMG_UINT32 ui32IndexableTempSizeInDWords // @c4
	struct GLES1USEShaderVariant_TAG* psShaderVariant // @c8
	struct GLES1ShaderRec* psPrevious // @cc
	struct GLES1ShaderRec* psNext // @d0
}

struct VSInputReg_TAG {
	IMG_UINT32 ui32PrimaryAttribute // @0
	IMG_UINT32 ui32Size // @4
}

typedef struct VSInputReg_TAG VSInputReg

struct FFTBProgramDesc_TAG {
	IMG_UINT32 ui32NumNonDependentTextureLoads // @0
	GLES1_TEXTURE_LOAD[9] psNonDependentTextureLoads // @4
	FFGEN_PROGRAM_DETAILS* psFFGENProgramDetails // @b8
	IMG_UINT32 ui32NumBindings // @bc
	FFTBBindingInfo[12] asBindings // @c0
	IMG_UINT32 ui32CurrentConstantOffset // @150
}

typedef struct GLES1ShaderRec GLES1Shader

struct GLES1ProgramMachineRec {
	GLES1Shader* psCurrentVertexShader // @0
	GLES1Shader* psCurrentFragmentShader // @4
	GLES1ShaderVariant* psCurrentVertexVariant // @8
	GLES1ShaderVariant* psCurrentFragmentVariant // @c
	GLES1Shader* psVertex // @10
	GLES1Shader* psFragment // @14
	IMG_HANDLE hFFTNLGenContext // @18
	IMG_HANDLE hVPGenContext // @1c
	HashTable sFFTNLHashTable // @20
	HashTable sFFTextureBlendHashTable // @44
	PVRSRV_CLIENT_MEM_INFO* psDummyFragUSECode // @68
	PVRSRV_CLIENT_MEM_INFO* psDummyVertUSECode // @6c
}

typedef struct GLES1ProgramMachineRec GLES1ProgramMachine

enum undefined {
	FFTB_BINDING_FACTOR_SCALAR = 1; //0x1
	FFTB_BINDING_IMMEDIATE_SCALAR = 2; //0x2
}

typedef enum undefined FFTBBindingType

typedef struct {
	FFTBBindingType eType // @0
	IMG_UINT32 ui32Value // @4
	IMG_UINT32 ui32ConstantOffset // @8
} FFTBBindingInfo

enum undefined {
	GLES1_TEXTURE_COORDINATE_0 = 0; //0x0
	GLES1_TEXTURE_COORDINATE_1 = 1; //0x1
	GLES1_TEXTURE_COORDINATE_2 = 2; //0x2
	GLES1_TEXTURE_COORDINATE_3 = 3; //0x3
	GLES1_TEXTURE_COORDINATE_4 = 4; //0x4
	GLES1_TEXTURE_COORDINATE_5 = 5; //0x5
	GLES1_TEXTURE_COORDINATE_6 = 6; //0x6
	GLES1_TEXTURE_COORDINATE_7 = 7; //0x7
	GLES1_TEXTURE_COORDINATE_8 = 8; //0x8
	GLES1_TEXTURE_COORDINATE_9 = 9; //0x9
	GLES1_TEXTURE_COORDINATE_V0 = 10; //0xa
	GLES1_TEXTURE_COORDINATE_V1 = 11; //0xb
	GLES1_TEXTURE_COORDINATE_FOG = 12; //0xc
	GLES1_TEXTURE_COORDINATE_POSITION = 13; //0xd
}

typedef enum undefined GLES1_TEXTURE_COORDINATE

enum undefined {
	GLES1_TEXLOAD_FORMAT_F32 = 0; //0x0
	GLES1_TEXLOAD_FORMAT_U8 = 3; //0x3
}

typedef enum undefined GLES1_TEXLOAD_FORMAT

typedef struct {
	IMG_UINT32 ui32Texture // @0
	GLES1_TEXTURE_COORDINATE eCoordinate // @4
	IMG_UINT32 ui32CoordinateDimension // @8
	IMG_BOOL bProjected // @c
	GLES1_TEXLOAD_FORMAT eFormat // @10
} GLES1_TEXTURE_LOAD

struct GLESPolygonMachineRec {
	IMG_UINT32[2] aui32Face // @0
	IMG_UINT32 ui32CullFlag // @8
}

typedef struct GLESPolygonMachineRec GLESPolygonMachine

struct GLES1ContextSharedState_TAG {
	IMG_UINT32 ui32RefCount // @0
	GLES1TextureManager* psTextureManager // @4
	FRMFrameResourceManager sUSEShaderVariantManager // @8
	GLES1NamesArray*[5] apsNamesArray // @40
	UCH_UseCodeHeap* psUSEVertexCodeHeap // @54
	UCH_UseCodeHeap* psUSEFragmentCodeHeap // @58
	UCH_UseCodeHeap* psPDSFragmentCodeHeap // @5c
	PVRSRV_RES_HANDLE hPrimaryLock // @60
	PVRSRV_RES_HANDLE hSecondaryLock // @68
	PVRSRV_CLIENT_MEM_INFO* psSequentialStaticIndicesMemInfo // @70
	PVRSRV_CLIENT_MEM_INFO* psLineStripStaticIndicesMemInfo // @74
}

typedef struct GLES1ContextSharedState_TAG GLES1ContextSharedState

// function
IMG_INT32 GetStencilOp(
	IMG_UINT32 ui32StencilWord
	IMG_UINT32 ui32Shift
	IMG_UINT32 ui32Mask
	)
{
	IMG_UINT32 ui32StencilOp
}


// function
IMG_INT32 GetBlendFactor(
	GLES1Context* gc
	IMG_UINT32 ui32Shift
	IMG_UINT32 ui32Mask
	)
{
	IMG_UINT32 ui32BlendFactor
}


// external function PC=<0x184bc;0x184dc>
GLenum glGetError(
	)
{
	IMG_INT32 i32Error
	GLES1Context* gc
}


// external function PC=<0x184dc;0x185a4>
const GLubyte* glGetString(
	GLenum name
	)
{
	{
		const GLubyte* pszReturnString
		GLES1Context* gc
	}
}


// external function PC=<0x185a4;0x1867c>
void glGetPointerv(
	GLenum pname
	void** params
	)
{
	GLES1Context* gc
}


// external function PC=<0x1867c;0x186c4>
void glGetTexGenxvOES(
	GLenum coord
	GLenum pname
	GLfixed* params
	)
{
	GLES1Context* gc
}


// external function PC=<0x186c4;0x18710>
void glGetTexGenfvOES(
	GLenum coord
	GLenum pname
	GLfloat* params
	)
{
	GLES1Context* gc
}


// external function PC=<0x18710;0x18758>
void glGetTexGenivOES(
	GLenum coord
	GLenum pname
	GLint* params
	)
{
	GLES1Context* gc
}


// external function PC=<0x18758;0x187e8>
void glGetClipPlanex(
	GLenum plane
	GLfixed* eqn
	)
{
	IMG_UINT32 ui32ClipPlane
	GLES1Context* gc
}


// external function PC=<0x187e8;0x18844>
void glGetClipPlanef(
	GLenum plane
	GLfloat* eqn
	)
{
	IMG_UINT32 ui32ClipPlane
	GLES1Context* gc
}


// external function PC=<0x18844;0x188e0>
void glGetBufferPointervOES(
	GLenum target
	GLenum pname
	void** params
	)
{
	IMG_UINT32 ui32TargetIndex
	GLESBufferObject* psBufObj
	GLES1Context* gc
}


// external function PC=<0x188e0;0x189b4>
void glGetBufferParameteriv(
	GLenum target
	GLenum pname
	GLint* params
	)
{
	IMG_UINT32 ui32TargetIndex
	GLESBufferObject* psBufObj
	GLES1Context* gc
}


// function
void GetMaterialfv(
	GLES1Context* gc
	GLenum eFace
	GLenum ePname
	IMG_FLOAT* pfResult
	)
{
	GLESMaterialState* psMaterial
	bad_enum: \\ label
}


// external function PC=<0x189b4;0x18ac0>
void glGetMaterialfv(
	GLenum face
	GLenum pname
	GLfloat* result
	)
{
	GLES1Context* gc
	// inlined
	// function
	void GetMaterialfv(
		GLES1Context* gc
		GLenum eFace
		GLenum ePname
		IMG_FLOAT* pfResult
		)
	{
		GLESMaterialState* psMaterial
		bad_enum: \\ label
	}

}


// function
void GetLightfv(
	GLES1Context* gc
	GLenum eLight
	GLenum ePname
	IMG_FLOAT* pfResult
	)
{
	GLESLightSourceState* psLss
	bad_enum: \\ label
}


// external function PC=<0x18ac0;0x18c2c>
void glGetLightfv(
	GLenum light
	GLenum pname
	GLfloat* result
	)
{
	GLES1Context* gc
	// inlined
	// function
	void GetLightfv(
		GLES1Context* gc
		GLenum eLight
		GLenum ePname
		IMG_FLOAT* pfResult
		)
	{
		GLESLightSourceState* psLss
		bad_enum: \\ label
	}

}


// function
IMG_BOOL GetTexEnvCombine(
	GLES1Context* gc
	GLenum ePname
	IMG_UINT32* pui32Result
	)
{
	IMG_UINT32 i
}


// function PC=<0x18c2c;0x190d4>
IMG_BOOL GetTexEnvfv(
	GLES1Context* gc
	GLenum eTarget
	GLenum ePname
	IMG_FLOAT* pfResult
	)
{
	IMG_UINT32 ui32Result
	bad_enum: \\ label @0x18c4c
	// inlined
	// function
	IMG_BOOL GetTexEnvCombine(
		GLES1Context* gc
		GLenum ePname
		IMG_UINT32* pui32Result
		)
	{
		IMG_UINT32 i
	}

}


// external function PC=<0x190d4;0x19104>
void glGetTexEnvfv(
	GLenum target
	GLenum pname
	GLfloat* v
	)
{
	GLES1Context* gc
}


// function
IMG_BOOL GetTexParameter(
	GLES1Context* gc
	GLenum eTarget
	GLenum ePname
	IMG_INT32* pi32Return
	)
{
	GLESTexture* psTex
	GLESTextureParamState* psParamState
	IMG_UINT32 ui32Result
	bad_enum: \\ label
}


// external function PC=<0x19104;0x192b0>
void glGetTexParameteriv(
	GLenum target
	GLenum pname
	GLint* v
	)
{
	GLES1Context* gc
	// inlined
	// function
	IMG_BOOL GetTexParameter(
		GLES1Context* gc
		GLenum eTarget
		GLenum ePname
		IMG_INT32* pi32Return
		)
	{
		GLESTexture* psTex
		GLESTextureParamState* psParamState
		IMG_UINT32 ui32Result
		bad_enum: \\ label
	}

}


// function PC=<0x192b0;0x19770>
void ConvertResult(
	IMG_UINT32 ui32FromType
	const IMG_VOID* pvRawdata
	IMG_UINT32 ui32ToType
	IMG_VOID* pvResult
	IMG_UINT32 ui32Size
	)
{
	IMG_UINT32 i
}


// external function PC=<0x19770;0x197f4>
void glGetTexEnviv(
	GLenum target
	GLenum pname
	GLint* v
	)
{
	IMG_FLOAT[4] afResult
	GLES1Context* gc
}


// external function PC=<0x197f4;0x198b8>
void glGetTexEnvxv(
	GLenum target
	GLenum pname
	GLfixed* v
	)
{
	IMG_FLOAT[4] afResult
	GLES1Context* gc
}


// function
GLboolean IsEnabled(
	GLES1Context* gc
	GLenum eCap
	)
{
	GLuint bit
}


// function PC=<0x198b8;0x1bc74>
void DoGet(
	GLES1Context* gc
	GLenum eQuery
	IMG_VOID* pvResult
	IMG_UINT32 ui32Type
	)
{
	GLint[16] itemp
	GLint* ip
	IMG_UINT32[16] etemp
	IMG_UINT32* ep
	IMG_FLOAT[16] ftemp
	IMG_FLOAT* fp
	IMG_FLOAT[16] ctemp
	IMG_FLOAT* cp
	GLboolean[16] ltemp
	GLboolean* lp
	IMG_FLOAT* mp
	// inlined
	// function
	GLboolean IsEnabled(
		GLES1Context* gc
		GLenum eCap
		)
	{
		GLuint bit
	}

	// inlined
	// function
	IMG_INT32 GetStencilOp(
		IMG_UINT32 ui32StencilWord
		IMG_UINT32 ui32Shift
		IMG_UINT32 ui32Mask
		)
	{
		IMG_UINT32 ui32StencilOp
	}

	// inlined
	// function
	IMG_INT32 GetBlendFactor(
		GLES1Context* gc
		IMG_UINT32 ui32Shift
		IMG_UINT32 ui32Mask
		)
	{
		IMG_UINT32 ui32BlendFactor
	}

	{
		GLESRenderBuffer* psRenderBuffer
	}
	// inlined
	// function
	IMG_INT32 GetBlendFactor(
		GLES1Context* gc
		IMG_UINT32 ui32Shift
		IMG_UINT32 ui32Mask
		)
	{
		IMG_UINT32 ui32BlendFactor
	}

	// inlined
	// function
	IMG_INT32 GetBlendFactor(
		GLES1Context* gc
		IMG_UINT32 ui32Shift
		IMG_UINT32 ui32Mask
		)
	{
		IMG_UINT32 ui32BlendFactor
	}

	// inlined
	// function
	IMG_INT32 GetBlendFactor(
		GLES1Context* gc
		IMG_UINT32 ui32Shift
		IMG_UINT32 ui32Mask
		)
	{
		IMG_UINT32 ui32BlendFactor
	}

	// inlined
	// function
	IMG_INT32 GetStencilOp(
		IMG_UINT32 ui32StencilWord
		IMG_UINT32 ui32Shift
		IMG_UINT32 ui32Mask
		)
	{
		IMG_UINT32 ui32StencilOp
	}

	// inlined
	// function
	IMG_INT32 GetStencilOp(
		IMG_UINT32 ui32StencilWord
		IMG_UINT32 ui32Shift
		IMG_UINT32 ui32Mask
		)
	{
		IMG_UINT32 ui32StencilOp
	}

	{
		IMG_UINT32 ui32StencilFunc
	}
	{
		GLESTexture* psTex
	}
	{
		GLESTexture* psTex
	}
	{
		IMG_UINT32 ui32DepthFunc
	}
	{
		IMG_UINT32 ui32ColorMask
	}
	{
		GLESFrameBuffer* psFrameBuffer
	}
	{
		GLint numformats
	}
}


// external function PC=<0x1bc74;0x1bca0>
void glGetIntegerv(
	GLenum pname
	GLint* params
	)
{
	GLES1Context* gc
}


// external function PC=<0x1bca0;0x1bccc>
void glGetBooleanv(
	GLenum sq
	GLboolean* result
	)
{
	GLES1Context* gc
}


// external function PC=<0x1bccc;0x1bcf8>
void glGetFloatv(
	GLenum sq
	GLfloat* result
	)
{
	GLES1Context* gc
}


// external function PC=<0x1bcf8;0x1bd24>
void glGetFixedv(
	GLenum sq
	GLfixed* result
	)
{
	GLES1Context* gc
}


// external function PC=<0x1bd24;0x1bd7c>
GLboolean glIsBuffer(
	GLuint buffer
	)
{
	GLESBufferObject* psBuf
	GLES1NamesArray* psNamesArray
	GLES1Context* gc
}


// external function PC=<0x1bd7c;0x1bdd4>
GLboolean glIsTexture(
	GLuint texture
	)
{
	GLESTexture* psTex
	GLES1NamesArray* psNamesArray
	GLES1Context* gc
}


// external function PC=<0x1bdd4;0x1bf9c>
void glGetMaterialxv(
	GLenum face
	GLenum pname
	GLfixed* result
	)
{
	IMG_FLOAT[4] afResult
	GLES1Context* gc
	// inlined
	// function
	void GetMaterialfv(
		GLES1Context* gc
		GLenum eFace
		GLenum ePname
		IMG_FLOAT* pfResult
		)
	{
		GLESMaterialState* psMaterial
		bad_enum: \\ label
	}

}


// external function PC=<0x1bf9c;0x1c1b4>
void glGetLightxv(
	GLenum light
	GLenum pname
	GLfixed* result
	)
{
	IMG_FLOAT[4] afResult
	GLES1Context* gc
	// inlined
	// function
	void GetLightfv(
		GLES1Context* gc
		GLenum eLight
		GLenum ePname
		IMG_FLOAT* pfResult
		)
	{
		GLESLightSourceState* psLss
		bad_enum: \\ label
	}

}


// external function PC=<0x1c1b4;0x1c520>
GLboolean glIsEnabled(
	GLenum cap
	)
{
	GLboolean bIsEnabled
	GLES1Context* gc
	// inlined
	// function
	GLboolean IsEnabled(
		GLES1Context* gc
		GLenum eCap
		)
	{
		GLuint bit
	}

}


// external function PC=<0x1c520;0x1c70c>
void glGetTexParameterxv(
	GLenum target
	GLenum pname
	GLfixed* v
	)
{
	GLES1Context* gc
	{
		IMG_INT32 i32Result
		// inlined
		// function
		IMG_BOOL GetTexParameter(
			GLES1Context* gc
			GLenum eTarget
			GLenum ePname
			IMG_INT32* pi32Return
			)
		{
			GLESTexture* psTex
			GLESTextureParamState* psParamState
			IMG_UINT32 ui32Result
			bad_enum: \\ label
		}

	}
	{
		IMG_INT32[4] pi32CropRect
		// inlined
		// function
		IMG_BOOL GetTexParameter(
			GLES1Context* gc
			GLenum eTarget
			GLenum ePname
			IMG_INT32* pi32Return
			)
		{
			GLESTexture* psTex
			GLESTextureParamState* psParamState
			IMG_UINT32 ui32Result
			bad_enum: \\ label
		}

	}
}


// external function PC=<0x1c70c;0x1c908>
void glGetTexParameterfv(
	GLenum target
	GLenum pname
	GLfloat* v
	)
{
	GLES1Context* gc
	{
		IMG_INT32 i32Result
		// inlined
		// function
		IMG_BOOL GetTexParameter(
			GLES1Context* gc
			GLenum eTarget
			GLenum ePname
			IMG_INT32* pi32Return
			)
		{
			GLESTexture* psTex
			GLESTextureParamState* psParamState
			IMG_UINT32 ui32Result
			bad_enum: \\ label
		}

	}
	{
		IMG_INT32[4] pi32CropRect
		// inlined
		// function
		IMG_BOOL GetTexParameter(
			GLES1Context* gc
			GLenum eTarget
			GLenum ePname
			IMG_INT32* pi32Return
			)
		{
			GLESTexture* psTex
			GLESTextureParamState* psParamState
			IMG_UINT32 ui32Result
			bad_enum: \\ label
		}

	}
}


const IMG_CHAR[757] gszExtensions

const const IMG_CHAR* pszVendor

const const IMG_CHAR* pszRendererVGP

const const IMG_CHAR* pszVersion

struct _IO_FILE* stdin

struct _IO_FILE* stdout

const IMG_OGLES1EGL_Interface sGLES1FunctionTable

const const IMG_CHAR* pszRenderer

