targets/gbm: exit gracefully if pipe_loader_drm_probe_fd is not available

When one builds without gallium_drm_loader, the above function will
not be available, thus we'll segfault in gallium_screen_create due
to memory access violation.

Tested-by: Tom Stellard <thomas.stellard@amd.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=75335
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
This commit is contained in:
Emil Velikov 2014-02-22 16:20:04 +00:00
parent 73c78c514f
commit 0e7c30233f

View file

@ -49,13 +49,14 @@ int
gallium_screen_create(struct gbm_gallium_drm_device *gdrm)
{
struct pipe_loader_device *dev;
#ifdef HAVE_PIPE_LOADER_DRM
int ret;
int ret = 0;
#ifdef HAVE_PIPE_LOADER_DRM
ret = pipe_loader_drm_probe_fd(&dev, gdrm->base.base.fd, true);
#endif /* HAVE_PIPE_LOADER_DRM */
if (!ret)
return -1;
#endif /* HAVE_PIPE_LOADER_DRM */
gdrm->screen = pipe_loader_create_screen(dev, get_library_search_path());
if (gdrm->screen == NULL) {