xref: /aosp_15_r20/external/skia/src/gpu/ganesh/vk/BUILD.bazel (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1load("//bazel:skia_rules.bzl", "skia_cc_library", "skia_filegroup", "split_srcs_and_hdrs")
2
3package(
4    default_applicable_licenses = ["//:license"],
5)
6
7licenses(["notice"])
8
9VK_FILES = [
10    "GrVkBackendSemaphore.cpp",
11    "GrVkBackendSurface.cpp",
12    "GrVkBackendSurfacePriv.h",
13    "GrVkBuffer.cpp",
14    "GrVkBuffer.h",
15    "GrVkCaps.cpp",
16    "GrVkCaps.h",
17    "GrVkCommandBuffer.cpp",
18    "GrVkCommandBuffer.h",
19    "GrVkCommandPool.cpp",
20    "GrVkCommandPool.h",
21    "GrVkContextThreadSafeProxy.cpp",
22    "GrVkContextThreadSafeProxy.h",
23    "GrVkDescriptorPool.cpp",
24    "GrVkDescriptorPool.h",
25    "GrVkDescriptorSet.cpp",
26    "GrVkDescriptorSet.h",
27    "GrVkDescriptorSetManager.cpp",
28    "GrVkDescriptorSetManager.h",
29    "GrVkDirectContext.cpp",
30    "GrVkFramebuffer.cpp",
31    "GrVkFramebuffer.h",
32    "GrVkGpu.cpp",
33    "GrVkGpu.h",
34    "GrVkImage.cpp",
35    "GrVkImage.h",
36    "GrVkImageLayout.h",
37    "GrVkImageView.cpp",
38    "GrVkImageView.h",
39    "GrVkManagedResource.h",
40    "GrVkMSAALoadManager.cpp",
41    "GrVkMSAALoadManager.h",
42    "GrVkOpsRenderPass.cpp",
43    "GrVkOpsRenderPass.h",
44    "GrVkPipeline.cpp",
45    "GrVkPipeline.h",
46    "GrVkPipelineState.cpp",
47    "GrVkPipelineState.h",
48    "GrVkPipelineStateBuilder.cpp",
49    "GrVkPipelineStateBuilder.h",
50    "GrVkPipelineStateCache.cpp",
51    "GrVkPipelineStateDataManager.cpp",
52    "GrVkPipelineStateDataManager.h",
53    "GrVkRenderPass.cpp",
54    "GrVkRenderPass.h",
55    "GrVkRenderTarget.cpp",
56    "GrVkRenderTarget.h",
57    "GrVkResourceProvider.cpp",
58    "GrVkResourceProvider.h",
59    "GrVkSampler.cpp",
60    "GrVkSampler.h",
61    "GrVkSamplerYcbcrConversion.cpp",
62    "GrVkSamplerYcbcrConversion.h",
63    "GrVkSemaphore.cpp",
64    "GrVkSemaphore.h",
65    "GrVkTexture.cpp",
66    "GrVkTexture.h",
67    "GrVkTextureRenderTarget.cpp",
68    "GrVkTextureRenderTarget.h",
69    "GrVkTypesPriv.cpp",
70    "GrVkTypesPriv.h",
71    "GrVkUniformHandler.cpp",
72    "GrVkUniformHandler.h",
73    "GrVkUtil.cpp",
74    "GrVkUtil.h",
75    "GrVkVaryingHandler.cpp",
76    "GrVkVaryingHandler.h",
77]
78
79split_srcs_and_hdrs(
80    name = "vk",
81    files = VK_FILES,
82)
83
84skia_filegroup(
85    name = "vk_chromium_srcs",
86    srcs = ["GrVkSecondaryCBDrawContext.cpp"],
87)
88
89skia_filegroup(
90    name = "android_srcs",
91    srcs = ["AHardwareBufferVk.cpp"],
92)
93
94skia_cc_library(
95    name = "ganesh_vulkan",
96    srcs = [
97        ":vk_hdrs",
98        ":vk_srcs",
99        "//include/private/gpu/vk:private_hdrs",
100    ],
101    hdrs = [
102        "//include/gpu:shared_gpu_hdrs",
103        "//include/gpu/ganesh:ganesh_hdrs",
104        "//include/gpu/ganesh/vk:public_hdrs",
105        "//include/gpu/vk:shared_public_hdrs",
106    ],
107    features = ["layering_check"],
108    local_defines = [
109        "SK_USE_VMA",  # TODO(kjlubick, egdaniel) Turn this off by default and remove.
110    ],
111    visibility = ["//:__pkg__"],
112    deps = [
113        "//:core",
114        "//src/base",
115        "//src/core:core_priv",
116        "//src/gpu",
117        "//src/gpu/ganesh",
118        "//src/gpu/vk",
119        "//src/gpu/vk/vulkanmemoryallocator:vulkanmemoryallocator_priv",
120        "@vulkan_headers",
121    ],
122)
123
124# TODO(lovisolo, kjlubick): Do this with a macro.
125skia_cc_library(
126    name = "ganesh_vulkan_TEST_UTIL",
127    testonly = True,
128    srcs = [
129        ":vk_hdrs",
130        ":vk_srcs",
131        "//include/private/gpu/vk:private_hdrs",
132    ],
133    hdrs = [
134        "//include/gpu:shared_gpu_hdrs",
135        "//include/gpu/ganesh:ganesh_hdrs",
136        "//include/gpu/ganesh/vk:public_hdrs",
137        "//include/gpu/vk:shared_public_hdrs",
138    ],
139    defines = [
140        "SK_GANESH",
141        "SK_VULKAN",
142    ],
143    features = ["layering_check"],
144    local_defines = [
145        "GPU_TEST_UTILS",
146    ],
147    visibility = ["//tools:__subpackages__"],
148    deps = [
149        "//:core",
150        "//src/base",
151        "//src/core:core_priv",
152        "//src/gpu",
153        "//src/gpu/ganesh:ganesh_TEST_UTIL",
154        "//src/gpu/vk",
155        "//src/gpu/vk/vulkanmemoryallocator:vulkanmemoryallocator_priv",
156        "@vulkan_headers",
157    ],
158)
159