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