From 9bdc2090ca821c6b43ec4e69ee9ac6a34dd35ca3 Mon Sep 17 00:00:00 2001 From: Azril Ahmad Date: Fri, 23 Oct 2015 11:48:40 +0800 Subject: 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 Signed-off-by: Saul Wold --- ...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 00000000..aa98a200 --- /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 + + +From dff0614a65693bdfbcf8a46ccfb52f036647bb93 Mon Sep 17 00:00:00 2001 +From: "Xiang, Haihao" +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 +Reviewed-by: Sean V Kelley +--- + 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 ba09c2c6..dfb1ec1a 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" -- cgit v1.2.3-54-g00ecf