Update of /cvsroot/gc-linux/libgx/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14584/src
Modified Files:
gx.c
Log Message:
Included PAL50 changes based on 528 row efb
Index: gx.c
===================================================================
RCS file: /cvsroot/gc-linux/libgx/src/gx.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- gx.c 31 Oct 2004 22:35:00 -0000 1.3
+++ gx.c 1 Nov 2004 02:32:45 -0000 1.4
@@ -304,12 +304,12 @@
GX_LoadTexMtxImm(identity_matrix,GX_IDENTITY,GX_MTX3x4);
GX_LoadTexMtxImm(identity_matrix,GX_DTTIDENTITY,GX_MTX3x4);
- GX_SetViewport(0.0,0.0,640.0,(f32)pgxi->height,0.0,1.0);
+ GX_SetViewport(0.0,0.0,640.0,(f32)pgxi->efbHeight,0.0,1.0);
GX_SetCoPlanar(GX_DISABLE);
GX_SetCullMode(GX_CULL_BACK);
GX_SetClipMode(GX_CLIP_DISABLE);
- GX_SetScissor(0,0,640,pgxi->height);
+ GX_SetScissor(0,0,640,pgxi->efbHeight);
GX_SetScissorBoxOffset(0,0);
GX_SetNumChans(0);
@@ -382,9 +382,9 @@
GX_SetFieldMode(GX_FALSE,GX_DISABLE);
GX_SetCopyClear((GXColor)GX_DEFAULT_BG,0x00ffffff);
- GX_SetDispCopySrc(0,0,640,pgxi->height);
- GX_SetDispCopyDst(640,pgxi->height);
- GX_SetDispCopyYScale(1.0);
+ GX_SetDispCopySrc(0,0,640,pgxi->efbHeight);
+ GX_SetDispCopyDst(640,pgxi->efbHeight);
+ GX_SetDispCopyYScale((f32)pgxi->xfbHeight / (f32)pgxi->efbHeight);
GX_SetCopyClamp(GX_CLAMP_TOP|GX_CLAMP_BOTTOM);
GX_SetCopyFilter(GX_FALSE,NULL,GX_FALSE,NULL);
GX_SetDispCopyGamma(GX_GM_1_0);
@@ -685,14 +685,17 @@
/* if pal mode */
if (_viReg[1] & 0x0100)
{
- /* check horizontal timing to see if pal50/60 */
- pInit->vType = ( *((u32*)(_viReg+2)) == 0x476901AD ) ? PAL60 : PAL50;
- pInit->height = ((pInit->vType == PAL50) ? 576 : 480);
+ /* pal 50 */
+ pInit->vType = PAL50;
+ pInit->efbHeight = 528;
+ pInit->xfbHeight = 576;
}
else
{
+ /* NTSC / PAL60 */
pInit->vType = NTSC;
- pInit->height = 480;
+ pInit->efbHeight = 480;
+ pInit->xfbHeight = 480;
}
_gx[0x01] = 0;
|