summaryrefslogtreecommitdiffstats
path: root/src/gallium
diff options
context:
space:
mode:
authorSamuel Pitoiset <[email protected]>2017-03-17 01:06:54 +0100
committerSamuel Pitoiset <[email protected]>2017-03-22 22:01:01 +0100
commit448f4c0c891945ea3d440d26045db33580673db7 (patch)
treecf287512bbc4fa2f06a3f842a19455db49c599d3 /src/gallium
parent08f864abd9e241c7db9c99212a66cdad69bdd4d8 (diff)
driconf: add force_glsl_abs_sqrt option
This will allow to force computing the absolute value for sqrt() and inversesqrt() in order to follow D3D9 behaviour for buggy apps that rely on it. Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
Diffstat (limited to 'src/gallium')
-rw-r--r--src/gallium/include/state_tracker/st_api.h1
-rw-r--r--src/gallium/state_trackers/dri/dri_screen.c3
2 files changed, 4 insertions, 0 deletions
diff --git a/src/gallium/include/state_tracker/st_api.h b/src/gallium/include/state_tracker/st_api.h
index bf9a7e95d7c..9d0eb3a8a67 100644
--- a/src/gallium/include/state_tracker/st_api.h
+++ b/src/gallium/include/state_tracker/st_api.h
@@ -248,6 +248,7 @@ struct st_config_options
boolean allow_glsl_extension_directive_midshader;
boolean allow_higher_compat_version;
boolean glsl_zero_init;
+ boolean force_glsl_abs_sqrt;
unsigned char config_options_sha1[20];
};
diff --git a/src/gallium/state_trackers/dri/dri_screen.c b/src/gallium/state_trackers/dri/dri_screen.c
index 799a2649b04..998e8ef8cbc 100644
--- a/src/gallium/state_trackers/dri/dri_screen.c
+++ b/src/gallium/state_trackers/dri/dri_screen.c
@@ -76,6 +76,7 @@ const __DRIconfigOptionsExtension gallium_config_options = {
DRI_CONF_FORCE_GLSL_VERSION(0)
DRI_CONF_ALLOW_GLSL_EXTENSION_DIRECTIVE_MIDSHADER("false")
DRI_CONF_ALLOW_HIGHER_COMPAT_VERSION("false")
+ DRI_CONF_FORCE_GLSL_ABS_SQRT("false")
DRI_CONF_SECTION_END
DRI_CONF_SECTION_MISCELLANEOUS
@@ -110,6 +111,8 @@ dri_fill_st_options(struct dri_screen *screen)
options->allow_higher_compat_version =
driQueryOptionb(optionCache, "allow_higher_compat_version");
options->glsl_zero_init = driQueryOptionb(optionCache, "glsl_zero_init");
+ options->force_glsl_abs_sqrt =
+ driQueryOptionb(optionCache, "force_glsl_abs_sqrt");
driComputeOptionsSha1(optionCache, options->config_options_sha1);
}