| load("//bazel:skia_rules.bzl", "exports_files_legacy", "skia_cc_deps", "skia_cc_library", "skia_filegroup", "split_srcs_and_hdrs") |
| |
| package( |
| default_applicable_licenses = ["//:license"], |
| ) |
| |
| licenses(["notice"]) |
| |
| exports_files_legacy() |
| |
| skia_filegroup( |
| name = "core_srcs", |
| srcs = [ |
| "SkSLRasterPipelineBuilder.cpp", |
| "SkSLRasterPipelineCodeGenerator.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", |
| "SkSLHLSLCodeGenerator.cpp", |
| "SkSLHLSLCodeGenerator.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 = "legacy_gpu", |
| files = GPU_SRCS, |
| ) |
| |
| # TODO(kjlubick) delete after updating G3 |
| alias( |
| name = "gpu_hdrs", |
| actual = ":legacy_gpu_hdrs", |
| visibility = ["//:__pkg__"], |
| ) |
| |
| alias( |
| name = "gpu_srcs", |
| actual = ":legacy_gpu_srcs", |
| visibility = ["//:__pkg__"], |
| ) |
| |
| skia_filegroup( |
| name = "srcs", |
| srcs = [ |
| ":core_srcs", |
| ] + select({ |
| "//src/sksl:use_sksl_gpu_srcs": [":legacy_gpu_srcs"], |
| "//conditions:default": [], |
| }), |
| visibility = ["//src/sksl:__pkg__"], |
| ) |
| |
| skia_filegroup( |
| name = "private_hdrs", |
| srcs = [ |
| "SkSLRasterPipelineBuilder.h", |
| "SkSLRasterPipelineCodeGenerator.h", |
| ] + select({ |
| "//src/sksl:use_sksl_gpu_srcs": [":legacy_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": [], |
| }), |
| ) |
| |
| skia_filegroup( |
| name = "rasterpipeline_hdrs", |
| srcs = [ |
| "SkSLRasterPipelineBuilder.h", |
| "SkSLRasterPipelineCodeGenerator.h", |
| ], |
| visibility = ["//src/core:__pkg__"], |
| ) |
| |
| skia_filegroup( |
| name = "rasterpipeline_srcs", |
| srcs = [ |
| "SkSLRasterPipelineBuilder.cpp", |
| "SkSLRasterPipelineCodeGenerator.cpp", |
| ], |
| visibility = ["//src/core:__pkg__"], |
| ) |
| |
| skia_cc_library( |
| name = "gpu", |
| srcs = [ |
| "SkSLPipelineStageCodeGenerator.cpp", |
| ], |
| hdrs = [ |
| "SkSLPipelineStageCodeGenerator.h", |
| ], |
| features = ["layering_check"], |
| visibility = ["//src/gpu/ganesh:__pkg__"], |
| deps = [ |
| "//:core", |
| "//src/base", |
| "//src/core:core_priv", |
| "//src/gpu", |
| ], |
| ) |
| |
| skia_cc_library( |
| name = "glsl", |
| srcs = [ |
| "SkSLCodeGenerator.h", |
| "SkSLGLSLCodeGenerator.cpp", |
| ], |
| hdrs = ["SkSLGLSLCodeGenerator.h"], |
| features = ["layering_check"], |
| visibility = ["//src/gpu/ganesh/gl:__pkg__"], |
| deps = [ |
| ":gpu", |
| "//:core", |
| "//src/base", |
| "//src/core:core_priv", |
| ], |
| ) |
| |
| skia_cc_library( |
| name = "metal", |
| srcs = [ |
| "SkSLCodeGenerator.h", |
| "SkSLMetalCodeGenerator.cpp", |
| ], |
| hdrs = ["SkSLMetalCodeGenerator.h"], |
| features = ["layering_check"], |
| visibility = ["//src/gpu/ganesh/mtl:__pkg__"], |
| deps = [ |
| ":gpu", |
| "//:core", |
| "//src/base", |
| "//src/core:core_priv", |
| ], |
| ) |
| |
| skia_cc_library( |
| name = "spirv", |
| srcs = [ |
| "SkSLCodeGenerator.h", |
| "SkSLSPIRVCodeGenerator.cpp", |
| "//src/sksl:gpu_hdrs", |
| ], |
| hdrs = ["SkSLSPIRVCodeGenerator.h"], |
| features = ["layering_check"], |
| visibility = ["//src/gpu/ganesh/vk:__pkg__"], |
| deps = [ |
| ":gpu", |
| "//:core", |
| "//src/base", |
| "//src/core:core_priv", |
| ], |
| ) |