summaryrefslogtreecommitdiff
path: root/platform/glfw/glfw_view.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'platform/glfw/glfw_view.cpp')
-rw-r--r--platform/glfw/glfw_view.cpp18
1 files changed, 11 insertions, 7 deletions
diff --git a/platform/glfw/glfw_view.cpp b/platform/glfw/glfw_view.cpp
index 3d10f2c654..1992268d75 100644
--- a/platform/glfw/glfw_view.cpp
+++ b/platform/glfw/glfw_view.cpp
@@ -168,7 +168,7 @@ void GLFWView::setRenderFrontend(GLFWRendererFrontend* rendererFrontend_) {
rendererFrontend = rendererFrontend_;
}
-mbgl::gfx::RendererBackend& GLFWView::getRendererBackend() {
+mbgl::gfx::RendererBackend* GLFWView::getRendererBackend() {
return backend->getRendererBackend();
}
@@ -180,6 +180,9 @@ void GLFWView::onKey(GLFWwindow *window, int key, int /*scancode*/, int action,
view->animateRouteCallback = nullptr;
switch (key) {
+ case GLFW_KEY_V:
+ view->rendererFrontend->getRenderer()->setRendererBackend(view->getRendererBackend());
+ break;
case GLFW_KEY_ESCAPE:
glfwSetWindowShouldClose(window, true);
break;
@@ -709,13 +712,14 @@ void GLFWView::run() {
updateAnimatedAnnotations();
- mbgl::gfx::BackendScope scope { backend->getRendererBackend() };
-
- rendererFrontend->render();
+ if (backend->getRendererBackend()) {
+ mbgl::gfx::BackendScope scope { *backend->getRendererBackend() };
+ rendererFrontend->render();
- report(1000 * (glfwGetTime() - started));
- if (benchmark) {
- invalidate();
+ report(1000 * (glfwGetTime() - started));
+ if (benchmark) {
+ invalidate();
+ }
}
}