[directfb] add gfx init patch and adjust configure options (#614)

This commit is contained in:
clayton craft 2017-09-23 01:09:29 +00:00 committed by Oliver Smith
parent 91b846db30
commit c95390d499
2 changed files with 60 additions and 42 deletions

View file

@ -0,0 +1,39 @@
From 8e53c0b9cedb62b82e2b7680d793d433b647ae20 Mon Sep 17 00:00:00 2001
From: Andre McCurdy <armccurdy@gmail.com>
Date: Mon, 13 Jun 2016 13:32:44 -0700
Subject: [PATCH] fix client->gfx_state initialisation
Shortly before the DirectFB 1.7.7 release, an optimisation was added
to CoreGraphicsStateClient_Init() to avoid creating an extended
Graphics State object if it will not later be required:
4d422fb Client: Create extended Graphics State object when needed for later usage
Unfortunately the client->gfx_state variable used to track the
extended Graphics State object is not initialised, which can lead to
crashes etc due to creation of the Graphics State object erroneously
being skipped.
Upstream-Status: Pending
Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Philippe Reynes <philippe.reynes@sagemcom.com>
---
src/core/CoreGraphicsStateClient.cpp | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/core/CoreGraphicsStateClient.cpp b/src/core/CoreGraphicsStateClient.cpp
index 5d46f0e..5007755 100644
--- a/src/core/CoreGraphicsStateClient.cpp
+++ b/src/core/CoreGraphicsStateClient.cpp
@@ -364,6 +364,7 @@ CoreGraphicsStateClient_Init( CoreGraphicsStateClient *client,
client->renderer = NULL;
client->requestor = NULL;
client->throttle = NULL;
+ client->gfx_state = NULL;
if (dfb_config->task_manager) {
if (dfb_config->call_nodirect) {
--
1.9.1

View file

@ -1,56 +1,28 @@
# Contributor: Clayton Craft <clayton@craftyguy.net>
# Maintainer: Clayton Craft <clayton@craftyguy.net>
pkgname=directfb
pkgver=1.7.7
pkgrel=3
pkgrel=8
pkgdesc="Library for hw graphics acceleration, input dev, windowing system on top of the Linux fb device"
arch="all"
url="http://www.directfb.org"
url="https://github.com/DirectFB/directfb"
license="LGPL"
makedepends="zlib-dev freetype-dev libdrm-dev libpng-dev perl tslib-dev autoconf automake libtool"
makedepends="zlib-dev freetype-dev libdrm-dev libpng-dev perl tslib tslib-dev autoconf automake libtool"
depends="libgcc libjpeg libpng freetype libdrm tslib"
subpackages="$pkgname-doc"
subpackages="$pkgname-doc $pkgname-dev"
builddir="${srcdir}/DirectFB-${pkgver}"
source="
http://sources.webos-ports.org/downloads/DirectFB-$pkgver.tar.gz
0001-directfb-fix-musl-compile.patch
0002-Fix-musl-PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP-comp.patch
0003-remove-set-gamma-ramp.patch
0004-disable-fusion_dispatch.patch
0005-fix-tslib-configure.patch"
sha1sums="205d824906906303db9b096cc2d3bea0662e8860"
prepare() {
cd ${srcdir}/DirectFB-${pkgver}
local _patch_failed=
# first apply patches in specified order
for i in $source; do
case $i in
*.patch)
msg "Applying $i..."
if ! patch -s -p1 -N -i "$srcdir"/$i; then
echo $i >>failed
_patch_failed=1
fi
;;
esac
done
if ! [ -z "$_patch_failed" ]; then
error "The following patches failed:"
cat failed
return 1
fi
}
0005-fix-tslib-configure.patch
0006-fix-client-gfx_state-initialisation.patch
"
build() {
cd ${srcdir}/DirectFB-${pkgver}
cd "${builddir}"
autoconf
./configure --prefix=/usr \
--sysconfdir=/etc \
@ -64,17 +36,24 @@ build() {
--enable-drmkms \
--enable-freetype \
--with-inputdrivers=input_hub,keyboard,linuxinput,ps2mouse,serialmouse,tslib \
--with-gfxdrivers=omap,vmware,mach64
--with-gfxdrivers=omap
make
}
check() {
cd "${builddir}"
make check
}
package() {
cd ${srcdir}/DirectFB-${pkgver}
cd "${builddir}"
make DESTDIR="${pkgdir}" install
}
sha512sums="c9ce8ffe7d7d17b0351da6a031db7345f31fb7112545f9352834ad33225a93e6284ef0e576ef5fc595bc9060c1756051322fa20f7b5b3444b68d7f05bd1ba494 DirectFB-1.7.7.tar.gz
d9325c228a534d2d2b93b4dacf896fc12c703b9e08adf1ae8f5baea2a0ed5c4d07d56b8bc63dc605362f093624eab40686b43028ef15a78a01bc10e5f41c16bc 0001-directfb-fix-musl-compile.patch
ed3bf9bf76616174aca6ae92fd9873c9452951b8a2acb60e1ccbbea0c4a7c9766e510899bc8f58c24dd5888c1e7e1f0a0d4a823f0bd9e03a4c9d2a54fb714221 0002-Fix-musl-PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP-comp.patch
bd1d0738c48411e8e065b8a250c1b31334ac65b26a8f6c91d5ad167a4d8fdac1de862c05940567e48fc740dd45fbecf906ebdfbff63420d4f86bee7a3a0746ee 0003-remove-set-gamma-ramp.patch
d68002702f3521a71405bb403b874dced5b123a2de037c9eb05667123a578c0e9a9f13a822fd8d77e31a83f1e1cc8df1d8511f7d2f427688d5ef6ae0fff448c5 0004-disable-fusion_dispatch.patch
c768ca7a4dae7fc0cd7d4fa559ab74adb6b5f21245e0f9b5d56af15b20effc04e6739e86d52d65c902c5e76ad72e966cd9db68f57a9bad11a004525825d443a4 0005-fix-tslib-configure.patch"
c768ca7a4dae7fc0cd7d4fa559ab74adb6b5f21245e0f9b5d56af15b20effc04e6739e86d52d65c902c5e76ad72e966cd9db68f57a9bad11a004525825d443a4 0005-fix-tslib-configure.patch
6b118928c2ebe58654e1bf32433b084f4dc150526eec1b53f9eb4b856aee25733bd8d6114fde973fcb64416e4146f458cdb75e5836d7507cf802b84e44544462 0006-fix-client-gfx_state-initialisation.patch"