diff options
author | Alois Nespor | 2017-04-25 23:06:26 +0200 |
---|---|---|
committer | Alois Nespor | 2017-04-25 23:06:26 +0200 |
commit | b0986355c960d9079d71840201a8314a2a46e965 (patch) | |
tree | cc296f185c7bae32107314c1369808b78b4d8d43 | |
parent | 50be75cca5f165f2ee0820e2bea555365df15028 (diff) | |
download | aur-b0986355c960d9079d71840201a8314a2a46e965.tar.gz |
patch: add surface attribute information to G4X
-rw-r--r-- | .SRCINFO | 6 | ||||
-rw-r--r-- | PKGBUILD | 10 | ||||
-rw-r--r-- | fix_surface_querys.patch | 57 |
3 files changed, 67 insertions, 6 deletions
@@ -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 @@ -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: |