pipe-loader: remove config from pipe_loader_create_screen

The config passed into the screen should be independent from the state
tracker, because at least in the case of radeonsi, the screen structure
can be shared between different state trackers.

Incidentally, this also fixes crashes that were recently introduced.

Fixes: a35a9e7c ("gallium: add driconf options to pipe_screen_config")
Tested-by: Dieter Nützel <Dieter@nuetzel-hh.de>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
This commit is contained in:
Nicolai Hähnle
2017-08-03 15:02:09 +02:00
parent 9fb8476e67
commit ae7283dcbc
13 changed files with 20 additions and 27 deletions

View File

@@ -123,13 +123,14 @@ pipe_loader_get_driinfo_xml(const char *driver_name)
}
struct pipe_screen *
pipe_loader_create_screen(struct pipe_loader_device *dev,
struct pipe_screen_config *config)
pipe_loader_create_screen(struct pipe_loader_device *dev)
{
pipe_loader_load_options(dev);
config->options = &dev->option_cache;
struct pipe_screen_config config;
return dev->ops->create_screen(dev, config);
pipe_loader_load_options(dev);
config.options = &dev->option_cache;
return dev->ops->create_screen(dev, &config);
}
struct util_dl_library *