[Libva] [libva-intel-driver PATCH] Encode: Update all used flag register channels in VME shader on GEN8+

Zhao Yakui yakui.zhao at intel.com
Tue Sep 22 22:52:37 PDT 2015


On 09/23/2015 01:52 PM, Xiang, Haihao wrote:
> Signed-off-by: Xiang, Haihao<haihao.xiang at intel.com>
> ---
>   src/shaders/vme/inter_bframe_gen8.asm | 16 ++++++++--------
>   src/shaders/vme/inter_bframe_gen8.g8b | 16 ++++++++--------
>   src/shaders/vme/inter_bframe_gen9.g9b | 16 ++++++++--------
>   3 files changed, 24 insertions(+), 24 deletions(-)

This looks good to me.

Thanks.
    Yakui

>
> diff --git a/src/shaders/vme/inter_bframe_gen8.asm b/src/shaders/vme/inter_bframe_gen8.asm
> index fc53599..b37cd7f 100644
> --- a/src/shaders/vme/inter_bframe_gen8.asm
> +++ b/src/shaders/vme/inter_bframe_gen8.asm
> @@ -107,7 +107,7 @@ mov  (8) mbb_result.0<1>:ud	0x0:ud		{align1};
>   mov  (8) mbc_result.0<1>:ud	0x0:ud		{align1};
>   mba_start:
>   mov  (8) mb_msg0.0<1>:ud	0:ud		{align1};
> -and.z.f0.0 (1)		null:uw	input_mb_intra_ub<0,1,0>:ub	INTRA_PRED_AVAIL_FLAG_AE:uw   {align1};
> +and.z.f0.0 (2)		null:uw	input_mb_intra_ub<0,1,0>:ub	INTRA_PRED_AVAIL_FLAG_AE:uw   {align1};
>   /* MB A doesn't exist. Zero MV. mba_flag is zero and ref ID = -1 */
>   (f0.0)  mov  (2)    	mba_result.20<1>:w	-1:w	{align1};
>   (f0.0)  jmpi (1)	mbb_start;
> @@ -137,7 +137,7 @@ send (16)
>           {align1};
>
>   /* TODO: RefID is required after multi-references are added */
> -cmp.l.f0.0 (1)		null:w	mb_intra_wb.16<0,1,0>:uw	mb_inter_wb.8<0,1,0>:uw {align1};
> +cmp.l.f0.0 (2)		null:w	mb_intra_wb.16<0,1,0>:uw	mb_inter_wb.8<0,1,0>:uw {align1};
>   (f0.0)   mov (2)	mba_result.20<1>:w			-1:w	{align1};
>   (f0.0)   jmpi	(1)	mbb_start;
>
> @@ -184,7 +184,7 @@ mov   (2)	mba_result.20<1>:w		0:w		{align1};
>
>   mbb_start:
>   mov  (8) mb_msg0.0<1>:ud	0:ud		{align1};
> -and.z.f0.0 (1)		null:uw	input_mb_intra_ub<0,1,0>:ub	INTRA_PRED_AVAIL_FLAG_B:uw   {align1};
> +and.z.f0.0 (2)		null:uw	input_mb_intra_ub<0,1,0>:ub	INTRA_PRED_AVAIL_FLAG_B:uw   {align1};
>   /* MB B doesn't exist. Zero MV. mba_flag is zero */
>   /* If MB B doesn't exist, neither MB C nor D exists */
>   (f0.0)  mov  (2)    	mbb_result.20<1>:w	-1:w		{align1};
> @@ -216,7 +216,7 @@ send (16)
>           {align1};
>
>   /* TODO: RefID is required after multi-references are added */
> -cmp.l.f0.0 (1)		null:w	mb_intra_wb.16<0,1,0>:uw	mb_inter_wb.8<0,1,0>:uw {align1};
> +cmp.l.f0.0 (2)		null:w	mb_intra_wb.16<0,1,0>:uw	mb_inter_wb.8<0,1,0>:uw {align1};
>   (f0.0)   mov (2)	mbb_result.20<1>:w			-1:w	{align1};
>   (f0.0)   jmpi	(1)	mbc_start;
>   add   (1) mb_msg0.8<1>:UD	mb_msg0.8<0,1,0>:ud	3:ud {align1};
> @@ -292,7 +292,7 @@ send (16)
>           {align1};
>
>   /* TODO: RefID is required after multi-references are added */
> -cmp.l.f0.0 (1)		null:w	mb_intra_wb.16<0,1,0>:uw	mb_inter_wb.8<0,1,0>:uw {align1};
> +cmp.l.f0.0 (2)		null:w	mb_intra_wb.16<0,1,0>:uw	mb_inter_wb.8<0,1,0>:uw {align1};
>   (f0.0)   mov (2)	mbc_result.20<1>:w			-1:w	{align1};
>   (f0.0)   jmpi	(1)	mb_mvp_start;
>   add   (1) mb_msg0.8<1>:UD	mb_msg0.8<0,1,0>:ud	3:ud {align1};
> @@ -339,7 +339,7 @@ mov	   (2)		mbc_result.4<1>:ud		mb_mv2.16<2,2,1>:ud	{align1};
>   jmpi   (1)    mb_mvp_start;
>   mbd_start:
>   mov  (8) mb_msg0.0<1>:ud	0:ud		{align1};
> -and.z.f0.0 (1)		null:uw	input_mb_intra_ub<0,1,0>:ub	INTRA_PRED_AVAIL_FLAG_D:uw   {align1};
> +and.z.f0.0 (2)		null:uw	input_mb_intra_ub<0,1,0>:ub	INTRA_PRED_AVAIL_FLAG_D:uw   {align1};
>   (f0.0)  mov  (2)	mbc_result.20<1>:w		-1:w	{align1};
>   (f0.0)  jmpi (1)	mb_mvp_start;
>   mov  (1) mbc_result.0<1>:d	MB_AVAIL		{align1};	
> @@ -367,7 +367,7 @@ send (16)
>           rlen 2
>           {align1};
>
> -cmp.l.f0.0 (1)		null:w	mb_intra_wb.16<0,1,0>:uw	mb_inter_wb.8<0,1,0>:uw {align1};
> +cmp.l.f0.0 (2)		null:w	mb_intra_wb.16<0,1,0>:uw	mb_inter_wb.8<0,1,0>:uw {align1};
>   (f0.0)   mov (2)	mbc_result.20<1>:w			-1:w	{align1};
>   (f0.0)   jmpi	(1)	mb_mvp_start;
>
> @@ -420,7 +420,7 @@ mb_mvp_start:
>   add	(1)	tmp_reg0.0<1>:d		mbb_result.0<0,1,0>:d	mbc_result.0<0,1,0>:d	{align1};
>   cmp.z.f0.0 (1)	null:d			tmp_reg0.0<0,1,0>:d	0:d	{align1};
>   (-f0.0)	jmpi (1)	mb_median_start;
> -cmp.nz.f0.0 (1)	null:d	mba_result.0<0,1,0>:d		0:d		{align1};
> +cmp.nz.f0.0 (2)	null:d	mba_result.0<0,1,0>:d		0:d		{align1};
>   (f0.0)	mov	(2)	mbb_result.4<1>:ud		mba_result.4<2,2,1>:ud	{align1};	
>   (f0.0)	mov	(2)	mbc_result.4<1>:ud		mba_result.4<2,2,1>:ud	{align1};	
>   (f0.0)	mov	(2)	mbb_result.20<1>:uw		mba_result.20<2,2,1>:uw	{align1};	
> diff --git a/src/shaders/vme/inter_bframe_gen8.g8b b/src/shaders/vme/inter_bframe_gen8.g8b
> index 77daf5a..ca6614c 100644
> --- a/src/shaders/vme/inter_bframe_gen8.g8b
> +++ b/src/shaders/vme/inter_bframe_gen8.g8b
> @@ -42,7 +42,7 @@
>      { 0x00600001, 0x2b000608, 0x00000000, 0x00000000 },
>      { 0x00600001, 0x2b200608, 0x00000000, 0x00000000 },
>      { 0x00600001, 0x2b400608, 0x00000000, 0x00000000 },
> -   { 0x01000005, 0x20002240, 0x160000a5, 0x00600060 },
> +   { 0x01200005, 0x20002240, 0x160000a5, 0x00600060 },
>      { 0x00210001, 0x2af41e68, 0x18000000, 0xffffffff },
>      { 0x00010020, 0x34000000, 0x0e001400, 0x00000210 },
>      { 0x00000001, 0x2ae00e28, 0x08000000, 0x00000001 },
> @@ -53,7 +53,7 @@
>      { 0x00000041, 0x2b480208, 0x06000b48, 0x00000018 },
>      { 0x00000001, 0x2b542288, 0x00000014, 0x00000000 },
>      { 0x0a800031, 0x2b600a08, 0x0e000b40, 0x02280303 },
> -   { 0x05000010, 0x20001260, 0x12000b70, 0x00000b88 },
> +   { 0x05200010, 0x20001260, 0x12000b70, 0x00000b88 },
>      { 0x00210001, 0x2af41e68, 0x18000000, 0xffffffff },
>      { 0x00010020, 0x34000000, 0x0e001400, 0x00000160 },
>      { 0x00000040, 0x2b480208, 0x06000b48, 0x00000003 },
> @@ -79,7 +79,7 @@
>      { 0x00200001, 0x2af01e48, 0x18000000, 0x00010001 },
>      { 0x00200001, 0x2af41e68, 0x18000000, 0x00000000 },
>      { 0x00600001, 0x2b400608, 0x00000000, 0x00000000 },
> -   { 0x01000005, 0x20002240, 0x160000a5, 0x00100010 },
> +   { 0x01200005, 0x20002240, 0x160000a5, 0x00100010 },
>      { 0x00210001, 0x2b141e68, 0x18000000, 0xffffffff },
>      { 0x00210001, 0x2b341e68, 0x18000000, 0xffffffff },
>      { 0x00010020, 0x34000000, 0x0e001400, 0x000006c0 },
> @@ -91,7 +91,7 @@
>      { 0x00000041, 0x2b480208, 0x06000b48, 0x00000018 },
>      { 0x00000001, 0x2b542288, 0x00000014, 0x00000000 },
>      { 0x0a800031, 0x2b600a08, 0x0e000b40, 0x02280303 },
> -   { 0x05000010, 0x20001260, 0x12000b70, 0x00000b88 },
> +   { 0x05200010, 0x20001260, 0x12000b70, 0x00000b88 },
>      { 0x00210001, 0x2b141e68, 0x18000000, 0xffffffff },
>      { 0x00010020, 0x34000000, 0x0e001400, 0x00000160 },
>      { 0x00000040, 0x2b480208, 0x06000b48, 0x00000003 },
> @@ -128,7 +128,7 @@
>      { 0x00000041, 0x2b480208, 0x06000b48, 0x00000018 },
>      { 0x00000001, 0x2b542288, 0x00000014, 0x00000000 },
>      { 0x0a800031, 0x2b600a08, 0x0e000b40, 0x02280303 },
> -   { 0x05000010, 0x20001260, 0x12000b70, 0x00000b88 },
> +   { 0x05200010, 0x20001260, 0x12000b70, 0x00000b88 },
>      { 0x00210001, 0x2b341e68, 0x18000000, 0xffffffff },
>      { 0x00010020, 0x34000000, 0x0e001400, 0x000003c0 },
>      { 0x00000040, 0x2b480208, 0x06000b48, 0x00000003 },
> @@ -155,7 +155,7 @@
>      { 0x00200001, 0x2b240208, 0x00450bf0, 0x00000000 },
>      { 0x00000020, 0x34000000, 0x0e001400, 0x00000250 },
>      { 0x00600001, 0x2b400608, 0x00000000, 0x00000000 },
> -   { 0x01000005, 0x20002240, 0x160000a5, 0x00040004 },
> +   { 0x01200005, 0x20002240, 0x160000a5, 0x00040004 },
>      { 0x00210001, 0x2b341e68, 0x18000000, 0xffffffff },
>      { 0x00010020, 0x34000000, 0x0e001400, 0x00000210 },
>      { 0x00000001, 0x2b200e28, 0x08000000, 0x00000001 },
> @@ -166,7 +166,7 @@
>      { 0x00000041, 0x2b480208, 0x06000b48, 0x00000018 },
>      { 0x00000001, 0x2b542288, 0x00000014, 0x00000000 },
>      { 0x0a800031, 0x2b600a08, 0x0e000b40, 0x02280303 },
> -   { 0x05000010, 0x20001260, 0x12000b70, 0x00000b88 },
> +   { 0x05200010, 0x20001260, 0x12000b70, 0x00000b88 },
>      { 0x00210001, 0x2b341e68, 0x18000000, 0xffffffff },
>      { 0x00010020, 0x34000000, 0x0e001400, 0x00000160 },
>      { 0x00000040, 0x2b480208, 0x06000b48, 0x00000003 },
> @@ -194,7 +194,7 @@
>      { 0x00000040, 0x24000a28, 0x0a000b00, 0x00000b20 },
>      { 0x01000010, 0x20000a20, 0x0e000400, 0x00000000 },
>      { 0x00110020, 0x34000000, 0x0e001400, 0x00000080 },
> -   { 0x02000010, 0x20000a20, 0x0e000ae0, 0x00000000 },
> +   { 0x02200010, 0x20000a20, 0x0e000ae0, 0x00000000 },
>      { 0x00210001, 0x2b040208, 0x00450ae4, 0x00000000 },
>      { 0x00210001, 0x2b240208, 0x00450ae4, 0x00000000 },
>      { 0x00210001, 0x2b141248, 0x00450af4, 0x00000000 },
> diff --git a/src/shaders/vme/inter_bframe_gen9.g9b b/src/shaders/vme/inter_bframe_gen9.g9b
> index 2f77a6f..26e077a 100644
> --- a/src/shaders/vme/inter_bframe_gen9.g9b
> +++ b/src/shaders/vme/inter_bframe_gen9.g9b
> @@ -42,7 +42,7 @@
>      { 0x00600001, 0x2b000608, 0x00000000, 0x00000000 },
>      { 0x00600001, 0x2b200608, 0x00000000, 0x00000000 },
>      { 0x00600001, 0x2b400608, 0x00000000, 0x00000000 },
> -   { 0x01000005, 0x20002240, 0x160000a5, 0x00600060 },
> +   { 0x01200005, 0x20002240, 0x160000a5, 0x00600060 },
>      { 0x00210001, 0x2af41e68, 0x18000000, 0xffffffff },
>      { 0x00010020, 0x34000000, 0x0e001400, 0x00000210 },
>      { 0x00000001, 0x2ae00e28, 0x08000000, 0x00000001 },
> @@ -53,7 +53,7 @@
>      { 0x00000041, 0x2b480208, 0x06000b48, 0x00000018 },
>      { 0x00000001, 0x2b542288, 0x00000014, 0x00000000 },
>      { 0x0a800031, 0x2b600a08, 0x06000b40, 0x02280303 },
> -   { 0x05000010, 0x20001260, 0x12000b70, 0x00000b88 },
> +   { 0x05200010, 0x20001260, 0x12000b70, 0x00000b88 },
>      { 0x00210001, 0x2af41e68, 0x18000000, 0xffffffff },
>      { 0x00010020, 0x34000000, 0x0e001400, 0x00000160 },
>      { 0x00000040, 0x2b480208, 0x06000b48, 0x00000003 },
> @@ -79,7 +79,7 @@
>      { 0x00200001, 0x2af01e48, 0x18000000, 0x00010001 },
>      { 0x00200001, 0x2af41e68, 0x18000000, 0x00000000 },
>      { 0x00600001, 0x2b400608, 0x00000000, 0x00000000 },
> -   { 0x01000005, 0x20002240, 0x160000a5, 0x00100010 },
> +   { 0x01200005, 0x20002240, 0x160000a5, 0x00100010 },
>      { 0x00210001, 0x2b141e68, 0x18000000, 0xffffffff },
>      { 0x00210001, 0x2b341e68, 0x18000000, 0xffffffff },
>      { 0x00010020, 0x34000000, 0x0e001400, 0x000006c0 },
> @@ -91,7 +91,7 @@
>      { 0x00000041, 0x2b480208, 0x06000b48, 0x00000018 },
>      { 0x00000001, 0x2b542288, 0x00000014, 0x00000000 },
>      { 0x0a800031, 0x2b600a08, 0x06000b40, 0x02280303 },
> -   { 0x05000010, 0x20001260, 0x12000b70, 0x00000b88 },
> +   { 0x05200010, 0x20001260, 0x12000b70, 0x00000b88 },
>      { 0x00210001, 0x2b141e68, 0x18000000, 0xffffffff },
>      { 0x00010020, 0x34000000, 0x0e001400, 0x00000160 },
>      { 0x00000040, 0x2b480208, 0x06000b48, 0x00000003 },
> @@ -128,7 +128,7 @@
>      { 0x00000041, 0x2b480208, 0x06000b48, 0x00000018 },
>      { 0x00000001, 0x2b542288, 0x00000014, 0x00000000 },
>      { 0x0a800031, 0x2b600a08, 0x06000b40, 0x02280303 },
> -   { 0x05000010, 0x20001260, 0x12000b70, 0x00000b88 },
> +   { 0x05200010, 0x20001260, 0x12000b70, 0x00000b88 },
>      { 0x00210001, 0x2b341e68, 0x18000000, 0xffffffff },
>      { 0x00010020, 0x34000000, 0x0e001400, 0x000003c0 },
>      { 0x00000040, 0x2b480208, 0x06000b48, 0x00000003 },
> @@ -155,7 +155,7 @@
>      { 0x00200001, 0x2b240208, 0x00450bf0, 0x00000000 },
>      { 0x00000020, 0x34000000, 0x0e001400, 0x00000250 },
>      { 0x00600001, 0x2b400608, 0x00000000, 0x00000000 },
> -   { 0x01000005, 0x20002240, 0x160000a5, 0x00040004 },
> +   { 0x01200005, 0x20002240, 0x160000a5, 0x00040004 },
>      { 0x00210001, 0x2b341e68, 0x18000000, 0xffffffff },
>      { 0x00010020, 0x34000000, 0x0e001400, 0x00000210 },
>      { 0x00000001, 0x2b200e28, 0x08000000, 0x00000001 },
> @@ -166,7 +166,7 @@
>      { 0x00000041, 0x2b480208, 0x06000b48, 0x00000018 },
>      { 0x00000001, 0x2b542288, 0x00000014, 0x00000000 },
>      { 0x0a800031, 0x2b600a08, 0x06000b40, 0x02280303 },
> -   { 0x05000010, 0x20001260, 0x12000b70, 0x00000b88 },
> +   { 0x05200010, 0x20001260, 0x12000b70, 0x00000b88 },
>      { 0x00210001, 0x2b341e68, 0x18000000, 0xffffffff },
>      { 0x00010020, 0x34000000, 0x0e001400, 0x00000160 },
>      { 0x00000040, 0x2b480208, 0x06000b48, 0x00000003 },
> @@ -194,7 +194,7 @@
>      { 0x00000040, 0x24000a28, 0x0a000b00, 0x00000b20 },
>      { 0x01000010, 0x20000a20, 0x0e000400, 0x00000000 },
>      { 0x00110020, 0x34000000, 0x0e001400, 0x00000080 },
> -   { 0x02000010, 0x20000a20, 0x0e000ae0, 0x00000000 },
> +   { 0x02200010, 0x20000a20, 0x0e000ae0, 0x00000000 },
>      { 0x00210001, 0x2b040208, 0x00450ae4, 0x00000000 },
>      { 0x00210001, 0x2b240208, 0x00450ae4, 0x00000000 },
>      { 0x00210001, 0x2b141248, 0x00450af4, 0x00000000 },



More information about the Libva mailing list