[Mesa-dev] [PATCH] i965: Don't call abort() on an unknown device.
Ian Romanick
idr at freedesktop.org
Mon Feb 10 09:50:40 PST 2014
On 02/10/2014 01:54 AM, Kenneth Graunke wrote:
> If we don't recognize the PCI ID, we can't reasonably load the driver.
> However, calling abort() is quite rude - it means the application that
> tried to initialize us (possibly the X server) can't continue via
> fallback paths. We already have a more polite mechanism - failing to
> create the context. So, just use that.
>
> While we're at it, improve the error message.
>
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=73024
> Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Come on! "Hulk SMASH!" is a fine error path. :)
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
> ---
> src/mesa/drivers/dri/i965/brw_device_info.c | 4 ++--
> src/mesa/drivers/dri/i965/intel_screen.c | 2 ++
> 2 files changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/src/mesa/drivers/dri/i965/brw_device_info.c b/src/mesa/drivers/dri/i965/brw_device_info.c
> index eb1df79..d931091 100644
> --- a/src/mesa/drivers/dri/i965/brw_device_info.c
> +++ b/src/mesa/drivers/dri/i965/brw_device_info.c
> @@ -229,7 +229,7 @@ brw_get_device_info(int devid)
> #define CHIPSET(id, family, name) case id: return &brw_device_info_##family;
> #include "pci_ids/i965_pci_ids.h"
> default:
> - fprintf(stderr, "Unknown Intel device.");
> - abort();
> + fprintf(stderr, "i965_dri.so does not support the 0x%x PCI ID.\n", devid);
> + return NULL;
> }
> }
> diff --git a/src/mesa/drivers/dri/i965/intel_screen.c b/src/mesa/drivers/dri/i965/intel_screen.c
> index 6ab3609..acdb5f3 100644
> --- a/src/mesa/drivers/dri/i965/intel_screen.c
> +++ b/src/mesa/drivers/dri/i965/intel_screen.c
> @@ -1328,6 +1328,8 @@ __DRIconfig **intelInitScreen2(__DRIscreen *psp)
>
> intelScreen->deviceID = drm_intel_bufmgr_gem_get_devid(intelScreen->bufmgr);
> intelScreen->devinfo = brw_get_device_info(intelScreen->deviceID);
> + if (!intelScreen->devinfo)
> + return false;
>
> intelScreen->hw_must_use_separate_stencil = intelScreen->devinfo->gen >= 7;
>
>
More information about the mesa-dev
mailing list