1load("//bazel:flags.bzl", "bool_flag", "selects") 2load("//bazel:skia_rules.bzl", "exports_files_legacy", "skia_cc_deps", "skia_cc_library", "skia_filegroup", "split_srcs_and_hdrs") 3 4package( 5 default_applicable_licenses = ["//:license"], 6) 7 8licenses(["notice"]) 9 10exports_files_legacy() 11 12skia_filegroup( 13 name = "txts", 14 srcs = [ 15 "generated/sksl_compute.minified.sksl", 16 "generated/sksl_compute.unoptimized.sksl", 17 "generated/sksl_frag.minified.sksl", 18 "generated/sksl_frag.unoptimized.sksl", 19 "generated/sksl_gpu.minified.sksl", 20 "generated/sksl_gpu.unoptimized.sksl", 21 "generated/sksl_graphite_frag.minified.sksl", 22 "generated/sksl_graphite_frag.unoptimized.sksl", 23 "generated/sksl_graphite_frag_es2.minified.sksl", 24 "generated/sksl_graphite_frag_es2.unoptimized.sksl", 25 "generated/sksl_graphite_vert.minified.sksl", 26 "generated/sksl_graphite_vert.unoptimized.sksl", 27 "generated/sksl_graphite_vert_es2.minified.sksl", 28 "generated/sksl_graphite_vert_es2.unoptimized.sksl", 29 "generated/sksl_public.minified.sksl", 30 "generated/sksl_public.unoptimized.sksl", 31 "generated/sksl_rt_shader.minified.sksl", 32 "generated/sksl_rt_shader.unoptimized.sksl", 33 "generated/sksl_shared.minified.sksl", 34 "generated/sksl_shared.unoptimized.sksl", 35 "generated/sksl_vert.minified.sksl", 36 "generated/sksl_vert.unoptimized.sksl", 37 ], 38) 39 40skia_filegroup( 41 name = "sksl_data", 42 srcs = [ 43 "sksl_compute.sksl", 44 "sksl_frag.sksl", 45 "sksl_gpu.sksl", 46 "sksl_graphite_frag.sksl", 47 "sksl_graphite_frag_es2.sksl", 48 "sksl_graphite_vert.sksl", 49 "sksl_graphite_vert_es2.sksl", 50 "sksl_public.sksl", 51 "sksl_rt_shader.sksl", 52 "sksl_shared.sksl", 53 "sksl_vert.sksl", 54 ], 55 visibility = ["//tools/sksl-minify:__pkg__"], 56) 57 58# Two separate groups, for selecting implementation (and for exporting to sksl.gni) 59skia_filegroup( 60 name = "sksl_skslc_module_srcs", 61 srcs = [ 62 "SkSLModuleDataFile.cpp", 63 ], 64) 65 66skia_filegroup( 67 name = "sksl_default_module_srcs", 68 srcs = [ 69 "SkSLModuleDataDefault.cpp", 70 ], 71) 72 73SKSL_SRCS = [ 74 "SkSLAnalysis.cpp", 75 "SkSLAnalysis.h", 76 "SkSLBuiltinTypes.cpp", 77 "SkSLBuiltinTypes.h", 78 "SkSLCompiler.cpp", 79 "SkSLCompiler.h", 80 "SkSLConstantFolder.cpp", 81 "SkSLConstantFolder.h", 82 "SkSLContext.cpp", 83 "SkSLContext.h", 84 "SkSLDefines.h", 85 "SkSLErrorReporter.cpp", 86 "SkSLErrorReporter.h", 87 "SkSLFileOutputStream.h", 88 "SkSLGLSL.h", 89 "SkSLInliner.cpp", 90 "SkSLInliner.h", 91 "SkSLIntrinsicList.cpp", 92 "SkSLIntrinsicList.h", 93 "SkSLLexer.cpp", 94 "SkSLLexer.h", 95 "SkSLMangler.cpp", 96 "SkSLMangler.h", 97 "SkSLMemoryLayout.h", 98 "SkSLMemoryPool.h", 99 "SkSLModuleData.h", 100 "SkSLModuleLoader.cpp", 101 "SkSLModuleLoader.h", 102 "SkSLOperator.cpp", 103 "SkSLOperator.h", 104 "SkSLOutputStream.cpp", 105 "SkSLOutputStream.h", 106 "SkSLParser.cpp", 107 "SkSLParser.h", 108 "SkSLPool.cpp", 109 "SkSLPool.h", 110 "SkSLPosition.cpp", 111 "SkSLPosition.h", 112 "SkSLProgramKind.h", 113 "SkSLProgramSettings.h", 114 "SkSLSampleUsage.cpp", 115 "SkSLString.cpp", 116 "SkSLString.h", 117 "SkSLStringStream.h", 118 "SkSLUtil.cpp", 119 "SkSLUtil.h", 120 "spirv.h", 121] 122 123split_srcs_and_hdrs( 124 name = "sksl", 125 files = SKSL_SRCS, 126) 127 128skia_filegroup( 129 name = "gpu_hdrs", 130 srcs = [ 131 "GLSL.std.450.h", 132 ], 133 visibility = ["//src/sksl/codegen:__pkg__"], 134) 135 136# TODO(kjlubick) remove uses of this in G3 and Android and then delete 137bool_flag( 138 name = "enable_sksl_tracing", 139 default = False, 140) 141 142selects.config_setting_group( 143 name = "use_sksl_gpu_srcs", 144 match_any = [ 145 "//src/gpu:has_ganesh_backend", 146 ":enable_skslc_true", 147 ], 148 visibility = ["//:__subpackages__"], 149) 150 151bool_flag( 152 name = "enable_skslc", 153 default = False, 154) 155 156skia_filegroup( 157 name = "srcs", 158 srcs = [ 159 ":sksl_srcs", 160 "//src/sksl/analysis:srcs", 161 "//src/sksl/codegen:srcs", 162 "//src/sksl/ir:srcs", 163 "//src/sksl/tracing:srcs", 164 "//src/sksl/transform:srcs", 165 ] + select({ 166 "//src/sksl:enable_skslc_true": [ 167 ":sksl_skslc_module_srcs", 168 ], 169 "//conditions:default": [ 170 ":sksl_default_module_srcs", 171 ], 172 }), 173 visibility = ["//src:__pkg__"], 174) 175 176skia_filegroup( 177 name = "private_hdrs", 178 srcs = [ 179 ":sksl_hdrs", 180 "//src/sksl/analysis:private_hdrs", 181 "//src/sksl/codegen:private_hdrs", 182 "//src/sksl/ir:private_hdrs", 183 "//src/sksl/tracing:private_hdrs", 184 "//src/sksl/transform:private_hdrs", 185 ] + select({ 186 ":use_sksl_gpu_srcs": [":gpu_hdrs"], 187 "//conditions:default": [], 188 }), 189 visibility = ["//src:__pkg__"], 190) 191 192skia_cc_deps( 193 name = "deps", 194 textual_hdrs = [ 195 ":txts", 196 ], 197 visibility = ["//src:__pkg__"], 198 deps = [ 199 "//src/sksl/codegen:deps", 200 ] + select({ 201 "//src/sksl:enable_skslc_true": [ 202 "//tools:get_executable_path", 203 "@dawn//:tint", 204 "@dawn//src/tint/lang/wgsl", 205 "@dawn//src/tint/lang/wgsl/reader", 206 "@spirv_tools", 207 ], 208 "//conditions:default": [], 209 }), 210) 211 212skia_filegroup( 213 name = "core_srcs", 214 srcs = [ 215 ":sksl_srcs", 216 "//src/sksl/analysis:srcs", 217 "//src/sksl/ir:srcs", 218 "//src/sksl/tracing:core_srcs", 219 "//src/sksl/transform:srcs", 220 ] + select({ 221 "//src/sksl:enable_skslc_true": [ 222 ":sksl_skslc_module_srcs", 223 ], 224 "//conditions:default": [ 225 ":sksl_default_module_srcs", 226 ], 227 }), 228 visibility = ["//src/core:__pkg__"], 229) 230 231skia_filegroup( 232 name = "core_priv_hdrs", 233 srcs = [ 234 ":sksl_hdrs", 235 "//src/sksl/analysis:private_hdrs", 236 "//src/sksl/ir:private_hdrs", 237 "//src/sksl/tracing:core_priv_hdrs", 238 "//src/sksl/transform:private_hdrs", 239 ], 240 visibility = ["//src/core:__pkg__"], 241) 242 243skia_cc_library( 244 name = "generated_sksl", 245 textual_hdrs = [":txts"], 246 visibility = ["//src/core:__pkg__"], 247) 248