Vulkan: Return VkDeviceSize from DynamicBuffer.

This obviates many static_casts. More closely represents what Vulkan
is doing. One cast remains where we are using uint32_t for dynamic
offsets with uniform buffers.

Bug: angleproject:2786
Change-Id: I043ebb5d965f46ee6ebbfcb91d75a58508cacfe3
Reviewed-on: https://chromium-review.googlesource.com/1188949
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
diff --git a/src/libANGLE/renderer/vulkan/ProgramVk.cpp b/src/libANGLE/renderer/vulkan/ProgramVk.cpp
index 2d140ee..64a3508 100644
--- a/src/libANGLE/renderer/vulkan/ProgramVk.cpp
+++ b/src/libANGLE/renderer/vulkan/ProgramVk.cpp
@@ -120,10 +120,10 @@
     ASSERT(!bufferData.empty());
     uint8_t *data       = nullptr;
     VkBuffer *outBuffer = nullptr;
-    uint32_t offset;
+    VkDeviceSize offset = 0;
     ANGLE_TRY(dynamicBuffer->allocate(contextVk, bufferData.size(), &data, outBuffer, &offset,
                                       outBufferModified));
-    *outOffset = offset;
+    *outOffset = static_cast<uint32_t>(offset);
     memcpy(data, bufferData.data(), bufferData.size());
     ANGLE_TRY(dynamicBuffer->flush(contextVk));
     return angle::Result::Continue();