[Mesa-dev] [PATCH 2/4] gallium: get rid of pipe_screen_config::flags
Nicolai Hähnle
nhaehnle at gmail.com
Thu Aug 3 13:44:39 UTC 2017
From: Nicolai Hähnle <nicolai.haehnle at amd.com>
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.
---
src/gallium/include/pipe/p_defines.h | 6 ------
src/gallium/include/pipe/p_screen.h | 1 -
src/gallium/state_trackers/dri/dri2.c | 5 ++---
src/gallium/state_trackers/dri/dri_screen.c | 12 ++----------
src/gallium/state_trackers/dri/dri_screen.h | 4 ++--
src/gallium/state_trackers/dri/drisw.c | 2 +-
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);
}
--
2.11.0
More information about the mesa-dev
mailing list