From: Nicolai Hähnle Date: Thu, 3 Aug 2017 13:01:09 +0000 (+0200) Subject: gallium: get rid of pipe_screen_config::flags X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=9fb8476e67a4470bc327303cadcf5320b34c6ebc;p=mesa.git 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 Reviewed-by: Marek Olšák --- 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); }