Vulkan: Fix DynamicBuffer usages, need to use specific alignment
The alignment used to allocate VkBuffers in the VkBuffer needs to be at
least the size of the nonCoherentAtomSize defined in the limits of the
VkDevicePhysicalProperties. The latest roll of the
vulkan-validation-layers added that check and caused a bunch of errors.
This is fixing them.
Bug: angleproject:2565
Change-Id: Ia2ad506dce7966adb6220c52ea891903922c47d0
Reviewed-on: https://chromium-review.googlesource.com/1064950
Commit-Queue: Luc Ferron <lucferron@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
diff --git a/src/libANGLE/renderer/vulkan/VertexArrayVk.cpp b/src/libANGLE/renderer/vulkan/VertexArrayVk.cpp
index 16af443..f6ce42c 100644
--- a/src/libANGLE/renderer/vulkan/VertexArrayVk.cpp
+++ b/src/libANGLE/renderer/vulkan/VertexArrayVk.cpp
@@ -26,7 +26,7 @@
constexpr size_t kDynamicIndexDataSize = 1024 * 8;
} // anonymous namespace
-VertexArrayVk::VertexArrayVk(const gl::VertexArrayState &state)
+VertexArrayVk::VertexArrayVk(const gl::VertexArrayState &state, RendererVk *renderer)
: VertexArrayImpl(state),
mCurrentArrayBufferHandles{},
mCurrentArrayBufferOffsets{},
@@ -36,6 +36,7 @@
mCurrentElementArrayBufferResource(nullptr),
mDynamicVertexData(VK_BUFFER_USAGE_VERTEX_BUFFER_BIT, kDynamicVertexDataSize),
mDynamicIndexData(VK_BUFFER_USAGE_INDEX_BUFFER_BIT, kDynamicIndexDataSize),
+ mLineLoopHelper(renderer),
mDirtyLineLoopTranslation(true),
mVertexBuffersDirty(false),
mIndexBufferDirty(false)
@@ -47,8 +48,8 @@
mPackedInputBindings.fill({0, 0});
mPackedInputAttributes.fill({0, 0, 0});
- mDynamicVertexData.init(1);
- mDynamicIndexData.init(1);
+ mDynamicVertexData.init(1, renderer);
+ mDynamicIndexData.init(1, renderer);
}
VertexArrayVk::~VertexArrayVk()