blob: f17ab2b5a0313a31487009ba246cf30d734a2444 [file] [log] [blame]
load("//bazel:skia_rules.bzl", "exports_files_legacy", "skia_cc_deps", "skia_filegroup", "split_srcs_and_hdrs")
licenses(["notice"])
exports_files_legacy()
skia_filegroup(
name = "core_srcs",
srcs = [
"SkSLRasterPipelineBuilder.cpp",
"SkSLRasterPipelineCodeGenerator.cpp",
"SkSLVMCodeGenerator.cpp",
],
)
# TODO(kjlubick) Could this be split up so we don't need to compile the SkSLMetalCodeGenerator
# on platforms that don't support metal (e.g. WebGL, Linux)?
GPU_SRCS = [
"SkSLCodeGenerator.h",
"SkSLGLSLCodeGenerator.cpp",
"SkSLGLSLCodeGenerator.h",
"SkSLMetalCodeGenerator.cpp",
"SkSLMetalCodeGenerator.h",
"SkSLPipelineStageCodeGenerator.cpp",
"SkSLPipelineStageCodeGenerator.h",
"SkSLSPIRVCodeGenerator.cpp",
"SkSLSPIRVCodeGenerator.h",
"SkSLSPIRVtoHLSL.cpp",
"SkSLSPIRVtoHLSL.h",
"SkSLWGSLCodeGenerator.cpp",
"SkSLWGSLCodeGenerator.h",
]
split_srcs_and_hdrs(
name = "gpu",
files = GPU_SRCS,
)
skia_filegroup(
name = "srcs",
srcs = [
":core_srcs",
] + select({
"//src/sksl:use_sksl_gpu_srcs": [":gpu_srcs"],
"//conditions:default": [],
}),
visibility = ["//src/sksl:__pkg__"],
)
skia_filegroup(
name = "private_hdrs",
srcs = [
"SkSLRasterPipelineBuilder.h",
"SkSLRasterPipelineCodeGenerator.h",
"SkSLVMCodeGenerator.h",
] + select({
"//src/sksl:use_sksl_gpu_srcs": [":gpu_hdrs"],
"//conditions:default": [],
}),
visibility = ["//src/sksl:__pkg__"],
)
skia_cc_deps(
name = "deps",
visibility = ["//src/sksl:__pkg__"],
deps = select({
"//src/sksl:use_sksl_gpu_srcs": ["@spirv_cross"],
"//conditions:default": [],
}),
)