summaryrefslogtreecommitdiff
path: root/src/mbgl/renderer/painter.cpp
diff options
context:
space:
mode:
authorKonstantin Käfer <mail@kkaefer.com>2016-07-07 19:13:16 +0200
committerKonstantin Käfer <mail@kkaefer.com>2016-07-08 13:11:25 +0200
commit4f26c8122a57cd5fe35a10dc2e125500179a75a5 (patch)
tree02381c3db2adedcc6afa721137a6fb318ec915dd /src/mbgl/renderer/painter.cpp
parentaaa30c8a19bd608baf4c190f794258919365c36d (diff)
downloadqtlocation-mapboxgl-4f26c8122a57cd5fe35a10dc2e125500179a75a5.tar.gz
[core] track texture state to avoid redundand binds
Diffstat (limited to 'src/mbgl/renderer/painter.cpp')
-rw-r--r--src/mbgl/renderer/painter.cpp18
1 files changed, 11 insertions, 7 deletions
diff --git a/src/mbgl/renderer/painter.cpp b/src/mbgl/renderer/painter.cpp
index d6f14708aa..46207fbcfe 100644
--- a/src/mbgl/renderer/painter.cpp
+++ b/src/mbgl/renderer/painter.cpp
@@ -135,15 +135,15 @@ void Painter::render(const Style& style, const FrameData& frame_, SpriteAtlas& a
tileStencilBuffer.upload(store);
rasterBoundsBuffer.upload(store);
tileBorderBuffer.upload(store);
- spriteAtlas->upload(store);
- lineAtlas->upload(store);
- glyphAtlas->upload(store);
- frameHistory.upload(store);
- annotationSpriteAtlas.upload(store);
+ spriteAtlas->upload(store, config, 0);
+ lineAtlas->upload(store, config, 0);
+ glyphAtlas->upload(store, config, 0);
+ frameHistory.upload(store, config, 0);
+ annotationSpriteAtlas.upload(store, config, 0);
for (const auto& item : order) {
if (item.bucket && item.bucket->needsUpload()) {
- item.bucket->upload(store);
+ item.bucket->upload(store, config);
}
}
}
@@ -232,7 +232,11 @@ void Painter::render(const Style& style, const FrameData& frame_, SpriteAtlas& a
{
MBGL_DEBUG_GROUP("cleanup");
- MBGL_CHECK_ERROR(glBindTexture(GL_TEXTURE_2D, 0));
+ config.activeTexture = 1;
+ config.texture[1] = 0;
+ config.activeTexture = 0;
+ config.texture[0] = 0;
+
MBGL_CHECK_ERROR(VertexArrayObject::Unbind());
}