From: Nicolai Hähnle <[email protected]>

---
 src/gallium/auxiliary/pipe-loader/pipe_loader.c | 3 +++
 src/gallium/include/pipe/p_screen.h             | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/src/gallium/auxiliary/pipe-loader/pipe_loader.c 
b/src/gallium/auxiliary/pipe-loader/pipe_loader.c
index 95e6b42..f55312f 100644
--- a/src/gallium/auxiliary/pipe-loader/pipe_loader.c
+++ b/src/gallium/auxiliary/pipe-loader/pipe_loader.c
@@ -104,20 +104,23 @@ pipe_loader_load_options(struct pipe_loader_device *dev)
 
    driParseOptionInfo(&dev->option_info, xml_options);
    driParseConfigFiles(&dev->option_cache, &dev->option_info, 0,
                        dev->driver_name);
 }
 
 struct pipe_screen *
 pipe_loader_create_screen(struct pipe_loader_device *dev,
                           struct pipe_screen_config *config)
 {
+   pipe_loader_load_options(dev);
+   config->options = &dev->option_cache;
+
    return dev->ops->create_screen(dev, config);
 }
 
 struct util_dl_library *
 pipe_loader_find_module(struct pipe_loader_device *dev,
                         const char *library_paths)
 {
    struct util_dl_library *lib;
    const char *next;
    char path[PATH_MAX];
diff --git a/src/gallium/include/pipe/p_screen.h 
b/src/gallium/include/pipe/p_screen.h
index a804aa9..bf26a52 100644
--- a/src/gallium/include/pipe/p_screen.h
+++ b/src/gallium/include/pipe/p_screen.h
@@ -52,20 +52,21 @@ extern "C" {
 
 /** Opaque types */
 struct winsys_handle;
 struct pipe_fence_handle;
 struct pipe_resource;
 struct pipe_surface;
 struct pipe_transfer;
 struct pipe_box;
 struct pipe_memory_info;
 struct disk_cache;
+struct driOptionCache;
 
 
 /**
  * Gallium screen/adapter context.  Basically everything
  * hardware-specific that doesn't actually require a rendering
  * context.
  */
 struct pipe_screen {
    void (*destroy)( struct pipe_screen * );
 
@@ -358,18 +359,19 @@ struct pipe_screen {
                                   uint64_t *modifiers,
                                   unsigned int *external_only, int *count);
 };
 
 
 /**
  * Global configuration options for screen creation.
  */
 struct pipe_screen_config {
    unsigned flags;
+   const struct driOptionCache *options;
 };
 
 
 #ifdef __cplusplus
 }
 #endif
 
 #endif /* P_SCREEN_H */
-- 
2.9.3

_______________________________________________
mesa-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to