pipe-loader: directly use pipe_loader_sw_probe_null() at probe time
authorEmil Velikov <emil.l.velikov@gmail.com>
Wed, 14 Oct 2015 20:31:24 +0000 (21:31 +0100)
committerEmil Velikov <emil.l.velikov@gmail.com>
Sat, 21 Nov 2015 12:52:18 +0000 (12:52 +0000)
Due to the nature of the other sw winsys' we cannot use them during the
generic probe stage. As such there is little point in keeping the
abstraction layer.

Cc: Tom Stellard <thomas.stellard@amd.com>
Cc: Francisco Jerez <currojerez@riseup.net>
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Acked-by: Rob Clark <robclark@freedesktop.org>
src/gallium/auxiliary/pipe-loader/pipe_loader_sw.c

index 4b6e884cd9fcdfb3660cf964ed79f9715d97283d..c61f2b8882c4bb5036caea77baa1d7113b5934ed 100644 (file)
@@ -46,10 +46,6 @@ struct pipe_loader_sw_device {
 
 static struct pipe_loader_ops pipe_loader_sw_ops;
 
-static struct sw_winsys *(*backends[])() = {
-   null_sw_create
-};
-
 static bool
 pipe_loader_sw_probe_init_common(struct pipe_loader_sw_device *sdev)
 {
@@ -124,16 +120,11 @@ pipe_loader_sw_probe_null(struct pipe_loader_device **devs)
 int
 pipe_loader_sw_probe(struct pipe_loader_device **devs, int ndev)
 {
-   int i;
-
-   for (i = 0; i < Elements(backends); i++) {
-      if (i < ndev) {
-         struct pipe_loader_sw_device *sdev = CALLOC_STRUCT(pipe_loader_sw_device);
-        /* TODO: handle CALLOC_STRUCT failure */
+   int i = 1;
 
-         sdev->ws = backends[i]();
-         pipe_loader_sw_probe_init_common(sdev);
-         devs[i] = &sdev->base;
+   if (i < ndev) {
+      if (!pipe_loader_sw_probe_null(devs)) {
+         i--;
       }
    }