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@keithp.com>
This commit is contained in:
parent
918151a795
commit
1a76fa5574
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Reference in New Issue