driconf: add force_integer_tex_nearest option
And enable it for "GRID Autosport" and "DIRT: Showdown" games. CC: 20.1 <mesa-stable@lists.freedesktop.org> Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/1258 Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com> Reviewed-by: Marek Olšák <marek.olsak@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4647>
This commit is contained in:
@@ -42,4 +42,5 @@ DRI_CONF_SECTION_MISCELLANEOUS
|
|||||||
DRI_CONF_VS_POSITION_ALWAYS_INVARIANT("false")
|
DRI_CONF_VS_POSITION_ALWAYS_INVARIANT("false")
|
||||||
DRI_CONF_ALLOW_RGB10_CONFIGS("true")
|
DRI_CONF_ALLOW_RGB10_CONFIGS("true")
|
||||||
DRI_CONF_ALLOW_FP16_CONFIGS("false")
|
DRI_CONF_ALLOW_FP16_CONFIGS("false")
|
||||||
|
DRI_CONF_FORCE_INTEGER_TEX_NEAREST("false")
|
||||||
DRI_CONF_SECTION_END
|
DRI_CONF_SECTION_END
|
||||||
|
@@ -235,6 +235,7 @@ struct st_config_options
|
|||||||
bool allow_glsl_cross_stage_interpolation_mismatch;
|
bool allow_glsl_cross_stage_interpolation_mismatch;
|
||||||
bool allow_glsl_layout_qualifier_on_function_parameters;
|
bool allow_glsl_layout_qualifier_on_function_parameters;
|
||||||
bool allow_draw_out_of_order;
|
bool allow_draw_out_of_order;
|
||||||
|
bool force_integer_tex_nearest;
|
||||||
char *force_gl_vendor;
|
char *force_gl_vendor;
|
||||||
unsigned char config_options_sha1[20];
|
unsigned char config_options_sha1[20];
|
||||||
};
|
};
|
||||||
|
@@ -84,6 +84,8 @@ dri_fill_st_options(struct dri_screen *screen)
|
|||||||
options->allow_higher_compat_version =
|
options->allow_higher_compat_version =
|
||||||
driQueryOptionb(optionCache, "allow_higher_compat_version");
|
driQueryOptionb(optionCache, "allow_higher_compat_version");
|
||||||
options->glsl_zero_init = driQueryOptionb(optionCache, "glsl_zero_init");
|
options->glsl_zero_init = driQueryOptionb(optionCache, "glsl_zero_init");
|
||||||
|
options->force_integer_tex_nearest =
|
||||||
|
driQueryOptionb(optionCache, "force_integer_tex_nearest");
|
||||||
options->vs_position_always_invariant =
|
options->vs_position_always_invariant =
|
||||||
driQueryOptionb(optionCache, "vs_position_always_invariant");
|
driQueryOptionb(optionCache, "vs_position_always_invariant");
|
||||||
options->force_glsl_abs_sqrt =
|
options->force_glsl_abs_sqrt =
|
||||||
|
@@ -1205,6 +1205,8 @@ void st_init_extensions(struct pipe_screen *screen,
|
|||||||
|
|
||||||
consts->GLSLZeroInit = options->glsl_zero_init;
|
consts->GLSLZeroInit = options->glsl_zero_init;
|
||||||
|
|
||||||
|
consts->ForceIntegerTexNearest = options->force_integer_tex_nearest;
|
||||||
|
|
||||||
consts->VendorOverride = options->force_gl_vendor;
|
consts->VendorOverride = options->force_gl_vendor;
|
||||||
|
|
||||||
consts->UniformBooleanTrue = consts->NativeIntegers ? ~0U : fui(1.0f);
|
consts->UniformBooleanTrue = consts->NativeIntegers ? ~0U : fui(1.0f);
|
||||||
|
@@ -268,6 +268,16 @@ TODO: document the other workarounds.
|
|||||||
<option name="glsl_zero_init" value="true" />
|
<option name="glsl_zero_init" value="true" />
|
||||||
</application>
|
</application>
|
||||||
|
|
||||||
|
<application name="GRID Autosport" executable="GridAutosport">
|
||||||
|
<!-- https://gitlab.freedesktop.org/mesa/mesa/issues/1258 -->
|
||||||
|
<option name="force_integer_tex_nearest" value="true" />
|
||||||
|
</application>
|
||||||
|
|
||||||
|
<application name="DIRT: Showdown" executable="dirt.i386">
|
||||||
|
<!-- https://gitlab.freedesktop.org/mesa/mesa/issues/1258 -->
|
||||||
|
<option name="force_integer_tex_nearest" value="true" />
|
||||||
|
</application>
|
||||||
|
|
||||||
<!-- The GL thread whitelist is below, workarounds are above.
|
<!-- The GL thread whitelist is below, workarounds are above.
|
||||||
Keep it that way. -->
|
Keep it that way. -->
|
||||||
|
|
||||||
|
@@ -309,6 +309,11 @@ DRI_CONF_OPT_BEGIN_B(allow_fp16_configs, def) \
|
|||||||
DRI_CONF_DESC(en,gettext("Allow exposure of visuals and fbconfigs with fp16 formats")) \
|
DRI_CONF_DESC(en,gettext("Allow exposure of visuals and fbconfigs with fp16 formats")) \
|
||||||
DRI_CONF_OPT_END
|
DRI_CONF_OPT_END
|
||||||
|
|
||||||
|
#define DRI_CONF_FORCE_INTEGER_TEX_NEAREST(def) \
|
||||||
|
DRI_CONF_OPT_BEGIN_B(force_integer_tex_nearest, def) \
|
||||||
|
DRI_CONF_DESC(en,gettext("Force integer textures to use nearest filtering")) \
|
||||||
|
DRI_CONF_OPT_END
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Initialization configuration options
|
* \brief Initialization configuration options
|
||||||
*/
|
*/
|
||||||
|
Reference in New Issue
Block a user