CopyFromStagingToBuffer: ASSERT size is not 0 Zero-sized copies are invalid in a couple backends, and in follow up CLs CreateBufferMapped will be change to handle zero-sized buffers correctly. Bug: chromium:1069076 Change-Id: Ieef62a13182bbe1e939a3847980c91339e42aa8f Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/22460 Reviewed-by: Stephen White <senorblanco@chromium.org> Reviewed-by: Austin Eng <enga@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
diff --git a/src/dawn_native/Buffer.cpp b/src/dawn_native/Buffer.cpp index 2b738b2..46d00d1 100644 --- a/src/dawn_native/Buffer.cpp +++ b/src/dawn_native/Buffer.cpp
@@ -319,6 +319,10 @@ MaybeError BufferBase::CopyFromStagingBuffer() { ASSERT(mStagingBuffer); + if (GetSize() == 0) { + return {}; + } + DAWN_TRY(GetDevice()->CopyFromStagingToBuffer(mStagingBuffer.get(), 0, this, 0, GetSize())); DynamicUploader* uploader = GetDevice()->GetDynamicUploader();