Commit f9e7cdf6 authored by Hans de Goede's avatar Hans de Goede
Browse files

xf86: dri2: Use va_gl as VDPAU driver for Intel i965 GPUs

The modesetting driver (which now often is used with Intel GPUs),
relies on DRI2ScreenInit() to setup the DRI and VDPAU driver names.

Before this commit it would always assign the same name to the 2 names,
but the VDPAU driver for i965 GPUs should be va_gl.

This commit adds a special case for the i965 case, replacing the
VDPAU driver name with "va_gl" if the GPU is using the i965 driver
for DRI.

Note this commit adds a FIXME comment for a related memory leak, that leak
was already present and fixing it falls outside of the scope of this commit.

BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1413733


Cc: kwizart@gmail.com
Reviewed-by: Emil Velikov's avatarEmil Velikov <emil.velikov@collabora.com>
Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
parent 6f41bf31
......@@ -1602,9 +1602,16 @@ DRI2ScreenInit(ScreenPtr pScreen, DRI2InfoPtr info)
if (info->driverName) {
ds->driverNames[0] = info->driverName;
} else {
/* FIXME dri2_probe_driver_name() returns a strdup-ed string,
* currently this gets leaked */
ds->driverNames[0] = ds->driverNames[1] = dri2_probe_driver_name(pScreen, info);
if (!ds->driverNames[0])
return FALSE;
/* There is no VDPAU driver for i965, fallback to the generic
* OpenGL/VAAPI va_gl backend to emulate VDPAU on i965. */
if (strcmp(ds->driverNames[0], "i965") == 0)
ds->driverNames[1] = "va_gl";
}
}
else {
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment