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