blob: efd89d492f8c42852260a94015460e9fad669aaf [file] [log] [blame]
load("//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")
package(
default_applicable_licenses = ["//:license"],
)
licenses(["notice"])
exports_files_legacy()
# In separate groups for exporting to sksl.gni:skslc_deps.
SKSLC_FILES = [
"GrMemoryPool.cpp",
"GrMemoryPool.h",
]
split_srcs_and_hdrs(
name = "core_skslc",
files = SKSLC_FILES,
)
CORE_FILES = [
"ClipStack.cpp",
"ClipStack.h",
"Device.cpp",
"Device_drawTexture.cpp",
"Device.h",
"GrAppliedClip.h",
"GrAttachment.cpp",
"GrAttachment.h",
"GrAuditTrail.cpp",
"GrAuditTrail.h",
"GrAutoLocaleSetter.h",
"GrBackendSemaphore.cpp",
"GrBackendSemaphorePriv.h",
"GrBackendSurface.cpp",
"GrBackendSurfacePriv.h",
"GrBackendTextureImageGenerator.cpp",
"GrBackendTextureImageGenerator.h",
"GrBackendUtils.cpp",
"GrBackendUtils.h",
"GrBaseContextPriv.h",
"GrBlurUtils.cpp",
"GrBlurUtils.h",
"GrBuffer.h",
"GrBufferAllocPool.cpp",
"GrBufferAllocPool.h",
"GrBufferTransferRenderTask.cpp",
"GrBufferTransferRenderTask.h",
"GrBufferUpdateRenderTask.cpp",
"GrBufferUpdateRenderTask.h",
"GrCaps.cpp",
"GrCaps.h",
"GrCanvas.cpp",
"GrCanvas.h",
"GrClientMappedBufferManager.cpp",
"GrClientMappedBufferManager.h",
"GrClip.h",
"GrColor.h",
"GrColorInfo.cpp",
"GrColorInfo.h",
"GrColorSpaceXform.cpp",
"GrColorSpaceXform.h",
"GrContextThreadSafeProxy.cpp",
"GrContextThreadSafeProxyPriv.h",
"GrContext_Base.cpp",
"GrCopyRenderTask.cpp",
"GrCopyRenderTask.h",
"GrCpuBuffer.h",
"GrDDLContext.cpp",
"GrDDLTask.cpp",
"GrDDLTask.h",
"GrDataUtils.cpp",
"GrDataUtils.h",
"GrDefaultGeoProcFactory.cpp",
"GrDefaultGeoProcFactory.h",
"GrDeferredProxyUploader.h",
"GrDeferredUpload.h",
"GrDeferredDisplayList.cpp",
"GrDeferredDisplayListPriv.h",
"GrDeferredDisplayListRecorder.cpp",
"GrDirectContext.cpp",
"GrDirectContextPriv.cpp",
"GrDirectContextPriv.h",
"GrDistanceFieldGenFromVector.cpp",
"GrDistanceFieldGenFromVector.h",
"GrDrawIndirectCommand.h",
"GrDrawOpAtlas.cpp",
"GrDrawOpAtlas.h",
"GrDrawOpTest.cpp",
"GrDrawOpTest.h",
"GrDrawingManager.cpp",
"GrDrawingManager.h",
"GrDriverBugWorkarounds.cpp",
"GrDstProxyView.h",
"GrDynamicAtlas.cpp",
"GrDynamicAtlas.h",
"GrEagerVertexAllocator.cpp",
"GrEagerVertexAllocator.h",
"GrFPArgs.h",
"GrFixedClip.cpp",
"GrFixedClip.h",
"GrFragmentProcessor.cpp",
"GrFragmentProcessor.h",
"GrFragmentProcessors.cpp",
"GrFragmentProcessors.h",
"GrGeometryProcessor.cpp",
"GrGeometryProcessor.h",
"GrGpu.cpp",
"GrGpu.h",
"GrGpuBuffer.cpp",
"GrGpuBuffer.h",
"GrGpuResource.cpp",
"GrGpuResource.h",
"GrGpuResourceCacheAccess.h",
"GrGpuResourcePriv.h",
"GrHashMapWithCache.h",
"GrImageContext.cpp",
"GrImageContextPriv.h",
"GrImageInfo.cpp",
"GrImageInfo.h",
"GrManagedResource.cpp",
"GrManagedResource.h",
"GrMeshBuffers.cpp",
"GrMeshBuffers.h",
"GrMeshDrawTarget.cpp",
"GrMeshDrawTarget.h",
"GrNativeRect.h",
"GrNonAtomicRef.h",
"GrOnFlushResourceProvider.cpp",
"GrOnFlushResourceProvider.h",
"GrOpFlushState.cpp",
"GrOpFlushState.h",
"GrOpsRenderPass.cpp",
"GrOpsRenderPass.h",
"GrOpsTypes.h",
"GrPaint.cpp",
"GrPaint.h",
"GrPersistentCacheUtils.cpp",
"GrPersistentCacheUtils.h",
"GrPipeline.cpp",
"GrPipeline.h",
"GrPixmap.h",
"GrProcessor.cpp",
"GrProcessor.h",
"GrProcessorAnalysis.cpp",
"GrProcessorAnalysis.h",
"GrProcessorSet.cpp",
"GrProcessorSet.h",
"GrProcessorUnitTest.cpp",
"GrProcessorUnitTest.h",
"GrProgramDesc.cpp",
"GrProgramDesc.h",
"GrProgramInfo.cpp",
"GrProgramInfo.h",
"GrPromiseImageTexture.cpp",
"GrProxyProvider.cpp",
"GrProxyProvider.h",
"GrRecordingContext.cpp",
"GrRecordingContextPriv.cpp",
"GrRecordingContextPriv.h",
"GrRenderTarget.cpp",
"GrRenderTarget.h",
"GrRenderTargetProxy.cpp",
"GrRenderTargetProxy.h",
"GrRenderTask.cpp",
"GrRenderTask.h",
"GrRenderTaskCluster.cpp",
"GrRenderTaskCluster.h",
"GrResourceAllocator.cpp",
"GrResourceAllocator.h",
"GrResourceCache.cpp",
"GrResourceCache.h",
"GrResourceHandle.h",
"GrResourceProvider.cpp",
"GrResourceProvider.h",
"GrResourceProviderPriv.h",
"GrRingBuffer.cpp",
"GrRingBuffer.h",
"GrSPIRVUniformHandler.cpp",
"GrSPIRVUniformHandler.h",
"GrSPIRVVaryingHandler.cpp",
"GrSPIRVVaryingHandler.h",
"GrSWMaskHelper.cpp",
"GrSWMaskHelper.h",
"GrSamplerState.h",
"GrScissorState.h",
"GrSemaphore.h",
"GrShaderCaps.cpp",
"GrShaderCaps.h",
"GrShaderVar.cpp",
"GrShaderVar.h",
"GrSimpleMesh.h",
"GrStagingBufferManager.cpp",
"GrStagingBufferManager.h",
"GrStencilSettings.cpp",
"GrStencilSettings.h",
"GrStyle.cpp",
"GrStyle.h",
"GrSurface.cpp",
"GrSurface.h",
"GrSurfaceCharacterization.cpp",
"GrSurfaceProxy.cpp",
"GrSurfaceProxy.h",
"GrSurfaceProxyPriv.h",
"GrSurfaceProxyView.cpp",
"GrSurfaceProxyView.h",
"GrTestUtils.cpp",
"GrTestUtils.h",
"GrTTopoSort.h",
"GrTexture.cpp",
"GrTexture.h",
"GrTextureProxy.cpp",
"GrTextureProxy.h",
"GrTextureProxyCacheAccess.h",
"GrTextureProxyPriv.h",
"GrTextureRenderTargetProxy.cpp",
"GrTextureRenderTargetProxy.h",
"GrTextureResolveManager.h",
"GrTextureResolveRenderTask.cpp",
"GrTextureResolveRenderTask.h",
"GrThreadSafeCache.cpp",
"GrThreadSafeCache.h",
"GrThreadSafePipelineBuilder.cpp",
"GrThreadSafePipelineBuilder.h",
"GrTracing.h",
"GrTransferFromRenderTask.cpp",
"GrTransferFromRenderTask.h",
"GrUniformDataManager.cpp",
"GrUniformDataManager.h",
"GrUserStencilSettings.h",
"GrUtil.cpp",
"GrUtil.h",
"GrVertexChunkArray.cpp",
"GrVertexChunkArray.h",
"GrWaitRenderTask.cpp",
"GrWaitRenderTask.h",
"GrWindowRectangles.h",
"GrWindowRectsState.h",
"GrWritePixelsRenderTask.cpp",
"GrWritePixelsRenderTask.h",
"GrXferProcessor.cpp",
"GrXferProcessor.h",
"GrYUVABackendTextures.cpp",
"GrYUVATextureProxies.cpp",
"GrYUVATextureProxies.h",
"PathRenderer.cpp",
"PathRenderer.h",
"PathRendererChain.cpp",
"PathRendererChain.h",
"SkGr.cpp",
"SkGr.h",
"StencilClip.h",
"StencilMaskHelper.cpp",
"StencilMaskHelper.h",
"SurfaceContext.cpp",
"SurfaceContext.h",
"SurfaceDrawContext.cpp",
"SurfaceDrawContext.h",
"SurfaceFillContext.cpp",
"SurfaceFillContext.h",
"TestFormatColorTypeCombination.h",
]
split_srcs_and_hdrs(
name = "core",
files = CORE_FILES,
)
skia_filegroup(
name = "android_srcs",
srcs = [
"GrAHardwareBufferImageGenerator.cpp",
"GrAHardwareBufferImageGenerator.h",
"GrAHardwareBufferUtils.cpp",
],
)
skia_filegroup(
name = "srcs",
srcs = [
":android_srcs",
":core_skslc_srcs",
":core_srcs",
"//src/gpu/ganesh/effects:srcs",
"//src/gpu/ganesh/geometry:srcs",
"//src/gpu/ganesh/glsl:srcs",
"//src/gpu/ganesh/gradients:srcs",
"//src/gpu/ganesh/image:srcs",
"//src/gpu/ganesh/mock:srcs", # TODO(kjlubick, egdaniel) should this be test only?
"//src/gpu/ganesh/ops:srcs",
"//src/gpu/ganesh/surface:srcs",
"//src/gpu/ganesh/tessellate:srcs",
"//src/gpu/ganesh/text:srcs",
] + select_multi(
{
"//src/gpu:gl_ganesh": ["//src/gpu/ganesh/gl:srcs"],
"//src/gpu:vulkan_ganesh": ["//src/gpu/ganesh/vk:srcs"],
"@platforms//os:android": ["//src/gpu/ganesh/surface:android_srcs"],
# TODO(kjlubick) d3d backend
},
),
visibility = ["//src/gpu:__pkg__"],
)
skia_filegroup(
name = "objc_srcs",
srcs = select_multi(
{
"//src/gpu:metal_ganesh": [
"//src/gpu/ganesh/mtl:objc_srcs",
"//src/gpu/ganesh/surface:mtl_objc_srcs",
],
},
),
visibility = ["//src/gpu:__pkg__"],
)
skia_filegroup(
name = "private_hdrs",
srcs = [
":core_hdrs",
":core_skslc_hdrs",
"//src/gpu/ganesh/effects:private_hdrs",
"//src/gpu/ganesh/geometry:private_hdrs",
"//src/gpu/ganesh/glsl:private_hdrs",
"//src/gpu/ganesh/gradients:private_hdrs",
"//src/gpu/ganesh/image:private_hdrs",
"//src/gpu/ganesh/mock:private_hdrs", # TODO(kjlubick, egdaniel) should this be test only?
"//src/gpu/ganesh/ops:private_hdrs",
"//src/gpu/ganesh/surface:private_hdrs",
"//src/gpu/ganesh/tessellate:private_hdrs",
"//src/gpu/ganesh/text:private_hdrs",
] + select_multi(
{
"//src/gpu:gl_ganesh": ["//src/gpu/ganesh/gl:private_hdrs"],
"//src/gpu:vulkan_ganesh": ["//src/gpu/ganesh/vk:private_hdrs"],
"//src/gpu:metal_ganesh": ["//src/gpu/ganesh/mtl:private_hdrs"],
# TODO(kjlubick) d3d backend
},
),
visibility = ["//src/gpu:__pkg__"],
)
skia_cc_deps(
name = "deps",
visibility = ["//src/gpu:__pkg__"],
deps = select_multi(
{
"//src/gpu:gl_ganesh": ["//src/gpu/ganesh/gl:deps"],
# TODO(kjlubick) mtl and d3d backend
},
),
)
skia_cc_library(
name = "ganesh",
srcs = [
":core_skslc_srcs",
":core_srcs",
"//src/gpu/ganesh/effects:srcs",
"//src/gpu/ganesh/geometry:srcs",
"//src/gpu/ganesh/glsl:srcs",
"//src/gpu/ganesh/gradients:srcs",
"//src/gpu/ganesh/image:srcs",
"//src/gpu/ganesh/ops:srcs",
"//src/gpu/ganesh/surface:srcs",
"//src/gpu/ganesh/tessellate:srcs",
"//src/gpu/ganesh/text:srcs",
"//src/text/gpu:srcs",
# TODO(kjlubick, egdaniel) Remove this coupling
"//src/gpu/ganesh/mock:srcs",
],
hdrs = [
":core_hdrs",
":core_skslc_hdrs",
"//include/android:private_hdrs",
"//include/gpu:ganesh_hdrs",
"//include/gpu/ganesh:ganesh_hdrs",
"//include/private/gpu/ganesh:private_hdrs",
"//include/private/chromium:ganesh_private_hdrs",
"//src/gpu/ganesh/effects:private_hdrs",
"//src/gpu/ganesh/geometry:private_hdrs",
"//src/gpu/ganesh/glsl:private_hdrs",
"//src/gpu/ganesh/gradients:private_hdrs",
"//src/gpu/ganesh/image:private_hdrs",
"//src/gpu/ganesh/ops:private_hdrs",
"//src/gpu/ganesh/surface:private_hdrs",
"//src/gpu/ganesh/tessellate:private_hdrs",
"//src/gpu/ganesh/text:private_hdrs",
"//src/gpu/tessellate:private_hdrs",
"//src/text/gpu:private_hdrs",
# TODO(kjlubick, egdaniel) Remove this coupling
"//src/gpu/ganesh/mock:private_hdrs",
"//include/gpu/mock:public_hdrs",
],
defines = ["SK_GANESH"],
features = ["layering_check"],
local_defines = ["SK_USE_LEGACY_GANESH_TEXT_APIS"],
visibility = [
"//src/gpu/ganesh:__subpackages__",
"//tools/debugger:__pkg__",
],
deps = [
"//:core",
"//modules/skcms",
"//src/base",
"//src/core:core_priv",
"//src/gpu",
"//src/sksl/codegen:gpu",
],
)
# TODO(lovisolo, kjlubick): Do this with a macro.
skia_cc_library(
name = "ganesh_TEST_UTIL",
testonly = True,
srcs = [
":core_skslc_srcs",
":core_srcs",
"//src/gpu/ganesh/effects:srcs",
"//src/gpu/ganesh/geometry:srcs",
"//src/gpu/ganesh/glsl:srcs",
"//src/gpu/ganesh/gradients:srcs",
"//src/gpu/ganesh/image:srcs",
"//src/gpu/ganesh/ops:srcs",
"//src/gpu/ganesh/surface:srcs",
"//src/gpu/ganesh/tessellate:srcs",
"//src/gpu/ganesh/text:srcs",
"//src/text/gpu:srcs",
"//src/utils:shader_utils_srcs",
# TODO(kjlubick, egdaniel) Remove this coupling
"//src/gpu/ganesh/mock:srcs",
],
hdrs = [
":core_hdrs",
":core_skslc_hdrs",
"//include/android:private_hdrs",
"//include/gpu:ganesh_hdrs",
"//include/gpu/ganesh:ganesh_hdrs",
"//include/private/gpu/ganesh:private_hdrs",
"//include/private/chromium:ganesh_private_hdrs",
"//src/gpu/ganesh/effects:private_hdrs",
"//src/gpu/ganesh/geometry:private_hdrs",
"//src/gpu/ganesh/glsl:private_hdrs",
"//src/gpu/ganesh/gradients:private_hdrs",
"//src/gpu/ganesh/image:private_hdrs",
"//src/gpu/ganesh/ops:private_hdrs",
"//src/gpu/ganesh/surface:private_hdrs",
"//src/gpu/ganesh/tessellate:private_hdrs",
"//src/gpu/ganesh/text:private_hdrs",
"//src/gpu/tessellate:private_hdrs",
"//src/text/gpu:private_hdrs",
"//src/utils:shader_utils_hdrs",
# TODO(kjlubick, egdaniel) Remove this coupling
"//src/gpu/ganesh/mock:private_hdrs",
"//include/gpu/mock:public_hdrs",
],
defines = [
"GR_TEST_UTILS",
"SK_GANESH",
],
features = ["layering_check"],
local_defines = ["SK_USE_LEGACY_GANESH_TEXT_APIS"],
visibility = [
"//src/gpu/ganesh:__subpackages__",
"//tools:__subpackages__",
],
deps = [
"//:core",
"//modules/skcms",
"//src/base",
"//src/core:core_priv",
"//src/gpu",
"//src/sksl/codegen:gpu",
],
)
generate_cpp_files_for_headers(
name = "headers_to_compile",
headers = [
"GrBackendSemaphorePriv.h",
"GrBackendSurfacePriv.h",
"GrClip.h",
],
)