From: Vadim Girlin Date: Thu, 18 Apr 2013 21:04:51 +0000 (+0400) Subject: gallium: handle drirc disable_glsl_line_continuations option X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=f732036f12d67a96f546c11236fa635b3eda6e9c;p=mesa.git gallium: handle drirc disable_glsl_line_continuations option NOTE: This is a candidate for the 9.1 branch Signed-off-by: Vadim Girlin Reviewed-by: Ian Romanick Reviewed-by: Alex Deucher --- diff --git a/src/gallium/include/state_tracker/st_api.h b/src/gallium/include/state_tracker/st_api.h index 9f3d2a12cb4..52c9dc0c3a4 100644 --- a/src/gallium/include/state_tracker/st_api.h +++ b/src/gallium/include/state_tracker/st_api.h @@ -240,6 +240,7 @@ struct st_visual struct st_config_options { boolean force_glsl_extensions_warn; + boolean disable_glsl_line_continuations; }; /** diff --git a/src/gallium/state_trackers/dri/common/dri_context.c b/src/gallium/state_trackers/dri/common/dri_context.c index 49cd794c661..58a710d0d14 100644 --- a/src/gallium/state_trackers/dri/common/dri_context.c +++ b/src/gallium/state_trackers/dri/common/dri_context.c @@ -54,6 +54,8 @@ static void dri_fill_st_options(struct st_config_options *options, { options->force_glsl_extensions_warn = driQueryOptionb(optionCache, "force_glsl_extensions_warn"); + options->disable_glsl_line_continuations = + driQueryOptionb(optionCache, "disable_glsl_line_continuations"); } GLboolean diff --git a/src/gallium/state_trackers/dri/common/dri_screen.c b/src/gallium/state_trackers/dri/common/dri_screen.c index 2f525a24c3c..fd2971c29a0 100644 --- a/src/gallium/state_trackers/dri/common/dri_screen.c +++ b/src/gallium/state_trackers/dri/common/dri_screen.c @@ -66,6 +66,7 @@ PUBLIC const char __driConfigOptions[] = DRI_CONF_SECTION_DEBUG DRI_CONF_FORCE_GLSL_EXTENSIONS_WARN(false) + DRI_CONF_DISABLE_GLSL_LINE_CONTINUATIONS(false) DRI_CONF_SECTION_END DRI_CONF_SECTION_MISCELLANEOUS @@ -75,7 +76,7 @@ PUBLIC const char __driConfigOptions[] = #define false 0 -static const uint __driNConfigOptions = 11; +static const uint __driNConfigOptions = 12; static const __DRIconfig ** dri_fill_in_modes(struct dri_screen *screen) diff --git a/src/mesa/state_tracker/st_extensions.c b/src/mesa/state_tracker/st_extensions.c index f9864803ddd..ffb9f7ed23f 100644 --- a/src/mesa/state_tracker/st_extensions.c +++ b/src/mesa/state_tracker/st_extensions.c @@ -714,6 +714,9 @@ void st_init_extensions(struct st_context *st) if (st->options.force_glsl_extensions_warn) ctx->Const.ForceGLSLExtensionsWarn = 1; + if (st->options.disable_glsl_line_continuations) + ctx->Const.DisableGLSLLineContinuations = 1; + ctx->Const.MinMapBufferAlignment = screen->get_param(screen, PIPE_CAP_MIN_MAP_BUFFER_ALIGNMENT); if (ctx->Const.MinMapBufferAlignment >= 64) {