st/nine: Add drirc option to use data_internal for dynamic textures

dynamic textures seem to have predictable stride. This stride
should be the same as for a ram buffer.

It seems some game don't check the actual stride value, assuming
it to be the expected one.
Thus this workaround (protected by drirc option) is to use an intermediate
ram buffer.

Fixes Rayman Legends texture issues when enabled.

Signed-off-by: Axel Davy <davyaxel0@gmail.com>
This commit is contained in:
Axel Davy
2019-04-10 23:09:08 +02:00
parent 7dcc85b46e
commit c097ff3617
7 changed files with 28 additions and 2 deletions
+5
View File
@@ -324,6 +324,11 @@ DRI_CONF_OPT_BEGIN(csmt_force, int, def) \
DRI_CONF_DESC(en,gettext("If set to 1, force gallium nine CSMT. If set to 0, disable it. By default (-1) CSMT is enabled on known thread-safe drivers.")) \
DRI_CONF_OPT_END
#define DRI_CONF_NINE_DYNAMICTEXTUREWORKAROUND(def) \
DRI_CONF_OPT_BEGIN_B(dynamic_texture_workaround, def) \
DRI_CONF_DESC(en,gettext("If set to true, use a ram intermediate buffer for dynamic textures. Increases ram usage, which can cause out of memory issues, but can fix glitches for some games.")) \
DRI_CONF_OPT_END
/**
* \brief radeonsi specific configuration options
*/