diff options
author | Thomas Mönicke <thomas.moenicke@mapbox.com> | 2020-01-31 16:01:11 +0200 |
---|---|---|
committer | Thomas Mönicke <thomas.moenicke@mapbox.com> | 2020-02-03 16:07:44 +0200 |
commit | 7e59c4207ddc205f0be2d69365784f2bb74aaf95 (patch) | |
tree | 22290865254b1f372702fdb420b809d5e8f4eb09 | |
parent | 0b727108c8517be7fc2d03d5843aefd94cb789be (diff) | |
download | qtlocation-mapboxgl-7e59c4207ddc205f0be2d69365784f2bb74aaf95.tar.gz |
[build] Adding a build flag to build without GL if needed
-rw-r--r-- | CMakeLists.txt | 2 | ||||
-rw-r--r-- | cmake/mbgl.cmake | 4 | ||||
-rw-r--r-- | include/mbgl/platform/gl_functions.hpp | 6 | ||||
-rw-r--r-- | next/CMakeLists.txt | 169 | ||||
-rw-r--r-- | next/test/CMakeLists.txt | 7 | ||||
-rw-r--r-- | src/mbgl/platform/gl_functions.cpp | 6 | ||||
-rw-r--r-- | src/mbgl/renderer/layers/render_custom_layer.cpp | 47 |
7 files changed, 143 insertions, 98 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 2547cfd5ca..9244a5e501 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -163,6 +163,8 @@ endif() include(platform/${MBGL_PLATFORM}/config.cmake) +add_definitions(-DMBGL_RENDER_BACKEND_OPENGL=1) + if(WITH_EGL) add_definitions(-DMBGL_WITH_EGL=1) endif() diff --git a/cmake/mbgl.cmake b/cmake/mbgl.cmake index 1b4338a0bb..279ead6eb2 100644 --- a/cmake/mbgl.cmake +++ b/cmake/mbgl.cmake @@ -6,6 +6,10 @@ if (NOT MBGL_PLATFORM) endif() endif() +if(MBGL_WITH_OPENGL) + add_definitions(-DMBGL_RENDER_BACKEND_OPENGL=1) +endif() + if(WITH_NODEJS) find_program(NodeJS_EXECUTABLE NAMES nodejs node) if (NOT NodeJS_EXECUTABLE) diff --git a/include/mbgl/platform/gl_functions.hpp b/include/mbgl/platform/gl_functions.hpp index fab3e3aa36..5e6b080f49 100644 --- a/include/mbgl/platform/gl_functions.hpp +++ b/include/mbgl/platform/gl_functions.hpp @@ -14,6 +14,8 @@ namespace mbgl { namespace platform { +#ifdef MBGL_RENDER_BACKEND_OPENGL + using GLbitfield = unsigned int; using GLboolean = unsigned char; using GLchar = char; @@ -328,10 +330,12 @@ extern void (* const glPointSize)(GLfloat); extern void (* const glRasterPos4d)(GLdouble, GLdouble, GLdouble, GLdouble); #endif +#endif // MBGL_RENDER_BACKEND_OPENGL + #ifndef NDEBUG /// Check for GL errors and print on the console. void glCheckError(const char *cmd, const char *file, int line); #endif } // namespace platform -} // namespace mbgl
\ No newline at end of file +} // namespace mbgl diff --git a/next/CMakeLists.txt b/next/CMakeLists.txt index 95b330992b..9b57650d22 100644 --- a/next/CMakeLists.txt +++ b/next/CMakeLists.txt @@ -23,6 +23,7 @@ option(MBGL_WITH_COVERAGE "Enable code coverage collection" OFF) option(MBGL_WITH_QT "Build Mapbox GL Qt bindings" OFF) option(MBGL_WITH_SANITIZER "Use [address|thread|undefined] here" OFF) option(MBGL_WITH_RTTI "Compile with runtime type information" OFF) +option(MBGL_WITH_OPENGL "Build with OpenGL renderer" ON) add_library( mbgl-compiler-options INTERFACE @@ -93,13 +94,10 @@ add_library( ${MBGL_ROOT}/include/mbgl/actor/message.hpp ${MBGL_ROOT}/include/mbgl/actor/scheduler.hpp ${MBGL_ROOT}/include/mbgl/annotation/annotation.hpp - ${MBGL_ROOT}/include/mbgl/gfx/backend.hpp ${MBGL_ROOT}/include/mbgl/gfx/backend_scope.hpp ${MBGL_ROOT}/include/mbgl/gfx/renderable.hpp ${MBGL_ROOT}/include/mbgl/gfx/renderer_backend.hpp ${MBGL_ROOT}/include/mbgl/gfx/rendering_stats.hpp - ${MBGL_ROOT}/include/mbgl/gl/renderable_resource.hpp - ${MBGL_ROOT}/include/mbgl/gl/renderer_backend.hpp ${MBGL_ROOT}/include/mbgl/layermanager/background_layer_factory.hpp ${MBGL_ROOT}/include/mbgl/layermanager/circle_layer_factory.hpp ${MBGL_ROOT}/include/mbgl/layermanager/custom_layer_factory.hpp @@ -124,7 +122,6 @@ add_library( ${MBGL_ROOT}/include/mbgl/math/log2.hpp ${MBGL_ROOT}/include/mbgl/math/minmax.hpp ${MBGL_ROOT}/include/mbgl/math/wrap.hpp - ${MBGL_ROOT}/include/mbgl/platform/gl_functions.hpp ${MBGL_ROOT}/include/mbgl/platform/thread.hpp ${MBGL_ROOT}/include/mbgl/renderer/query.hpp ${MBGL_ROOT}/include/mbgl/renderer/renderer.hpp @@ -324,48 +321,6 @@ add_library( ${MBGL_ROOT}/src/mbgl/gfx/upload_pass.hpp ${MBGL_ROOT}/src/mbgl/gfx/vertex_buffer.hpp ${MBGL_ROOT}/src/mbgl/gfx/vertex_vector.hpp - ${MBGL_ROOT}/src/mbgl/gl/attribute.cpp - ${MBGL_ROOT}/src/mbgl/gl/attribute.hpp - ${MBGL_ROOT}/src/mbgl/gl/command_encoder.cpp - ${MBGL_ROOT}/src/mbgl/gl/command_encoder.hpp - ${MBGL_ROOT}/src/mbgl/gl/context.cpp - ${MBGL_ROOT}/src/mbgl/gl/context.hpp - ${MBGL_ROOT}/src/mbgl/gl/debugging_extension.cpp - ${MBGL_ROOT}/src/mbgl/gl/debugging_extension.hpp - ${MBGL_ROOT}/src/mbgl/gl/defines.hpp - ${MBGL_ROOT}/src/mbgl/gl/draw_scope_resource.hpp - ${MBGL_ROOT}/src/mbgl/gl/enum.cpp - ${MBGL_ROOT}/src/mbgl/gl/enum.hpp - ${MBGL_ROOT}/src/mbgl/gl/extension.hpp - ${MBGL_ROOT}/src/mbgl/gl/framebuffer.hpp - ${MBGL_ROOT}/src/mbgl/gl/index_buffer_resource.cpp - ${MBGL_ROOT}/src/mbgl/gl/index_buffer_resource.hpp - ${MBGL_ROOT}/src/mbgl/gl/object.cpp - ${MBGL_ROOT}/src/mbgl/gl/object.hpp - ${MBGL_ROOT}/src/mbgl/gl/offscreen_texture.cpp - ${MBGL_ROOT}/src/mbgl/gl/offscreen_texture.hpp - ${MBGL_ROOT}/src/mbgl/gl/program.hpp - ${MBGL_ROOT}/src/mbgl/gl/render_pass.cpp - ${MBGL_ROOT}/src/mbgl/gl/render_pass.hpp - ${MBGL_ROOT}/src/mbgl/gl/renderbuffer_resource.hpp - ${MBGL_ROOT}/src/mbgl/gl/renderer_backend.cpp - ${MBGL_ROOT}/src/mbgl/gl/state.hpp - ${MBGL_ROOT}/src/mbgl/gl/texture.cpp - ${MBGL_ROOT}/src/mbgl/gl/texture.hpp - ${MBGL_ROOT}/src/mbgl/gl/texture_resource.cpp - ${MBGL_ROOT}/src/mbgl/gl/texture_resource.hpp - ${MBGL_ROOT}/src/mbgl/gl/types.hpp - ${MBGL_ROOT}/src/mbgl/gl/uniform.cpp - ${MBGL_ROOT}/src/mbgl/gl/uniform.hpp - ${MBGL_ROOT}/src/mbgl/gl/upload_pass.cpp - ${MBGL_ROOT}/src/mbgl/gl/upload_pass.hpp - ${MBGL_ROOT}/src/mbgl/gl/value.cpp - ${MBGL_ROOT}/src/mbgl/gl/value.hpp - ${MBGL_ROOT}/src/mbgl/gl/vertex_array.cpp - ${MBGL_ROOT}/src/mbgl/gl/vertex_array.hpp - ${MBGL_ROOT}/src/mbgl/gl/vertex_array_extension.hpp - ${MBGL_ROOT}/src/mbgl/gl/vertex_buffer_resource.cpp - ${MBGL_ROOT}/src/mbgl/gl/vertex_buffer_resource.hpp ${MBGL_ROOT}/src/mbgl/layermanager/background_layer_factory.cpp ${MBGL_ROOT}/src/mbgl/layermanager/circle_layer_factory.cpp ${MBGL_ROOT}/src/mbgl/layermanager/custom_layer_factory.cpp @@ -401,7 +356,6 @@ add_library( ${MBGL_ROOT}/src/mbgl/map/transform_state.hpp ${MBGL_ROOT}/src/mbgl/map/zoom_history.hpp ${MBGL_ROOT}/src/mbgl/math/log2.cpp - ${MBGL_ROOT}/src/mbgl/platform/gl_functions.cpp ${MBGL_ROOT}/src/mbgl/programs/attributes.hpp ${MBGL_ROOT}/src/mbgl/programs/background_pattern_program.hpp ${MBGL_ROOT}/src/mbgl/programs/background_program.cpp @@ -423,37 +377,6 @@ add_library( ${MBGL_ROOT}/src/mbgl/programs/fill_pattern_program.hpp ${MBGL_ROOT}/src/mbgl/programs/fill_program.cpp ${MBGL_ROOT}/src/mbgl/programs/fill_program.hpp - ${MBGL_ROOT}/src/mbgl/programs/gl/background.cpp - ${MBGL_ROOT}/src/mbgl/programs/gl/background_pattern.cpp - ${MBGL_ROOT}/src/mbgl/programs/gl/circle.cpp - ${MBGL_ROOT}/src/mbgl/programs/gl/clipping_mask.cpp - ${MBGL_ROOT}/src/mbgl/programs/gl/collision_box.cpp - ${MBGL_ROOT}/src/mbgl/programs/gl/collision_circle.cpp - ${MBGL_ROOT}/src/mbgl/programs/gl/debug.cpp - ${MBGL_ROOT}/src/mbgl/programs/gl/fill.cpp - ${MBGL_ROOT}/src/mbgl/programs/gl/fill_extrusion.cpp - ${MBGL_ROOT}/src/mbgl/programs/gl/fill_extrusion_pattern.cpp - ${MBGL_ROOT}/src/mbgl/programs/gl/fill_outline.cpp - ${MBGL_ROOT}/src/mbgl/programs/gl/fill_outline_pattern.cpp - ${MBGL_ROOT}/src/mbgl/programs/gl/fill_pattern.cpp - ${MBGL_ROOT}/src/mbgl/programs/gl/heatmap.cpp - ${MBGL_ROOT}/src/mbgl/programs/gl/heatmap_texture.cpp - ${MBGL_ROOT}/src/mbgl/programs/gl/hillshade.cpp - ${MBGL_ROOT}/src/mbgl/programs/gl/hillshade_prepare.cpp - ${MBGL_ROOT}/src/mbgl/programs/gl/line.cpp - ${MBGL_ROOT}/src/mbgl/programs/gl/line_gradient.cpp - ${MBGL_ROOT}/src/mbgl/programs/gl/line_pattern.cpp - ${MBGL_ROOT}/src/mbgl/programs/gl/line_sdf.cpp - ${MBGL_ROOT}/src/mbgl/programs/gl/preludes.hpp - ${MBGL_ROOT}/src/mbgl/programs/gl/raster.cpp - ${MBGL_ROOT}/src/mbgl/programs/gl/shader_source.cpp - ${MBGL_ROOT}/src/mbgl/programs/gl/shader_source.hpp - ${MBGL_ROOT}/src/mbgl/programs/gl/shaders.cpp - ${MBGL_ROOT}/src/mbgl/programs/gl/shaders.hpp - ${MBGL_ROOT}/src/mbgl/programs/gl/symbol_icon.cpp - ${MBGL_ROOT}/src/mbgl/programs/gl/symbol_sdf_icon.cpp - ${MBGL_ROOT}/src/mbgl/programs/gl/symbol_sdf_text.cpp - ${MBGL_ROOT}/src/mbgl/programs/gl/symbol_text_and_icon.cpp ${MBGL_ROOT}/src/mbgl/programs/heatmap_program.cpp ${MBGL_ROOT}/src/mbgl/programs/heatmap_program.hpp ${MBGL_ROOT}/src/mbgl/programs/heatmap_texture_program.cpp @@ -883,8 +806,98 @@ add_library( ${MBGL_ROOT}/src/mbgl/util/work_request.cpp ${MBGL_ROOT}/src/parsedate/parsedate.cpp ${MBGL_ROOT}/src/parsedate/parsedate.hpp + ${MBGL_ROOT}/src/mbgl/platform/gl_functions.cpp + ${MBGL_ROOT}/include/mbgl/platform/gl_functions.hpp ) +if(MBGL_WITH_OPENGL) + message("-- Configuring GL-Native with OpenGL renderer backend") + target_compile_definitions( + mbgl-core + PRIVATE MBGL_RENDER_BACKEND_OPENGL=1 + ) + target_sources( + mbgl-core + PRIVATE + ${MBGL_ROOT}/include/mbgl/gfx/backend.hpp + ${MBGL_ROOT}/include/mbgl/gl/renderable_resource.hpp + ${MBGL_ROOT}/include/mbgl/gl/renderer_backend.hpp + ${MBGL_ROOT}/src/mbgl/gl/attribute.cpp + ${MBGL_ROOT}/src/mbgl/gl/attribute.hpp + ${MBGL_ROOT}/src/mbgl/gl/command_encoder.cpp + ${MBGL_ROOT}/src/mbgl/gl/command_encoder.hpp + ${MBGL_ROOT}/src/mbgl/gl/context.cpp + ${MBGL_ROOT}/src/mbgl/gl/context.hpp + ${MBGL_ROOT}/src/mbgl/gl/debugging_extension.cpp + ${MBGL_ROOT}/src/mbgl/gl/debugging_extension.hpp + ${MBGL_ROOT}/src/mbgl/gl/defines.hpp + ${MBGL_ROOT}/src/mbgl/gl/draw_scope_resource.hpp + ${MBGL_ROOT}/src/mbgl/gl/enum.cpp + ${MBGL_ROOT}/src/mbgl/gl/enum.hpp + ${MBGL_ROOT}/src/mbgl/gl/extension.hpp + ${MBGL_ROOT}/src/mbgl/gl/framebuffer.hpp + ${MBGL_ROOT}/src/mbgl/gl/index_buffer_resource.cpp + ${MBGL_ROOT}/src/mbgl/gl/index_buffer_resource.hpp + ${MBGL_ROOT}/src/mbgl/gl/object.cpp + ${MBGL_ROOT}/src/mbgl/gl/object.hpp + ${MBGL_ROOT}/src/mbgl/gl/offscreen_texture.cpp + ${MBGL_ROOT}/src/mbgl/gl/offscreen_texture.hpp + ${MBGL_ROOT}/src/mbgl/gl/program.hpp + ${MBGL_ROOT}/src/mbgl/gl/render_pass.cpp + ${MBGL_ROOT}/src/mbgl/gl/render_pass.hpp + ${MBGL_ROOT}/src/mbgl/gl/renderbuffer_resource.hpp + ${MBGL_ROOT}/src/mbgl/gl/renderer_backend.cpp + ${MBGL_ROOT}/src/mbgl/gl/state.hpp + ${MBGL_ROOT}/src/mbgl/gl/texture.cpp + ${MBGL_ROOT}/src/mbgl/gl/texture.hpp + ${MBGL_ROOT}/src/mbgl/gl/texture_resource.cpp + ${MBGL_ROOT}/src/mbgl/gl/texture_resource.hpp + ${MBGL_ROOT}/src/mbgl/gl/types.hpp + ${MBGL_ROOT}/src/mbgl/gl/uniform.cpp + ${MBGL_ROOT}/src/mbgl/gl/uniform.hpp + ${MBGL_ROOT}/src/mbgl/gl/upload_pass.cpp + ${MBGL_ROOT}/src/mbgl/gl/upload_pass.hpp + ${MBGL_ROOT}/src/mbgl/gl/value.cpp + ${MBGL_ROOT}/src/mbgl/gl/value.hpp + ${MBGL_ROOT}/src/mbgl/gl/vertex_array.cpp + ${MBGL_ROOT}/src/mbgl/gl/vertex_array.hpp + ${MBGL_ROOT}/src/mbgl/gl/vertex_array_extension.hpp + ${MBGL_ROOT}/src/mbgl/gl/vertex_buffer_resource.cpp + ${MBGL_ROOT}/src/mbgl/gl/vertex_buffer_resource.hpp + ${MBGL_ROOT}/src/mbgl/programs/gl/background.cpp + ${MBGL_ROOT}/src/mbgl/programs/gl/background_pattern.cpp + ${MBGL_ROOT}/src/mbgl/programs/gl/circle.cpp + ${MBGL_ROOT}/src/mbgl/programs/gl/clipping_mask.cpp + ${MBGL_ROOT}/src/mbgl/programs/gl/collision_box.cpp + ${MBGL_ROOT}/src/mbgl/programs/gl/collision_circle.cpp + ${MBGL_ROOT}/src/mbgl/programs/gl/debug.cpp + ${MBGL_ROOT}/src/mbgl/programs/gl/fill.cpp + ${MBGL_ROOT}/src/mbgl/programs/gl/fill_extrusion.cpp + ${MBGL_ROOT}/src/mbgl/programs/gl/fill_extrusion_pattern.cpp + ${MBGL_ROOT}/src/mbgl/programs/gl/fill_outline.cpp + ${MBGL_ROOT}/src/mbgl/programs/gl/fill_outline_pattern.cpp + ${MBGL_ROOT}/src/mbgl/programs/gl/fill_pattern.cpp + ${MBGL_ROOT}/src/mbgl/programs/gl/heatmap.cpp + ${MBGL_ROOT}/src/mbgl/programs/gl/heatmap_texture.cpp + ${MBGL_ROOT}/src/mbgl/programs/gl/hillshade.cpp + ${MBGL_ROOT}/src/mbgl/programs/gl/hillshade_prepare.cpp + ${MBGL_ROOT}/src/mbgl/programs/gl/line.cpp + ${MBGL_ROOT}/src/mbgl/programs/gl/line_gradient.cpp + ${MBGL_ROOT}/src/mbgl/programs/gl/line_pattern.cpp + ${MBGL_ROOT}/src/mbgl/programs/gl/line_sdf.cpp + ${MBGL_ROOT}/src/mbgl/programs/gl/preludes.hpp + ${MBGL_ROOT}/src/mbgl/programs/gl/raster.cpp + ${MBGL_ROOT}/src/mbgl/programs/gl/shader_source.cpp + ${MBGL_ROOT}/src/mbgl/programs/gl/shader_source.hpp + ${MBGL_ROOT}/src/mbgl/programs/gl/shaders.cpp + ${MBGL_ROOT}/src/mbgl/programs/gl/shaders.hpp + ${MBGL_ROOT}/src/mbgl/programs/gl/symbol_icon.cpp + ${MBGL_ROOT}/src/mbgl/programs/gl/symbol_sdf_icon.cpp + ${MBGL_ROOT}/src/mbgl/programs/gl/symbol_sdf_text.cpp + ${MBGL_ROOT}/src/mbgl/programs/gl/symbol_text_and_icon.cpp + ) +endif() + if(EXISTS ${MBGL_ROOT}/.git/HEAD) execute_process( COMMAND diff --git a/next/test/CMakeLists.txt b/next/test/CMakeLists.txt index dc6ea3987c..ce980f78d1 100644 --- a/next/test/CMakeLists.txt +++ b/next/test/CMakeLists.txt @@ -110,6 +110,13 @@ add_library( ${MBGL_ROOT}/test/util/url.test.cpp ) +if(MBGL_WITH_OPENGL) + target_compile_definitions( + mbgl-test + PRIVATE MBGL_RENDER_BACKEND_OPENGL=1 + ) +endif() + if(WIN32 OR CMAKE_SYSTEM_NAME STREQUAL Android) message("Target platform does not support HTTP tests or dependencies not found.") diff --git a/src/mbgl/platform/gl_functions.cpp b/src/mbgl/platform/gl_functions.cpp index 6eb7790ca2..1f6e8da593 100644 --- a/src/mbgl/platform/gl_functions.cpp +++ b/src/mbgl/platform/gl_functions.cpp @@ -7,9 +7,15 @@ namespace platform { #ifndef NDEBUG void glCheckError(const char* cmd, const char* file, int line) { +#ifdef MBGL_RENDER_BACKEND_OPENGL if (GLenum err = glGetError()) { Log::Warning(Event::OpenGL, "Error %d: %s - %s:%d", err, cmd, file, line); } +#else + (void)cmd; + (void)file; + (void)line; +#endif } #endif diff --git a/src/mbgl/renderer/layers/render_custom_layer.cpp b/src/mbgl/renderer/layers/render_custom_layer.cpp index c53286a2a0..b891869353 100644 --- a/src/mbgl/renderer/layers/render_custom_layer.cpp +++ b/src/mbgl/renderer/layers/render_custom_layer.cpp @@ -1,13 +1,15 @@ -#include <mbgl/renderer/layers/render_custom_layer.hpp> -#include <mbgl/renderer/paint_parameters.hpp> -#include <mbgl/gfx/renderer_backend.hpp> #include <mbgl/gfx/backend_scope.hpp> -#include <mbgl/renderer/bucket.hpp> +#include <mbgl/gfx/renderer_backend.hpp> +#include <mbgl/map/transform_state.hpp> #include <mbgl/platform/gl_functions.hpp> +#include <mbgl/renderer/bucket.hpp> +#include <mbgl/renderer/layers/render_custom_layer.hpp> +#include <mbgl/renderer/paint_parameters.hpp> #include <mbgl/style/layers/custom_layer_impl.hpp> -#include <mbgl/map/transform_state.hpp> +#ifdef MBGL_RENDER_BACKEND_OPENGL #include <mbgl/gl/context.hpp> #include <mbgl/gl/renderable_resource.hpp> +#endif #include <mbgl/util/mat4.hpp> namespace mbgl { @@ -68,17 +70,19 @@ void RenderCustomLayer::render(PaintParameters& paintParameters) { MBGL_CHECK_ERROR(host->initialize()); } + const TransformState& state = paintParameters.state; +#ifdef MBGL_RENDER_BACKEND_OPENGL // TODO: remove cast auto& glContext = static_cast<gl::Context&>(paintParameters.context); - const TransformState& state = paintParameters.state; - - // Reset GL state to a known state so the CustomLayer always has a clean slate. - glContext.bindVertexArray = 0; - glContext.setDepthMode(paintParameters.depthModeForSublayer(0, gfx::DepthMaskType::ReadOnly)); - glContext.setStencilMode(gfx::StencilMode::disabled()); - glContext.setColorMode(paintParameters.colorModeForRenderPass()); - glContext.setCullFaceMode(gfx::CullFaceMode::disabled()); - + if (gfx::Backend::GetType() == gfx::Backend::Type::OpenGL) { + // Reset GL state to a known state so the CustomLayer always has a clean slate. + glContext.bindVertexArray = 0; + glContext.setDepthMode(paintParameters.depthModeForSublayer(0, gfx::DepthMaskType::ReadOnly)); + glContext.setStencilMode(gfx::StencilMode::disabled()); + glContext.setColorMode(paintParameters.colorModeForRenderPass()); + glContext.setCullFaceMode(gfx::CullFaceMode::disabled()); + } +#endif CustomLayerRenderParameters parameters; parameters.width = state.getSize().width; @@ -94,11 +98,16 @@ void RenderCustomLayer::render(PaintParameters& paintParameters) { parameters.projectionMatrix = projMatrix; MBGL_CHECK_ERROR(host->render(parameters)); - - // Reset the view back to our original one, just in case the CustomLayer changed - // the viewport or Framebuffer. - paintParameters.backend.getDefaultRenderable().getResource<gl::RenderableResource>().bind(); - glContext.setDirtyState(); +#ifdef MBGL_RENDER_BACKEND_OPENGL + if (gfx::Backend::GetType() == gfx::Backend::Type::OpenGL) { + // Reset the view back to our original one, just in case the CustomLayer changed + // the viewport or Framebuffer. + paintParameters.backend.getDefaultRenderable().getResource<gl::RenderableResource>().bind(); + glContext.setDirtyState(); + } +#else + (void)&paintParameters; +#endif } } // namespace mbgl |