radv: Handle cmask being disallowed by addrlib.
authorBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Sun, 7 Jul 2019 19:24:17 +0000 (21:24 +0200)
committerBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Sun, 7 Jul 2019 19:29:52 +0000 (21:29 +0200)
alignment=0 does weird things with align64.

CC: <mesa-stable@lists.freedesktop.org>
Reviewed-by: Dave Airlie <airlied@redhat.com>
src/amd/vulkan/radv_image.c

index 1ba1a38c86f19b378496d7bb4e2d75399afb000c..6245873a4edcf94ccab95bf91e430220353fb5d6 100644 (file)
@@ -1153,6 +1153,11 @@ radv_image_alloc_cmask(struct radv_device *device,
        uint32_t clear_value_size = 0;
        radv_image_get_cmask_info(device, image, &image->cmask);
 
+       if (!image->cmask.size)
+               return;
+
+       assert(image->cmask.alignment);
+
        image->cmask.offset = align64(image->size, image->cmask.alignment);
        /* + 8 for storing the clear values */
        if (!image->clear_value_offset) {