From 9fb8476e67a4470bc327303cadcf5320b34c6ebc Mon Sep 17 00:00:00 2001 From: =?utf8?q?Nicolai=20H=C3=A4hnle?= Date: Thu, 3 Aug 2017 15:01:09 +0200 Subject: [PATCH] gallium: get rid of pipe_screen_config::flags MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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 Reviewed-by: Marek Olšák --- 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.30.2