On 2010.01.29 23:31:06 -0800, Keith Packard wrote:
> 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.
> 

Please push this, I've met this too and fixed it locally, without this
X crashed for me in start up.

> Signed-off-by: Keith Packard <kei...@keithp.com>
> ---
>  src/i830_dri.c |    7 +++++++
>  1 files changed, 7 insertions(+), 0 deletions(-)
> 
> 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);
> -- 
> 1.6.6.1
> 
> _______________________________________________
> Intel-gfx mailing list
> intel-...@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Open Source Technology Center, Intel ltd.

$gpg --keyserver wwwkeys.pgp.net --recv-keys 4D781827

Attachment: signature.asc
Description: Digital signature

------------------------------------------------------------------------------
The Planet: dedicated and managed hosting, cloud storage, colocation
Stay online with enterprise data centers and the best network in the business
Choose flexible plans and management services without long-term contracts
Personal 24x7 support from experience hosting pros just a phone call away.
http://p.sf.net/sfu/theplanet-com
--
_______________________________________________
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to