diff --git a/src/dawn_native/ProgrammablePassEncoder.cpp b/src/dawn_native/ProgrammablePassEncoder.cpp index 9150ac9aa9..7ef2d1c540 100644 --- a/src/dawn_native/ProgrammablePassEncoder.cpp +++ b/src/dawn_native/ProgrammablePassEncoder.cpp @@ -180,7 +180,15 @@ namespace dawn_native { if ((dynamicOffsets[i] > bufferBinding.buffer->GetSize() - bufferBinding.offset - bufferBinding.size)) { - return DAWN_VALIDATION_ERROR("dynamic offset out of bounds"); + if ((bufferBinding.buffer->GetSize() - bufferBinding.offset) == + bufferBinding.size) { + return DAWN_VALIDATION_ERROR( + "Dynamic offset out of bounds. The binding goes to the end of the " + "buffer even with a dynamic offset of 0. Did you forget to specify " + "the binding's size?"); + } else { + return DAWN_VALIDATION_ERROR("Dynamic offset out of bounds"); + } } } }