Selectable renderer implementation (#1247)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
This commit is contained in:
mwilsnd
2023-06-26 15:49:48 -05:00
committed by Bart Louwers
parent fe165c8924
commit 1963697687
64 changed files with 1189 additions and 316 deletions

View File

@@ -1,85 +1,10 @@
MLN_PUBLIC_GENERATED_STYLE_HEADERS = [
"include/mbgl/style/layers/circle_layer.hpp",
"include/mbgl/style/layers/fill_layer.hpp",
"include/mbgl/style/layers/line_layer.hpp",
"include/mbgl/style/layers/symbol_layer.hpp",
"include/mbgl/style/layers/heatmap_layer.hpp",
"include/mbgl/style/layers/fill_extrusion_layer.hpp",
"include/mbgl/style/layers/raster_layer.hpp",
"include/mbgl/style/layers/hillshade_layer.hpp",
"include/mbgl/style/layers/background_layer.hpp",
"include/mbgl/style/layers/location_indicator_layer.hpp",
"include/mbgl/style/light.hpp",
]
MLN_PRIVATE_GENERATED_STYLE_HEADERS = [
"src/mbgl/style/layers/fill_layer_properties.hpp",
"src/mbgl/style/layers/line_layer_properties.hpp",
"src/mbgl/style/layers/symbol_layer_properties.hpp",
"src/mbgl/style/layers/circle_layer_properties.hpp",
"src/mbgl/style/layers/heatmap_layer_properties.hpp",
"src/mbgl/style/layers/fill_extrusion_layer_properties.hpp",
"src/mbgl/style/layers/raster_layer_properties.hpp",
"src/mbgl/style/layers/hillshade_layer_properties.hpp",
"src/mbgl/style/layers/background_layer_properties.hpp",
"src/mbgl/style/layers/location_indicator_layer_properties.hpp",
]
MLN_GENERATED_STYLE_SOURCE = [
"src/mbgl/style/layers/fill_layer_properties.cpp",
"src/mbgl/style/layers/fill_layer.cpp",
"src/mbgl/style/layers/line_layer_properties.cpp",
"src/mbgl/style/layers/line_layer.cpp",
"src/mbgl/style/layers/symbol_layer_properties.cpp",
"src/mbgl/style/layers/symbol_layer.cpp",
"src/mbgl/style/layers/circle_layer_properties.cpp",
"src/mbgl/style/layers/circle_layer.cpp",
"src/mbgl/style/layers/heatmap_layer_properties.cpp",
"src/mbgl/style/layers/heatmap_layer.cpp",
"src/mbgl/style/layers/fill_extrusion_layer_properties.cpp",
"src/mbgl/style/layers/fill_extrusion_layer.cpp",
"src/mbgl/style/layers/raster_layer_properties.cpp",
"src/mbgl/style/layers/raster_layer.cpp",
"src/mbgl/style/layers/hillshade_layer_properties.cpp",
"src/mbgl/style/layers/hillshade_layer.cpp",
"src/mbgl/style/layers/background_layer_properties.cpp",
"src/mbgl/style/layers/background_layer.cpp",
"src/mbgl/style/layers/location_indicator_layer_properties.cpp",
"src/mbgl/style/layers/location_indicator_layer.cpp",
"src/mbgl/style/light.cpp",
]
MLN_GENERATED_SHADER_HEADERS = [
"include/mbgl/shaders/shader_source.hpp",
"include/mbgl/shaders/shader_manifest.hpp",
"include/mbgl/shaders/gl/background.hpp",
"include/mbgl/shaders/gl/background_pattern.hpp",
"include/mbgl/shaders/gl/circle.hpp",
"include/mbgl/shaders/gl/clipping_mask.hpp",
"include/mbgl/shaders/gl/collision_box.hpp",
"include/mbgl/shaders/gl/collision_circle.hpp",
"include/mbgl/shaders/gl/debug.hpp",
"include/mbgl/shaders/gl/fill_extrusion_pattern.hpp",
"include/mbgl/shaders/gl/fill_extrusion.hpp",
"include/mbgl/shaders/gl/fill_outline_pattern.hpp",
"include/mbgl/shaders/gl/fill_outline.hpp",
"include/mbgl/shaders/gl/fill_pattern.hpp",
"include/mbgl/shaders/gl/fill.hpp",
"include/mbgl/shaders/gl/heatmap_texture.hpp",
"include/mbgl/shaders/gl/heatmap.hpp",
"include/mbgl/shaders/gl/hillshade_prepare.hpp",
"include/mbgl/shaders/gl/hillshade.hpp",
"include/mbgl/shaders/gl/line_gradient.hpp",
"include/mbgl/shaders/gl/line_pattern.hpp",
"include/mbgl/shaders/gl/line_sdf.hpp",
"include/mbgl/shaders/gl/line.hpp",
"include/mbgl/shaders/gl/prelude.hpp",
"include/mbgl/shaders/gl/raster.hpp",
"include/mbgl/shaders/gl/symbol_icon.hpp",
"include/mbgl/shaders/gl/symbol_sdf_text.hpp",
"include/mbgl/shaders/gl/symbol_sdf_icon.hpp",
"include/mbgl/shaders/gl/symbol_text_and_icon.hpp",
]
# MLN_RENDERER_DEFINES = select({
# ":legacy_renderer": ["MLN_LEGACY_RENDERER=1"],
# "//conditions:default": ["MLN_LEGACY_RENDERER=0"]
# }) + select({
# ":drawable_renderer": ["MLN_DRAWABLE_RENDERER=1"],
# "//conditions:default": ["MLN_DRAWABLE_RENDERER=0"]
# })
MLN_CORE_SOURCE = [
"src/mbgl/actor/mailbox.cpp",
@@ -120,6 +45,7 @@ MLN_CORE_SOURCE = [
"src/mbgl/gfx/depth_mode.hpp",
"src/mbgl/gfx/draw_mode.hpp",
"src/mbgl/gfx/draw_scope.hpp",
"src/mbgl/gfx/image_drawable_data.hpp",
"src/mbgl/gfx/index_buffer.hpp",
"src/mbgl/gfx/index_vector.hpp",
"src/mbgl/gfx/offscreen_texture.hpp",
@@ -129,9 +55,9 @@ MLN_CORE_SOURCE = [
"src/mbgl/gfx/renderer_backend.cpp",
"src/mbgl/gfx/rendering_stats.cpp",
"src/mbgl/gfx/shader_registry.cpp",
"src/mbgl/gfx/shader_group.cpp",
"src/mbgl/gfx/stencil_mode.hpp",
"src/mbgl/gfx/texture.hpp",
"src/mbgl/gfx/types.hpp",
"src/mbgl/gfx/uniform.hpp",
"src/mbgl/gfx/upload_pass.hpp",
"src/mbgl/gfx/vertex_buffer.hpp",
@@ -398,7 +324,6 @@ MLN_CORE_SOURCE = [
"src/mbgl/style/expression/match.cpp",
"src/mbgl/style/expression/number_format.cpp",
"src/mbgl/style/expression/parsing_context.cpp",
"src/mbgl/style/expression/slice.cpp",
"src/mbgl/style/expression/step.cpp",
"src/mbgl/style/expression/util.cpp",
"src/mbgl/style/expression/util.hpp",
@@ -412,25 +337,53 @@ MLN_CORE_SOURCE = [
"src/mbgl/style/layer_impl.cpp",
"src/mbgl/style/layer_impl.hpp",
"src/mbgl/style/layer_observer.hpp",
"src/mbgl/style/layers/background_layer.cpp",
"src/mbgl/style/layers/background_layer_impl.cpp",
"src/mbgl/style/layers/background_layer_impl.hpp",
"src/mbgl/style/layers/background_layer_properties.cpp",
"src/mbgl/style/layers/background_layer_properties.hpp",
"src/mbgl/style/layers/circle_layer.cpp",
"src/mbgl/style/layers/circle_layer_impl.cpp",
"src/mbgl/style/layers/circle_layer_impl.hpp",
"src/mbgl/style/layers/circle_layer_properties.cpp",
"src/mbgl/style/layers/circle_layer_properties.hpp",
"src/mbgl/style/layers/fill_extrusion_layer.cpp",
"src/mbgl/style/layers/fill_extrusion_layer_impl.cpp",
"src/mbgl/style/layers/fill_extrusion_layer_impl.hpp",
"src/mbgl/style/layers/fill_extrusion_layer_properties.cpp",
"src/mbgl/style/layers/fill_extrusion_layer_properties.hpp",
"src/mbgl/style/layers/fill_layer.cpp",
"src/mbgl/style/layers/fill_layer_impl.cpp",
"src/mbgl/style/layers/fill_layer_impl.hpp",
"src/mbgl/style/layers/fill_layer_properties.cpp",
"src/mbgl/style/layers/fill_layer_properties.hpp",
"src/mbgl/style/layers/heatmap_layer.cpp",
"src/mbgl/style/layers/heatmap_layer_impl.cpp",
"src/mbgl/style/layers/heatmap_layer_impl.hpp",
"src/mbgl/style/layers/heatmap_layer_properties.cpp",
"src/mbgl/style/layers/heatmap_layer_properties.hpp",
"src/mbgl/style/layers/hillshade_layer.cpp",
"src/mbgl/style/layers/hillshade_layer_impl.cpp",
"src/mbgl/style/layers/hillshade_layer_impl.hpp",
"src/mbgl/style/layers/hillshade_layer_properties.cpp",
"src/mbgl/style/layers/hillshade_layer_properties.hpp",
"src/mbgl/style/layers/line_layer.cpp",
"src/mbgl/style/layers/line_layer_impl.cpp",
"src/mbgl/style/layers/line_layer_impl.hpp",
"src/mbgl/style/layers/line_layer_properties.cpp",
"src/mbgl/style/layers/line_layer_properties.hpp",
"src/mbgl/style/layers/raster_layer.cpp",
"src/mbgl/style/layers/raster_layer_impl.cpp",
"src/mbgl/style/layers/raster_layer_impl.hpp",
"src/mbgl/style/layers/raster_layer_properties.cpp",
"src/mbgl/style/layers/raster_layer_properties.hpp",
"src/mbgl/style/layers/symbol_layer.cpp",
"src/mbgl/style/layers/symbol_layer_impl.cpp",
"src/mbgl/style/layers/symbol_layer_impl.hpp",
"src/mbgl/style/layers/symbol_layer_properties.cpp",
"src/mbgl/style/layers/symbol_layer_properties.hpp",
"src/mbgl/style/layout_property.hpp",
"src/mbgl/style/light.cpp",
"src/mbgl/style/light_impl.cpp",
"src/mbgl/style/light_impl.hpp",
"src/mbgl/style/light_observer.hpp",
@@ -541,7 +494,6 @@ MLN_CORE_SOURCE = [
"src/mbgl/util/dtoa.cpp",
"src/mbgl/util/dtoa.hpp",
"src/mbgl/util/event.cpp",
"src/mbgl/util/filesystem.hpp",
"src/mbgl/util/font_stack.cpp",
"src/mbgl/util/geo.cpp",
"src/mbgl/util/geojson_impl.cpp",
@@ -603,7 +555,7 @@ MLN_CORE_SOURCE = [
"src/mbgl/util/utf.hpp",
"src/mbgl/util/version.cpp",
"src/mbgl/util/version.hpp",
"src/mbgl/util/work_request.cpp",
"src/mbgl/util/work_request.cpp"
]
MLN_CORE_HEADERS = [
@@ -616,11 +568,14 @@ MLN_CORE_HEADERS = [
"include/mbgl/actor/scheduler.hpp",
"include/mbgl/annotation/annotation.hpp",
"include/mbgl/gfx/backend_scope.hpp",
"include/mbgl/gfx/gfx_types.hpp",
"include/mbgl/gfx/renderable.hpp",
"include/mbgl/gfx/renderer_backend.hpp",
"include/mbgl/gfx/rendering_stats.hpp",
"include/mbgl/gfx/shader_registry.hpp",
"include/mbgl/gfx/shader_group.hpp",
"include/mbgl/gfx/shader.hpp",
"include/mbgl/gfx/types.hpp",
"include/mbgl/i18n/collator.hpp",
"include/mbgl/i18n/number_format.hpp",
"include/mbgl/layermanager/background_layer_factory.hpp",
@@ -720,7 +675,6 @@ MLN_CORE_HEADERS = [
"include/mbgl/style/expression/match.hpp",
"include/mbgl/style/expression/number_format.hpp",
"include/mbgl/style/expression/parsing_context.hpp",
"include/mbgl/style/expression/slice.hpp",
"include/mbgl/style/expression/step.hpp",
"include/mbgl/style/expression/type.hpp",
"include/mbgl/style/expression/value.hpp",
@@ -729,6 +683,16 @@ MLN_CORE_HEADERS = [
"include/mbgl/style/image.hpp",
"include/mbgl/style/layer.hpp",
"include/mbgl/style/layer_properties.hpp",
"include/mbgl/style/layers/background_layer.hpp",
"include/mbgl/style/layers/circle_layer.hpp",
"include/mbgl/style/layers/fill_extrusion_layer.hpp",
"include/mbgl/style/layers/fill_layer.hpp",
"include/mbgl/style/layers/heatmap_layer.hpp",
"include/mbgl/style/layers/hillshade_layer.hpp",
"include/mbgl/style/layers/line_layer.hpp",
"include/mbgl/style/layers/raster_layer.hpp",
"include/mbgl/style/layers/symbol_layer.hpp",
"include/mbgl/style/light.hpp",
"include/mbgl/style/position.hpp",
"include/mbgl/style/property_expression.hpp",
"include/mbgl/style/property_value.hpp",
@@ -794,7 +758,7 @@ MLN_CORE_HEADERS = [
"include/mbgl/util/vectors.hpp",
"include/mbgl/util/work_request.hpp",
"include/mbgl/util/work_task.hpp",
"include/mbgl/util/work_task_impl.hpp",
"include/mbgl/util/work_task_impl.hpp"
]
MLN_OPENGL_SOURCE = [
@@ -849,8 +813,11 @@ MLN_OPENGL_SOURCE = [
"src/mbgl/platform/gl_functions.cpp",
"src/mbgl/renderer/layers/render_location_indicator_layer.cpp",
"src/mbgl/renderer/layers/render_location_indicator_layer.hpp",
"src/mbgl/style/layers/location_indicator_layer.cpp",
"src/mbgl/style/layers/location_indicator_layer_impl.cpp",
"src/mbgl/style/layers/location_indicator_layer_impl.hpp",
"src/mbgl/style/layers/location_indicator_layer_properties.cpp",
"src/mbgl/style/layers/location_indicator_layer_properties.hpp"
]
MLN_OPENGL_HEADERS = [
@@ -861,4 +828,106 @@ MLN_OPENGL_HEADERS = [
"include/mbgl/gl/renderer_backend.hpp",
"include/mbgl/layermanager/location_indicator_layer_factory.hpp",
"include/mbgl/platform/gl_functions.hpp",
"include/mbgl/style/layers/location_indicator_layer.hpp",
"include/mbgl/shaders/shader_source.hpp",
"include/mbgl/shaders/shader_manifest.hpp",
"include/mbgl/shaders/gl/shader_group_gl.hpp",
"include/mbgl/shaders/gl/prelude.hpp",
"include/mbgl/shaders/gl/background.hpp",
"include/mbgl/shaders/gl/drawable_background.hpp",
"include/mbgl/shaders/gl/drawable_background_pattern.hpp",
"include/mbgl/shaders/gl/drawable_circle.hpp",
"include/mbgl/shaders/gl/drawable_fill.hpp",
"include/mbgl/shaders/gl/drawable_fill_outline.hpp",
"include/mbgl/shaders/gl/drawable_fill_outline_pattern.hpp",
"include/mbgl/shaders/gl/drawable_fill_pattern.hpp",
"include/mbgl/shaders/gl/drawable_raster.hpp",
"include/mbgl/shaders/gl/background_pattern.hpp",
"include/mbgl/shaders/gl/circle.hpp",
"include/mbgl/shaders/gl/clipping_mask.hpp",
"include/mbgl/shaders/gl/collision_box.hpp",
"include/mbgl/shaders/gl/collision_circle.hpp",
"include/mbgl/shaders/gl/debug.hpp",
"include/mbgl/shaders/gl/fill_extrusion_pattern.hpp",
"include/mbgl/shaders/gl/fill_extrusion.hpp",
"include/mbgl/shaders/gl/fill_outline_pattern.hpp",
"include/mbgl/shaders/gl/fill_outline.hpp",
"include/mbgl/shaders/gl/fill_pattern.hpp",
"include/mbgl/shaders/gl/fill.hpp",
"include/mbgl/shaders/gl/heatmap_texture.hpp",
"include/mbgl/shaders/gl/heatmap.hpp",
"include/mbgl/shaders/gl/hillshade_prepare.hpp",
"include/mbgl/shaders/gl/hillshade.hpp",
"include/mbgl/shaders/gl/line_gradient.hpp",
"include/mbgl/shaders/gl/line_pattern.hpp",
"include/mbgl/shaders/gl/line_sdf.hpp",
"include/mbgl/shaders/gl/line.hpp",
"include/mbgl/shaders/gl/raster.hpp",
"include/mbgl/shaders/gl/symbol_icon.hpp",
"include/mbgl/shaders/gl/symbol_sdf_text.hpp",
"include/mbgl/shaders/gl/symbol_sdf_icon.hpp",
"include/mbgl/shaders/gl/symbol_text_and_icon.hpp"
]
MLN_DRAWABLES_SOURCE = [
"src/mbgl/gfx/drawable.cpp",
"src/mbgl/gfx/drawable_builder.cpp",
"src/mbgl/gfx/drawable_builder_impl.hpp",
"src/mbgl/gfx/drawable_tweaker.cpp",
"src/mbgl/gfx/uniform_block.cpp",
"src/mbgl/gfx/uniform_buffer.cpp",
"src/mbgl/gfx/vertex_attribute.cpp",
"src/mbgl/renderer/change_request.cpp",
"src/mbgl/renderer/layer_group.cpp",
"src/mbgl/renderer/tile_layer_group.cpp",
"src/mbgl/renderer/layer_tweaker.cpp",
"src/mbgl/renderer/layers/background_layer_tweaker.cpp",
"src/mbgl/renderer/layers/background_layer_tweaker.hpp",
"src/mbgl/renderer/layers/circle_layer_tweaker.cpp",
"src/mbgl/renderer/layers/circle_layer_tweaker.hpp",
"src/mbgl/renderer/layers/fill_layer_tweaker.cpp",
"src/mbgl/renderer/layers/fill_layer_tweaker.hpp",
"src/mbgl/renderer/layers/raster_layer_tweaker.cpp",
"src/mbgl/renderer/layers/raster_layer_tweaker.hpp",
"src/mbgl/shaders/shader_program_base.cpp",
"src/mbgl/shaders/mtl/shader_program_mtl.cpp",
"src/mbgl/util/identity.cpp",
"src/mbgl/shaders/gl/shader_program_gl.cpp",
"src/mbgl/gl/drawable_gl.cpp",
"src/mbgl/gl/drawable_gl_builder.cpp",
"src/mbgl/gl/drawable_gl_impl.hpp",
"src/mbgl/gl/drawable_gl_tweaker.cpp",
"src/mbgl/gl/layer_group_gl.cpp",
"src/mbgl/gl/texture2d.cpp",
"src/mbgl/gl/uniform_block_gl.cpp",
"src/mbgl/gl/uniform_buffer_gl.cpp",
"src/mbgl/gl/vertex_attribute_gl.cpp"
]
MLN_DRAWABLES_HEADERS = [
"include/mbgl/gfx/drawable.hpp",
"include/mbgl/gfx/drawable_data.hpp",
"include/mbgl/gfx/drawable_impl.hpp",
"include/mbgl/gfx/drawable_builder.hpp",
"include/mbgl/gfx/drawable_tweaker.hpp",
"include/mbgl/gfx/uniform_block.hpp",
"include/mbgl/gfx/uniform_buffer.hpp",
"include/mbgl/gfx/vertex_attribute.hpp",
"include/mbgl/gfx/texture2d.hpp",
"include/mbgl/renderer/change_request.hpp",
"include/mbgl/renderer/layer_group.hpp",
"include/mbgl/renderer/layer_tweaker.hpp",
"include/mbgl/shaders/shader_program_base.hpp",
"include/mbgl/shaders/mtl/shader_program_mtl.hpp",
"include/mbgl/util/identity.hpp",
"include/mbgl/util/suppress_copies.hpp",
"include/mbgl/shaders/gl/shader_program_gl.hpp",
"include/mbgl/gl/drawable_gl.hpp",
"include/mbgl/gl/drawable_gl_builder.hpp",
"include/mbgl/gl/drawable_gl_tweaker.hpp",
"include/mbgl/gl/layer_group_gl.hpp",
"include/mbgl/gl/uniform_block_gl.hpp",
"include/mbgl/gl/uniform_buffer_gl.hpp",
"include/mbgl/gl/vertex_attribute_gl.hpp",
"include/mbgl/gl/texture2d.hpp"
]