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:
authorExMix <rahuba.youri@mapswithme.com>2014-11-18 11:10:43 +0300
committerAlex Zolotarev <alex@maps.me>2015-09-23 02:32:52 +0300
commitf74693640e342ee637e1ba420fccdea65b9fefb1 (patch)
treeb833092534a026839563c313fcb04429bcd017d1 /drape_frontend
parentba05a5cdc474cb455a30f39efca4e04fb150d7de (diff)
[drape] reduce OGL state changes. Reduce count of tile reading
Diffstat (limited to 'drape_frontend')
-rw-r--r--drape_frontend/frontend_renderer.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/drape_frontend/frontend_renderer.cpp b/drape_frontend/frontend_renderer.cpp
index 1fe377bb47..ee331cab48 100644
--- a/drape_frontend/frontend_renderer.cpp
+++ b/drape_frontend/frontend_renderer.cpp
@@ -213,6 +213,7 @@ void FrontendRenderer::RenderScene()
if (prevLayer != layer && layer == dp::GLState::OverlayLayer)
GLFunctions::glClearDepth();
+ prevLayer = layer;
ASSERT_LESS_OR_EQUAL(prevLayer, layer, ());
dp::RefPointer<dp::GpuProgram> program = m_gpuProgramManager->GetProgram(state.GetProgramIndex());
@@ -278,7 +279,11 @@ void FrontendRenderer::ResolveTileKeys(set<TileKey> & keyStorage, int tileScale)
for (int tileY = minTileY; tileY < maxTileY; ++tileY)
{
for (int tileX = minTileX; tileX < maxTileX; ++tileX)
- keyStorage.insert(TileKey(tileX, tileY, tileScale));
+ {
+ TileKey key(tileX, tileY, tileScale);
+ if (clipRect.IsIntersect(key.GetGlobalRect()))
+ keyStorage.insert(key);
+ }
}
}