c1504658a7
- Introduced the SK_ENABLE_WGSL_VALIDATION macro which is currently only enabled when skslc gets compiled when using the `skia_compile_sksl_tests` setting. - SkSLCompiler::toWGSL now validates its output using Tint's WGSL reader structures based on conditionally compiled code depending on the SK_ENABLE_WGSL_VALIDATION flag. - Fixed `warning: use of deprecated language feature: struct members should be separated with commas" warnings that were generated for HelloWorld.wgsl. Bug: skia:13092 Change-Id: Ib894457030004966221faf82f61360e390b95e22 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/537802 Commit-Queue: Arman Uguray <armansito@google.com> Reviewed-by: Kevin Lubick <kjlubick@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
133 lines
4.2 KiB
Python
133 lines
4.2 KiB
Python
load("//bazel:macros.bzl", "cc_library", "exports_files_legacy", "select_multi")
|
|
|
|
licenses(["notice"])
|
|
|
|
exports_files_legacy()
|
|
|
|
GENERAL_DEFINES = [
|
|
# The following comment is load-bearing. It will be replace via regex when we build for Google3
|
|
# Do not remove it or we won't be able to properly define SK_BUILD_FOR_GOOGLE3
|
|
# REPLACE_WHEN_BUILDING_IN_GOOGLE3
|
|
"SK_HAS_ANDROID_CODEC",
|
|
"SKIA_IMPLEMENTATION=1",
|
|
] + select({
|
|
"//bazel/common_config_settings:debug_build": [
|
|
"SK_DEBUG",
|
|
],
|
|
"//bazel/common_config_settings:release_build": [
|
|
"SK_RELEASE",
|
|
],
|
|
"//conditions:default": [
|
|
"SK_RELEASE",
|
|
],
|
|
}) + select({
|
|
"//bazel/common_config_settings:enable_tracing_false": ["SK_DISABLE_TRACING"],
|
|
"//conditions:default": [],
|
|
}) + select({
|
|
"//bazel/common_config_settings:enable_effect_serialization_false": ["SK_DISABLE_EFFECT_DESERIALIZATION"],
|
|
"//conditions:default": [],
|
|
}) + select({
|
|
"//bazel/common_config_settings:is_skia_dev_build_true": [
|
|
"GR_TEST_UTILS=1",
|
|
"SK_ALLOW_STATIC_GLOBAL_INITIALIZERS=1",
|
|
],
|
|
"//conditions:default": [],
|
|
}) + select({
|
|
"//bazel/common_config_settings:enable_skslc_true": [
|
|
"SKSL_STANDALONE",
|
|
"SK_DISABLE_TRACING",
|
|
"SK_ENABLE_SPIRV_CROSS",
|
|
"SK_ENABLE_SPIRV_VALIDATION",
|
|
"SK_ENABLE_WGSL_VALIDATION",
|
|
],
|
|
"//conditions:default": [],
|
|
}) + select({
|
|
"//bazel/common_config_settings:enable_sksl_tracing_true": [
|
|
"SKSL_ENABLE_TRACING",
|
|
],
|
|
"//conditions:default": [],
|
|
})
|
|
|
|
GPU_DEFINES = select({
|
|
"//bazel/common_config_settings:gl_backend": [
|
|
"SK_GL",
|
|
"SK_SUPPORT_GPU=1",
|
|
],
|
|
"//bazel/common_config_settings:vulkan_backend": [
|
|
"SK_VULKAN",
|
|
"SK_SUPPORT_GPU=1",
|
|
],
|
|
"//bazel/common_config_settings:dawn_backend": [
|
|
"SK_DAWN",
|
|
"SK_SUPPORT_GPU=1",
|
|
"VK_USE_PLATFORM_XCB_KHR", # TODO(kjlubick) support dawn's dawn_enable_vulkan etc
|
|
],
|
|
"//conditions:default": [
|
|
"SK_SUPPORT_GPU=0",
|
|
],
|
|
}) + select({
|
|
"//bazel/common_config_settings:gl_standard": [
|
|
"SK_ASSUME_GL=1",
|
|
],
|
|
"//bazel/common_config_settings:gles_standard": [
|
|
"SK_ASSUME_GL_ES=1",
|
|
],
|
|
"//bazel/common_config_settings:webgl_standard": [
|
|
"SK_ASSUME_WEBGL=1",
|
|
"SK_USE_WEBGL",
|
|
],
|
|
"//conditions:default": [],
|
|
}) + select({
|
|
"//bazel/common_config_settings:vulkan_with_vma": [
|
|
"SK_USE_VMA",
|
|
],
|
|
"//conditions:default": [],
|
|
})
|
|
|
|
CODEC_DEFINES = select_multi(
|
|
{
|
|
"//bazel/common_config_settings:gif_decode_codec": ["SK_HAS_WUFFS_LIBRARY"],
|
|
"//bazel/common_config_settings:jpeg_decode_codec": ["SK_CODEC_DECODES_JPEG"],
|
|
"//bazel/common_config_settings:jpeg_encode_codec": ["SK_ENCODE_JPEG"],
|
|
"//bazel/common_config_settings:png_decode_codec": ["SK_CODEC_DECODES_PNG"],
|
|
"//bazel/common_config_settings:png_encode_codec": ["SK_ENCODE_PNG"],
|
|
"//bazel/common_config_settings:raw_decode_codec": [
|
|
"SK_CODEC_DECODES_RAW",
|
|
"SK_CODEC_DECODES_JPEG",
|
|
],
|
|
"//bazel/common_config_settings:webp_decode_codec": ["SK_CODEC_DECODES_WEBP"],
|
|
"//bazel/common_config_settings:webp_encode_codec": ["SK_ENCODE_WEBP"],
|
|
},
|
|
default = [],
|
|
)
|
|
|
|
PLATFORM_DEFINES = select({
|
|
"//bazel/common_config_settings:cpu_wasm": [
|
|
# working around https://github.com/emscripten-core/emscripten/issues/10072
|
|
"SK_FORCE_8_BYTE_ALIGNMENT",
|
|
"SK_DISABLE_LEGACY_SHADERCONTEXT",
|
|
"SK_DISABLE_AAA", # This saves about 57KB of code size, uncompressed
|
|
],
|
|
"//conditions:default": [],
|
|
})
|
|
|
|
SHAPER_DEFINES = select_multi(
|
|
{
|
|
"//bazel/common_config_settings:coretext_shaper": ["SK_SHAPER_CORETEXT_AVAILABLE"],
|
|
"//bazel/common_config_settings:harfbuzz_shaper": ["SK_SHAPER_HARFBUZZ_AVAILABLE"],
|
|
},
|
|
default = [],
|
|
)
|
|
|
|
UNICODE_DEFINES = select({
|
|
"//bazel/common_config_settings:use_icu_true": ["SK_UNICODE_AVAILABLE"],
|
|
"//conditions:default": [],
|
|
})
|
|
|
|
cc_library(
|
|
name = "defines_from_flags",
|
|
defines = GENERAL_DEFINES + GPU_DEFINES + CODEC_DEFINES + PLATFORM_DEFINES +
|
|
SHAPER_DEFINES + UNICODE_DEFINES,
|
|
visibility = ["//:__subpackages__"],
|
|
)
|