minor lr backport
This commit is contained in:
parent
2b16edd71f
commit
864939da42
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue