virgl: make transfer code with PIPE_BUFFER targets
authorGurchetan Singh <gurchetansingh@chromium.org>
Sat, 1 Dec 2018 02:08:14 +0000 (18:08 -0800)
committerBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Wed, 19 Dec 2018 12:29:16 +0000 (13:29 +0100)
util_format_get_blocksize returns 1 for R8 formats (all
PIPE_BUFFERs are R8).

Reviewed-by: Elie Tournier <elie.tournier@collabora.com>
src/gallium/drivers/virgl/virgl_resource.c

index ae97d4c..6d930dc 100644 (file)
@@ -171,8 +171,10 @@ virgl_resource_create_transfer(struct pipe_context *ctx,
    }
    else if (pres->target == PIPE_TEXTURE_1D_ARRAY) {
       offset += box->z * metadata->stride[level];
-   }
-   else {
+      assert(box->y == 0);
+   } else if (pres->target == PIPE_BUFFER) {
+      assert(box->y == 0 && box->z == 0);
+   } else {
       assert(box->z == 0);
    }