xref: /aosp_15_r20/external/skia/src/gpu/ganesh/mtl/BUILD.bazel (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1*c8dee2aaSAndroid Build Coastguard Workerload("//bazel:skia_rules.bzl", "skia_filegroup", "skia_objc_library", "split_srcs_and_hdrs")
2*c8dee2aaSAndroid Build Coastguard Worker
3*c8dee2aaSAndroid Build Coastguard Workerpackage(
4*c8dee2aaSAndroid Build Coastguard Worker    default_applicable_licenses = ["//:license"],
5*c8dee2aaSAndroid Build Coastguard Worker)
6*c8dee2aaSAndroid Build Coastguard Worker
7*c8dee2aaSAndroid Build Coastguard Workerlicenses(["notice"])
8*c8dee2aaSAndroid Build Coastguard Worker
9*c8dee2aaSAndroid Build Coastguard Worker# A list of files that is included by C++ files, but whose
10*c8dee2aaSAndroid Build Coastguard Worker# implementation resides in .mm files. The latter may need to
11*c8dee2aaSAndroid Build Coastguard Worker# be compiled separately (e.g. with Automatic Reference Counting [ARC]).
12*c8dee2aaSAndroid Build Coastguard Workerskia_filegroup(
13*c8dee2aaSAndroid Build Coastguard Worker    name = "mtl_cpp_hdrs",
14*c8dee2aaSAndroid Build Coastguard Worker    srcs = [
15*c8dee2aaSAndroid Build Coastguard Worker        "GrMtlCppUtil.h",
16*c8dee2aaSAndroid Build Coastguard Worker        "GrMtlTrampoline.h",
17*c8dee2aaSAndroid Build Coastguard Worker    ],
18*c8dee2aaSAndroid Build Coastguard Worker)
19*c8dee2aaSAndroid Build Coastguard Worker
20*c8dee2aaSAndroid Build Coastguard WorkerMTL_FILES = [
21*c8dee2aaSAndroid Build Coastguard Worker    "GrMtlAttachment.h",
22*c8dee2aaSAndroid Build Coastguard Worker    "GrMtlAttachment.mm",
23*c8dee2aaSAndroid Build Coastguard Worker    "GrMtlBackendSemaphore.mm",
24*c8dee2aaSAndroid Build Coastguard Worker    "GrMtlBackendSurface.mm",
25*c8dee2aaSAndroid Build Coastguard Worker    "GrMtlBuffer.h",
26*c8dee2aaSAndroid Build Coastguard Worker    "GrMtlBuffer.mm",
27*c8dee2aaSAndroid Build Coastguard Worker    "GrMtlCaps.h",
28*c8dee2aaSAndroid Build Coastguard Worker    "GrMtlCaps.mm",
29*c8dee2aaSAndroid Build Coastguard Worker    "GrMtlCommandBuffer.h",
30*c8dee2aaSAndroid Build Coastguard Worker    "GrMtlCommandBuffer.mm",
31*c8dee2aaSAndroid Build Coastguard Worker    "GrMtlDepthStencil.h",
32*c8dee2aaSAndroid Build Coastguard Worker    "GrMtlDepthStencil.mm",
33*c8dee2aaSAndroid Build Coastguard Worker    "GrMtlDirectContext.mm",
34*c8dee2aaSAndroid Build Coastguard Worker    "GrMtlFramebuffer.h",
35*c8dee2aaSAndroid Build Coastguard Worker    "GrMtlFramebuffer.mm",
36*c8dee2aaSAndroid Build Coastguard Worker    "GrMtlGpu.h",
37*c8dee2aaSAndroid Build Coastguard Worker    "GrMtlGpu.mm",
38*c8dee2aaSAndroid Build Coastguard Worker    "GrMtlOpsRenderPass.h",
39*c8dee2aaSAndroid Build Coastguard Worker    "GrMtlOpsRenderPass.mm",
40*c8dee2aaSAndroid Build Coastguard Worker    "GrMtlPipeline.h",
41*c8dee2aaSAndroid Build Coastguard Worker    "GrMtlPipelineState.h",
42*c8dee2aaSAndroid Build Coastguard Worker    "GrMtlPipelineState.mm",
43*c8dee2aaSAndroid Build Coastguard Worker    "GrMtlPipelineStateBuilder.h",
44*c8dee2aaSAndroid Build Coastguard Worker    "GrMtlPipelineStateBuilder.mm",
45*c8dee2aaSAndroid Build Coastguard Worker    "GrMtlPipelineStateDataManager.h",
46*c8dee2aaSAndroid Build Coastguard Worker    "GrMtlPipelineStateDataManager.mm",
47*c8dee2aaSAndroid Build Coastguard Worker    "GrMtlRenderCommandEncoder.h",
48*c8dee2aaSAndroid Build Coastguard Worker    "GrMtlRenderTarget.h",
49*c8dee2aaSAndroid Build Coastguard Worker    "GrMtlRenderTarget.mm",
50*c8dee2aaSAndroid Build Coastguard Worker    "GrMtlResourceProvider.h",
51*c8dee2aaSAndroid Build Coastguard Worker    "GrMtlResourceProvider.mm",
52*c8dee2aaSAndroid Build Coastguard Worker    "GrMtlSampler.h",
53*c8dee2aaSAndroid Build Coastguard Worker    "GrMtlSampler.mm",
54*c8dee2aaSAndroid Build Coastguard Worker    "GrMtlSemaphore.h",
55*c8dee2aaSAndroid Build Coastguard Worker    "GrMtlSemaphore.mm",
56*c8dee2aaSAndroid Build Coastguard Worker    "GrMtlTexture.h",
57*c8dee2aaSAndroid Build Coastguard Worker    "GrMtlTexture.mm",
58*c8dee2aaSAndroid Build Coastguard Worker    "GrMtlTextureRenderTarget.h",
59*c8dee2aaSAndroid Build Coastguard Worker    "GrMtlTextureRenderTarget.mm",
60*c8dee2aaSAndroid Build Coastguard Worker    "GrMtlTrampoline.mm",
61*c8dee2aaSAndroid Build Coastguard Worker    "GrMtlTypesPriv.h",
62*c8dee2aaSAndroid Build Coastguard Worker    "GrMtlTypesPriv.mm",
63*c8dee2aaSAndroid Build Coastguard Worker    "GrMtlUniformHandler.h",
64*c8dee2aaSAndroid Build Coastguard Worker    "GrMtlUniformHandler.mm",
65*c8dee2aaSAndroid Build Coastguard Worker    "GrMtlUtil.h",
66*c8dee2aaSAndroid Build Coastguard Worker    "GrMtlUtil.mm",
67*c8dee2aaSAndroid Build Coastguard Worker    "GrMtlVaryingHandler.h",
68*c8dee2aaSAndroid Build Coastguard Worker    "GrMtlVaryingHandler.mm",
69*c8dee2aaSAndroid Build Coastguard Worker]
70*c8dee2aaSAndroid Build Coastguard Worker
71*c8dee2aaSAndroid Build Coastguard Workersplit_srcs_and_hdrs(
72*c8dee2aaSAndroid Build Coastguard Worker    name = "mtl",
73*c8dee2aaSAndroid Build Coastguard Worker    files = MTL_FILES,
74*c8dee2aaSAndroid Build Coastguard Worker)
75*c8dee2aaSAndroid Build Coastguard Worker
76*c8dee2aaSAndroid Build Coastguard Workerskia_objc_library(
77*c8dee2aaSAndroid Build Coastguard Worker    name = "ganesh_metal",
78*c8dee2aaSAndroid Build Coastguard Worker    srcs = [
79*c8dee2aaSAndroid Build Coastguard Worker        ":mtl_cpp_hdrs",
80*c8dee2aaSAndroid Build Coastguard Worker        ":mtl_hdrs",
81*c8dee2aaSAndroid Build Coastguard Worker        ":mtl_srcs",
82*c8dee2aaSAndroid Build Coastguard Worker        "//src/gpu/ganesh/surface:mtl_objc_srcs",
83*c8dee2aaSAndroid Build Coastguard Worker    ],
84*c8dee2aaSAndroid Build Coastguard Worker    hdrs = [
85*c8dee2aaSAndroid Build Coastguard Worker        "//include/gpu:shared_gpu_hdrs",
86*c8dee2aaSAndroid Build Coastguard Worker        "//include/gpu/ganesh:ganesh_hdrs",
87*c8dee2aaSAndroid Build Coastguard Worker        "//include/gpu/ganesh/mtl:public_hdrs",
88*c8dee2aaSAndroid Build Coastguard Worker        "//include/gpu/mtl:public_hdrs",
89*c8dee2aaSAndroid Build Coastguard Worker        "//include/ports:core_foundation_hdrs",
90*c8dee2aaSAndroid Build Coastguard Worker    ],
91*c8dee2aaSAndroid Build Coastguard Worker    copts = ["-fobjc-arc"],
92*c8dee2aaSAndroid Build Coastguard Worker    defines = ["SK_METAL"],
93*c8dee2aaSAndroid Build Coastguard Worker    sdk_frameworks = [
94*c8dee2aaSAndroid Build Coastguard Worker        "Metal",
95*c8dee2aaSAndroid Build Coastguard Worker        "MetalKit",
96*c8dee2aaSAndroid Build Coastguard Worker        "Foundation",
97*c8dee2aaSAndroid Build Coastguard Worker    ],
98*c8dee2aaSAndroid Build Coastguard Worker    visibility = ["//:__pkg__"],
99*c8dee2aaSAndroid Build Coastguard Worker    deps = [
100*c8dee2aaSAndroid Build Coastguard Worker        "//:core",
101*c8dee2aaSAndroid Build Coastguard Worker        "//src/base",
102*c8dee2aaSAndroid Build Coastguard Worker        "//src/core:core_priv",
103*c8dee2aaSAndroid Build Coastguard Worker        "//src/gpu",
104*c8dee2aaSAndroid Build Coastguard Worker        "//src/gpu/ganesh",
105*c8dee2aaSAndroid Build Coastguard Worker        "//src/gpu/mtl:gpu_mtl",
106*c8dee2aaSAndroid Build Coastguard Worker        "//src/sksl/codegen:metal",
107*c8dee2aaSAndroid Build Coastguard Worker    ],
108*c8dee2aaSAndroid Build Coastguard Worker)
109*c8dee2aaSAndroid Build Coastguard Worker
110*c8dee2aaSAndroid Build Coastguard Workerskia_objc_library(
111*c8dee2aaSAndroid Build Coastguard Worker    name = "ganesh_metal_TEST_UTIL",
112*c8dee2aaSAndroid Build Coastguard Worker    testonly = True,
113*c8dee2aaSAndroid Build Coastguard Worker    srcs = [
114*c8dee2aaSAndroid Build Coastguard Worker        ":mtl_cpp_hdrs",
115*c8dee2aaSAndroid Build Coastguard Worker        ":mtl_hdrs",
116*c8dee2aaSAndroid Build Coastguard Worker        ":mtl_srcs",
117*c8dee2aaSAndroid Build Coastguard Worker        "//src/gpu/ganesh/surface:mtl_objc_srcs",
118*c8dee2aaSAndroid Build Coastguard Worker    ],
119*c8dee2aaSAndroid Build Coastguard Worker    hdrs = [
120*c8dee2aaSAndroid Build Coastguard Worker        "//include/gpu:shared_gpu_hdrs",
121*c8dee2aaSAndroid Build Coastguard Worker        "//include/gpu/ganesh:ganesh_hdrs",
122*c8dee2aaSAndroid Build Coastguard Worker        "//include/gpu/ganesh/mtl:public_hdrs",
123*c8dee2aaSAndroid Build Coastguard Worker        "//include/gpu/mtl:public_hdrs",
124*c8dee2aaSAndroid Build Coastguard Worker        "//include/ports:core_foundation_hdrs",
125*c8dee2aaSAndroid Build Coastguard Worker    ],
126*c8dee2aaSAndroid Build Coastguard Worker    copts = ["-fobjc-arc"],
127*c8dee2aaSAndroid Build Coastguard Worker    defines = ["SK_METAL"],
128*c8dee2aaSAndroid Build Coastguard Worker    sdk_frameworks = [
129*c8dee2aaSAndroid Build Coastguard Worker        "Metal",
130*c8dee2aaSAndroid Build Coastguard Worker        "MetalKit",
131*c8dee2aaSAndroid Build Coastguard Worker        "Foundation",
132*c8dee2aaSAndroid Build Coastguard Worker    ],
133*c8dee2aaSAndroid Build Coastguard Worker    visibility = ["//tools/window:__pkg__"],
134*c8dee2aaSAndroid Build Coastguard Worker    deps = [
135*c8dee2aaSAndroid Build Coastguard Worker        "//:core",
136*c8dee2aaSAndroid Build Coastguard Worker        "//src/base",
137*c8dee2aaSAndroid Build Coastguard Worker        "//src/core:core_priv",
138*c8dee2aaSAndroid Build Coastguard Worker        "//src/gpu",
139*c8dee2aaSAndroid Build Coastguard Worker        "//src/gpu/ganesh:ganesh_TEST_UTIL",
140*c8dee2aaSAndroid Build Coastguard Worker        "//src/gpu/mtl:gpu_mtl",
141*c8dee2aaSAndroid Build Coastguard Worker        "//src/sksl/codegen:metal",
142*c8dee2aaSAndroid Build Coastguard Worker    ],
143*c8dee2aaSAndroid Build Coastguard Worker)
144