summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2018-02-28 04:37:45 +0000
committerEmil Velikov <emil.l.velikov@gmail.com>2018-03-20 16:57:24 +0000
commit3016b790762880a2f3777d9b449096c8db3e27c4 (patch)
treee4824cbf025264043155920618a6fa98de9a742d
parentf5599cc17aa369c32213648bcbe6cc2526a31257 (diff)
r600: partly revert disabling tiling for 1d texture.
Previously we had a check for 1d of narrow 2D textures, however narrow 2d textures caused gpu hangs, but it was correct for 1d textures. This fixes a bunch of 1D image piglits for me. Fixes: 7b8e1c089d (r600/texture: drop lowering 1d/2d images to linear.) Reviewed-by: Roland Scheidegger <sroland@vmware.com> Signed-off-by: Dave Airlie <airlied@redhat.com> (cherry picked from commit a5853a33332d51382cae42397f353817e47cccc9)
-rw-r--r--src/gallium/drivers/r600/r600_texture.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/gallium/drivers/r600/r600_texture.c b/src/gallium/drivers/r600/r600_texture.c
index 03cdcd22eee..1fbb682d671 100644
--- a/src/gallium/drivers/r600/r600_texture.c
+++ b/src/gallium/drivers/r600/r600_texture.c
@@ -1053,6 +1053,11 @@ r600_choose_tiling(struct r600_common_screen *rscreen,
if (templ->bind & PIPE_BIND_LINEAR)
return RADEON_SURF_MODE_LINEAR_ALIGNED;
+ /* 1D textures should be linear - fixes image operations on 1d */
+ if (templ->target == PIPE_TEXTURE_1D ||
+ templ->target == PIPE_TEXTURE_1D_ARRAY)
+ return RADEON_SURF_MODE_LINEAR_ALIGNED;
+
/* Textures likely to be mapped often. */
if (templ->usage == PIPE_USAGE_STAGING ||
templ->usage == PIPE_USAGE_STREAM)