mirror of
https://gitee.com/anod/open_agb_firm.git
synced 2025-05-06 13:54:09 +08:00
开始修正下屏帧断层的问题。先测试无居中会不会出现断层
This commit is contained in:
parent
e43a99feaa
commit
65bdaf447e
@ -689,16 +689,16 @@ static void gbaGfxHandler(void *args)
|
|||||||
// 地址0x18180000保存的是400x240大小的贴图数据rgb888(序列:↑↘↑)
|
// 地址0x18180000保存的是400x240大小的贴图数据rgb888(序列:↑↘↑)
|
||||||
// 地址0x18200000保存的是512x512大小的GBA的240x160贴图数据(序列:→↙→)
|
// 地址0x18200000保存的是512x512大小的GBA的240x160贴图数据(序列:→↙→)
|
||||||
// 所以GPU做的事情就是将18200000的数据逆时针旋转90°
|
// 所以GPU做的事情就是将18200000的数据逆时针旋转90°
|
||||||
if( g_oafConfig.scaler == 0 )
|
/*if( g_oafConfig.scaler == 0 )
|
||||||
{
|
{
|
||||||
int base_offset = 96; // 3ds高240, gba高160,居中需要平移40个像素,rgb888每个像素3字节,共120字节
|
int base_offset = 96; // 3ds高240, gba高160,居中需要平移40个像素,rgb888每个像素3字节,共120字节
|
||||||
// 但是,gpu的transfer engine只支持16字节对齐的地址。所以只能选择16和3的公约数,就是48,96,144,192,240
|
// 但是,gpu的transfer engine只支持16字节对齐的地址。所以只能选择16和3的公约数,就是48,96,144,192,240
|
||||||
GX_displayTransfer((u32*)(0x18180000 + 16*240*3), 368u<<16 | 240u,
|
GX_displayTransfer((u32*)(0x18180000 + 16*240*3), 368u<<16 | 240u,
|
||||||
GFX_getFramebuffer(SCREEN_TOP) + 16*240*3 + base_offset, 368u<<16 | 240u, 1u<<12 | 1u<<8);
|
GFX_getFramebuffer(SCREEN_TOP) + 16*240*3 + base_offset, 368u<<16 | 240u, 1u<<12 | 1u<<8);
|
||||||
}
|
}
|
||||||
else if( g_oafConfig.scaler == 3 )
|
else */if( g_oafConfig.scaler == 3 )//下屏无缩放
|
||||||
{
|
{
|
||||||
int base_offset = 144;
|
int base_offset = 0;
|
||||||
GX_displayTransfer((u32*)(0x18180000 + 40*240*3), 320u<<16 | 240u,
|
GX_displayTransfer((u32*)(0x18180000 + 40*240*3), 320u<<16 | 240u,
|
||||||
GFX_getFramebuffer(SCREEN_BOT) + base_offset, 320u<<16 | 240u, 1u<<12 | 1u<<8);
|
GFX_getFramebuffer(SCREEN_BOT) + base_offset, 320u<<16 | 240u, 1u<<12 | 1u<<8);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user