radv: add a LLVM version string workaround for SotTR and ACO

When the LLVM version is too old or missing, SotTR applies shader
workarounds and that reduces performance by 2-5% with ACO.

SotTR workarounds are applied with LLVM 8 and older, so reporting
LLVM 9.0.1 should be fine.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Edmondo Tommasina <edmondo.tommasina@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4984>
This commit is contained in:
Samuel Pitoiset
2020-05-11 09:54:11 +02:00
committed by Marge Bot
parent 91c757b796
commit 1ef03dade1
3 changed files with 36 additions and 3 deletions
+5
View File
@@ -673,4 +673,9 @@ TODO: document the other workarounds.
<option name="vs_position_always_invariant" value="true" />
</application>
</device>
<device driver="radv">
<application name="Shadow Of The Tomb Raider" executable="ShadowOfTheTombRaider">
<option name="radv_report_llvm9_version_string" value="true" />
</application>
</device>
</driconf>
+9
View File
@@ -421,3 +421,12 @@ DRI_CONF_OPT_END
DRI_CONF_OPT_BEGIN_V(gles_samples_passed_value, def, minimum, maximum) \
DRI_CONF_DESC(en,gettext("GL_SAMPLES_PASSED value when emulated by GL_ANY_SAMPLES_PASSED")) \
DRI_CONF_OPT_END
/**
* \brief RADV specific configuration options
*/
#define DRI_CONF_RADV_REPORT_LLVM9_VERSION_STRING(def) \
DRI_CONF_OPT_BEGIN_B(radv_report_llvm9_version_string, def) \
DRI_CONF_DESC(en,gettext("Report LLVM 9.0.1 for games that apply shader workarounds if missing (for ACO only)")) \
DRI_CONF_OPT_END