summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlois Nespor2017-04-25 23:06:26 +0200
committerAlois Nespor2017-04-25 23:06:26 +0200
commitb0986355c960d9079d71840201a8314a2a46e965 (patch)
treecc296f185c7bae32107314c1369808b78b4d8d43
parent50be75cca5f165f2ee0820e2bea555365df15028 (diff)
downloadaur-b0986355c960d9079d71840201a8314a2a46e965.tar.gz
patch: add surface attribute information to G4X
-rw-r--r--.SRCINFO6
-rw-r--r--PKGBUILD10
-rw-r--r--fix_surface_querys.patch57
3 files changed, 67 insertions, 6 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 8cbbc29a3deb..6448a78d141c 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,9 +1,9 @@
# Generated by mksrcinfo v8
-# Thu Apr 20 08:51:05 UTC 2017
+# Tue Apr 25 21:05:30 UTC 2017
pkgbase = libva-intel-driver-g45-h264
pkgdesc = VA-API implementation for Intel G45 chipsets with H264 support.
pkgver = 1.8.1
- pkgrel = 2
+ pkgrel = 3
epoch = 1
url = https://01.org/linuxmedia/vaapi
arch = i686
@@ -15,7 +15,9 @@ pkgbase = libva-intel-driver-g45-h264
conflicts = libva-intel-driver
replaces = libva-intel-driver
source = https://bitbucket.org/alium/g45-h264/downloads/intel-driver-g45-h264-1.8.1.tar.gz
+ source = fix_surface_querys.patch
sha256sums = 8708e8fad5a37f024c61b9cbeb41440689296553e72262eb6b5ff0640a51f28c
+ sha256sums = 64bb9d0fae82adba367de0e6ee21737cdb23a7d7eed1bae9f1536af1becbae92
pkgname = libva-intel-driver-g45-h264
diff --git a/PKGBUILD b/PKGBUILD
index 7fd5a7b88273..960bd419ace4 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -6,7 +6,7 @@
pkgname=libva-intel-driver-g45-h264
epoch=1
pkgver=1.8.1
-pkgrel=2
+pkgrel=3
pkgdesc="VA-API implementation for Intel G45 chipsets with H264 support."
arch=('i686' 'x86_64')
url='https://01.org/linuxmedia/vaapi'
@@ -16,12 +16,13 @@ conflicts=('libva-intel-driver')
provides=('libva-intel-driver')
replaces=('libva-intel-driver')
optdepends=('libva-utils: Applications and Scripts for libva (vainfo and others)')
-source=(https://bitbucket.org/alium/g45-h264/downloads/intel-driver-g45-h264-$pkgver.tar.gz)
+source=(https://bitbucket.org/alium/g45-h264/downloads/intel-driver-g45-h264-$pkgver.tar.gz
+ fix_surface_querys.patch)
prepare () {
cd intel-vaapi-driver
#./autogen.sh --prefix=/usr
-
+ patch -Np1 -i ../fix_surface_querys.patch
# Only relevant if intel-gpu-tools is installed,
# since then the shaders will be recompiled
sed -i '1s/python$/&2/' src/shaders/gpp.py
@@ -38,4 +39,5 @@ package () {
make DESTDIR="${pkgdir}" install
install -m644 -D COPYING ${pkgdir}/usr/share/licenses/${pkgname}/COPYING
}
-sha256sums=('8708e8fad5a37f024c61b9cbeb41440689296553e72262eb6b5ff0640a51f28c')
+sha256sums=('8708e8fad5a37f024c61b9cbeb41440689296553e72262eb6b5ff0640a51f28c'
+ '64bb9d0fae82adba367de0e6ee21737cdb23a7d7eed1bae9f1536af1becbae92')
diff --git a/fix_surface_querys.patch b/fix_surface_querys.patch
new file mode 100644
index 000000000000..288962e73fbd
--- /dev/null
+++ b/fix_surface_querys.patch
@@ -0,0 +1,57 @@
+--- intel-vaapi-driver/src/i965_drv_video.c.orig 2017-04-20 00:11:01.000000000 +0200
++++ intel-vaapi-driver/src/i965_drv_video.c 2017-04-22 15:33:21.986238617 +0200
+@@ -5459,15 +5459,7 @@
+ attrib_list[i].flags = VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE;
+
+ if (attrib_list[i].value.value.i == 0) {
+- if (IS_G4X(i965->intel.device_info)) {
+- if (obj_config->profile == VAProfileMPEG2Simple ||
+- obj_config->profile == VAProfileMPEG2Main) {
+- attrib_list[i].value.value.i = VA_FOURCC_I420;
+- } else {
+- assert(0);
+- attrib_list[i].flags = VA_SURFACE_ATTRIB_NOT_SUPPORTED;
+- }
+- } else if (IS_IRONLAKE(i965->intel.device_info)) {
++ if (IS_G4X(i965->intel.device_info) || IS_IRONLAKE(i965->intel.device_info)) {
+ if (obj_config->profile == VAProfileMPEG2Simple ||
+ obj_config->profile == VAProfileMPEG2Main) {
+ attrib_list[i].value.value.i = VA_FOURCC_I420;
+@@ -5492,18 +5484,7 @@
+ attrib_list[i].value.value.i = VA_FOURCC_NV12;
+ }
+ } else {
+- if (IS_G4X(i965->intel.device_info)) {
+- if (obj_config->profile == VAProfileMPEG2Simple ||
+- obj_config->profile == VAProfileMPEG2Main) {
+- if (attrib_list[i].value.value.i != VA_FOURCC_I420) {
+- attrib_list[i].value.value.i = 0;
+- attrib_list[i].flags &= ~VA_SURFACE_ATTRIB_SETTABLE;
+- }
+- } else {
+- assert(0);
+- attrib_list[i].flags = VA_SURFACE_ATTRIB_NOT_SUPPORTED;
+- }
+- } else if (IS_IRONLAKE(i965->intel.device_info)) {
++ if (IS_G4X(i965->intel.device_info) || IS_IRONLAKE(i965->intel.device_info)) {
+ if (obj_config->profile == VAProfileMPEG2Simple ||
+ obj_config->profile == VAProfileMPEG2Main) {
+ if (attrib_list[i].value.value.i != VA_FOURCC_I420) {
+@@ -5649,16 +5630,7 @@
+ if (attribs == NULL)
+ return VA_STATUS_ERROR_ALLOCATION_FAILED;
+
+- if (IS_G4X(i965->intel.device_info)) {
+- if (obj_config->profile == VAProfileMPEG2Simple ||
+- obj_config->profile == VAProfileMPEG2Main) {
+- attribs[i].type = VASurfaceAttribPixelFormat;
+- attribs[i].value.type = VAGenericValueTypeInteger;
+- attribs[i].flags = VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE;
+- attribs[i].value.value.i = VA_FOURCC_I420;
+- i++;
+- }
+- } else if (IS_IRONLAKE(i965->intel.device_info)) {
++ if (IS_G4X(i965->intel.device_info) || IS_IRONLAKE(i965->intel.device_info)) {
+ switch (obj_config->profile) {
+ case VAProfileMPEG2Simple:
+ case VAProfileMPEG2Main: