GPU : GPU_DepthRange && GPU_SetTexture

This commit is contained in:
smea 2014-03-13 19:54:52 +01:00
parent 05254a7f63
commit 8606893584
2 changed files with 33 additions and 0 deletions

View File

@ -10,7 +10,25 @@ void GPUCMD_Add(u32 cmd, u32* param, u32 paramlength);
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

View File

@ -268,3 +268,18 @@ void GPU_SetViewport(u32* depthBuffer, u32* colorBuffer, u32 x, u32 y, u32 w, u3
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);
}