diff options
author | Konstantin Käfer <mail@kkaefer.com> | 2019-03-21 12:43:22 +0100 |
---|---|---|
committer | Konstantin Käfer <mail@kkaefer.com> | 2019-04-05 11:49:17 +0200 |
commit | 543b678982037595895a474f3a69348dc235e0fa (patch) | |
tree | 404902164dd27e409515de5fcf9a43fe81231686 /src/mbgl/renderer/renderer_impl.cpp | |
parent | 5270b2ffbd4fca75f93e7052bd928ebed3ea272a (diff) | |
download | qtlocation-mapboxgl-543b678982037595895a474f3a69348dc235e0fa.tar.gz |
[core] introduce CommandEncoder object
Diffstat (limited to 'src/mbgl/renderer/renderer_impl.cpp')
-rw-r--r-- | src/mbgl/renderer/renderer_impl.cpp | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/src/mbgl/renderer/renderer_impl.cpp b/src/mbgl/renderer/renderer_impl.cpp index f5d72712b6..c58f4a091d 100644 --- a/src/mbgl/renderer/renderer_impl.cpp +++ b/src/mbgl/renderer/renderer_impl.cpp @@ -310,13 +310,6 @@ void Renderer::Impl::render(const UpdateParameters& updateParameters) { backend.updateAssumedState(); - // TODO: remove cast - gl::Context& glContext = static_cast<gl::Context&>(parameters.context); - - if (parameters.contextMode == GLContextMode::Shared) { - glContext.setDirtyState(); - } - // Set render tiles to the render items. for (auto& renderItem : renderItems) { if (!renderItem.source) { @@ -372,6 +365,15 @@ void Renderer::Impl::render(const UpdateParameters& updateParameters) { } } + const auto encoder = parameters.context.createCommandEncoder(); + + // TODO: remove cast + gl::Context& glContext = static_cast<gl::Context&>(parameters.context); + + if (parameters.contextMode == GLContextMode::Shared) { + glContext.setDirtyState(); + } + // - UPLOAD PASS ------------------------------------------------------------------------------- // Uploads all required buffers and images before we do any actual rendering. { @@ -595,8 +597,7 @@ void Renderer::Impl::render(const UpdateParameters& updateParameters) { observer->onDidFinishRenderingMap(); } - // Cleanup only after signaling completion - parameters.context.performCleanup(); + // CommandEncoder destructor submits render commands. } void Renderer::Impl::flush() { |