This has the side effect of enabling this option for the i830, i915, nouveau_vieux, classic swrast, and the classic radeon drivers.
It also forces the initialisation of attribs.options.shared_options.AllowGLSLExtensionDirectiveMidShader in gallium/osmesa. Signed-off-by: Martin Peres <martin.pe...@linux.intel.com> --- src/gallium/include/state_tracker/st_api.h | 1 - src/gallium/state_trackers/dri/dri_screen.c | 3 --- src/glsl/glsl_parser_extras.cpp | 2 +- src/mesa/drivers/dri/common/xmlpool.h | 3 ++- src/mesa/drivers/dri/i965/brw_context.c | 3 --- src/mesa/drivers/dri/i965/intel_screen.c | 1 - src/mesa/main/mtypes.h | 5 ----- src/mesa/main/shared_options.c | 3 +++ src/mesa/main/shared_options.h | 6 ++++++ src/mesa/state_tracker/st_extensions.c | 3 --- 10 files changed, 12 insertions(+), 18 deletions(-) diff --git a/src/gallium/include/state_tracker/st_api.h b/src/gallium/include/state_tracker/st_api.h index 5ccd54a..2d19e91 100644 --- a/src/gallium/include/state_tracker/st_api.h +++ b/src/gallium/include/state_tracker/st_api.h @@ -248,7 +248,6 @@ struct st_config_options boolean disable_glsl_line_continuations; boolean disable_shader_bit_encoding; boolean force_s3tc_enable; - boolean allow_glsl_extension_directive_midshader; }; /** diff --git a/src/gallium/state_trackers/dri/dri_screen.c b/src/gallium/state_trackers/dri/dri_screen.c index 2c691e0..f5b5a57 100644 --- a/src/gallium/state_trackers/dri/dri_screen.c +++ b/src/gallium/state_trackers/dri/dri_screen.c @@ -73,7 +73,6 @@ const __DRIconfigOptionsExtension gallium_config_options = { DRI_CONF_DISABLE_GLSL_LINE_CONTINUATIONS("false") DRI_CONF_DISABLE_BLEND_FUNC_EXTENDED("false") DRI_CONF_DISABLE_SHADER_BIT_ENCODING("false") - DRI_CONF_ALLOW_GLSL_EXTENSION_DIRECTIVE_MIDSHADER("false") DRI_CONF_SECTION_END DRI_CONF_SECTION_MISCELLANEOUS @@ -99,8 +98,6 @@ dri_fill_st_options(struct st_config_options *options, driQueryOptionb(optionCache, "disable_shader_bit_encoding"); options->force_s3tc_enable = driQueryOptionb(optionCache, "force_s3tc_enable"); - options->allow_glsl_extension_directive_midshader = - driQueryOptionb(optionCache, "allow_glsl_extension_directive_midshader"); } static const __DRIconfig ** diff --git a/src/glsl/glsl_parser_extras.cpp b/src/glsl/glsl_parser_extras.cpp index d18f3c6..8fafe96 100644 --- a/src/glsl/glsl_parser_extras.cpp +++ b/src/glsl/glsl_parser_extras.cpp @@ -233,7 +233,7 @@ _mesa_glsl_parse_state::_mesa_glsl_parse_state(struct gl_context *_ctx, memset(this->atomic_counter_offsets, 0, sizeof(this->atomic_counter_offsets)); this->allow_extension_directive_midshader = - ctx->Const.AllowGLSLExtensionDirectiveMidShader; + ctx->Const.options.AllowGLSLExtensionDirectiveMidShader; } /** diff --git a/src/mesa/drivers/dri/common/xmlpool.h b/src/mesa/drivers/dri/common/xmlpool.h index 82968f6..f6953b4 100644 --- a/src/mesa/drivers/dri/common/xmlpool.h +++ b/src/mesa/drivers/dri/common/xmlpool.h @@ -110,7 +110,8 @@ #define DRI_CONF_SECTION_DEBUG_SHARED \ DRI_CONF_FORCE_GLSL_EXTENSIONS_WARN("false") \ - DRI_CONF_FORCE_GLSL_VERSION(0) + DRI_CONF_FORCE_GLSL_VERSION(0) \ + DRI_CONF_ALLOW_GLSL_EXTENSION_DIRECTIVE_MIDSHADER("false") #define DRI_CONF_SECTION_MISC_SHARED \ "<!-- No shared msic options yet -->\n" diff --git a/src/mesa/drivers/dri/i965/brw_context.c b/src/mesa/drivers/dri/i965/brw_context.c index ef05efd..a94e21d5 100644 --- a/src/mesa/drivers/dri/i965/brw_context.c +++ b/src/mesa/drivers/dri/i965/brw_context.c @@ -686,9 +686,6 @@ brw_process_driconf_options(struct brw_context *brw) ctx->Const.DisableGLSLLineContinuations = driQueryOptionb(options, "disable_glsl_line_continuations"); - - ctx->Const.AllowGLSLExtensionDirectiveMidShader = - driQueryOptionb(options, "allow_glsl_extension_directive_midshader"); } GLboolean diff --git a/src/mesa/drivers/dri/i965/intel_screen.c b/src/mesa/drivers/dri/i965/intel_screen.c index d52bdf3..9f0d9d0 100644 --- a/src/mesa/drivers/dri/i965/intel_screen.c +++ b/src/mesa/drivers/dri/i965/intel_screen.c @@ -83,7 +83,6 @@ DRI_CONF_BEGIN DRI_CONF_DISABLE_THROTTLING("false") DRI_CONF_DISABLE_GLSL_LINE_CONTINUATIONS("false") DRI_CONF_DISABLE_BLEND_FUNC_EXTENDED("false") - DRI_CONF_ALLOW_GLSL_EXTENSION_DIRECTIVE_MIDSHADER("false") DRI_CONF_OPT_BEGIN_B(shader_precompile, "true") DRI_CONF_DESC(en, "Perform code generation at shader link time.") diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h index d35a3a0..0839870 100644 --- a/src/mesa/main/mtypes.h +++ b/src/mesa/main/mtypes.h @@ -3381,11 +3381,6 @@ struct gl_constants struct shared_options options; /** - * Allow GLSL #extension directives in the middle of shaders. - */ - GLboolean AllowGLSLExtensionDirectiveMidShader; - - /** * Does the driver support real 32-bit integers? (Otherwise, integers are * simulated via floats.) */ diff --git a/src/mesa/main/shared_options.c b/src/mesa/main/shared_options.c index 5288e0c..a5b5c97 100644 --- a/src/mesa/main/shared_options.c +++ b/src/mesa/main/shared_options.c @@ -29,6 +29,9 @@ void _mesa_shared_options_fill(struct driOptionCache *optionCache, struct shared_options *sharedOptions) { + sharedOptions->AllowGLSLExtensionDirectiveMidShader = + driQueryOptionb(optionCache, "allow_glsl_extension_directive_midshader"); + sharedOptions->ForceGLSLExtensionsWarn = driQueryOptionb(optionCache, "force_glsl_extensions_warn"); diff --git a/src/mesa/main/shared_options.h b/src/mesa/main/shared_options.h index 3c66906..d86561f 100644 --- a/src/mesa/main/shared_options.h +++ b/src/mesa/main/shared_options.h @@ -49,6 +49,11 @@ struct shared_options /* debug */ /** + * Allow GLSL #extension directives in the middle of shaders. + */ + GLboolean AllowGLSLExtensionDirectiveMidShader; + + /** * Changes default GLSL extension behavior from "error" to "warn". It's out * of spec, but it can make some apps work that otherwise wouldn't. */ @@ -72,6 +77,7 @@ _mesa_shared_options_fill(struct driOptionCache *optionCache, static inline void _mesa_shared_options_fill_defaults(struct shared_options *sharedOptions) { + sharedOptions->AllowGLSLExtensionDirectiveMidShader = GL_FALSE; sharedOptions->ForceGLSLExtensionsWarn = GL_FALSE; sharedOptions->ForceGLSLVersion = 0; } diff --git a/src/mesa/state_tracker/st_extensions.c b/src/mesa/state_tracker/st_extensions.c index d0eea25..5ac3e4e 100644 --- a/src/mesa/state_tracker/st_extensions.c +++ b/src/mesa/state_tracker/st_extensions.c @@ -811,9 +811,6 @@ void st_init_extensions(struct pipe_screen *screen, if (options->disable_glsl_line_continuations) consts->DisableGLSLLineContinuations = 1; - if (options->allow_glsl_extension_directive_midshader) - consts->AllowGLSLExtensionDirectiveMidShader = GL_TRUE; - consts->MinMapBufferAlignment = screen->get_param(screen, PIPE_CAP_MIN_MAP_BUFFER_ALIGNMENT); -- 2.4.2 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev