From deb7998834245983ae89b776256d47c2eeb39192 Mon Sep 17 00:00:00 2001 From: Chris Dalton Date: Wed, 10 Jan 2018 15:16:05 -0500 Subject: Fix buffer size assertion in Vulkan Bug: skia: Change-Id: I2b878ec288b6dac891fc3724678a528d2db08b09 Reviewed-on: https://skia-review.googlesource.com/93362 Commit-Queue: Chris Dalton Reviewed-by: Greg Daniel --- src/gpu/vk/GrVkBuffer.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/gpu/vk/GrVkBuffer.cpp b/src/gpu/vk/GrVkBuffer.cpp index a93a16e3cc..5aa3fb0c15 100644 --- a/src/gpu/vk/GrVkBuffer.cpp +++ b/src/gpu/vk/GrVkBuffer.cpp @@ -193,7 +193,9 @@ void GrVkBuffer::internalUnmap(GrVkGpu* gpu, size_t size) { VK_CALL(gpu, UnmapMemory(gpu->device(), this->alloc().fMemory)); fMapPtr = nullptr; } else { - if (size <= 65536) { + // vkCmdUpdateBuffer requires size < 64k and 4-byte alignment. + // https://bugs.chromium.org/p/skia/issues/detail?id=7488 + if (size <= 65536 && 0 == (size & 0x3)) { gpu->updateBuffer(this, fMapPtr, this->offset(), size); } else { GrVkTransferBuffer* transferBuffer = -- cgit v1.2.3