1load("//bazel:skia_rules.bzl", "exports_files_legacy", "skia_cc_deps", "skia_cc_library", "skia_filegroup", "split_srcs_and_hdrs") 2 3package( 4 default_applicable_licenses = ["//:license"], 5) 6 7licenses(["notice"]) 8 9exports_files_legacy() 10 11skia_filegroup( 12 name = "core_srcs", 13 srcs = [ 14 "SkSLRasterPipelineBuilder.cpp", 15 "SkSLRasterPipelineCodeGenerator.cpp", 16 ], 17) 18 19# TODO(kjlubick) Could this be split up so we don't need to compile the SkSLMetalCodeGenerator 20# on platforms that don't support metal (e.g. WebGL, Linux)? 21GPU_SRCS = [ 22 "SkSLCodeGenerator.h", 23 "SkSLGLSLCodeGenerator.cpp", 24 "SkSLGLSLCodeGenerator.h", 25 "SkSLHLSLCodeGenerator.cpp", 26 "SkSLHLSLCodeGenerator.h", 27 "SkSLMetalCodeGenerator.cpp", 28 "SkSLMetalCodeGenerator.h", 29 "SkSLPipelineStageCodeGenerator.cpp", 30 "SkSLPipelineStageCodeGenerator.h", 31 "SkSLSPIRVCodeGenerator.cpp", 32 "SkSLSPIRVCodeGenerator.h", 33 "SkSLSPIRVtoHLSL.cpp", 34 "SkSLSPIRVtoHLSL.h", 35 "SkSLWGSLCodeGenerator.cpp", 36 "SkSLWGSLCodeGenerator.h", 37] 38 39split_srcs_and_hdrs( 40 name = "legacy_gpu", 41 files = GPU_SRCS, 42) 43 44# TODO(kjlubick) delete after updating G3 45alias( 46 name = "gpu_hdrs", 47 actual = ":legacy_gpu_hdrs", 48 visibility = ["//:__pkg__"], 49) 50 51alias( 52 name = "gpu_srcs", 53 actual = ":legacy_gpu_srcs", 54 visibility = ["//:__pkg__"], 55) 56 57skia_filegroup( 58 name = "srcs", 59 srcs = [ 60 ":core_srcs", 61 ] + select({ 62 "//src/sksl:use_sksl_gpu_srcs": [":legacy_gpu_srcs"], 63 "//conditions:default": [], 64 }), 65 visibility = ["//src/sksl:__pkg__"], 66) 67 68skia_filegroup( 69 name = "private_hdrs", 70 srcs = [ 71 "SkSLRasterPipelineBuilder.h", 72 "SkSLRasterPipelineCodeGenerator.h", 73 ] + select({ 74 "//src/sksl:use_sksl_gpu_srcs": [":legacy_gpu_hdrs"], 75 "//conditions:default": [], 76 }), 77 visibility = ["//src/sksl:__pkg__"], 78) 79 80skia_cc_deps( 81 name = "deps", 82 visibility = ["//src/sksl:__pkg__"], 83 deps = select({ 84 "//src/sksl:use_sksl_gpu_srcs": ["@spirv_cross"], 85 "//conditions:default": [], 86 }), 87) 88 89skia_filegroup( 90 name = "rasterpipeline_hdrs", 91 srcs = [ 92 "SkSLRasterPipelineBuilder.h", 93 "SkSLRasterPipelineCodeGenerator.h", 94 ], 95 visibility = ["//src/core:__pkg__"], 96) 97 98skia_filegroup( 99 name = "rasterpipeline_srcs", 100 srcs = [ 101 "SkSLRasterPipelineBuilder.cpp", 102 "SkSLRasterPipelineCodeGenerator.cpp", 103 ], 104 visibility = ["//src/core:__pkg__"], 105) 106 107skia_cc_library( 108 name = "gpu", 109 srcs = [ 110 "SkSLPipelineStageCodeGenerator.cpp", 111 ], 112 hdrs = [ 113 "SkSLPipelineStageCodeGenerator.h", 114 ], 115 features = ["layering_check"], 116 visibility = ["//src/gpu/ganesh:__pkg__"], 117 deps = [ 118 "//:core", 119 "//src/base", 120 "//src/core:core_priv", 121 "//src/gpu", 122 ], 123) 124 125skia_cc_library( 126 name = "glsl", 127 srcs = [ 128 "SkSLCodeGenerator.h", 129 "SkSLGLSLCodeGenerator.cpp", 130 ], 131 hdrs = ["SkSLGLSLCodeGenerator.h"], 132 features = ["layering_check"], 133 visibility = ["//src/gpu/ganesh/gl:__pkg__"], 134 deps = [ 135 ":gpu", 136 "//:core", 137 "//src/base", 138 "//src/core:core_priv", 139 ], 140) 141 142skia_cc_library( 143 name = "metal", 144 srcs = [ 145 "SkSLCodeGenerator.h", 146 "SkSLMetalCodeGenerator.cpp", 147 ], 148 hdrs = ["SkSLMetalCodeGenerator.h"], 149 features = ["layering_check"], 150 visibility = [ 151 "//src/gpu/ganesh/mtl:__pkg__", 152 "//src/gpu/mtl:__pkg__", 153 ], 154 deps = [ 155 ":gpu", 156 "//:core", 157 "//src/base", 158 "//src/core:core_priv", 159 ], 160) 161 162skia_cc_library( 163 name = "spirv", 164 srcs = [ 165 "SkSLCodeGenerator.h", 166 "SkSLSPIRVCodeGenerator.cpp", 167 "//src/sksl:gpu_hdrs", 168 ], 169 hdrs = ["SkSLSPIRVCodeGenerator.h"], 170 features = ["layering_check"], 171 visibility = ["//src/gpu/ganesh/vk:__pkg__"], 172 deps = [ 173 ":gpu", 174 "//:core", 175 "//src/base", 176 "//src/core:core_priv", 177 ], 178) 179