Added glFlush before sending VB/IB to fronted renderer

This commit is contained in:
r.kuznetsov 2015-12-22 12:09:10 +03:00
parent 6d6e55da68
commit b50bafeb89
3 changed files with 14 additions and 0 deletions

View file

@ -287,6 +287,7 @@ void BackendRenderer::RecacheMyPosition()
auto msg = make_unique_dp<MyPositionShapeMessage>(make_unique_dp<MyPosition>(m_texMng),
make_unique_dp<SelectionShape>(m_texMng));
GLFunctions::glFlush();
m_commutator->PostMessage(ThreadsCommutator::RenderThread, move(msg), MessagePriority::High);
}

View file

@ -176,6 +176,9 @@ drape_ptr<LayerRenderer> LayerCacher::RecacheWidgets(TWidgetsInitInfo const & in
sizeInfo[node.first] = cacheFunction->second(node.second, make_ref(renderer), textures);
}
// Flush gui geometry.
GLFunctions::glFlush();
return renderer;
}
@ -191,6 +194,10 @@ drape_ptr<LayerRenderer> LayerCacher::RecacheCountryStatus(ref_ptr<dp::TextureMa
RegisterButtonHandler(handlers, CountryStatusHelper::BUTTON_TRY_AGAIN);
renderer->AddShapeRenderer(WIDGET_COUNTRY_STATUS, countryStatus.Draw(textures, handlers));
// Flush gui geometry.
GLFunctions::glFlush();
return renderer;
}

View file

@ -25,6 +25,9 @@ void RouteBuilder::Build(m2::PolylineD const & routePolyline, vector<double> con
routeData->m_sourceTurns = turns;
RouteShape(params).Draw(textures, *routeData.get());
// Flush route geometry.
GLFunctions::glFlush();
if (m_flushRouteFn != nullptr)
m_flushRouteFn(move(routeData));
}
@ -45,6 +48,9 @@ void RouteBuilder::BuildSign(m2::PointD const & pos, bool isStart, bool isValid,
RouteShape(params).CacheRouteSign(textures, *routeSignData.get());
}
// Flush route sign geometry.
GLFunctions::glFlush();
if (m_flushRouteSignFn != nullptr)
m_flushRouteSignFn(move(routeSignData));
}