diff options
author | Axel Davy <[email protected]> | 2019-04-10 23:09:08 +0200 |
---|---|---|
committer | Axel Davy <[email protected]> | 2019-04-30 19:18:51 +0200 |
commit | c097ff36174d77df9b641be392c5f15d4ab930fd (patch) | |
tree | 1d21a435453f77d137634ac83804d7bb8a8d9d2f /src/gallium/targets/d3dadapter9 | |
parent | 7dcc85b46e2253c1efd425e55749e1714a260a21 (diff) |
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 <[email protected]>
Diffstat (limited to 'src/gallium/targets/d3dadapter9')
-rw-r--r-- | src/gallium/targets/d3dadapter9/drm.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/gallium/targets/d3dadapter9/drm.c b/src/gallium/targets/d3dadapter9/drm.c index 4418ceb93d6..b9ae076c544 100644 --- a/src/gallium/targets/d3dadapter9/drm.c +++ b/src/gallium/targets/d3dadapter9/drm.c @@ -59,6 +59,7 @@ DRI_CONF_BEGIN DRI_CONF_NINE_ALLOWDISCARDDELAYEDRELEASE("true") DRI_CONF_NINE_TEARFREEDISCARD("false") DRI_CONF_NINE_CSMT(-1) + DRI_CONF_NINE_DYNAMICTEXTUREWORKAROUND("false") DRI_CONF_SECTION_END DRI_CONF_END; @@ -298,6 +299,11 @@ drm_create_adapter( int fd, else ctx->base.csmt_force = -1; + if (driCheckOption(&userInitOptions, "dynamic_texture_workaround", DRI_BOOL)) + ctx->base.dynamic_texture_workaround = driQueryOptionb(&userInitOptions, "dynamic_texture_workaround"); + else + ctx->base.dynamic_texture_workaround = FALSE; + driDestroyOptionCache(&userInitOptions); driDestroyOptionInfo(&defaultInitOptions); |