From 642247883fb9e6dce9bad724f7f6503321e0ef6f Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 25 Jan 2012 14:13:13 -0800 Subject: [PATCH] i965: Add a driconf option to force GLSL extension behavior to "warn". This can be used to work around broken application behavior, like in Unigine where it attempts to use texture arrays without declaring either "#extension GL_EXT_texture_array : enable" or "#version 130". NOTE: This is a candidate for the 8.0 branch. Reviewed-by: Kenneth Graunke --- src/mesa/drivers/dri/common/xmlpool/options.h | 10 ++++++++++ src/mesa/drivers/dri/i965/brw_context.c | 2 ++ src/mesa/drivers/dri/intel/intel_screen.c | 3 ++- 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/mesa/drivers/dri/common/xmlpool/options.h b/src/mesa/drivers/dri/common/xmlpool/options.h index 1e584ba086a..75c887e5d06 100644 --- a/src/mesa/drivers/dri/common/xmlpool/options.h +++ b/src/mesa/drivers/dri/common/xmlpool/options.h @@ -626,3 +626,13 @@ DRI_CONF_OPT_BEGIN(always_flush_cache,bool,def) \ DRI_CONF_DESC(fr,"Enable flushing GPU caches with each draw call") \ DRI_CONF_DESC(sv,"Enable flushing GPU caches with each draw call") \ DRI_CONF_OPT_END + +#define DRI_CONF_FORCE_GLSL_EXTENSIONS_WARN(def) \ +DRI_CONF_OPT_BEGIN(force_glsl_extensions_warn,bool,def) \ + DRI_CONF_DESC(en,"Force GLSL extension default behavior to 'warn'") \ + DRI_CONF_DESC(de,"Force GLSL extension default behavior to 'warn'") \ + DRI_CONF_DESC(es,"Force GLSL extension default behavior to 'warn'") \ + DRI_CONF_DESC(nl,"Force GLSL extension default behavior to 'warn'") \ + DRI_CONF_DESC(fr,"Force GLSL extension default behavior to 'warn'") \ + DRI_CONF_DESC(sv,"Force GLSL extension default behavior to 'warn'") \ +DRI_CONF_OPT_END diff --git a/src/mesa/drivers/dri/i965/brw_context.c b/src/mesa/drivers/dri/i965/brw_context.c index 87ea1a55c7f..1ab6310482f 100644 --- a/src/mesa/drivers/dri/i965/brw_context.c +++ b/src/mesa/drivers/dri/i965/brw_context.c @@ -372,6 +372,8 @@ brwCreateContext(int api, ctx->Const.NativeIntegers = true; ctx->Const.UniformBooleanTrue = 1; + ctx->Const.ForceGLSLExtensionsWarn = driQueryOptionb(&intel->optionCache, "force_glsl_extensions_warn"); + return true; } diff --git a/src/mesa/drivers/dri/intel/intel_screen.c b/src/mesa/drivers/dri/intel/intel_screen.c index 1c5083038ea..063bbe770d9 100644 --- a/src/mesa/drivers/dri/intel/intel_screen.c +++ b/src/mesa/drivers/dri/intel/intel_screen.c @@ -74,6 +74,7 @@ PUBLIC const char __driConfigOptions[] = DRI_CONF_NO_RAST(false) DRI_CONF_ALWAYS_FLUSH_BATCH(false) DRI_CONF_ALWAYS_FLUSH_CACHE(false) + DRI_CONF_FORCE_GLSL_EXTENSIONS_WARN(false) DRI_CONF_OPT_BEGIN(stub_occlusion_query, bool, false) DRI_CONF_DESC(en, "Enable stub ARB_occlusion_query support on 915/945.") @@ -85,7 +86,7 @@ PUBLIC const char __driConfigOptions[] = DRI_CONF_SECTION_END DRI_CONF_END; -const GLuint __driNConfigOptions = 12; +const GLuint __driNConfigOptions = 13; #include "intel_batchbuffer.h" #include "intel_buffers.h" -- 2.30.2