Adds support for GEM + DRI2

DRI2 is disabled by default though since running with metacity-clutter seems
to cause a lock up.


git-svn-id: https://svn.o-hand.com/repos/poky/trunk@5484 311d38ba-8fff-0310-9ca6-ca027cbcb966
This commit is contained in:
Robert Bragg 2008-10-13 15:23:14 +00:00
parent 4c7fc91940
commit 10650210e7
35 changed files with 445 additions and 24 deletions

View File

@ -154,7 +154,11 @@ SRCREV_pn-usbpath = "3172"
SRCREV_pn-xserver-kdrive-glamo ?= "a51364e2f23d4b6331c5ed613ce3f7e15f8e540f"
SRCREV_pn-gsm0710muxd ?= "6fecc78198dd821bbe29efd096bd8fecd855179d"
SRCREV_pn-gsmd2 ?= "963f34df8fa3ff4b301079dcf86e9acea6b6fe0f"
SRCREV_pn-metacity-clutter ?= "389ce295417bdd99bf583026f7f1dedae29650da"
SRCREV_pn-metacity-clutter ?= "b52f1df75af8216b13539431283fd1cfaa33cf51"
SRCREV_pn-dri2proto ?= "abb1edc487543c26856afdbe6a7e2c088a1e82ee"
SRCREV_pn-inputproto ?= "2166b77ea60bd9cd87f1311a2e7d461db071cb07"
SRCREV_pn-inputproto-native ?= "2166b77ea60bd9cd87f1311a2e7d461db071cb07"
SRCREV_pn-inputproto-sdk ?= "2166b77ea60bd9cd87f1311a2e7d461db071cb07"
#
# Preferred Versions:

View File

@ -18,9 +18,9 @@ PREFERRED_VERSION_fontsproto-native ?= "2.0.2"
PREFERRED_VERSION_gccmakedep ?= "1.0.2"
PREFERRED_VERSION_glproto ?= "1.4.9"
PREFERRED_VERSION_imake ?= "1.0.2"
PREFERRED_VERSION_inputproto ?= "1.4.4"
PREFERRED_VERSION_inputproto-native ?= "1.4.4"
PREFERRED_VERSION_inputproto-sdk ?= "1.4.3"
PREFERRED_VERSION_inputproto ?= "1.9.99.5+git${SRCREV}"
PREFERRED_VERSION_inputproto-native ?= "1.9.99.5+git${SRCREV}"
PREFERRED_VERSION_inputproto-sdk ?= "1.9.99.5+git${SRCREV}"
PREFERRED_VERSION_kbproto ?= "1.0.3"
PREFERRED_VERSION_kbproto-native ?= "1.0.3"
PREFERRED_VERSION_kbproto-sdk ?= "1.0.3"
@ -88,8 +88,8 @@ PREFERRED_VERSION_printproto ?= "1.0.4"
PREFERRED_VERSION_randrproto ?= "1.2.1"
PREFERRED_VERSION_randrproto-sdk ?= "1.2.1"
PREFERRED_VERSION_recordproto ?= "1.13.2"
PREFERRED_VERSION_renderproto ?= "0.9.2"
PREFERRED_VERSION_renderproto-sdk ?= "0.9.2"
PREFERRED_VERSION_renderproto ?= "0.9.3"
PREFERRED_VERSION_renderproto-sdk ?= "0.9.3"
PREFERRED_VERSION_resourceproto ?= "1.0.2"
PREFERRED_VERSION_scrnsaverproto ?= "1.1.0"
PREFERRED_VERSION_trapproto ?= "3.4.3"
@ -104,14 +104,15 @@ PREFERRED_VERSION_xcmiscproto-native ?= "1.1.2"
PREFERRED_VERSION_xcmiscproto-sdk ?= "1.1.2"
PREFERRED_VERSION_xdpyinfo ?= "1.0.2"
PREFERRED_VERSION_xev ?= "1.0.3"
PREFERRED_VERSION_xextproto ?= "7.0.2"
PREFERRED_VERSION_xextproto-native ?= "7.0.2"
PREFERRED_VERSION_xextproto-sdk ?= "7.0.2"
PREFERRED_VERSION_xextproto ?= "7.0.3"
PREFERRED_VERSION_xextproto-native ?= "7.0.3"
PREFERRED_VERSION_xextproto-sdk ?= "7.0.3"
PREFERRED_VERSION_xf86bigfontproto ?= "1.1.2"
PREFERRED_VERSION_xf86bigfontproto-native ?= "1.1.2"
PREFERRED_VERSION_xf86bigfontproto-sdk ?= "1.1.2"
PREFERRED_VERSION_xf86dgaproto ?= "2.0.3"
PREFERRED_VERSION_xf86driproto ?= "2.0.3"
PREFERRED_VERSION_dri2proto ?= "1.99.1+git${SRCREV}"
PREFERRED_VERSION_xf86miscproto ?= "0.9.2"
PREFERRED_VERSION_xf86rushproto ?= "1.1.2"
PREFERRED_VERSION_xf86vidmodeproto ?= "2.2.2"
@ -121,9 +122,9 @@ PREFERRED_VERSION_xineramaproto ?= "1.1.2"
PREFERRED_VERSION_xmodmap ?= "1.0.3"
PREFERRED_VERSION_xorg-cf-files ?= "1.0.2"
PREFERRED_VERSION_xprop ?= "1.0.4"
PREFERRED_VERSION_xproto ?= "7.0.12"
PREFERRED_VERSION_xproto-native ?= "7.0.12"
PREFERRED_VERSION_xproto-sdk ?= "7.0.12"
PREFERRED_VERSION_xproto ?= "7.0.13"
PREFERRED_VERSION_xproto-native ?= "7.0.13"
PREFERRED_VERSION_xproto-sdk ?= "7.0.13"
PREFERRED_VERSION_xproxymanagementprotocol ?= "1.0.2"
PREFERRED_VERSION_xrandr ?= "1.2.3"
PREFERRED_VERSION_xrdb ?= "1.0.5"

View File

@ -79,6 +79,7 @@ PREFERRED_PROVIDER_virtual/libgl ?= "mesa-xlib"
PREFERRED_PROVIDER_virtual/update-alternatives ?= "update-alternatives-cworth"
PREFERRED_PROVIDER_virtual/update-alternatives-native ?= "opkg-native"
PREFERRED_PROVIDER_virtual/libx11 ?= "libx11-diet"
PREFERRED_PROVIDER_xf86-video-intel ?= xf86-video-intel
VIRTUAL-RUNTIME_update-alternatives ?= "update-alternatives-cworth"

View File

@ -17,7 +17,7 @@ PREFERRED_PROVIDER_virtual/kernel = "linux-moblin"
PREFERRED_PROVIDER_virtual/libx11 = "libx11-trim"
PREFERRED_PROVIDER_virtual/libgl = "mesa-dri"
PREFERRED_PROVIDER_virtual/xserver = "xserver-xf86-dri-lite"
XSERVER = "xserver-xf86-dri-lite \
XSERVER ?= "xserver-xf86-dri-lite \
xf86-input-mouse \
xf86-input-keyboard \
xf86-input-synaptics \

View File

@ -0,0 +1,17 @@
SECTION = "x11/base"
LICENSE = "MIT"
SRC_URI = "git://anongit.freedesktop.org/git/mesa/drm;protocol=git"
PROVIDES = "drm"
S = ${WORKDIR}/git
PR = "r0"
PV = "2.4.0+git${SRCREV}"
LEAD_SONAME = "libdrm.so"
inherit autotools pkgconfig
do_stage() {
autotools_stage_all
}

View File

@ -5,7 +5,6 @@ LIB_DEPS = "libdrm virtual/libx11 libxext libxxf86vm libxdamage libxfixes expat"
DEPENDS = "${PROTO_DEPS} ${LIB_DEPS}"
PE = "1"
PR = "r4"
# most of our targets do not have DRI so will use mesa-xlib

View File

@ -5,14 +5,20 @@ LIB_DEPS = "libdrm virtual/libx11 libxext libxxf86vm libxdamage libxfixes expat"
DEPENDS = "${PROTO_DEPS} ${LIB_DEPS}"
PV = "7.2+git${SRCREV}"
PR = "r2"
PV = "7.3.0+git${SRCREV}"
PR = "r0"
# most of our targets do not have DRI so will use mesa-xlib
DEFAULT_PREFERENCE = "-1"
# ASUS EeePC 901 has DRI support so use mesa-dri by default
DEFAULT_PREFERENCE_eee901 = "1"
SRC_URI = "git://anongit.freedesktop.org/git/mesa/mesa;protocol=git"
S = "${WORKDIR}/git"
PACKAGES =+ "${PN}-xprogs"
FILES_${PN} += "${libdir}/dri/*.so"
FILES_${PN}-dbg += "${libdir}/dri/.debug/*"

View File

@ -0,0 +1,9 @@
require xf86-input-common.inc
DESCRIPTION = "X.Org X server -- keyboard input driver"
PV = "1.3.1+git${SRCREV}"
SRC_URI = "git://anongit.freedesktop.org/git/xorg/driver/xf86-input-keyboard;protocol=git"
S = "${WORKDIR}/git"

View File

@ -0,0 +1,9 @@
require xf86-input-common.inc
DESCRIPTION = "X.Org X server -- mouse input driver"
PV = "1.3.0+git${SRCREV}"
SRC_URI = "git://anongit.freedesktop.org/git/xorg/driver/xf86-input-mouse;protocol=git"
S = "${WORKDIR}/git"

View File

@ -0,0 +1,9 @@
require xf86-input-common.inc
DESCRIPTION = "X.Org X server -- keyboard input driver"
PV = "0.15.2+git${SRCREV}"
SRC_URI = "git://anongit.freedesktop.org/git/xorg/driver/xf86-input-synaptics;protocol=git"
S = "${WORKDIR}/git"

View File

@ -0,0 +1,12 @@
diff -urN xf86-video-intel-2.5.96.0/src/i830_driver.c xf86-video-intel-2.5.96.0.new/src/i830_driver.c
--- xf86-video-intel-2.5.96.0/src/i830_driver.c 2008-09-13 06:58:45.000000000 +0800
+++ xf86-video-intel-2.5.96.0.new/src/i830_driver.c 2008-09-25 21:22:08.000000000 +0800
@@ -1782,7 +1782,7 @@
return FALSE;
pI830 = I830PTR(pScrn);
- pI830->SaveGeneration = -1;
+ pI830->SaveGeneration = serverGeneration;
pI830->pEnt = pEnt;
pI830->use_drm_mode = drm_mode_setting;

View File

@ -0,0 +1,95 @@
diff -urN xf86-video-intel-2.5.96.0/src/i830_display.c xf86-video-intel-2.5.96.0.new/src/i830_display.c
--- xf86-video-intel-2.5.96.0/src/i830_display.c 2008-09-11 05:10:10.000000000 +0800
+++ xf86-video-intel-2.5.96.0.new/src/i830_display.c 2008-09-25 21:27:42.000000000 +0800
@@ -376,7 +376,7 @@
i830WaitForVblank(ScrnInfoPtr pScreen)
{
/* Wait for 20ms, i.e. one cycle at 50hz. */
- usleep(30000);
+ usleep(21000);
}
void
diff -urN xf86-video-intel-2.5.96.0/src/i830_driver.c xf86-video-intel-2.5.96.0.new/src/i830_driver.c
--- xf86-video-intel-2.5.96.0/src/i830_driver.c 2008-09-25 21:23:52.000000000 +0800
+++ xf86-video-intel-2.5.96.0.new/src/i830_driver.c 2008-09-25 21:30:13.000000000 +0800
@@ -2293,7 +2293,7 @@
static void
i830_dpll_settle(void)
{
- usleep(10000); /* 10 ms *should* be plenty */
+ usleep(150); /* 10 ms *should* be plenty */
}
static Bool
@@ -2315,14 +2315,12 @@
xf86OutputPtr output = xf86_config->output[i];
output->funcs->dpms(output, DPMSModeOff);
}
- i830WaitForVblank(pScrn);
/* Disable pipes */
for (i = 0; i < xf86_config->num_crtc; i++) {
xf86CrtcPtr crtc = xf86_config->crtc[i];
crtc->funcs->dpms(crtc, DPMSModeOff);
}
- i830WaitForVblank(pScrn);
if (IS_MOBILE(pI830) && !IS_I830(pI830))
OUTREG(LVDS, pI830->saveLVDS);
@@ -2369,11 +2367,13 @@
OUTREG(FPA0, pI830->saveFPA0);
OUTREG(FPA1, pI830->saveFPA1);
OUTREG(DPLL_A, pI830->saveDPLL_A);
+ POSTING_READ(DPLL_A);
i830_dpll_settle();
if (IS_I965G(pI830))
OUTREG(DPLL_A_MD, pI830->saveDPLL_A_MD);
else
OUTREG(DPLL_A, pI830->saveDPLL_A);
+ POSTING_READ(DPLL_A);
i830_dpll_settle();
/* Restore mode config */
@@ -2409,13 +2409,11 @@
DISPPLANE_SEL_PIPE_A) {
OUTREG(DSPACNTR, pI830->saveDSPACNTR);
OUTREG(DSPABASE, INREG(DSPABASE));
- i830WaitForVblank(pScrn);
}
if ((pI830->saveDSPBCNTR & DISPPLANE_SEL_PIPE_MASK) ==
DISPPLANE_SEL_PIPE_A) {
OUTREG(DSPBCNTR, pI830->saveDSPBCNTR);
OUTREG(DSPBBASE, INREG(DSPBBASE));
- i830WaitForVblank(pScrn);
}
/* See note about pipe programming above */
@@ -2430,11 +2428,13 @@
OUTREG(FPB0, pI830->saveFPB0);
OUTREG(FPB1, pI830->saveFPB1);
OUTREG(DPLL_B, pI830->saveDPLL_B);
+ POSTING_READ(DPLL_B);
i830_dpll_settle();
if (IS_I965G(pI830))
OUTREG(DPLL_B_MD, pI830->saveDPLL_B_MD);
else
OUTREG(DPLL_B, pI830->saveDPLL_B);
+ POSTING_READ(DPLL_B);
i830_dpll_settle();
/* Restore mode config */
@@ -2468,13 +2468,11 @@
DISPPLANE_SEL_PIPE_B) {
OUTREG(DSPACNTR, pI830->saveDSPACNTR);
OUTREG(DSPABASE, INREG(DSPABASE));
- i830WaitForVblank(pScrn);
}
if ((pI830->saveDSPBCNTR & DISPPLANE_SEL_PIPE_MASK) ==
DISPPLANE_SEL_PIPE_B) {
OUTREG(DSPBCNTR, pI830->saveDSPBCNTR);
OUTREG(DSPBBASE, INREG(DSPBBASE));
- i830WaitForVblank(pScrn);
}
}

View File

@ -0,0 +1,31 @@
diff -urN xf86-video-intel-2.5.96.0/src/i830_driver.c xf86-video-intel-2.5.96.0.new/src/i830_driver.c
--- xf86-video-intel-2.5.96.0/src/i830_driver.c 2008-09-25 21:32:45.000000000 +0800
+++ xf86-video-intel-2.5.96.0.new/src/i830_driver.c 2008-09-25 21:34:19.000000000 +0800
@@ -912,6 +912,7 @@
if (IS_MOBILE(pI830) && !IS_I830(pI830))
i830_lvds_init(pScrn);
+#if 0
if (IS_I9XX(pI830)) {
if (INREG(SDVOB) & SDVO_DETECTED) {
Bool found = i830_sdvo_init(pScrn, SDVOB);
@@ -931,7 +932,8 @@
}
if (IS_I9XX(pI830) && IS_MOBILE(pI830))
i830_tv_init(pScrn);
-
+#endif
+
for (o = 0; o < config->num_output; o++)
{
xf86OutputPtr output = config->output[o];
@@ -1612,7 +1614,9 @@
PreInitCleanup(pScrn);
return FALSE;
}
+#if 0
RestoreHWState(pScrn);
+#endif
/* XXX This should go away, replaced by xf86Crtc.c support for it */
pI830->rotation = RR_Rotate_0;

View File

@ -0,0 +1,29 @@
diff -urN xf86-video-intel-2.5.96.0/src/i830_lvds.c xf86-video-intel-2.5.96.0.new/src/i830_lvds.c
--- xf86-video-intel-2.5.96.0/src/i830_lvds.c 2008-09-01 05:27:39.000000000 +0800
+++ xf86-video-intel-2.5.96.0.new/src/i830_lvds.c 2008-09-25 21:36:13.000000000 +0800
@@ -404,10 +404,11 @@
dev_priv->backlight_duty_cycle = dev_priv->backlight_max;
OUTREG(PP_CONTROL, INREG(PP_CONTROL) | POWER_TARGET_ON);
+#if 0
do {
pp_status = INREG(PP_STATUS);
} while ((pp_status & PP_ON) == 0);
-
+#endif
dev_priv->set_backlight(output, dev_priv->backlight_duty_cycle);
dev_priv->dpmsoff = FALSE;
} else {
@@ -420,10 +421,11 @@
dev_priv->set_backlight(output, 0);
OUTREG(PP_CONTROL, INREG(PP_CONTROL) & ~POWER_TARGET_ON);
+#if 0
do {
pp_status = INREG(PP_STATUS);
} while (pp_status & PP_ON);
-
+#endif
dev_priv->dpmsoff = TRUE;
}
}

View File

@ -0,0 +1,28 @@
diff -urN xf86-video-intel-2.5.96.0/src/i830_driver.c xf86-video-intel-2.5.96.0.new/src/i830_driver.c
--- xf86-video-intel-2.5.96.0/src/i830_driver.c 2008-09-27 18:19:07.000000000 +0800
+++ xf86-video-intel-2.5.96.0.new/src/i830_driver.c 2008-09-27 18:20:13.000000000 +0800
@@ -1511,12 +1511,12 @@
* for example. :)
*/
if (!(pI830->accel == ACCEL_NONE)) {
-#ifdef I830_USE_UXA
- pI830->accel = ACCEL_UXA;
-#endif
#ifdef I830_USE_EXA
pI830->accel = ACCEL_EXA;
#endif
+#ifdef I830_USE_UXA
+ pI830->accel = ACCEL_UXA;
+#endif
#if I830_USE_XAA + I830_USE_EXA + I830_USE_UXA >= 2
from = X_DEFAULT;
if ((s = (char *)xf86GetOptValString(pI830->Options,
@@ -3106,7 +3106,7 @@
#endif
/* Enable tiling by default */
- pI830->tiling = TRUE;
+ pI830->tiling = FALSE;
/* Allow user override if they set a value */
if (xf86IsOptionSet(pI830->Options, OPTION_TILING)) {

View File

@ -0,0 +1,24 @@
require xf86-video-common.inc
DESCRIPTION = "X.Org X server -- Intel i8xx, i9xx display driver"
DEPENDS += "virtual/libx11 libxvmc drm dri2proto glproto \
virtual/libgl xineramaproto libpciaccess"
PROVIDES = "xf86-video-intel"
PE = "1"
PR = "r0"
PV = "1.5.0+git${SRCREV}"
SRC_URI = "git://anongit.freedesktop.org/git/xorg/driver/xf86-video-intel;protocol=git;branch=dri2 \
file://002_avoid_duplicate_SaveHWState.patch;patch=1 \
file://004_reduce_driver_boottime.patch;patch=1 \
file://005_disable_sdvo_TV_port_restoreHW.patch;patch=1 \
file://006_disable_check_lvds_panelpower_status.patch;patch=1 \
file://007_disable_tiling_and_enable_UXA.patch;patch=1"
S = "${WORKDIR}/git"
COMPATIBLE_HOST = '(i.86.*-linux)'
EXTRA_OECONF = "--enable-dri --disable-static"

View File

@ -0,0 +1,9 @@
DESCRIPTION = "DRI2 extension headers"
require xorg-proto-common.inc
PV = "1.99.1+git${SRCREV}"
SRC_URI = "git://git.freedesktop.org/git/xorg/proto/dri2proto;protocol=git"
S = "${WORKDIR}/git"

View File

@ -0,0 +1,10 @@
require xorg-proto-common.inc
PR = "r1"
PE = "1"
PV = "1.9.99.5+git${SRCREV}"
SRC_URI = "git://anongit.freedesktop.org/git/xorg/proto/inputproto;protocol=git"
S = "${WORKDIR}/git"
XORG_PN = "inputproto"

View File

@ -0,0 +1,3 @@
require renderproto_${PV}.bb
inherit sdk

View File

@ -0,0 +1,7 @@
require xorg-proto-common.inc
CONFLICTS = "renderext"
PR = "r1"
PE = "1"
XORG_PN = "renderproto"

View File

@ -0,0 +1,3 @@
require xextproto_${PV}.bb
inherit native

View File

@ -0,0 +1,3 @@
require xextproto_${PV}.bb
inherit sdk

View File

@ -3,4 +3,4 @@ require xorg-proto-common.inc
PR = "r1"
PE = "1"
XORG_PN = "inputproto"
XORG_PN = "xextproto"

View File

@ -0,0 +1,3 @@
require xproto_${PV}.bb
inherit native

View File

@ -0,0 +1,3 @@
require xproto_${PV}.bb
inherit sdk

View File

@ -0,0 +1,6 @@
require xorg-proto-common.inc
PR = "r1"
PE = "1"
XORG_PN = "xproto"

View File

@ -1,8 +1,6 @@
require xserver-xf86-common.inc
PROVIDES += "xserver-xf86-dri-lite"
PROTO_DEPS = "randrproto renderproto fixesproto damageproto xextproto xproto xf86dgaproto xf86miscproto xf86rushproto xf86vidmodeproto xf86bigfontproto compositeproto recordproto resourceproto videoproto scrnsaverproto evieext trapproto xineramaproto fontsproto kbproto inputproto bigreqsproto xcmiscproto glproto xf86driproto dri2proto"
PROTO_DEPS = "randrproto renderproto fixesproto damageproto xextproto xproto xf86dgaproto xf86miscproto xf86rushproto xf86vidmodeproto xf86bigfontproto compositeproto recordproto resourceproto videoproto scrnsaverproto evieext trapproto xineramaproto fontsproto kbproto inputproto bigreqsproto xcmiscproto glproto"
LIB_DEPS = "pixman mesa-dri libxfont xtrans libxau libxext libxdmcp libdrm libxkbfile libpciaccess openssl"
@ -12,24 +10,28 @@ RDEPENDS = "hal xorg-minimal-fonts"
FILES_${PN} += "${bindir}/Xorg "
EXTRA_OECONF += "--disable-cfb \
--disable-afb \
--disable-mfb \
EXTRA_OECONF += "--disable-static \
--disable-acfb \
--disable-ccfb \
--disable-mcfb \
--disable-dga \
--disable-xinerama \
--disable-xf86misc \
--disable-xorgcfg \
--disable-record \
--disable-dmx \
--disable-xnest \
--disable-xvfb \
--enable-composite \
--enable-dri \
--enable-glx-tls \
--sysconfdir=/etc/X11 \
--localstatedir=/var \
--with-pic \
--with-int10=x86emu \
--with-fontdir=/usr/share/fonts/X11 \
--with-xkb-output=/var/lib/xkb \
ac_cv_file__usr_share_sgml_X11_defs_ent=no"
# Due to mesa-dri
COMPATIBLE_HOST = '(i.86.*-linux)'

View File

@ -0,0 +1,13 @@
Index: git/os/osdep.h
===================================================================
--- git.orig/os/osdep.h 2008-10-07 18:38:21.000000000 +0100
+++ git/os/osdep.h 2008-10-07 18:39:36.000000000 +0100
@@ -92,7 +92,7 @@
* like sysconf(_SC_OPEN_MAX) is not supported.
*/
-#if OPEN_MAX <= 256
+#if 0
#define MAXSOCKS (OPEN_MAX - 1)
#else
#define MAXSOCKS 256

View File

@ -0,0 +1,12 @@
diff -urN xorg-server-1.5.99.1/hw/xfree86/dri2/dri2.c xorg-server-1.5.99.1.new/hw/xfree86/dri2/dri2.c
--- xorg-server-1.5.99.1/hw/xfree86/dri2/dri2.c 2008-09-01 03:26:37.000000000 +0800
+++ xorg-server-1.5.99.1.new/hw/xfree86/dri2/dri2.c 2008-09-18 00:28:16.000000000 +0800
@@ -39,7 +39,7 @@
#include "scrnintstr.h"
#include "windowstr.h"
#include "dri2.h"
-#include <GL/internal/dri_sarea.h>
+//#include <GL/internal/dri_sarea.h>
#include "xf86.h"

View File

@ -0,0 +1,23 @@
commit 67b9b3a77a8b86eef03af36a0f4be3a07411efee
Author: Eric Anholt <eric@anholt.net>
Date: Thu Sep 11 16:18:17 2008 -0700
Enable DRI2 build.
diff --git a/hw/xfree86/Makefile.am b/hw/xfree86/Makefile.am
index eff2c31..98d7ec8 100644
--- a/hw/xfree86/Makefile.am
+++ b/hw/xfree86/Makefile.am
@@ -4,9 +4,9 @@ if DRI
DRI_SUBDIR = dri
endif
-#if DRI2
-#DRI2_SUBDIR = dri2
-#endif
+if DRI2
+DRI2_SUBDIR = dri2
+endif
if XF86UTILS
XF86UTILS_SUBDIR = utils

View File

@ -0,0 +1,37 @@
diff --git a/os/log.c b/os/log.c
index 0860847..2c46f1a 100644
--- a/os/log.c
+++ b/os/log.c
@@ -255,6 +255,32 @@ LogVWrite(int verb, const char *f, va_list args)
static char tmpBuffer[1024];
int len = 0;
+ struct timeval time;
+ time_t tv_sec;
+ suseconds_t tv_usec;
+ static Bool first = TRUE;
+ static time_t start_tv_sec;
+ static suseconds_t start_usec;
+ int diff_sec, diff_usec;
+
+ gettimeofday(&time, NULL);
+ tv_sec = time.tv_sec;
+ tv_usec = time.tv_usec;
+ if (first == TRUE) {
+ start_tv_sec = tv_sec;
+ start_usec = tv_usec;
+ first = FALSE;
+ }
+ diff_sec = (int)difftime(tv_sec, start_tv_sec);
+ diff_usec = (tv_usec - start_usec);
+ if (diff_usec < 0) {
+ diff_sec--;
+ diff_usec += 1000000;
+ }
+ sprintf(tmpBuffer, "[%d sec: %06d usec]", diff_sec , diff_usec);
+ len = strlen(tmpBuffer);
+ fwrite(tmpBuffer, len, 1, logFile);
+
/*
* Since a va_list can only be processed once, write the string to a
* buffer, and then write the buffer out to the appropriate output

View File

@ -3,6 +3,10 @@ require xserver-xf86-dri-lite.inc
PE = "1"
PR = "r3"
PROTO_DEPS += "xf86driproto"
SRC_URI += "file://drmfix.patch;patch=1 \
file://libdri-xinerama-symbol.patch;patch=1 "
EXTRA_OECONF += "--enable-dri"

View File

@ -4,8 +4,17 @@ PE = "1"
PR = "r2"
PV = "1.5.0+git${SRCREV}"
PROTO_DEPS += "xf86driproto"
DEFAULT_PREFERENCE = "-1"
SRC_URI = "git://anongit.freedesktop.org/git/xorg/xserver;protocol=git \
file://xorg.conf \
file://libdri-xinerama-symbol.patch;patch=1"
# Misc build failure for master HEAD
SRC_URI += "file://fix_open_max_preprocessor_error.patch;patch=1"
EXTRA_OECONF += "--enable-dri"
S = "${WORKDIR}/git"