[meta-intel] [PATCH] libva-intel-driver: Fix timestamping issue for VC1/WMV VAAPI decode under BSW CHV

Saul Wold sgw at linux.intel.com
Thu Oct 22 10:57:12 PDT 2015


On Thu, 2015-10-22 at 06:50 +0000, Ahmad, Mohd Azril wrote:
> From : Azril Ahmad <mohd.azril.ahmad at intel.com>
> 
> Hi Saul / maintainers,
> 
> This is a cherry-picked patch (from FreeDesktop VAAPI intel-driver commit: 4307780b648245aba4ff338dcfe0172dec2e12e9) which need to be included as part of libva-intel-driver recipe to fix the VC1/WMV VAAPI decode timestamping issue on BSW CherryHill.
> If the patch good to go, please help to merge it into master & Jethro.
> 
I would like to get this into Jethro also, but you still need to address
the Upstream-Status with the correct info.

> Thanks,
> Azril
> 

> ---
> 
> Include the upstreamed patch to fix the timestamping issue that observed during the WMV/VC1 VAAPI decode with GStreamer on BSW CHV.
> 
> The patch was imported from FreeDesktop VAAPI git server
> (git://anongit.freedesktop.org/vaapi/intel-driver) as of commit id
> 4307780b648245aba4ff338dcfe0172dec2e12e9
> 
> Signed-off-by: Azril Ahmad <mohd.azril.ahmad at intel.com>
> ---
>  ...sk-instead-of-DMask-in-3DSTATE_PS-on-GEN8.patch | 53 ++++++++++++++++++++++
>  .../libva/libva-intel-driver_1.5.0.bb              |  4 +-
>  2 files changed, 56 insertions(+), 1 deletion(-)
>  create mode 100644 common/recipes-multimedia/libva/libva-intel-driver/Use-VMask-instead-of-DMask-in-3DSTATE_PS-on-GEN8.patch
> 
> diff --git a/common/recipes-multimedia/libva/libva-intel-driver/Use-VMask-instead-of-DMask-in-3DSTATE_PS-on-GEN8.patch b/common/recipes-multimedia/libva/libva-intel-driver/Use-VMask-instead-of-DMask-in-3DSTATE_PS-on-GEN8.patch
> new file mode 100644
> index 0000000..7148fec
> --- /dev/null
> +++ b/common/recipes-multimedia/libva/libva-intel-driver/Use-VMask-instead-of-DMask-in-3DSTATE_PS-on-GEN8.patch
> @@ -0,0 +1,53 @@
> +Upstream-Status: Tag
What does Tag mean here?  You should say it's a Backport and include the
reference you list above here.

Sau!

> +Signed-off-by: Azril Ahmad <mohd.azril.ahmad at intel.com>
> +
> +From dff0614a65693bdfbcf8a46ccfb52f036647bb93 Mon Sep 17 00:00:00 2001
> +From: "Xiang, Haihao" <haihao.xiang at intel.com>
> +Date: Tue, 27 Jan 2015 11:09:02 +0800
> +Subject: [PATCH 06/10] Use VMask instead of DMask in 3DSTATE_PS on GEN8+
> +
> +Mesa uses VMask instead of DMask in 3DSTATE_PS.
> +  "Initialize the execution mask with VMask.  Otherwise, derivatives are
> +  incorrect for subspans where some of the pixels are unlit.  We believe
> +  the bit just didn't take effect in previous generations."
> +
> +To avoid potential issue, use VMask in libva too.
> +
> +Signed-off-by: Xiang, Haihao <haihao.xiang at intel.com>
> +Reviewed-by: Sean V Kelley <sean.v.kelley at intel.com>
> +---
> + src/gen8_render.c | 3 ++-
> + src/gen9_render.c | 3 ++-
> + 2 files changed, 4 insertions(+), 2 deletions(-)
> +
> +diff --git a/src/gen8_render.c b/src/gen8_render.c
> +index 8a8012d..65a66c5 100644
> +--- a/src/gen8_render.c
> ++++ b/src/gen8_render.c
> +@@ -1447,7 +1447,8 @@ gen8_emit_wm_state(VADriverContextP ctx, int kernel)
> +     /* DW3. PS shader flag .Binding table cnt/sample cnt */
> +     OUT_BATCH(batch,
> +               (1 << GEN7_PS_SAMPLER_COUNT_SHIFT) |
> +-              (5 << GEN7_PS_BINDING_TABLE_ENTRY_COUNT_SHIFT));
> ++              (5 << GEN7_PS_BINDING_TABLE_ENTRY_COUNT_SHIFT) |
> ++              GEN7_PS_VECTOR_MASK_ENABLE);
> +     /* DW4-5. Scatch space */
> +     OUT_BATCH(batch, 0); /* scratch space base offset */
> +     OUT_BATCH(batch, 0);
> +diff --git a/src/gen9_render.c b/src/gen9_render.c
> +index da8950e..89935f2 100644
> +--- a/src/gen9_render.c
> ++++ b/src/gen9_render.c
> +@@ -1449,7 +1449,8 @@ gen9_emit_wm_state(VADriverContextP ctx, int kernel)
> +     /* DW3. PS shader flag .Binding table cnt/sample cnt */
> +     OUT_BATCH(batch,
> +               (1 << GEN7_PS_SAMPLER_COUNT_SHIFT) |
> +-              (5 << GEN7_PS_BINDING_TABLE_ENTRY_COUNT_SHIFT));
> ++              (5 << GEN7_PS_BINDING_TABLE_ENTRY_COUNT_SHIFT) |
> ++              GEN7_PS_VECTOR_MASK_ENABLE);
> +     /* DW4-5. Scatch space */
> +     OUT_BATCH(batch, 0); /* scratch space base offset */
> +     OUT_BATCH(batch, 0);
> +-- 
> +2.1.0
> +
> diff --git a/common/recipes-multimedia/libva/libva-intel-driver_1.5.0.bb b/common/recipes-multimedia/libva/libva-intel-driver_1.5.0.bb
> index ba09c2c..dfb1ec1 100644
> --- a/common/recipes-multimedia/libva/libva-intel-driver_1.5.0.bb
> +++ b/common/recipes-multimedia/libva/libva-intel-driver_1.5.0.bb
> @@ -14,7 +14,9 @@ COMPATIBLE_HOST = '(i.86|x86_64).*-linux'
>  DEPENDS = "libva libdrm"
>  
>  SRC_URI = "http://www.freedesktop.org/software/vaapi/releases/${BPN}/${BPN}-${PV}.tar.bz2"
> -SRC_URI += "file://wayland-include.patch"
> +SRC_URI += "file://wayland-include.patch \
> +	    file://Use-VMask-instead-of-DMask-in-3DSTATE_PS-on-GEN8.patch \
> +	   "
>  
>  SRC_URI[md5sum] = "16752f1584398265072129553b7907ce"
>  SRC_URI[sha256sum] = "d0b448193ab34b622cd14e4db8ca29991a4038b4eb459a8fbbcbd7db843da3dc"




More information about the meta-intel mailing list