summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicolai Hähnle <[email protected]>2017-08-03 15:01:09 +0200
committerNicolai Hähnle <[email protected]>2017-08-04 10:46:20 +0200
commit9fb8476e67a4470bc327303cadcf5320b34c6ebc (patch)
tree033cddca2dcb17f9645b94f9a7a3b15a803eafa1
parent12ce39d3de55357c8274619d4da973001a4609de (diff)
gallium: get rid of pipe_screen_config::flags
They were set only by the DRI state tracker, which is problematic when radeonsi is used with different state trackers in the same process. Also, we don't need them anymore. Tested-by: Dieter Nützel <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
-rw-r--r--src/gallium/include/pipe/p_defines.h6
-rw-r--r--src/gallium/include/pipe/p_screen.h1
-rw-r--r--src/gallium/state_trackers/dri/dri2.c5
-rw-r--r--src/gallium/state_trackers/dri/dri_screen.c12
-rw-r--r--src/gallium/state_trackers/dri/dri_screen.h4
-rw-r--r--src/gallium/state_trackers/dri/drisw.c2
6 files changed, 7 insertions, 23 deletions
diff --git a/src/gallium/include/pipe/p_defines.h b/src/gallium/include/pipe/p_defines.h
index 2b315e99c28..321b677ade7 100644
--- a/src/gallium/include/pipe/p_defines.h
+++ b/src/gallium/include/pipe/p_defines.h
@@ -390,12 +390,6 @@ enum pipe_flush_flags
*/
#define PIPE_CONTEXT_PREFER_THREADED (1 << 3)
-/**
- * Implicit and explicit derivatives after KILL behave as if KILL didn't
- * happen.
- */
-#define PIPE_SCREEN_ENABLE_CORRECT_TGSI_DERIVATIVES_AFTER_KILL (1 << 0)
-
/**
* Flags for pipe_context::memory_barrier.
diff --git a/src/gallium/include/pipe/p_screen.h b/src/gallium/include/pipe/p_screen.h
index bf26a5298fb..b6623d1dd71 100644
--- a/src/gallium/include/pipe/p_screen.h
+++ b/src/gallium/include/pipe/p_screen.h
@@ -365,7 +365,6 @@ struct pipe_screen {
* Global configuration options for screen creation.
*/
struct pipe_screen_config {
- unsigned flags;
const struct driOptionCache *options;
};
diff --git a/src/gallium/state_trackers/dri/dri2.c b/src/gallium/state_trackers/dri/dri2.c
index 1171e7386d7..0f36e1bf894 100644
--- a/src/gallium/state_trackers/dri/dri2.c
+++ b/src/gallium/state_trackers/dri/dri2.c
@@ -2073,8 +2073,7 @@ dri2_init_screen(__DRIscreen * sPriv)
if (pipe_loader_drm_probe_fd(&screen->dev, fd)) {
struct pipe_screen_config config = {};
- config.flags =
- dri_init_options_get_screen_flags(screen);
+ dri_init_options(screen);
pscreen = pipe_loader_create_screen(screen->dev, &config);
}
@@ -2169,7 +2168,7 @@ dri_kms_init_screen(__DRIscreen * sPriv)
struct pipe_screen_config config = {};
- config.flags = dri_init_options_get_screen_flags(screen);
+ dri_init_options(screen);
if (pipe_loader_sw_probe_kms(&screen->dev, fd))
pscreen = pipe_loader_create_screen(screen->dev, &config);
diff --git a/src/gallium/state_trackers/dri/dri_screen.c b/src/gallium/state_trackers/dri/dri_screen.c
index b992d24068b..406e97dc242 100644
--- a/src/gallium/state_trackers/dri/dri_screen.c
+++ b/src/gallium/state_trackers/dri/dri_screen.c
@@ -478,20 +478,12 @@ dri_set_background_context(struct st_context_iface *st,
hud_add_queue_for_monitoring(ctx->hud, queue_info);
}
-unsigned
-dri_init_options_get_screen_flags(struct dri_screen *screen)
+void
+dri_init_options(struct dri_screen *screen)
{
- unsigned flags = 0;
-
pipe_loader_load_options(screen->dev);
dri_fill_st_options(screen);
-
- if (driQueryOptionb(&screen->dev->option_cache,
- "glsl_correct_derivatives_after_discard"))
- flags |= PIPE_SCREEN_ENABLE_CORRECT_TGSI_DERIVATIVES_AFTER_KILL;
-
- return flags;
}
const __DRIconfig **
diff --git a/src/gallium/state_trackers/dri/dri_screen.h b/src/gallium/state_trackers/dri/dri_screen.h
index b8b27c30222..677e945e039 100644
--- a/src/gallium/state_trackers/dri/dri_screen.h
+++ b/src/gallium/state_trackers/dri/dri_screen.h
@@ -130,8 +130,8 @@ void
dri_fill_st_visual(struct st_visual *stvis, struct dri_screen *screen,
const struct gl_config *mode);
-unsigned
-dri_init_options_get_screen_flags(struct dri_screen *screen);
+void
+dri_init_options(struct dri_screen *screen);
const __DRIconfig **
dri_init_screen_helper(struct dri_screen *screen,
diff --git a/src/gallium/state_trackers/dri/drisw.c b/src/gallium/state_trackers/dri/drisw.c
index d3d44bf418b..ad40e2f837b 100644
--- a/src/gallium/state_trackers/dri/drisw.c
+++ b/src/gallium/state_trackers/dri/drisw.c
@@ -402,7 +402,7 @@ drisw_init_screen(__DRIscreen * sPriv)
if (pipe_loader_sw_probe_dri(&screen->dev, &drisw_lf)) {
struct pipe_screen_config config;
- config.flags = dri_init_options_get_screen_flags(screen);
+ dri_init_options(screen);
pscreen = pipe_loader_create_screen(screen->dev, &config);
}