From: Dave Airlie <airl...@redhat.com>

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.
---
 src/gallium/drivers/r600/r600_texture.c | 5 +++++
 1 file changed, 5 insertions(+)

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)
-- 
2.14.3

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to