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

Ahmad, Mohd Azril mohd.azril.ahmad at intel.com
Thu Oct 22 21:05:51 PDT 2015


From : Azril Ahmad <mohd.azril.ahmad at intel.com>

Hi Saul,

Thanks for your time on reviewing the patch. Here I provide you the v2 patch with the changes as below :

Changes from v1 patch :
- Change Upstream-Status to proper Backport explanation

Thanks,
Azril

---

From 4e4dce02fcd05d8e4648631c192bbd8b27192bd5 Mon Sep 17 00:00:00 2001
From: Azril Ahmad <mohd.azril.ahmad at intel.com>
Date: Fri, 23 Oct 2015 11:48:40 +0800
Subject: [PATCH] libva-intel-driver: Fix timestamping issue for VC1/WMV VAAPI
 decode under BSW CHV

Include the upstreamed patch to fix the timestamping issue that observed during the WMV/VC1 VAAPI decode under 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 | 54 ++++++++++++++++++++++
 .../libva/libva-intel-driver_1.5.0.bb              |  4 +-
 2 files changed, 57 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..aa98a20
--- /dev/null
+++ b/common/recipes-multimedia/libva/libva-intel-driver/Use-VMask-instead-of-DMask-in-3DSTATE_PS-on-GEN8.patch
@@ -0,0 +1,54 @@
+Upstream-Status: Backport (from git://anongit.freedesktop.org/vaapi/intel-driver with commit id 4307780b648245aba4ff338dcfe0172dec2e12e9)
+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"
-- 
1.9.3



More information about the meta-intel mailing list