[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