• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1load("//bazel:flags.bzl", "bool_flag")
2load("//bazel:skia_rules.bzl", "exports_files_legacy", "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
12VK_FILES = [
13    "GrVkBackendSemaphore.cpp",
14    "GrVkBackendSurface.cpp",
15    "GrVkBackendSurfacePriv.h",
16    "GrVkBuffer.cpp",
17    "GrVkBuffer.h",
18    "GrVkCaps.cpp",
19    "GrVkCaps.h",
20    "GrVkCommandBuffer.cpp",
21    "GrVkCommandBuffer.h",
22    "GrVkCommandPool.cpp",
23    "GrVkCommandPool.h",
24    "GrVkContextThreadSafeProxy.cpp",
25    "GrVkContextThreadSafeProxy.h",
26    "GrVkDescriptorPool.cpp",
27    "GrVkDescriptorPool.h",
28    "GrVkDescriptorSet.cpp",
29    "GrVkDescriptorSet.h",
30    "GrVkDescriptorSetManager.cpp",
31    "GrVkDescriptorSetManager.h",
32    "GrVkDirectContext.cpp",
33    "GrVkFramebuffer.cpp",
34    "GrVkFramebuffer.h",
35    "GrVkGpu.cpp",
36    "GrVkGpu.h",
37    "GrVkImage.cpp",
38    "GrVkImage.h",
39    "GrVkImageLayout.h",
40    "GrVkImageView.cpp",
41    "GrVkImageView.h",
42    "GrVkManagedResource.h",
43    "GrVkMSAALoadManager.cpp",
44    "GrVkMSAALoadManager.h",
45    "GrVkOpsRenderPass.cpp",
46    "GrVkOpsRenderPass.h",
47    "GrVkPipeline.cpp",
48    "GrVkPipeline.h",
49    "GrVkPipelineState.cpp",
50    "GrVkPipelineState.h",
51    "GrVkPipelineStateBuilder.cpp",
52    "GrVkPipelineStateBuilder.h",
53    "GrVkPipelineStateCache.cpp",
54    "GrVkPipelineStateDataManager.cpp",
55    "GrVkPipelineStateDataManager.h",
56    "GrVkRenderPass.cpp",
57    "GrVkRenderPass.h",
58    "GrVkRenderTarget.cpp",
59    "GrVkRenderTarget.h",
60    "GrVkResourceProvider.cpp",
61    "GrVkResourceProvider.h",
62    "GrVkSampler.cpp",
63    "GrVkSampler.h",
64    "GrVkSamplerYcbcrConversion.cpp",
65    "GrVkSamplerYcbcrConversion.h",
66    "GrVkSemaphore.cpp",
67    "GrVkSemaphore.h",
68    "GrVkTexture.cpp",
69    "GrVkTexture.h",
70    "GrVkTextureRenderTarget.cpp",
71    "GrVkTextureRenderTarget.h",
72    "GrVkTypesPriv.cpp",
73    "GrVkTypesPriv.h",
74    "GrVkUniformHandler.cpp",
75    "GrVkUniformHandler.h",
76    "GrVkUtil.cpp",
77    "GrVkUtil.h",
78    "GrVkVaryingHandler.cpp",
79    "GrVkVaryingHandler.h",
80]
81
82split_srcs_and_hdrs(
83    name = "vk",
84    files = VK_FILES,
85)
86
87bool_flag(
88    name = "enable_secondary_draw_context",
89    default = False,
90)
91
92skia_filegroup(
93    name = "vk_chromium_srcs",
94    srcs = ["GrVkSecondaryCBDrawContext.cpp"],
95)
96
97skia_filegroup(
98    name = "android_srcs",
99    srcs = ["AHardwareBufferVk.cpp"],
100)
101
102skia_filegroup(
103    name = "srcs",
104    srcs = [
105        ":android_srcs",
106        ":vk_srcs",
107    ] + select({
108        ":enable_secondary_draw_context_true": [":vk_chromium_srcs"],
109        "//conditions:default": [],
110    }),
111    visibility = ["//src/gpu/ganesh:__pkg__"],
112)
113
114skia_filegroup(
115    name = "private_hdrs",
116    srcs = [":vk_hdrs"],
117    visibility = ["//src/gpu/ganesh:__pkg__"],
118)
119
120skia_cc_library(
121    name = "ganesh_vulkan",
122    srcs = [
123        ":vk_hdrs",
124        ":vk_srcs",
125        "//include/private/gpu/vk:private_hdrs",
126        "//src/gpu/vk:private_hdrs",
127        "//src/gpu/vk:srcs",
128    ],
129    hdrs = [
130        "//include/gpu:ganesh_hdrs",
131        "//include/gpu/ganesh:ganesh_hdrs",
132        "//include/gpu/ganesh/vk:public_hdrs",
133        "//include/gpu/vk:public_hdrs",
134    ],
135    defines = [
136        "SK_USE_EXTERNAL_VULKAN_HEADERS",
137    ],
138    features = ["layering_check"],
139    local_defines = [
140        "SK_USE_VMA",  # TODO(kjlubick, egdaniel) Turn this off by default and make a module.
141    ],
142    visibility = ["//:__pkg__"],
143    deps = [
144        "//:core",
145        "//src/base",
146        "//src/core:core_priv",
147        "//src/gpu",
148        "//src/gpu/ganesh",
149        "//src/gpu/vk/vulkanmemoryallocator",
150        "//src/sksl/codegen:spirv",
151        "@vulkan_headers",
152    ],
153)
154
155# TODO(lovisolo, kjlubick): Do this with a macro.
156skia_cc_library(
157    name = "ganesh_vulkan_TEST_UTIL",
158    testonly = True,
159    srcs = [
160        ":vk_hdrs",
161        ":vk_srcs",
162        "//include/private/gpu/vk:private_hdrs",
163        "//src/gpu/vk:private_hdrs",
164        "//src/gpu/vk:srcs",
165    ],
166    hdrs = [
167        "//include/gpu:ganesh_hdrs",
168        "//include/gpu/ganesh:ganesh_hdrs",
169        "//include/gpu/ganesh/vk:public_hdrs",
170        "//include/gpu/vk:public_hdrs",
171    ],
172    defines = [
173        "SK_GANESH",
174        "SK_VULKAN",
175    ],
176    features = ["layering_check"],
177    local_defines = [
178        "GR_TEST_UTILS",
179        "SK_USE_EXTERNAL_VULKAN_HEADERS",
180        "SK_USE_VMA",
181    ],
182    visibility = ["//tools:__subpackages__"],
183    deps = [
184        "//:core",
185        "//src/base",
186        "//src/core:core_priv",
187        "//src/gpu",
188        "//src/gpu/ganesh:ganesh_TEST_UTIL",
189        "//src/gpu/vk/vulkanmemoryallocator",
190        "//src/sksl/codegen:spirv",
191        "@vulkan_headers",
192    ],
193)
194