From ac029cf6a228a00956978f186aef2c0f05bb8731 Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Tue, 15 Jul 2014 17:40:31 +0100 Subject: xf86-video-intel: upgrade to 2.99.912 Drop a backported patch that has been applied. Apply a patch from upstream to add enable/disable options for each DRI level, as .912 won't build if the X server doesn't support DRI3. Add PACKAGECONFIG options for each DRI level and enable DRI1 and DRI2. Add a PACKAGECONFIG option for the client tools, disabled by default as they're only useful on machines with hybrid discrete/integrated GPUs. Signed-off-by: Ross Burton Signed-off-by: Saul Wold Signed-off-by: Richard Purdie --- .../xf86-video-intel/configure-dri.patch | 166 +++++++++++++++++++++ .../xorg-driver/xf86-video-intel_2.99.910.bb | 31 ---- .../xorg-driver/xf86-video-intel_2.99.912.bb | 36 +++++ 3 files changed, 202 insertions(+), 31 deletions(-) create mode 100644 meta/recipes-graphics/xorg-driver/xf86-video-intel/configure-dri.patch delete mode 100644 meta/recipes-graphics/xorg-driver/xf86-video-intel_2.99.910.bb create mode 100644 meta/recipes-graphics/xorg-driver/xf86-video-intel_2.99.912.bb diff --git a/meta/recipes-graphics/xorg-driver/xf86-video-intel/configure-dri.patch b/meta/recipes-graphics/xorg-driver/xf86-video-intel/configure-dri.patch new file mode 100644 index 0000000000..7fa9443d93 --- /dev/null +++ b/meta/recipes-graphics/xorg-driver/xf86-video-intel/configure-dri.patch @@ -0,0 +1,166 @@ +Add the ability to enable/disable specific versions of the DRI support. + +This is the following two commits from master squashed: + 7bc669dd4b7e3e5978e95e4131d1f9215afbc041 + 5a0cb1049c2fa0586708719210a2d2cffa7a4491 + +Upstream-Status: Backport +Signed-off-by: Ross Burton + +diff --git a/configure.ac b/configure.ac +index b3b6e8e..bd654f3 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -296,6 +296,21 @@ AC_ARG_ENABLE(dri, + [Disable DRI support [[default=auto]]]), + [DRI=$enableval], + [DRI=auto]) ++AC_ARG_ENABLE(dri1, ++ AS_HELP_STRING([--disable-dri1], ++ [Disable DRI1 support [[default=yes]]]), ++ [DRI1=$enableval], ++ [DRI1=yes]) ++AC_ARG_ENABLE(dri2, ++ AS_HELP_STRING([--disable-dri2], ++ [Disable DRI2 support [[default=yes]]]), ++ [DRI2=$enableval], ++ [DRI2=yes]) ++AC_ARG_ENABLE(dri3, ++ AS_HELP_STRING([--disable-dri3], ++ [Disable DRI3 support [[default=yes]]]), ++ [DRI3=$enableval], ++ [DRI3=yes]) + + AC_ARG_ENABLE(xvmc, AS_HELP_STRING([--disable-xvmc], + [Disable XvMC support [[default=yes]]]), +@@ -461,15 +476,15 @@ if test "x$UMS" = "xyes"; then + AC_DEFINE(UMS,1,[Assume UMS support]) + fi + +-DRI1=no ++have_dri1=no + XORG_DRIVER_CHECK_EXT(XF86DRI, xf86driproto) +-if test "x$_EXT_CHECK" != "xno" -a "x$DRI" != "xno" -a "x$UMS" = "xyes"; then +- PKG_CHECK_MODULES(DRI1, [xf86driproto], [DRI1=$DRI], [DRI1=no]) ++if test "x$_EXT_CHECK" != "xno" -a "x$DRI" != "xno" -a "x$DRI1" != "xno" -a "x$UMS" = "xyes"; then ++ PKG_CHECK_MODULES(DRI1, [xf86driproto], [have_dri1=$DRI], [have_dri1=no]) + save_CFLAGS="$CFLAGS" + save_CPPFLAGS="$CPPFLAGS" + CFLAGS="$CFLAGS $XORG_CFLAGS $DRI1_CFLAGS $DRM_CFLAGS" + CPPFLAGS="$CPPFLAGS $XORG_CFLAGS $DRI1_CFLAGS $DRM_CFLAGS" +- AC_CHECK_HEADERS([dri.h sarea.h dristruct.h], [], [DRI1=no], ++ AC_CHECK_HEADERS([dri.h sarea.h dristruct.h], [], [have_dri1=no], + [/* for dri.h */ + #include + /* for dristruct.h */ +@@ -486,49 +501,55 @@ if test "x$_EXT_CHECK" != "xno" -a "x$DRI" != "xno" -a "x$UMS" = "xyes"; then + fi + + AC_MSG_CHECKING([whether to include DRI1 support]) +-AC_MSG_RESULT([$DRI1]) ++AC_MSG_RESULT([$have_dri1]) + +-AM_CONDITIONAL(DRI1, test "x$DRI1" != "xno") +-if test "x$DRI1" != "xno"; then ++AM_CONDITIONAL(DRI1, test "x$have_dri1" != "xno") ++if test "x$have_dri1" != "xno"; then + AC_DEFINE(HAVE_DRI1,1,[Enable DRI1 driver support]) + dri_msg="$dri_msg DRI1" + else + DRI1_CFLAGS="" + DRI1_LIBS="" + +- if test "x$DRI" = "xyes" -a "x$UMS" = "xyes"; then ++ if test "x$DRI" = "xyes" -a "x$UMS" = "xyes" -a "x$DRI1" != "xno"; then + AC_MSG_ERROR([DRI1 requested but prerequisites not found]) + fi + fi + +-DRI2=no +-DRI3=no ++have_dri2=no ++have_dri3=no + if test "x$DRI" != "xno"; then +- PKG_CHECK_MODULES(DRI2, [dri2proto >= 2.6], [DRI2=$DRI], [DRI2=no]) +- dridriverdir=`$PKG_CONFIG --variable=dridriverdir dri` +- if test "x$dridriverdir" = "x"; then +- dridriverdir="$libdir/dri" +- fi +- AC_DEFINE_DIR(DRI_DRIVER_PATH, dridriverdir, [Default DRI2 driver path]) + if test "x$DRI2" != "xno"; then ++ PKG_CHECK_MODULES(DRI2, [dri2proto >= 2.6], [have_dri2=$DRI], [have_dri2=no]) ++ fi ++ if test "x$have_dri2" != "xno"; then + save_CFLAGS=$CFLAGS + CFLAGS="$XORG_CFLAGS $DRM_CFLAGS $DRI1_CFLAGS $DRI2_CFLAGS" +- AC_CHECK_HEADERS([dri2.h], [], [DRI2=no], [ ++ AC_CHECK_HEADERS([dri2.h], [], [have_dri2=no], [ + #include + #include + ]) + CFLAGS=$save_CFLAGS + fi +- +- XORG_DRIVER_CHECK_EXT(DRI3, dri3proto) +- if test "x$_EXT_CHECK" != "xno"; then +- PKG_CHECK_MODULES(DRI3, [dri3proto], [DRI3=$DRI], []) ++ if test "x$have_dri2" != "xno"; then ++ dridriverdir=`$PKG_CONFIG --variable=dridriverdir dri` ++ if test "x$dridriverdir" = "x"; then ++ dridriverdir="$libdir/dri" ++ fi ++ AC_DEFINE_DIR(DRI_DRIVER_PATH, dridriverdir, [Default have_dri2 driver path]) + fi ++ + if test "x$DRI3" != "xno"; then ++ XORG_DRIVER_CHECK_EXT(DRI3, dri3proto) ++ if test "x$_EXT_CHECK" != "xno"; then ++ PKG_CHECK_MODULES(DRI3, [dri3proto], [have_dri3=$DRI], []) ++ fi ++ fi ++ if test "x$have_dri3" != "xno"; then + save_CFLAGS=$CFLAGS + CFLAGS="$XORG_CFLAGS $DRI3_CFLAGS" +- AC_CHECK_DECL(DRI3, [], [DRI3=no], [#include ]) +- AC_CHECK_HEADERS([misyncstr.h misyncshm.h], [], [DRI3=no], [ ++ AC_CHECK_DECL(DRI3, [], [have_dri3=no], [#include ]) ++ AC_CHECK_HEADERS([misyncstr.h misyncshm.h], [], [have_dri3=no], [ + #include + #include + #include +@@ -538,13 +559,13 @@ if test "x$DRI" != "xno"; then + fi + + AC_MSG_CHECKING([whether to include DRI2 support]) +-AM_CONDITIONAL(DRI2, test "x$DRI2" != "xno") +-AC_MSG_RESULT([$DRI2]) +-if test "x$DRI2" != "xno"; then ++AM_CONDITIONAL(DRI2, test "x$have_dri2" != "xno") ++AC_MSG_RESULT([$have_dri2]) ++if test "x$have_dri2" != "xno"; then + AC_DEFINE(HAVE_DRI2,1,[Enable DRI2 driver support]) + dri_msg="$dri_msg DRI2" + else +- if test "x$DRI" = "xyes" -a "x$KMS" = "xyes"; then ++ if test "x$DRI" = "xyes" -a "x$DRI2" != "xno" -a "x$KMS" = "xyes"; then + AC_MSG_ERROR([DRI2 requested but prerequisites not found]) + fi + +@@ -553,13 +574,13 @@ else + fi + + AC_MSG_CHECKING([whether to include DRI3 support]) +-AM_CONDITIONAL(DRI3, test "x$DRI3" != "xno") +-AC_MSG_RESULT([$DRI3]) +-if test "x$DRI3" != "xno"; then ++AM_CONDITIONAL(DRI3, test "x$have_dri3" != "xno") ++AC_MSG_RESULT([$have_dri3]) ++if test "x$have_dri3" != "xno"; then + AC_DEFINE(HAVE_DRI3,1,[Enable DRI3 driver support]) + dri_msg="$dri_msg DRI3" + else +- if test "x$DRI" = "xyes" -a "x$KMS" = "xyes"; then ++ if test "x$DRI" = "xyes" -a "x$DRI3" != "xno" -a "x$KMS" = "xyes"; then + AC_MSG_ERROR([DRI3 requested but prerequisites not found]) + fi + fi diff --git a/meta/recipes-graphics/xorg-driver/xf86-video-intel_2.99.910.bb b/meta/recipes-graphics/xorg-driver/xf86-video-intel_2.99.910.bb deleted file mode 100644 index 60eace46d4..0000000000 --- a/meta/recipes-graphics/xorg-driver/xf86-video-intel_2.99.910.bb +++ /dev/null @@ -1,31 +0,0 @@ -require xorg-driver-video.inc - -SUMMARY = "X.Org X server -- Intel integrated graphics chipsets driver" - -DESCRIPTION = "intel is an Xorg driver for Intel integrated graphics \ -chipsets. The driver supports depths 8, 15, 16 and 24. On some chipsets, \ -the driver supports hardware accelerated 3D via the Direct Rendering \ -Infrastructure (DRI)." - -LIC_FILES_CHKSUM = "file://COPYING;md5=8730ad58d11c7bbad9a7066d69f7808e" - -DEPENDS += "virtual/libx11 drm libpciaccess pixman" - -SRC_URI += "file://compat-api-Map-changes-of-DamageUnregister-API-in-1..patch \ - " - -PACKAGECONFIG ??= "sna udev ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'dri', '', d)}" - -PACKAGECONFIG[dri] = "--enable-dri,--disable-dri,xf86driproto dri2proto" -PACKAGECONFIG[sna] = "--enable-sna,--disable-sna" -PACKAGECONFIG[uxa] = "--enable-uxa,--disable-uxa" -PACKAGECONFIG[udev] = "--enable-udev,--disable-udev,udev" -PACKAGECONFIG[xvmc] = "--enable-xvmc,--disable-xvmc,libxvmc" - -# --enable-kms-only option is required by ROOTLESS_X -EXTRA_OECONF += '${@base_conditional( "ROOTLESS_X", "1", " --enable-kms-only", "", d )}' - -COMPATIBLE_HOST = '(i.86|x86_64).*-linux' - -SRC_URI[md5sum] = "a9a5c2c15766c06a024381efe0d724bb" -SRC_URI[sha256sum] = "203d46064449da0e23a111418dfb189422ba96ea08707167c8dee463e2d745b1" diff --git a/meta/recipes-graphics/xorg-driver/xf86-video-intel_2.99.912.bb b/meta/recipes-graphics/xorg-driver/xf86-video-intel_2.99.912.bb new file mode 100644 index 0000000000..07776908ad --- /dev/null +++ b/meta/recipes-graphics/xorg-driver/xf86-video-intel_2.99.912.bb @@ -0,0 +1,36 @@ +require xorg-driver-video.inc + +SUMMARY = "X.Org X server -- Intel integrated graphics chipsets driver" + +DESCRIPTION = "intel is an Xorg driver for Intel integrated graphics \ +chipsets. The driver supports depths 8, 15, 16 and 24. On some chipsets, \ +the driver supports hardware accelerated 3D via the Direct Rendering \ +Infrastructure (DRI)." + +LIC_FILES_CHKSUM = "file://COPYING;md5=8730ad58d11c7bbad9a7066d69f7808e" + +SRC_URI += "file://configure-dri.patch" + +SRC_URI[md5sum] = "88d1a884f9b7bd07bf0755cfa34052d4" +SRC_URI[sha256sum] = "7c8ffc492d59f34cac64093deb70717b4d9223cf416ecc6fa016ab2e8bde9501" + +DEPENDS += "virtual/libx11 drm libpciaccess pixman" + +PACKAGECONFIG ??= "sna udev ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'dri dri1 dri2', '', d)}" + +PACKAGECONFIG[dri] = "--enable-dri,--disable-dri" +PACKAGECONFIG[dri1] = "--enable-dri1,--disable-dri1,xf86driproto" +PACKAGECONFIG[dri2] = "--enable-dri2,--disable-dri2,dri2proto" +PACKAGECONFIG[dri3] = "--enable-dri3,--disable-dri3,dri3proto" +PACKAGECONFIG[sna] = "--enable-sna,--disable-sna" +PACKAGECONFIG[uxa] = "--enable-uxa,--disable-uxa" +PACKAGECONFIG[udev] = "--enable-udev,--disable-udev,udev" +PACKAGECONFIG[xvmc] = "--enable-xvmc,--disable-xvmc,libxvmc" +PACKAGECONFIG[tools] = "--enable-tools,--disable-tools,libxinerama libxrandr libxdamage libxfixes libxcursor libxtst libxext libxrender" + +# --enable-kms-only option is required by ROOTLESS_X +EXTRA_OECONF += '${@base_conditional( "ROOTLESS_X", "1", " --enable-kms-only", "", d )}' + +COMPATIBLE_HOST = '(i.86|x86_64).*-linux' + +FILES_${PN} += "${datadir}/polkit-1" -- cgit 1.2.3-korg