summaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri/common
diff options
context:
space:
mode:
authorRob Clark <robclark@freedesktop.org>2016-06-24 14:28:51 -0400
committerRob Clark <robdclark@gmail.com>2016-07-02 09:00:19 -0400
commitf78a6b1ce398a537d77c25b1a93f156109086975 (patch)
tree0d891e0156328ae8462f1e7cad56b373e7ab8607 /src/mesa/drivers/dri/common
parent202710d11057dfe4416770752cf5fd5b3f766999 (diff)
downloadexternal_mesa3d-f78a6b1ce398a537d77c25b1a93f156109086975.zip
external_mesa3d-f78a6b1ce398a537d77c25b1a93f156109086975.tar.gz
external_mesa3d-f78a6b1ce398a537d77c25b1a93f156109086975.tar.bz2
glsl: add driconf to zero-init unintialized vars
Some games are sloppy.. perhaps because it is defined behavior for DX or perhaps because nv blob driver defaults things to zero. So add driconf param to force uninitialized variables to default to zero. This issue was observed with rust, from steam store. But has surfaced elsewhere in the past. Signed-off-by: Rob Clark <robclark@freedesktop.org> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Diffstat (limited to 'src/mesa/drivers/dri/common')
-rw-r--r--src/mesa/drivers/dri/common/drirc4
-rw-r--r--src/mesa/drivers/dri/common/xmlpool/t_options.h5
2 files changed, 8 insertions, 1 deletions
diff --git a/src/mesa/drivers/dri/common/drirc b/src/mesa/drivers/dri/common/drirc
index 3912d8b..af84ee8 100644
--- a/src/mesa/drivers/dri/common/drirc
+++ b/src/mesa/drivers/dri/common/drirc
@@ -96,5 +96,9 @@ TODO: document the other workarounds.
<application name="Warsow (64-bit)" executable="warsow.x86_64">
<option name="allow_glsl_extension_directive_midshader" value="true" />
</application>
+
+ <application name="Rust" executable="rust">
+ <option name="glsl_zero_init" value="true"/>
+ </application>
</device>
</driconf>
diff --git a/src/mesa/drivers/dri/common/xmlpool/t_options.h b/src/mesa/drivers/dri/common/xmlpool/t_options.h
index 4b298a4..341c376 100644
--- a/src/mesa/drivers/dri/common/xmlpool/t_options.h
+++ b/src/mesa/drivers/dri/common/xmlpool/t_options.h
@@ -337,7 +337,10 @@ DRI_CONF_OPT_BEGIN_B(always_have_depth_buffer, def) \
DRI_CONF_DESC(en,gettext("Create all visuals with a depth buffer")) \
DRI_CONF_OPT_END
-
+#define DRI_CONF_GLSL_ZERO_INIT(def) \
+DRI_CONF_OPT_BEGIN_B(glsl_zero_init, def) \
+ DRI_CONF_DESC(en,gettext("Force uninitialized variables to default to zero")) \
+DRI_CONF_OPT_END
/**
* \brief Initialization configuration options