1load("//bazel:skia_rules.bzl", "exports_files_legacy", "generate_cpp_files_for_headers", "select_multi", "skia_cc_deps", "skia_cc_library", "skia_filegroup", "split_srcs_and_hdrs") 2 3package( 4 default_applicable_licenses = ["//:license"], 5) 6 7licenses(["notice"]) 8 9exports_files_legacy() 10 11# In separate groups for exporting to sksl.gni:skslc_deps. 12SKSLC_FILES = [ 13 "GrMemoryPool.cpp", 14 "GrMemoryPool.h", 15] 16 17split_srcs_and_hdrs( 18 name = "core_skslc", 19 files = SKSLC_FILES, 20) 21 22CORE_FILES = [ 23 "ClipStack.cpp", 24 "ClipStack.h", 25 "Device.cpp", 26 "Device_drawTexture.cpp", 27 "Device.h", 28 "GrAppliedClip.h", 29 "GrAttachment.cpp", 30 "GrAttachment.h", 31 "GrAuditTrail.cpp", 32 "GrAuditTrail.h", 33 "GrAutoLocaleSetter.h", 34 "GrBackendSemaphore.cpp", 35 "GrBackendSemaphorePriv.h", 36 "GrBackendSurface.cpp", 37 "GrBackendSurfacePriv.h", 38 "GrBackendTextureImageGenerator.cpp", 39 "GrBackendTextureImageGenerator.h", 40 "GrBackendUtils.cpp", 41 "GrBackendUtils.h", 42 "GrBaseContextPriv.h", 43 "GrBlurUtils.cpp", 44 "GrBlurUtils.h", 45 "GrBuffer.h", 46 "GrBufferAllocPool.cpp", 47 "GrBufferAllocPool.h", 48 "GrBufferTransferRenderTask.cpp", 49 "GrBufferTransferRenderTask.h", 50 "GrBufferUpdateRenderTask.cpp", 51 "GrBufferUpdateRenderTask.h", 52 "GrCaps.cpp", 53 "GrCaps.h", 54 "GrCanvas.cpp", 55 "GrCanvas.h", 56 "GrClientMappedBufferManager.cpp", 57 "GrClientMappedBufferManager.h", 58 "GrClip.h", 59 "GrColor.h", 60 "GrColorInfo.cpp", 61 "GrColorInfo.h", 62 "GrColorSpaceXform.cpp", 63 "GrColorSpaceXform.h", 64 "GrContextThreadSafeProxy.cpp", 65 "GrContextThreadSafeProxyPriv.h", 66 "GrContext_Base.cpp", 67 "GrCopyRenderTask.cpp", 68 "GrCopyRenderTask.h", 69 "GrCpuBuffer.h", 70 "GrDDLContext.cpp", 71 "GrDDLTask.cpp", 72 "GrDDLTask.h", 73 "GrDataUtils.cpp", 74 "GrDataUtils.h", 75 "GrDefaultGeoProcFactory.cpp", 76 "GrDefaultGeoProcFactory.h", 77 "GrDeferredProxyUploader.h", 78 "GrDeferredUpload.h", 79 "GrDeferredDisplayList.cpp", 80 "GrDeferredDisplayListPriv.h", 81 "GrDeferredDisplayListRecorder.cpp", 82 "GrDirectContext.cpp", 83 "GrDirectContextPriv.cpp", 84 "GrDirectContextPriv.h", 85 "GrDistanceFieldGenFromVector.cpp", 86 "GrDistanceFieldGenFromVector.h", 87 "GrDrawIndirectCommand.h", 88 "GrDrawOpAtlas.cpp", 89 "GrDrawOpAtlas.h", 90 "GrDrawOpTest.cpp", 91 "GrDrawOpTest.h", 92 "GrDrawingManager.cpp", 93 "GrDrawingManager.h", 94 "GrDriverBugWorkarounds.cpp", 95 "GrDstProxyView.h", 96 "GrDynamicAtlas.cpp", 97 "GrDynamicAtlas.h", 98 "GrEagerVertexAllocator.cpp", 99 "GrEagerVertexAllocator.h", 100 "GrFPArgs.h", 101 "GrFixedClip.cpp", 102 "GrFixedClip.h", 103 "GrFragmentProcessor.cpp", 104 "GrFragmentProcessor.h", 105 "GrFragmentProcessors.cpp", 106 "GrFragmentProcessors.h", 107 "GrGeometryProcessor.cpp", 108 "GrGeometryProcessor.h", 109 "GrGpu.cpp", 110 "GrGpu.h", 111 "GrGpuBuffer.cpp", 112 "GrGpuBuffer.h", 113 "GrGpuResource.cpp", 114 "GrGpuResource.h", 115 "GrGpuResourceCacheAccess.h", 116 "GrGpuResourcePriv.h", 117 "GrHashMapWithCache.h", 118 "GrImageContext.cpp", 119 "GrImageContextPriv.h", 120 "GrImageInfo.cpp", 121 "GrImageInfo.h", 122 "GrManagedResource.cpp", 123 "GrManagedResource.h", 124 "GrMeshBuffers.cpp", 125 "GrMeshBuffers.h", 126 "GrMeshDrawTarget.cpp", 127 "GrMeshDrawTarget.h", 128 "GrNativeRect.h", 129 "GrNonAtomicRef.h", 130 "GrOnFlushResourceProvider.cpp", 131 "GrOnFlushResourceProvider.h", 132 "GrOpFlushState.cpp", 133 "GrOpFlushState.h", 134 "GrOpsRenderPass.cpp", 135 "GrOpsRenderPass.h", 136 "GrOpsTypes.h", 137 "GrPaint.cpp", 138 "GrPaint.h", 139 "GrPersistentCacheUtils.cpp", 140 "GrPersistentCacheUtils.h", 141 "GrPipeline.cpp", 142 "GrPipeline.h", 143 "GrPixmap.h", 144 "GrProcessor.cpp", 145 "GrProcessor.h", 146 "GrProcessorAnalysis.cpp", 147 "GrProcessorAnalysis.h", 148 "GrProcessorSet.cpp", 149 "GrProcessorSet.h", 150 "GrProcessorUnitTest.cpp", 151 "GrProcessorUnitTest.h", 152 "GrProgramDesc.cpp", 153 "GrProgramDesc.h", 154 "GrProgramInfo.cpp", 155 "GrProgramInfo.h", 156 "GrPromiseImageTexture.cpp", 157 "GrProxyProvider.cpp", 158 "GrProxyProvider.h", 159 "GrRecordingContext.cpp", 160 "GrRecordingContextPriv.cpp", 161 "GrRecordingContextPriv.h", 162 "GrRenderTarget.cpp", 163 "GrRenderTarget.h", 164 "GrRenderTargetProxy.cpp", 165 "GrRenderTargetProxy.h", 166 "GrRenderTask.cpp", 167 "GrRenderTask.h", 168 "GrRenderTaskCluster.cpp", 169 "GrRenderTaskCluster.h", 170 "GrResourceAllocator.cpp", 171 "GrResourceAllocator.h", 172 "GrResourceCache.cpp", 173 "GrResourceCache.h", 174 "GrResourceHandle.h", 175 "GrResourceProvider.cpp", 176 "GrResourceProvider.h", 177 "GrResourceProviderPriv.h", 178 "GrRingBuffer.cpp", 179 "GrRingBuffer.h", 180 "GrSPIRVUniformHandler.cpp", 181 "GrSPIRVUniformHandler.h", 182 "GrSPIRVVaryingHandler.cpp", 183 "GrSPIRVVaryingHandler.h", 184 "GrSWMaskHelper.cpp", 185 "GrSWMaskHelper.h", 186 "GrSamplerState.h", 187 "GrScissorState.h", 188 "GrSemaphore.h", 189 "GrShaderCaps.cpp", 190 "GrShaderCaps.h", 191 "GrShaderVar.cpp", 192 "GrShaderVar.h", 193 "GrSimpleMesh.h", 194 "GrStagingBufferManager.cpp", 195 "GrStagingBufferManager.h", 196 "GrStencilSettings.cpp", 197 "GrStencilSettings.h", 198 "GrStyle.cpp", 199 "GrStyle.h", 200 "GrSurface.cpp", 201 "GrSurface.h", 202 "GrSurfaceCharacterization.cpp", 203 "GrSurfaceProxy.cpp", 204 "GrSurfaceProxy.h", 205 "GrSurfaceProxyPriv.h", 206 "GrSurfaceProxyView.cpp", 207 "GrSurfaceProxyView.h", 208 "GrTestUtils.cpp", 209 "GrTestUtils.h", 210 "GrTTopoSort.h", 211 "GrTexture.cpp", 212 "GrTexture.h", 213 "GrTextureProxy.cpp", 214 "GrTextureProxy.h", 215 "GrTextureProxyCacheAccess.h", 216 "GrTextureProxyPriv.h", 217 "GrTextureRenderTargetProxy.cpp", 218 "GrTextureRenderTargetProxy.h", 219 "GrTextureResolveManager.h", 220 "GrTextureResolveRenderTask.cpp", 221 "GrTextureResolveRenderTask.h", 222 "GrThreadSafeCache.cpp", 223 "GrThreadSafeCache.h", 224 "GrThreadSafePipelineBuilder.cpp", 225 "GrThreadSafePipelineBuilder.h", 226 "GrTracing.h", 227 "GrTransferFromRenderTask.cpp", 228 "GrTransferFromRenderTask.h", 229 "GrUniformDataManager.cpp", 230 "GrUniformDataManager.h", 231 "GrUserStencilSettings.h", 232 "GrUtil.cpp", 233 "GrUtil.h", 234 "GrVertexChunkArray.cpp", 235 "GrVertexChunkArray.h", 236 "GrWaitRenderTask.cpp", 237 "GrWaitRenderTask.h", 238 "GrWindowRectangles.h", 239 "GrWindowRectsState.h", 240 "GrWritePixelsRenderTask.cpp", 241 "GrWritePixelsRenderTask.h", 242 "GrXferProcessor.cpp", 243 "GrXferProcessor.h", 244 "GrYUVABackendTextures.cpp", 245 "GrYUVATextureProxies.cpp", 246 "GrYUVATextureProxies.h", 247 "PathRenderer.cpp", 248 "PathRenderer.h", 249 "PathRendererChain.cpp", 250 "PathRendererChain.h", 251 "SkGr.cpp", 252 "SkGr.h", 253 "StencilClip.h", 254 "StencilMaskHelper.cpp", 255 "StencilMaskHelper.h", 256 "SurfaceContext.cpp", 257 "SurfaceContext.h", 258 "SurfaceDrawContext.cpp", 259 "SurfaceDrawContext.h", 260 "SurfaceFillContext.cpp", 261 "SurfaceFillContext.h", 262 "TestFormatColorTypeCombination.h", 263] 264 265split_srcs_and_hdrs( 266 name = "core", 267 files = CORE_FILES, 268) 269 270skia_filegroup( 271 name = "android_srcs", 272 srcs = [ 273 "GrAHardwareBufferImageGenerator.cpp", 274 "GrAHardwareBufferImageGenerator.h", 275 "GrAHardwareBufferUtils.cpp", 276 ], 277) 278 279skia_filegroup( 280 name = "srcs", 281 srcs = [ 282 ":android_srcs", 283 ":core_skslc_srcs", 284 ":core_srcs", 285 "//src/gpu/ganesh/effects:srcs", 286 "//src/gpu/ganesh/geometry:srcs", 287 "//src/gpu/ganesh/glsl:srcs", 288 "//src/gpu/ganesh/gradients:srcs", 289 "//src/gpu/ganesh/image:srcs", 290 "//src/gpu/ganesh/mock:srcs", # TODO(kjlubick, egdaniel) should this be test only? 291 "//src/gpu/ganesh/ops:srcs", 292 "//src/gpu/ganesh/surface:srcs", 293 "//src/gpu/ganesh/tessellate:srcs", 294 "//src/gpu/ganesh/text:srcs", 295 ] + select_multi( 296 { 297 "//src/gpu:gl_ganesh": ["//src/gpu/ganesh/gl:srcs"], 298 "//src/gpu:vulkan_ganesh": ["//src/gpu/ganesh/vk:srcs"], 299 "@platforms//os:android": ["//src/gpu/ganesh/surface:android_srcs"], 300 # TODO(kjlubick) d3d backend 301 }, 302 ), 303 visibility = ["//src/gpu:__pkg__"], 304) 305 306skia_filegroup( 307 name = "objc_srcs", 308 srcs = select_multi( 309 { 310 "//src/gpu:metal_ganesh": [ 311 "//src/gpu/ganesh/mtl:objc_srcs", 312 "//src/gpu/ganesh/surface:mtl_objc_srcs", 313 ], 314 }, 315 ), 316 visibility = ["//src/gpu:__pkg__"], 317) 318 319skia_filegroup( 320 name = "private_hdrs", 321 srcs = [ 322 ":core_hdrs", 323 ":core_skslc_hdrs", 324 "//src/gpu/ganesh/effects:private_hdrs", 325 "//src/gpu/ganesh/geometry:private_hdrs", 326 "//src/gpu/ganesh/glsl:private_hdrs", 327 "//src/gpu/ganesh/gradients:private_hdrs", 328 "//src/gpu/ganesh/image:private_hdrs", 329 "//src/gpu/ganesh/mock:private_hdrs", # TODO(kjlubick, egdaniel) should this be test only? 330 "//src/gpu/ganesh/ops:private_hdrs", 331 "//src/gpu/ganesh/surface:private_hdrs", 332 "//src/gpu/ganesh/tessellate:private_hdrs", 333 "//src/gpu/ganesh/text:private_hdrs", 334 ] + select_multi( 335 { 336 "//src/gpu:gl_ganesh": ["//src/gpu/ganesh/gl:private_hdrs"], 337 "//src/gpu:vulkan_ganesh": ["//src/gpu/ganesh/vk:private_hdrs"], 338 "//src/gpu:metal_ganesh": ["//src/gpu/ganesh/mtl:private_hdrs"], 339 # TODO(kjlubick) d3d backend 340 }, 341 ), 342 visibility = ["//src/gpu:__pkg__"], 343) 344 345skia_cc_deps( 346 name = "deps", 347 visibility = ["//src/gpu:__pkg__"], 348 deps = select_multi( 349 { 350 "//src/gpu:gl_ganesh": ["//src/gpu/ganesh/gl:deps"], 351 # TODO(kjlubick) mtl and d3d backend 352 }, 353 ), 354) 355 356skia_cc_library( 357 name = "ganesh", 358 srcs = [ 359 ":core_skslc_srcs", 360 ":core_srcs", 361 "//src/gpu/ganesh/effects:srcs", 362 "//src/gpu/ganesh/geometry:srcs", 363 "//src/gpu/ganesh/glsl:srcs", 364 "//src/gpu/ganesh/gradients:srcs", 365 "//src/gpu/ganesh/image:srcs", 366 "//src/gpu/ganesh/ops:srcs", 367 "//src/gpu/ganesh/surface:srcs", 368 "//src/gpu/ganesh/tessellate:srcs", 369 "//src/gpu/ganesh/text:srcs", 370 "//src/text/gpu:srcs", 371 # TODO(kjlubick, egdaniel) Remove this coupling 372 "//src/gpu/ganesh/mock:srcs", 373 ], 374 hdrs = [ 375 ":core_hdrs", 376 ":core_skslc_hdrs", 377 "//include/android:private_hdrs", 378 "//include/gpu:ganesh_hdrs", 379 "//include/gpu/ganesh:ganesh_hdrs", 380 "//include/private/gpu/ganesh:private_hdrs", 381 "//include/private/chromium:ganesh_private_hdrs", 382 "//src/gpu/ganesh/effects:private_hdrs", 383 "//src/gpu/ganesh/geometry:private_hdrs", 384 "//src/gpu/ganesh/glsl:private_hdrs", 385 "//src/gpu/ganesh/gradients:private_hdrs", 386 "//src/gpu/ganesh/image:private_hdrs", 387 "//src/gpu/ganesh/ops:private_hdrs", 388 "//src/gpu/ganesh/surface:private_hdrs", 389 "//src/gpu/ganesh/tessellate:private_hdrs", 390 "//src/gpu/ganesh/text:private_hdrs", 391 "//src/gpu/tessellate:private_hdrs", 392 "//src/text/gpu:private_hdrs", 393 # TODO(kjlubick, egdaniel) Remove this coupling 394 "//src/gpu/ganesh/mock:private_hdrs", 395 "//include/gpu/mock:public_hdrs", 396 ], 397 defines = ["SK_GANESH"], 398 features = ["layering_check"], 399 local_defines = ["SK_USE_LEGACY_GANESH_TEXT_APIS"], 400 visibility = [ 401 "//src/gpu/ganesh:__subpackages__", 402 "//tools/debugger:__pkg__", 403 ], 404 deps = [ 405 "//:core", 406 "//modules/skcms", 407 "//src/base", 408 "//src/core:core_priv", 409 "//src/gpu", 410 "//src/sksl/codegen:gpu", 411 ], 412) 413 414# TODO(lovisolo, kjlubick): Do this with a macro. 415skia_cc_library( 416 name = "ganesh_TEST_UTIL", 417 testonly = True, 418 srcs = [ 419 ":core_skslc_srcs", 420 ":core_srcs", 421 "//src/gpu/ganesh/effects:srcs", 422 "//src/gpu/ganesh/geometry:srcs", 423 "//src/gpu/ganesh/glsl:srcs", 424 "//src/gpu/ganesh/gradients:srcs", 425 "//src/gpu/ganesh/image:srcs", 426 "//src/gpu/ganesh/ops:srcs", 427 "//src/gpu/ganesh/surface:srcs", 428 "//src/gpu/ganesh/tessellate:srcs", 429 "//src/gpu/ganesh/text:srcs", 430 "//src/text/gpu:srcs", 431 "//src/utils:shader_utils_srcs", 432 # TODO(kjlubick, egdaniel) Remove this coupling 433 "//src/gpu/ganesh/mock:srcs", 434 ], 435 hdrs = [ 436 ":core_hdrs", 437 ":core_skslc_hdrs", 438 "//include/android:private_hdrs", 439 "//include/gpu:ganesh_hdrs", 440 "//include/gpu/ganesh:ganesh_hdrs", 441 "//include/private/gpu/ganesh:private_hdrs", 442 "//include/private/chromium:ganesh_private_hdrs", 443 "//src/gpu/ganesh/effects:private_hdrs", 444 "//src/gpu/ganesh/geometry:private_hdrs", 445 "//src/gpu/ganesh/glsl:private_hdrs", 446 "//src/gpu/ganesh/gradients:private_hdrs", 447 "//src/gpu/ganesh/image:private_hdrs", 448 "//src/gpu/ganesh/ops:private_hdrs", 449 "//src/gpu/ganesh/surface:private_hdrs", 450 "//src/gpu/ganesh/tessellate:private_hdrs", 451 "//src/gpu/ganesh/text:private_hdrs", 452 "//src/gpu/tessellate:private_hdrs", 453 "//src/text/gpu:private_hdrs", 454 "//src/utils:shader_utils_hdrs", 455 # TODO(kjlubick, egdaniel) Remove this coupling 456 "//src/gpu/ganesh/mock:private_hdrs", 457 "//include/gpu/mock:public_hdrs", 458 ], 459 defines = [ 460 "GR_TEST_UTILS", 461 "SK_GANESH", 462 ], 463 features = ["layering_check"], 464 local_defines = ["SK_USE_LEGACY_GANESH_TEXT_APIS"], 465 visibility = [ 466 "//src/gpu/ganesh:__subpackages__", 467 "//tools:__subpackages__", 468 ], 469 deps = [ 470 "//:core", 471 "//modules/skcms", 472 "//src/base", 473 "//src/core:core_priv", 474 "//src/gpu", 475 "//src/sksl/codegen:gpu", 476 ], 477) 478 479generate_cpp_files_for_headers( 480 name = "headers_to_compile", 481 headers = [ 482 "GrBackendSemaphorePriv.h", 483 "GrBackendSurfacePriv.h", 484 "GrClip.h", 485 ], 486) 487