• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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