xref: /aosp_15_r20/external/skia/src/sksl/codegen/BUILD.bazel (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1load("//bazel:skia_rules.bzl", "skia_cc_library", "skia_filegroup")
2
3package(
4    default_applicable_licenses = ["//:license"],
5)
6
7licenses(["notice"])
8
9skia_filegroup(
10    name = "rasterpipeline_hdrs",
11    srcs = [
12        "SkSLRasterPipelineBuilder.h",
13        "SkSLRasterPipelineCodeGenerator.h",
14    ],
15    visibility = ["//src/core:__pkg__"],
16)
17
18skia_filegroup(
19    name = "rasterpipeline_srcs",
20    srcs = [
21        "SkSLRasterPipelineBuilder.cpp",
22        "SkSLRasterPipelineCodeGenerator.cpp",
23    ],
24    visibility = ["//src/core:__pkg__"],
25)
26
27skia_filegroup(
28    name = "codegen_shared_priv",
29    srcs = [
30        "SkSLCodeGenerator.h",
31    ],
32)
33
34skia_filegroup(
35    name = "codegen_shared_exported",
36    srcs = [
37        "SkSLCodeGenTypes.h",
38    ],
39)
40
41skia_cc_library(
42    name = "gpu",
43    srcs = [
44        "SkSLPipelineStageCodeGenerator.cpp",
45    ],
46    hdrs = [
47        "SkSLPipelineStageCodeGenerator.h",
48    ],
49    features = ["layering_check"],
50    visibility = [
51        "//src/gpu/ganesh:__pkg__",
52        "//src/gpu/graphite:__pkg__",
53        "//tools/skslc:__pkg__",
54    ],
55    deps = [
56        "//:core",
57        "//src/base",
58        "//src/core:core_priv",
59        "//src/gpu",
60    ],
61)
62
63skia_cc_library(
64    name = "glsl",
65    srcs = [
66        "SkSLGLSLCodeGenerator.cpp",
67        ":codegen_shared_priv",
68    ],
69    hdrs = [
70        "SkSLGLSLCodeGenerator.h",
71        ":codegen_shared_exported",
72    ],
73    features = ["layering_check"],
74    visibility = [
75        "//src/gpu/ganesh/gl:__pkg__",
76        "//tools/skslc:__pkg__",
77    ],
78    deps = [
79        "//:core",
80        "//src/base",
81        "//src/core:core_priv",
82    ],
83)
84
85skia_cc_library(
86    name = "hlsl",
87    srcs = [
88        "SkSLHLSLCodeGenerator.cpp",
89        "SkSLSPIRVtoHLSL.cpp",
90        "SkSLSPIRVtoHLSL.h",
91        ":codegen_shared_priv",
92    ],
93    hdrs = [
94        "SkSLHLSLCodeGenerator.h",
95        ":codegen_shared_exported",
96    ],
97    features = ["layering_check"],
98    visibility = [
99        "//tools/skslc:__pkg__",
100    ],
101    deps = [
102        ":spirv",
103        "//:core",
104        "//src/base",
105        "//src/core:core_priv",
106        "@spirv_cross",
107    ],
108)
109
110skia_cc_library(
111    name = "metal",
112    srcs = [
113        "SkSLMetalCodeGenerator.cpp",
114        ":codegen_shared_priv",
115    ],
116    hdrs = [
117        "SkSLMetalCodeGenerator.h",
118        ":codegen_shared_exported",
119    ],
120    features = ["layering_check"],
121    visibility = [
122        "//src/gpu/ganesh/mtl:__pkg__",
123        "//src/gpu/mtl:__pkg__",
124        "//tools/skslc:__pkg__",
125    ],
126    deps = [
127        "//:core",
128        "//src/base",
129        "//src/core:core_priv",
130    ],
131)
132
133skia_cc_library(
134    name = "spirv",
135    srcs = [
136        "SkSLSPIRVCodeGenerator.cpp",
137        ":codegen_shared_priv",
138        "//src/sksl:gpu_hdrs",
139    ],
140    hdrs = [
141        "SkSLSPIRVCodeGenerator.h",
142        ":codegen_shared_exported",
143    ],
144    features = ["layering_check"],
145    visibility = [
146        "//src/gpu/vk:__pkg__",
147        "//tools/skslc:__pkg__",
148    ],
149    deps = [
150        "//:core",
151        "//src/base",
152        "//src/core:core_priv",
153    ],
154)
155
156skia_cc_library(
157    name = "spirv_validator",
158    srcs = [
159        "SkSLSPIRVValidator.cpp",
160    ],
161    hdrs = [
162        "SkSLSPIRVValidator.h",
163    ],
164    features = ["layering_check"],
165    visibility = [
166        "//tools/skslc:__pkg__",
167    ],
168    deps = [
169        "//:core",
170        "//src/core:core_priv",
171        "@spirv_tools",
172    ],
173)
174
175skia_cc_library(
176    name = "wgsl",
177    srcs = [
178        "SkSLWGSLCodeGenerator.cpp",
179        ":codegen_shared_priv",
180    ],
181    hdrs = [
182        "SkSLWGSLCodeGenerator.h",
183        ":codegen_shared_exported",
184    ],
185    features = ["layering_check"],
186    visibility = [
187        "//tools/skslc:__pkg__",
188    ],
189    deps = [
190        "//:core",
191        "//src/base",
192        "//src/core:core_priv",
193    ],
194)
195
196skia_cc_library(
197    name = "wgsl_validator",
198    srcs = [
199        "SkSLWGSLValidator.cpp",
200    ],
201    hdrs = [
202        "SkSLWGSLValidator.h",
203    ],
204    features = ["layering_check"],
205    visibility = [
206        "//tools/skslc:__pkg__",
207    ],
208    deps = [
209        "//:core",
210        "//src/core:core_priv",
211        "@dawn//:tint",
212        "@dawn//src/tint/lang/wgsl",
213        "@dawn//src/tint/lang/wgsl/reader",
214    ],
215)
216