freedreno: limit tiling to PIPE_BIND_SAMPLER_VIEW
authorRob Clark <robdclark@gmail.com>
Fri, 25 Jan 2019 14:03:51 +0000 (09:03 -0500)
committerRob Clark <robdclark@gmail.com>
Fri, 25 Jan 2019 15:20:05 +0000 (10:20 -0500)
1ce5d757d04 dropped this limit.. which is probably the right thing to
do.  But it results in an extra tiled->linear blit for glReadPixels()
(ie. dEQP/piglit) which is hitting some intermittent corruption (looks
like cache) on a6xx, causing a lot of spurious fails.

Since we are getting close to 19.0 branchpoint, re-instate this limit
for now, until the blitter problems are resolved.

Fixes: 1ce5d757d04 freedreno: core buffer modifier support
Signed-off-by: Rob Clark <robdclark@gmail.com>
src/gallium/drivers/freedreno/freedreno_resource.c

index 2e7c00ad1fed481cabd6660f67d1e059a03fe196..ca48fc9cee1f2fbdce2268fafe924176a50d8ebb 100644 (file)
@@ -885,6 +885,7 @@ fd_resource_create_with_modifiers(struct pipe_screen *pscreen,
 
        if (screen->tile_mode &&
                        (tmpl->target != PIPE_BUFFER) &&
+                       (tmpl->bind & PIPE_BIND_SAMPLER_VIEW) &&
                        !linear) {
                rsc->tile_mode = screen->tile_mode(tmpl);
        }