draw: use common exit path in pipeline finish.
[mesa.git] / src / gallium / auxiliary / pipe-loader / pipe_loader_priv.h
index 476c0ad042e9871341a2dbbfcfb2e4d64ef4433f..01b7c54425f5c8f97b591cfca268810f899dd72a 100644 (file)
 
 struct pipe_loader_ops {
    struct pipe_screen *(*create_screen)(struct pipe_loader_device *dev,
-                                        const char *library_paths);
+                                        const struct pipe_screen_config *config);
+
+   const char *(*get_driconf_xml)(struct pipe_loader_device *dev);
 
    void (*release)(struct pipe_loader_device **dev);
 };
 
 /**
- * Open the pipe driver module that handles a specified device.
+ * Open the pipe driver module that contains the specified driver.
  */
 struct util_dl_library *
-pipe_loader_find_module(struct pipe_loader_device *dev,
+pipe_loader_find_module(const char *driver_name,
                         const char *library_paths);
 
+/**
+ * Free the base device structure.
+ *
+ * Implementations of pipe_loader_ops::release must call this.
+ *
+ * (*dev)->driver_name must be freed by the caller if it was allocated on the
+ * heap.
+ */
+void
+pipe_loader_base_release(struct pipe_loader_device **dev);
+
 #endif /* PIPE_LOADER_PRIV_H */