diff options
author | Tapani Pälli <[email protected]> | 2017-11-24 07:46:07 +0200 |
---|---|---|
committer | Tapani Pälli <[email protected]> | 2017-11-30 11:43:10 +0200 |
commit | faccbaf3faf9a7cdcda3e4032fafd0f6064459bd (patch) | |
tree | dff07c0c37ff3198f58ae018f2b04762612d0e3d /src/gallium | |
parent | 8c1e4b1afc8d396ccf99c725c59b29a9aa305557 (diff) |
mesa: add AllowGLSLCrossStageInterpolationMismatch workaround
This fixes issues seen with certain versions of Unreal Engine 4 editor
and games built with that using GLSL 4.30.
v2: add driinfo_gallium change (Emil Velikov)
Signed-off-by: Tapani Pälli <[email protected]>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97852
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103801
Acked-by: Andres Gomez <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Diffstat (limited to 'src/gallium')
-rw-r--r-- | src/gallium/auxiliary/pipe-loader/driinfo_gallium.h | 1 | ||||
-rw-r--r-- | src/gallium/include/state_tracker/st_api.h | 1 | ||||
-rw-r--r-- | src/gallium/state_trackers/dri/dri_screen.c | 2 |
3 files changed, 4 insertions, 0 deletions
diff --git a/src/gallium/auxiliary/pipe-loader/driinfo_gallium.h b/src/gallium/auxiliary/pipe-loader/driinfo_gallium.h index d2d2c9d3a5c..003a3d7089e 100644 --- a/src/gallium/auxiliary/pipe-loader/driinfo_gallium.h +++ b/src/gallium/auxiliary/pipe-loader/driinfo_gallium.h @@ -23,6 +23,7 @@ DRI_CONF_SECTION_DEBUG DRI_CONF_FORCE_GLSL_VERSION(0) DRI_CONF_ALLOW_GLSL_EXTENSION_DIRECTIVE_MIDSHADER("false") DRI_CONF_ALLOW_GLSL_BUILTIN_VARIABLE_REDECLARATION("false") + DRI_CONF_ALLOW_GLSL_CROSS_STAGE_INTERPOLATION_MISMATCH("false") DRI_CONF_ALLOW_HIGHER_COMPAT_VERSION("false") DRI_CONF_FORCE_GLSL_ABS_SQRT("false") DRI_CONF_GLSL_CORRECT_DERIVATIVES_AFTER_DISCARD("false") diff --git a/src/gallium/include/state_tracker/st_api.h b/src/gallium/include/state_tracker/st_api.h index a407b980d94..44d6b474f8f 100644 --- a/src/gallium/include/state_tracker/st_api.h +++ b/src/gallium/include/state_tracker/st_api.h @@ -224,6 +224,7 @@ struct st_config_options boolean allow_higher_compat_version; boolean glsl_zero_init; boolean force_glsl_abs_sqrt; + boolean allow_glsl_cross_stage_interpolation_mismatch; 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 31b2c37bfd0..1ca511612ad 100644 --- a/src/gallium/state_trackers/dri/dri_screen.c +++ b/src/gallium/state_trackers/dri/dri_screen.c @@ -81,6 +81,8 @@ dri_fill_st_options(struct dri_screen *screen) options->glsl_zero_init = driQueryOptionb(optionCache, "glsl_zero_init"); options->force_glsl_abs_sqrt = driQueryOptionb(optionCache, "force_glsl_abs_sqrt"); + options->allow_glsl_cross_stage_interpolation_mismatch = + driQueryOptionb(optionCache, "allow_glsl_cross_stage_interpolation_mismatch"); driComputeOptionsSha1(optionCache, options->config_options_sha1); } |