void GPUCMD_AddSingleParam(u32 cmd, u32 param);
void GPUCMD_Finalize();
+typedef enum{
+ GPU_RGBA8=0x0,
+ GPU_RGB8=0x1,
+ GPU_RGBA5551=0x2,
+ GPU_RGB565=0x3,
+ GPU_RGBA4=0x4,
+ GPU_LA8=0x5,
+ GPU_HILO8=0x6,
+ GPU_L8=0x7,
+ GPU_A8=0x8,
+ GPU_LA4=0x9,
+ GPU_L4=0xA,
+ GPU_ETC1=0xB,
+ GPU_ETC1A4=0xC
+}GPU_TEXCOLOR;
+
void GPU_SetUniform(u32 startreg, u32* data, u32 numreg);
void GPU_SetViewport(u32* depthBuffer, u32* colorBuffer, u32 x, u32 y, u32 w, u32 h);
+void GPU_DepthRange(float nearVal, float farVal);
+void GPU_SetTexture(u32* data, u16 width, u16 height, u32 param, GPU_TEXCOLOR colorType);
#endif
param[0x2]=((h-1)<<16)|((w-1)&0xFFFF);
GPUCMD_Add(0x800F0065, param, 0x00000003);
}
+
+void GPU_DepthRange(float nearVal, float farVal)
+{
+ GPUCMD_AddSingleParam(0x000F006D, 0x00000001); //?
+ GPUCMD_AddSingleParam(0x000F004D, f32tof24(nearVal));
+ GPUCMD_AddSingleParam(0x000F004E, f32tof24(farVal));
+}
+
+void GPU_SetTexture(u32* data, u16 width, u16 height, u32 param, GPU_TEXCOLOR colorType)
+{
+ GPUCMD_AddSingleParam(0x000F008E, colorType);
+ GPUCMD_AddSingleParam(0x000F0085, ((u32)data)>>3);
+ GPUCMD_AddSingleParam(0x000F0082, (width)|(height<<16));
+ GPUCMD_AddSingleParam(0x000F0083, param);
+}