From the Vulkan spec:
Size is the number of bytes to fill, and must be either a multiple of 4,
or VK_WHOLE_SIZE to fill the range from offset to the end of the buffer.
If VK_WHOLE_SIZE is used and the remaining size of the buffer is not a
multiple of 4, then the nearest smaller multiple is used.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
meta_clear_begin(&saved_state, cmd_buffer);
+ if (fillSize == VK_WHOLE_SIZE) {
+ fillSize = dst_buffer->size - dstOffset;
+ /* Make sure fillSize is a multiple of 4 */
+ fillSize -= fillSize & 3;
+ }
+
VkFormat format;
int bs;
if ((fillSize & 15) == 0 && (dstOffset & 15) == 0) {