minor lr backport

This commit is contained in:
Flyinghead 2018-12-11 23:11:21 +01:00
parent 2b16edd71f
commit 864939da42
2 changed files with 21 additions and 6 deletions

View File

@ -37,9 +37,9 @@ void YUV_init()
YUV_dest=TA_YUV_TEX_BASE&VRAM_MASK;//TODO : add the masking needed
TA_YUV_TEX_CNT=0;
YUV_blockcount=(((TA_YUV_TEX_CTRL>>0)&0x3F)+1)*(((TA_YUV_TEX_CTRL>>8)&0x3F)+1);
YUV_blockcount = (TA_YUV_TEX_CTRL.yuv_u_size + 1) * (TA_YUV_TEX_CTRL.yuv_v_size + 1);
if ((TA_YUV_TEX_CTRL>>16 )&1)
if (TA_YUV_TEX_CTRL.yuv_tex != 0)
{
die ("YUV: Not supported configuration\n");
YUV_x_size=16;
@ -47,8 +47,8 @@ void YUV_init()
}
else // yesh!!!
{
YUV_x_size=(((TA_YUV_TEX_CTRL>>0)&0x3F)+1)*16;
YUV_y_size=(((TA_YUV_TEX_CTRL>>8)&0x3F)+1)*16;
YUV_x_size = (TA_YUV_TEX_CTRL.yuv_u_size + 1) * 16;
YUV_y_size = (TA_YUV_TEX_CTRL.yuv_v_size + 1) * 16;
}
}
@ -164,7 +164,7 @@ void YUV_data(u32* data , u32 count)
YUV_init();
}
u32 block_size=(TA_YUV_TEX_CTRL & (1<<24))==0?384:512;
u32 block_size = TA_YUV_TEX_CTRL.yuv_form == 0 ? 384 : 512;
verify(block_size==384); //no support for 512

View File

@ -371,6 +371,21 @@ union TA_GLOB_TILE_CLIP_type
u32 full;
};
union TA_YUV_TEX_CTRL_type
{
struct
{
u32 yuv_u_size : 6;
u32 reserved1 : 2;
u32 yuv_v_size : 6;
u32 reserved2 : 2;
u32 yuv_tex : 1;
u32 reserved3 : 7;
u32 yuv_form : 1;
u32 reserved4 : 7;
};
u32 full;
};
// TA REGS
#define TA_OL_BASE_addr 0x00000124 // RW Object list write start address
@ -483,7 +498,7 @@ union TA_GLOB_TILE_CLIP_type
#define TA_ALLOC_CTRL PvrReg(TA_ALLOC_CTRL_addr,u32) // RW Object list control
#define TA_LIST_INIT PvrReg(TA_LIST_INIT_addr,u32) // RW TA initialization
#define TA_YUV_TEX_BASE PvrReg(TA_YUV_TEX_BASE_addr,u32) // RW YUV422 texture write start address
#define TA_YUV_TEX_CTRL PvrReg(TA_YUV_TEX_CTRL_addr,u32) // RW YUV converter control
#define TA_YUV_TEX_CTRL PvrReg(TA_YUV_TEX_CTRL_addr, TA_YUV_TEX_CTRL_type) // RW YUV converter control
#define TA_YUV_TEX_CNT PvrReg(TA_YUV_TEX_CNT_addr,u32) // R YUV converter macro block counter value
#define TA_LIST_CONT PvrReg(TA_LIST_CONT_addr,u32) // RW TA continuation processing