Remove wayland-include.patch, code already upstream. Add fix GPU hung issue patch, already upstream but caught it after 1.6.0.
Signed-off-by: Lim Siew Hoon <[email protected]> --- ...croblock-pair-to-calculate-H264-decoding-.patch | 131 +++++++++++++++++++++ .../libva/libva-intel-driver/wayland-include.patch | 30 ----- .../libva/libva-intel-driver_1.5.0.bb | 31 ----- .../libva/libva-intel-driver_1.6.0.bb | 32 +++++ 4 files changed, 163 insertions(+), 61 deletions(-) create mode 100755 common/recipes-multimedia/libva/libva-intel-driver/0001-H264-Use-macroblock-pair-to-calculate-H264-decoding-.patch delete mode 100644 common/recipes-multimedia/libva/libva-intel-driver/wayland-include.patch delete mode 100644 common/recipes-multimedia/libva/libva-intel-driver_1.5.0.bb create mode 100755 common/recipes-multimedia/libva/libva-intel-driver_1.6.0.bb diff --git a/common/recipes-multimedia/libva/libva-intel-driver/0001-H264-Use-macroblock-pair-to-calculate-H264-decoding-.patch b/common/recipes-multimedia/libva/libva-intel-driver/0001-H264-Use-macroblock-pair-to-calculate-H264-decoding-.patch new file mode 100755 index 0000000..d5a6e14 --- /dev/null +++ b/common/recipes-multimedia/libva/libva-intel-driver/0001-H264-Use-macroblock-pair-to-calculate-H264-decoding-.patch @@ -0,0 +1,131 @@ +From 536ab400ac4b8d3c21233b174a540ce725a9fd3a Mon Sep 17 00:00:00 2001 +From: Zhao Yakui <[email protected]> +Date: Tue, 7 Jul 2015 01:45:47 +0800 +Subject: [PATCH] H264: Use macroblock pair to calculate H264 decoding + parameter under MBAFF flag + +Based on the H264 spec the macroblock pair should be used to calculate +the corresponding parameters under MBAFF.(mb-adaptive frame-field). +Otherwise the wrong parameter is sent to GPU HW. + +Fix the GPU hang issue in https://bugs.freedesktop.org/show_bug.cgi?id=91207 + +Tested-by: Lim, Siew Hoon <[email protected]> +Signed-off-by: Zhao Yakui <[email protected]> +--- + src/gen6_mfd.c | 10 ++++++++-- + src/gen75_mfd.c | 10 ++++++++-- + src/gen7_mfd.c | 10 ++++++++-- + src/gen8_mfd.c | 9 +++++++-- + 4 files changed, 31 insertions(+), 8 deletions(-) + +diff --git a/src/gen6_mfd.c b/src/gen6_mfd.c +index 95a8e92..2dd05a1 100755 +--- a/src/gen6_mfd.c ++++ b/src/gen6_mfd.c +@@ -551,14 +551,20 @@ gen6_mfd_avc_slice_state(VADriverContextP ctx, + } + } + +- first_mb_in_slice = slice_param->first_mb_in_slice << mbaff_picture; ++ first_mb_in_slice = slice_param->first_mb_in_slice; + slice_hor_pos = first_mb_in_slice % width_in_mbs; + slice_ver_pos = first_mb_in_slice / width_in_mbs; + ++ if (mbaff_picture) ++ slice_ver_pos = slice_ver_pos << 1; ++ + if (next_slice_param) { +- first_mb_in_next_slice = next_slice_param->first_mb_in_slice << mbaff_picture; ++ first_mb_in_next_slice = next_slice_param->first_mb_in_slice; + next_slice_hor_pos = first_mb_in_next_slice % width_in_mbs; + next_slice_ver_pos = first_mb_in_next_slice / width_in_mbs; ++ ++ if (mbaff_picture) ++ next_slice_ver_pos = next_slice_ver_pos << 1; + } else { + next_slice_hor_pos = 0; + next_slice_ver_pos = height_in_mbs; +diff --git a/src/gen75_mfd.c b/src/gen75_mfd.c +index 5171bd9..11cde1f 100644 +--- a/src/gen75_mfd.c ++++ b/src/gen75_mfd.c +@@ -862,14 +862,20 @@ gen75_mfd_avc_slice_state(VADriverContextP ctx, + num_ref_idx_l1 = slice_param->num_ref_idx_l1_active_minus1 + 1; + } + +- first_mb_in_slice = slice_param->first_mb_in_slice << mbaff_picture; ++ first_mb_in_slice = slice_param->first_mb_in_slice; + slice_hor_pos = first_mb_in_slice % width_in_mbs; + slice_ver_pos = first_mb_in_slice / width_in_mbs; + ++ if (mbaff_picture) ++ slice_ver_pos = slice_ver_pos << 1; ++ + if (next_slice_param) { +- first_mb_in_next_slice = next_slice_param->first_mb_in_slice << mbaff_picture; ++ first_mb_in_next_slice = next_slice_param->first_mb_in_slice; + next_slice_hor_pos = first_mb_in_next_slice % width_in_mbs; + next_slice_ver_pos = first_mb_in_next_slice / width_in_mbs; ++ ++ if (mbaff_picture) ++ next_slice_ver_pos = next_slice_ver_pos << 1; + } else { + next_slice_hor_pos = 0; + next_slice_ver_pos = height_in_mbs / (1 + !!pic_param->pic_fields.bits.field_pic_flag); +diff --git a/src/gen7_mfd.c b/src/gen7_mfd.c +index 40a6db4..1d04ed4 100755 +--- a/src/gen7_mfd.c ++++ b/src/gen7_mfd.c +@@ -556,14 +556,20 @@ gen7_mfd_avc_slice_state(VADriverContextP ctx, + num_ref_idx_l1 = slice_param->num_ref_idx_l1_active_minus1 + 1; + } + +- first_mb_in_slice = slice_param->first_mb_in_slice << mbaff_picture; ++ first_mb_in_slice = slice_param->first_mb_in_slice; + slice_hor_pos = first_mb_in_slice % width_in_mbs; + slice_ver_pos = first_mb_in_slice / width_in_mbs; + ++ if (mbaff_picture) ++ slice_ver_pos = slice_ver_pos << 1; ++ + if (next_slice_param) { +- first_mb_in_next_slice = next_slice_param->first_mb_in_slice << mbaff_picture; ++ first_mb_in_next_slice = next_slice_param->first_mb_in_slice; + next_slice_hor_pos = first_mb_in_next_slice % width_in_mbs; + next_slice_ver_pos = first_mb_in_next_slice / width_in_mbs; ++ ++ if (mbaff_picture) ++ next_slice_ver_pos = next_slice_ver_pos << 1; + } else { + next_slice_hor_pos = 0; + next_slice_ver_pos = height_in_mbs / (1 + !!pic_param->pic_fields.bits.field_pic_flag); +diff --git a/src/gen8_mfd.c b/src/gen8_mfd.c +index c15184d..c55cb4e 100644 +--- a/src/gen8_mfd.c ++++ b/src/gen8_mfd.c +@@ -625,14 +625,19 @@ gen8_mfd_avc_slice_state(VADriverContextP ctx, + num_ref_idx_l1 = slice_param->num_ref_idx_l1_active_minus1 + 1; + } + +- first_mb_in_slice = slice_param->first_mb_in_slice << mbaff_picture; ++ first_mb_in_slice = slice_param->first_mb_in_slice; + slice_hor_pos = first_mb_in_slice % width_in_mbs; + slice_ver_pos = first_mb_in_slice / width_in_mbs; + ++ if (mbaff_picture) ++ slice_ver_pos = slice_ver_pos << 1; + if (next_slice_param) { +- first_mb_in_next_slice = next_slice_param->first_mb_in_slice << mbaff_picture; ++ first_mb_in_next_slice = next_slice_param->first_mb_in_slice; + next_slice_hor_pos = first_mb_in_next_slice % width_in_mbs; + next_slice_ver_pos = first_mb_in_next_slice / width_in_mbs; ++ ++ if (mbaff_picture) ++ next_slice_ver_pos = next_slice_ver_pos << 1; + } else { + next_slice_hor_pos = 0; + next_slice_ver_pos = height_in_mbs / (1 + !!pic_param->pic_fields.bits.field_pic_flag); +-- +2.1.0 + diff --git a/common/recipes-multimedia/libva/libva-intel-driver/wayland-include.patch b/common/recipes-multimedia/libva/libva-intel-driver/wayland-include.patch deleted file mode 100644 index 4a46773..0000000 --- a/common/recipes-multimedia/libva/libva-intel-driver/wayland-include.patch +++ /dev/null @@ -1,30 +0,0 @@ -Fix a compile error when building without X11. - -Upstream-Status: Submitted -Signed-off-by: Ross Burton <[email protected]> - -From a5c44e48dc73b2892f161bd21591c7ee0a3b7842 Mon Sep 17 00:00:00 2001 -From: Ross Burton <[email protected]> -Date: Mon, 21 Oct 2013 16:25:18 +0100 -Subject: [PATCH] i965_output_wayland: add missing include - -Signed-off-by: Ross Burton <[email protected]> ---- - src/i965_output_wayland.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/i965_output_wayland.h b/src/i965_output_wayland.h -index 61ca39f..acea8d9 100644 ---- a/src/i965_output_wayland.h -+++ b/src/i965_output_wayland.h -@@ -26,6 +26,7 @@ - #define I965_OUTPUT_WAYLAND_H - - #include <stdbool.h> -+#include <va/va_backend.h> - - bool - i965_output_wayland_init(VADriverContextP ctx); --- -1.7.10.4 - 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 deleted file mode 100644 index ba09c2c..0000000 --- a/common/recipes-multimedia/libva/libva-intel-driver_1.5.0.bb +++ /dev/null @@ -1,31 +0,0 @@ -SUMMARY = "VA driver for Intel G45 & HD Graphics family" -DESCRIPTION = "libva-driver-intel is the VA-API implementation \ -for Intel G45 chipsets and Intel HD Graphics for Intel Core \ -processor family." - -HOMEPAGE = "http://www.freedesktop.org/wiki/Software/vaapi" -BUGTRACKER = "https://bugs.freedesktop.org" - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=2e48940f94acb0af582e5ef03537800f" - -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[md5sum] = "16752f1584398265072129553b7907ce" -SRC_URI[sha256sum] = "d0b448193ab34b622cd14e4db8ca29991a4038b4eb459a8fbbcbd7db843da3dc" - -inherit autotools pkgconfig - -PACKAGECONFIG ??= "${@base_contains("DISTRO_FEATURES", "x11", "x11", "", d)} \ - ${@base_contains("DISTRO_FEATURES", "opengl wayland", "wayland", "", d)}" -PACKAGECONFIG[x11] = "--enable-x11,--disable-x11" -PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland virtual/egl" - -FILES_${PN} += "${libdir}/dri/*.so" -FILES_${PN}-dev += "${libdir}/dri/*.la" -FILES_${PN}-dbg += "${libdir}/dri/.debug" diff --git a/common/recipes-multimedia/libva/libva-intel-driver_1.6.0.bb b/common/recipes-multimedia/libva/libva-intel-driver_1.6.0.bb new file mode 100755 index 0000000..30032bb --- /dev/null +++ b/common/recipes-multimedia/libva/libva-intel-driver_1.6.0.bb @@ -0,0 +1,32 @@ +SUMMARY = "VA driver for Intel G45 & HD Graphics family" +DESCRIPTION = "libva-driver-intel is the VA-API implementation \ +for Intel G45 chipsets and Intel HD Graphics for Intel Core \ +processor family." + +HOMEPAGE = "http://www.freedesktop.org/wiki/Software/vaapi" +BUGTRACKER = "https://bugs.freedesktop.org" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=2e48940f94acb0af582e5ef03537800f" + +COMPATIBLE_HOST = '(i.86|x86_64).*-linux' + +DEPENDS = "libva libdrm" + +SRC_URI = "http://www.freedesktop.org/software/vaapi/releases/${BPN}/${BPN}-${PV}.tar.bz2 \ + file://0001-H264-Use-macroblock-pair-to-calculate-H264-decoding-.patch \ + " + +SRC_URI[md5sum] = "d7678f7c66cbb135cced82ee2af6d8e8" +SRC_URI[sha256sum] = "9876afe4610c01a8ee5ba9348266515fce4dd031139d580ad97984d06afa08d4" + +inherit autotools pkgconfig + +PACKAGECONFIG ??= "${@base_contains("DISTRO_FEATURES", "x11", "x11", "", d)} \ + ${@base_contains("DISTRO_FEATURES", "opengl wayland", "wayland", "", d)}" +PACKAGECONFIG[x11] = "--enable-x11,--disable-x11" +PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland virtual/egl" + +FILES_${PN} += "${libdir}/dri/*.so" +FILES_${PN}-dev += "${libdir}/dri/*.la" +FILES_${PN}-dbg += "${libdir}/dri/.debug" -- 2.1.0 -- _______________________________________________ meta-intel mailing list [email protected] https://lists.yoctoproject.org/listinfo/meta-intel
