xf86-video-intel: src/i830_dri.c

Keith Packard keithp at kemper.freedesktop.org
Sun Jan 31 18:08:49 PST 2010


 src/i830_dri.c |    7 +++++++
 1 file changed, 7 insertions(+)

New commits:
commit 1a76fa5574e8e8f88ac3518a4e4494e1af301dc1
Author: Keith Packard <keithp at keithp.com>
Date:   Fri Jan 29 23:28:46 2010 -0800

    Initialize DRI2 info rec version 4 list of driver names
    
    With DRI2 supporting multiple subsystems, the video driver must
    initialize the list of driver names instead of just passing the single
    driver name used by Mesa. Without this, the X server will fail to
    initialize DRI2 as the numDrivers field in this structure will be
    uninitialized.
    
    Signed-off-by: Keith Packard <keithp at keithp.com>

diff --git a/src/i830_dri.c b/src/i830_dri.c
index ed9d69f..0996629 100644
--- a/src/i830_dri.c
+++ b/src/i830_dri.c
@@ -865,6 +865,9 @@ Bool I830DRI2ScreenInit(ScreenPtr screen)
 	int dri2_major = 1;
 	int dri2_minor = 0;
 #endif
+#if DRI2INFOREC_VERSION >= 4
+	const char *driverNames[1];
+#endif
 
 #ifdef USE_DRI2_1_1_0
 	if (xf86LoaderCheckSymbol("DRI2Version")) {
@@ -879,6 +882,7 @@ Bool I830DRI2ScreenInit(ScreenPtr screen)
 #endif
 
 	intel->deviceName = drmGetDeviceNameFromFd(intel->drmSubFD);
+	memset(&info, '\0', sizeof(info));
 	info.fd = intel->drmSubFD;
 	info.driverName = IS_I965G(intel) ? "i965" : "i915";
 	info.deviceName = intel->deviceName;
@@ -907,6 +911,9 @@ Bool I830DRI2ScreenInit(ScreenPtr screen)
 	info.ScheduleSwap = I830DRI2ScheduleSwap;
 	info.GetMSC = I830DRI2GetMSC;
 	info.ScheduleWaitMSC = I830DRI2ScheduleWaitMSC;
+	info.numDrivers = 1;
+	info.driverNames = driverNames;
+	driverNames[0] = info.driverName;
 #endif
 
 	return DRI2ScreenInit(screen, &info);


More information about the xorg-commit mailing list