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/ContextVk.cpp b/src/libANGLE/renderer/vulkan/ContextVk.cpp
index 2cf0050..54b0ee5 100644
--- a/src/libANGLE/renderer/vulkan/ContextVk.cpp
+++ b/src/libANGLE/renderer/vulkan/ContextVk.cpp
@@ -902,7 +902,7 @@
     // Allocate a new region in the dynamic buffer.
     uint8_t *ptr            = nullptr;
     VkBuffer buffer         = VK_NULL_HANDLE;
-    uint32_t offset         = 0;
+    VkDeviceSize offset     = 0;
     bool newBufferAllocated = false;
     ANGLE_TRY(mDriverUniformsBuffer.allocate(this, sizeof(DriverUniforms), &ptr, &buffer, &offset,
                                              &newBufferAllocated));
@@ -1034,7 +1034,7 @@
 
     uint8_t *ptr;
     VkBuffer bufferHandle = VK_NULL_HANDLE;
-    uint32_t offset       = 0;
+    VkDeviceSize offset   = 0;
     ANGLE_TRY(
         defaultBuffer.allocate(this, kDefaultValueSize, &ptr, &bufferHandle, &offset, nullptr));
 
@@ -1049,7 +1049,8 @@
     ANGLE_TRY(defaultBuffer.flush(this));
 
     VertexArrayVk *vertexArrayVk = vk::GetImpl(glState.getVertexArray());
-    vertexArrayVk->updateDefaultAttrib(mRenderer, attribIndex, bufferHandle, offset);
+    vertexArrayVk->updateDefaultAttrib(mRenderer, attribIndex, bufferHandle,
+                                       static_cast<uint32_t>(offset));
     return angle::Result::Continue();
 }
 }  // namespace rx