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,15 +1,32 @@
load("//bazel:flags.bzl", "CPP_FLAGS", "MAPLIBRE_FLAGS")
load("@bazel_skylib//rules:common_settings.bzl", "string_flag")
load(
"//bazel:core.bzl",
"MLN_CORE_HEADERS",
"MLN_CORE_SOURCE",
"MLN_GENERATED_SHADER_HEADERS",
"MLN_GENERATED_STYLE_SOURCE",
"MLN_OPENGL_HEADERS",
"MLN_OPENGL_SOURCE",
"MLN_PRIVATE_GENERATED_STYLE_HEADERS",
"MLN_PUBLIC_GENERATED_STYLE_HEADERS",
load("//bazel:core.bzl", "MLN_CORE_SOURCE", "MLN_CORE_HEADERS", "MLN_OPENGL_SOURCE", "MLN_OPENGL_HEADERS", "MLN_DRAWABLES_SOURCE", "MLN_DRAWABLES_HEADERS")
string_flag(
name = "renderer",
build_setting_default = "drawable",
values=["legacy", "drawable", "split"]
)
config_setting(
name = "legacy_renderer",
flag_values = {
":renderer": "legacy"
}
)
config_setting(
name = "drawable_renderer",
flag_values = {
":renderer": "drawable"
}
)
config_setting(
name = "split_renderer",
flag_values = {
":renderer": "split"
}
)
# Generate code required by the core
@@ -76,15 +93,24 @@ cc_library(
# the prefix from the path.
cc_library(
name = "mbgl-core",
srcs = MLN_CORE_SOURCE +
MLN_GENERATED_STYLE_SOURCE +
MLN_OPENGL_SOURCE,
hdrs = MLN_CORE_HEADERS +
MLN_OPENGL_HEADERS,
srcs = MLN_CORE_SOURCE + select({
":drawable_renderer": MLN_DRAWABLES_SOURCE,
":split_renderer": MLN_DRAWABLES_SOURCE,
"//conditions:default": []
}) + MLN_OPENGL_SOURCE,
hdrs = MLN_CORE_HEADERS + select({
":drawable_renderer": MLN_DRAWABLES_HEADERS,
":split_renderer": MLN_DRAWABLES_HEADERS,
"//conditions:default": []
}) + MLN_OPENGL_HEADERS,
copts = CPP_FLAGS + MAPLIBRE_FLAGS,
defines = select({
":legacy_renderer": ["MLN_LEGACY_RENDERER=1", "MLN_DRAWABLE_RENDERER=0"],
":drawable_renderer": ["MLN_LEGACY_RENDERER=0", "MLN_DRAWABLE_RENDERER=1"],
":split_renderer": ["MLN_LEGACY_RENDERER=1", "MLN_DRAWABLE_RENDERER=1", "MLN_RENDERER_SPLIT_VIEW=1"],
}) + select({
"//:ios": ["GLES_SILENCE_DEPRECATION=1"],
"//conditions:default": [],
"//conditions:default": []
}),
includes = [
"include",