aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/state_trackers
diff options
context:
space:
mode:
authorNicolai Hähnle <[email protected]>2017-08-03 15:02:09 +0200
committerNicolai Hähnle <[email protected]>2017-08-04 10:46:24 +0200
commitae7283dcbc00c6df07118c47f393ed5f52046050 (patch)
treeab844ffe2f94732b9bc74a1e3dfe1f13e9aaa391 /src/gallium/state_trackers
parent9fb8476e67a4470bc327303cadcf5320b34c6ebc (diff)
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 <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
Diffstat (limited to 'src/gallium/state_trackers')
-rw-r--r--src/gallium/state_trackers/clover/core/device.cpp2
-rw-r--r--src/gallium/state_trackers/dri/dri2.c8
-rw-r--r--src/gallium/state_trackers/dri/drisw.c3
-rw-r--r--src/gallium/state_trackers/xa/xa_tracker.c2
4 files changed, 5 insertions, 10 deletions
diff --git a/src/gallium/state_trackers/clover/core/device.cpp b/src/gallium/state_trackers/clover/core/device.cpp
index bd07670f384..8dfba1ad9fd 100644
--- a/src/gallium/state_trackers/clover/core/device.cpp
+++ b/src/gallium/state_trackers/clover/core/device.cpp
@@ -42,7 +42,7 @@ namespace {
device::device(clover::platform &platform, pipe_loader_device *ldev) :
platform(platform), ldev(ldev) {
- pipe = pipe_loader_create_screen(ldev, NULL);
+ pipe = pipe_loader_create_screen(ldev);
if (!pipe || !pipe->get_param(pipe, PIPE_CAP_COMPUTE)) {
if (pipe)
pipe->destroy(pipe);
diff --git a/src/gallium/state_trackers/dri/dri2.c b/src/gallium/state_trackers/dri/dri2.c
index 0f36e1bf894..3555107856c 100644
--- a/src/gallium/state_trackers/dri/dri2.c
+++ b/src/gallium/state_trackers/dri/dri2.c
@@ -2071,11 +2071,9 @@ dri2_init_screen(__DRIscreen * sPriv)
if (pipe_loader_drm_probe_fd(&screen->dev, fd)) {
- struct pipe_screen_config config = {};
-
dri_init_options(screen);
- pscreen = pipe_loader_create_screen(screen->dev, &config);
+ pscreen = pipe_loader_create_screen(screen->dev);
}
if (!pscreen)
@@ -2166,12 +2164,10 @@ dri_kms_init_screen(__DRIscreen * sPriv)
if (screen->fd < 0 || (fd = fcntl(screen->fd, F_DUPFD_CLOEXEC, 3)) < 0)
goto free_screen;
- struct pipe_screen_config config = {};
-
dri_init_options(screen);
if (pipe_loader_sw_probe_kms(&screen->dev, fd))
- pscreen = pipe_loader_create_screen(screen->dev, &config);
+ pscreen = pipe_loader_create_screen(screen->dev);
if (!pscreen)
goto release_pipe;
diff --git a/src/gallium/state_trackers/dri/drisw.c b/src/gallium/state_trackers/dri/drisw.c
index ad40e2f837b..46ec95c6906 100644
--- a/src/gallium/state_trackers/dri/drisw.c
+++ b/src/gallium/state_trackers/dri/drisw.c
@@ -401,10 +401,9 @@ drisw_init_screen(__DRIscreen * sPriv)
sPriv->extensions = drisw_screen_extensions;
if (pipe_loader_sw_probe_dri(&screen->dev, &drisw_lf)) {
- struct pipe_screen_config config;
dri_init_options(screen);
- pscreen = pipe_loader_create_screen(screen->dev, &config);
+ pscreen = pipe_loader_create_screen(screen->dev);
}
if (!pscreen)
diff --git a/src/gallium/state_trackers/xa/xa_tracker.c b/src/gallium/state_trackers/xa/xa_tracker.c
index d4114ab5591..03a3abf6835 100644
--- a/src/gallium/state_trackers/xa/xa_tracker.c
+++ b/src/gallium/state_trackers/xa/xa_tracker.c
@@ -162,7 +162,7 @@ xa_tracker_create(int drm_fd)
goto out_no_fd;
if (pipe_loader_drm_probe_fd(&xa->dev, fd))
- xa->screen = pipe_loader_create_screen(xa->dev, NULL);
+ xa->screen = pipe_loader_create_screen(xa->dev);
if (!xa->screen)
goto out_no_screen;