Fixing source_offset in Vulkan update_buffer. (#8339)
diff --git a/iree/hal/vulkan/direct_command_buffer.cc b/iree/hal/vulkan/direct_command_buffer.cc
index 015250c..de6bb0f 100644
--- a/iree/hal/vulkan/direct_command_buffer.cc
+++ b/iree/hal/vulkan/direct_command_buffer.cc
@@ -615,7 +615,8 @@
// may be slower than just using write-through mapped memory). The
// recommendation in the spec for larger updates is to split the single update
// into multiple updates over the entire desired range.
- const auto* source_buffer_ptr = static_cast<const uint8_t*>(source_buffer);
+ const auto* source_buffer_ptr =
+ static_cast<const uint8_t*>(source_buffer) + source_offset;
target_offset += iree_hal_buffer_byte_offset(target_buffer);
while (length > 0) {
iree_device_size_t chunk_length =