v3d: Don't automatically reallocate a PERSISTENT-mapped buffer.
authorEric Anholt <eric@anholt.net>
Wed, 11 Jul 2018 18:22:16 +0000 (11:22 -0700)
committerEric Anholt <eric@anholt.net>
Thu, 12 Jul 2018 18:31:08 +0000 (11:31 -0700)
I had mistakenly used the COHERENT flag, which can only be set when
PERSISTENT is mapped, but isn't always.

Fixes piglit bufferstorage-persistent read

src/gallium/drivers/v3d/v3d_resource.c

index 74d49b4d810044924cb6d2101881c09ea99be843..3df03d71df49cf2f26d3c1d02a9a569dc62eb086 100644 (file)
@@ -168,7 +168,7 @@ v3d_resource_transfer_map(struct pipe_context *pctx,
          */
         if ((usage & PIPE_TRANSFER_DISCARD_RANGE) &&
             !(usage & PIPE_TRANSFER_UNSYNCHRONIZED) &&
          */
         if ((usage & PIPE_TRANSFER_DISCARD_RANGE) &&
             !(usage & PIPE_TRANSFER_UNSYNCHRONIZED) &&
-            !(prsc->flags & PIPE_RESOURCE_FLAG_MAP_COHERENT) &&
+            !(prsc->flags & PIPE_RESOURCE_FLAG_MAP_PERSISTENT) &&
             prsc->last_level == 0 &&
             prsc->width0 == box->width &&
             prsc->height0 == box->height &&
             prsc->last_level == 0 &&
             prsc->width0 == box->width &&
             prsc->height0 == box->height &&