anv: bail out if anv_wsi_init() fails
authorEmil Velikov <emil.velikov@collabora.com>
Sat, 28 May 2016 19:03:34 +0000 (20:03 +0100)
committerEmil Velikov <emil.l.velikov@gmail.com>
Mon, 30 May 2016 09:26:36 +0000 (10:26 +0100)
Otherwise we'll end up setting up a device with no winsys integration.

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
---
Hard-coding the rendernode name in anv_physical_device_init() is a bad
idea really. We could/should be using drmGetDevices() to get info on all
the devices (master/render/etc. node names, pci location etc.) and apply
our heuristics on top of that.

That can come up as a follow up change.

src/intel/vulkan/anv_device.c

index da7a39471c17868c19fb7d39ce2485437cdede69..046777d16f2c22c5b9b95b869cee4712098334ea 100644 (file)
@@ -150,7 +150,9 @@ anv_physical_device_init(struct anv_physical_device *device,
    device->compiler->shader_debug_log = compiler_debug_log;
    device->compiler->shader_perf_log = compiler_perf_log;
 
-   anv_init_wsi(device);
+   result = anv_init_wsi(device);
+   if (result != VK_SUCCESS)
+       goto fail;
 
    /* XXX: Actually detect bit6 swizzling */
    isl_device_init(&device->isl_dev, device->info, swizzled);