diff options
author | Konstantin Käfer <mail@kkaefer.com> | 2016-07-07 19:13:16 +0200 |
---|---|---|
committer | Konstantin Käfer <mail@kkaefer.com> | 2016-07-08 13:11:25 +0200 |
commit | 4f26c8122a57cd5fe35a10dc2e125500179a75a5 (patch) | |
tree | 02381c3db2adedcc6afa721137a6fb318ec915dd /src/mbgl/renderer/painter.cpp | |
parent | aaa30c8a19bd608baf4c190f794258919365c36d (diff) | |
download | qtlocation-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.cpp | 18 |
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()); } |