Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorr.kuznetsov <r.kuznetsov@corp.mail.ru>2019-02-14 14:43:48 +0300
committerDaria Volvenkova <d.volvenkova@corp.mail.ru>2019-03-01 10:45:24 +0300
commitff589c4b54b190bf8e8dce32b35e7f75715705c8 (patch)
tree74870dadc99173f1d1e849a934025a9bccfa5ca7 /drape/vertex_array_buffer.cpp
parentd4dd122572599524f5841c04edb5c9de0d14ba7b (diff)
[vulkan] Binding info optimization
Diffstat (limited to 'drape/vertex_array_buffer.cpp')
-rw-r--r--drape/vertex_array_buffer.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/drape/vertex_array_buffer.cpp b/drape/vertex_array_buffer.cpp
index 4375b404c1..b77dce0389 100644
--- a/drape/vertex_array_buffer.cpp
+++ b/drape/vertex_array_buffer.cpp
@@ -217,8 +217,8 @@ void VertexArrayBuffer::Build(ref_ptr<GraphicsContext> context, ref_ptr<GpuProgr
}
else if (apiVersion == dp::ApiVersion::Vulkan)
{
- CHECK(!m_bindingInfo.empty(), ());
- m_impl = CreateImplForVulkan(context, make_ref(this), std::move(m_bindingInfo));
+ CHECK_NOT_EQUAL(m_bindingInfoCount, 0, ());
+ m_impl = CreateImplForVulkan(context, make_ref(this), std::move(m_bindingInfo), m_bindingInfoCount);
}
else
{
@@ -448,8 +448,9 @@ void VertexArrayBuffer::CollectBindingInfo(dp::BindingInfo const & bindingInfo)
return;
}
- m_bindingInfo.push_back(bindingInfo);
- std::sort(m_bindingInfo.begin(), m_bindingInfo.end(),
+ CHECK_LESS(m_bindingInfoCount, kMaxBindingInfo, ());
+ m_bindingInfo[m_bindingInfoCount++] = bindingInfo;
+ std::sort(m_bindingInfo.begin(), m_bindingInfo.begin() + m_bindingInfoCount,
[](dp::BindingInfo const & info1, dp::BindingInfo const & info2)
{
return info1.GetID() < info2.GetID();